# Version 1.0.0

> Google & Microsoft Consent Mode integrations, build improvements

Source: https://zest.freshjuice.dev/changelog/v1.0.0/
Date: 2026-02-28

Zest reaches v1.0.0 with built-in support for Google Consent Mode v2 and Microsoft UET Consent Mode.

## New Features

### Google Consent Mode v2

Zest can now automatically push consent signals to Google tags via `gtag()` / `dataLayer`.

- Enable with `consentModeGoogle: true` or `data-consent-mode-google`
- Pushes `'default'` denied state on initialization (before any scripts load)
- Sends `'update'` signal on every consent change
- Maps all six Google consent types to Zest categories:
  - `ad_storage`, `ad_user_data`, `ad_personalization` &rarr; **marketing**
  - `analytics_storage` &rarr; **analytics**
  - `functionality_storage` &rarr; always **granted** (essential)
  - `personalization_storage` &rarr; **functional**

```javascript
window.ZestConfig = {
  consentModeGoogle: true
};
```

### Microsoft UET Consent Mode

Zest can now push consent signals to Microsoft UET (Universal Event Tracking).

- Enable with `consentModeMicrosoft: true` or `data-consent-mode-microsoft`
- Maps `ad_storage` to the Zest **marketing** category
- Same default/update lifecycle as Google Consent Mode

```javascript
window.ZestConfig = {
  consentModeMicrosoft: true
};
```

### Data Attribute Support for Consent Modes

Both consent mode integrations can be enabled via data attributes on the script tag:

```html
<script
  src="https://unpkg.com/@freshjuice/zest"
  data-consent-mode-google
  data-consent-mode-microsoft
></script>
```

## Build Improvements

- Added unminified builds for easier debugging (`zest.js`, `zest.esm.js`)
- Adjusted language build strategy in Rollup config

## Dependency Updates

- ESLint 10
- Rollup 4.59
- Vitest 4.0.18

