---
url: https://docs.consentpro.com/changelog/utils.md
---
# consentpro-utils

## 2.1.5

### Patch Changes

* e7b804d: Add the Consent Pro MCP server, so AI assistants can set up and manage Consent Pro projects from a conversation.
  * Review projects, setup status, scan results, trackers, banners and consent statistics, and search the documentation.
  * Create projects, run scans, manage trackers and banners, update site settings and publish. Each change is confirmed with you before it is saved.
  * Connect Google Tag Manager to audit consent settings, apply consent fixes and publish reviewed changes.
  * Choose what each AI app can access when you connect it. Publishing and Google Tag Manager access are granted separately.
  * New documentation covers MCP setup and permissions, and updates the Google Tag Manager, banner customization and blocking guides.

## 2.1.4

### Patch Changes

* e73fae1: Accept staging web-app branch preview origins so Stripe checkout and billing portal return to the originating preview.

## 2.1.3

### Patch Changes

* bb844a5: Add a **Corner style** option to banner styling for custom sites, switching the banner between its default, rounded and square corners.

  The web app's banner style step gains a Corner style picker, stored per banner as `corner_style` and published to the runtime as `style.cornerStyle`. The runtime maps it to the banner's radius tokens:

  | Corner style | Buttons & badges (`--consentpro-radius-sm`) | Surfaces (`--consentpro-radius-md`) |
  | ------------ | ------------------------------------------- | ----------------------------------- |
  | Default      | SDK default                                 | SDK default                         |
  | Rounded      | `999px` (pill)                              | `0.75rem`                           |
  | Square       | `0`                                         | `0`                                 |

  The field is optional. Banners without it, and every Webflow site, keep the SDK's own radii.

* c3fe401: Resolve Webflow Marketplace review findings: precompile policy templates at build time so only the Handlebars runtime ships, open the scan timeline WebSocket with a single-use ticket instead of the ID token, remove the migration-testing and PostHog-reset localStorage switches, start scans only from a click instead of a URL parameter, and mint short-lived site-scoped debugger tokens on the server with a server-side secret.

## 2.1.2

### Patch Changes

* 36435b2: Point the ConsentPro Scanner User-Agent contact URL at `/scanner` instead of `/bot`, and redirect the old crawler docs path, so session-replay vendors that filter `bot` in the user agent still run during scans.

## 2.1.1

### Patch Changes

* 9a490af: Pick the "Powered by Consent Pro" logo colour from the banner background.

  **consentpro-utils**

  * New `relativeLuminance` and `contrastingMonochrome` helpers: WCAG 2.1 relative luminance, and a black/white pick by contrast ratio against a background.

  **web-components**

  * `ConsentBanner`'s wordmark now reads `--consentpro-color-attribution`, falling back to the banner's own text colour. The wordmark is already `currentColor`, so the variable flips it; the "Powered by" label keeps the banner's text colour.

  **consentpro-v2 / web-app**

  * Both set `--consentpro-color-attribution` from the banner background, so the live banner and the style preview render the same logo.

## 2.1.0

### Minor Changes

* 55656ae: Add optional public hostname and path prefix so reverse-proxied sites publish a hostname.json for the visitor host and expose the site information the runtime uses to compose public URLs.

  The Webflow domain is unchanged. Custom-domain sites publish `publicHostname` and, when mounted under a prefix, `pathPrefix`. The runtime composes these with locale subdirectories and page slugs. Sites without these settings are unaffected.

## 2.0.3

### Patch Changes

* 81c0689: Never render a blank email greeting, and share recipient resolution between the server and jobs workers via `consentpro-utils/email`. An organization member with an email but no profile name previously resolved to an empty `userName`, so notification templates rendered `Hi ,`; the greeting now falls back to `Hi there`.

## 2.0.2

### Patch Changes

* cb1d15a: chore: cleanup runtime bundle to remove non-prod strings and ensure proper treeshake

## 2.0.1

### Patch Changes

* ef22755: chore: preserve manually added trackers
* 9cf51bd: chore: update server tests to ensure they are all passing

## 2.0.0

### Major Changes

* e9bd587: NEW: Consent Pro V2 with Geolocation, Improved GTM handling and Instances Support

### Patch Changes

* 6029a6c: Update display time for scan schedule to be based on user timezone

## 1.0.16

### Patch Changes

* 05189c5: fix: update handling for domains list in a project

## 1.0.15

### Patch Changes

* 8368c66: add posthog

## 1.0.14

### Patch Changes

* f8e135b: chore: cleanup console messages

## 1.0.13

### Patch Changes

* 31fbd7c: chore: add exeption and message when we detect custom toggles and importing from external project as source

## 1.0.12

### Patch Changes

* c89966b: chore: global banner updates and animation library

## 1.0.11

### Patch Changes

* 8a9a493: add feature to support externally hosted banners and global banners with CSS imports

## 1.0.10

### Patch Changes

* a37ec60: chore: update consent pro api to support legacy components api for cookie consent targets

## 1.0.9

### Patch Changes

* 28a6a2d: Cleanup an update release runtime branch name

## 1.0.8

### Patch Changes

* 4804467: feat: update consent pro for new migration

## 1.0.7

### Patch Changes

* 077f9a4: cleanup console message

## 1.0.6

### Patch Changes

* aa8257a: chore: update release sync branches ci with a release-runtime-v\*\* naming strategy

## 1.0.5

### Patch Changes

* b5be59c: chore: update release

## 1.0.4

### Patch Changes

* 1b689fc: chore: update release pipeline for branch auto sync

## 1.0.3

### Patch Changes

* c20f5c9: chore: improve legacy config management and handling

## 1.0.2

### Patch Changes

* 3152bd4: chore: update webflow hooks, configurator handling and runtime scripts

## 1.0.1

### Patch Changes

* 734f061: chore: release updates

## 1.0.0

### Major Changes

* 5b7551a: initial setup for consent pro and migration of cc into consent pro

### Patch Changes

* 65a0083: update consent pro and include whitelist feature

## 2.0.9

### Patch Changes

* 10bc7a6: chore: cleanup logs

## 2.0.8

### Patch Changes

* 1eb1d02: feat: improve developer and tester experience with environments
* c37ca30: feat: update svelte 5

## 2.0.7

### Patch Changes

* badbdff: add example component and docs

## 2.0.6

### Patch Changes

* 1843bc4: chore: update xscp types

## 2.0.5

### Patch Changes

* 2e89984: chore: types fix
* 2e89984: chore: types

## 2.0.4

### Patch Changes

* 3d7e71d: chore: update dependencies

## 2.0.2

### Patch Changes

* 9efd054: chore: resolve dependencies

## 2.0.1

### Patch Changes

* 02afa0d: chore: update lint issues and fix

## 2.0.0

### Major Changes

* 2978134: make utils and ui deployed to npm

### Patch Changes

* 0dd19e0: feat: update generate logic and xscp update logic for library generate method
* 4663f20: chore: a way to spin local scripts when running locally
* 5ef74e4: feat: add canvas scanner for unused instances check
* 84bdf31: feat: add folder names to types
* 1b18926: chore: update component keys to separate exports
* a9a6e15: feat: add saved components db schema and migrations
* 2978134: Test deployment: Update utils and ui packages for deploy-npm branch testing
* 861ce79: feat: update server scripts for default folder

## 1.1.11

### Patch Changes

* 56b5b8e: chore: send hostname only for webflow app env

## 1.1.10

### Patch Changes

* 35402da: feat: include production hostname during license checks

## 1.1.9

### Patch Changes

* 5adfd99: feat: add cookies database and use it in consent app
* b852edb: chore: restructure and update consents db fetching
* d0dde95: chore: map to used db data and remove unused files
* 0493bb2: chore: add labelled cookies db fetching for dynamic cookies identification and removal

## 1.1.8

### Patch Changes

* 7f3e0da: chore: update and rename variable names

## 1.1.7

### Patch Changes

* d3f835e: chore: rename numbercount to cnumbercount
* 6e1cbda: feat: update logrocket checkpoints

## 1.1.6

### Patch Changes

* c4bf703: feat: update scroll threshold limit to 100

## 1.1.5

### Patch Changes

* eea00d3: ci: update cnumbercount scripts and main components ui
* d6df24c: feat: mark cnumbercount as live

## 1.1.4

### Patch Changes

* e1b65c1: feat: skip free componentns from license checks

## 1.1.3

### Patch Changes

* 52e9d66: fix: remove docs link from table and update text padding
* 281b53d: fix: add consent wrapper default style to display none
* 34769eb: fix: update hover colors and live components list
* 7993bdd: feat: license messages and icons update

## 1.1.2

### Patch Changes

* dceb1cc: feat: dynamic marquee dimension observer
* 33e8fe6: fix: compute clones based on viewport size
* 9bbedcf: feat: add table and marquee to live apps
* dc52c02: fix: lint issues and remove duplicated variant keys
* b4747a3: fix: improve table edit mode features and ui

## 1.1.1

### Patch Changes

* 2f05a99: feat: add live flag to components list
* a9b07b1: marquee
* 2de3ca0: feat: update font sizes, opacity and weights
* b6e6e9b: fix: footer button disable groupd buttons

## 1.1.0

### Minor Changes

* 24ac32f: feat: add webflow insights feature

## 1.0.24

### Patch Changes

* d316dea: feat: add wf analytics support with reload option and fix consent debug util

## 1.0.23

### Patch Changes

* 373eadc: add wf analytics

## 1.0.22

### Patch Changes

* 26a18bd: update consents only based on categories found in preferences

## 1.0.21

### Patch Changes

* d48451e: add recaptcha support and webflow native appmodes support

## 1.0.20

### Patch Changes

* a7b972b: update maps and iframes checks

## 1.0.19

### Patch Changes

* 1e62887: fix package.json update to include examples and schemas

## 1.0.18

### Patch Changes

* 67a7dc6: add examples data

## 1.0.17

### Patch Changes

* 0c8a988: retry deployment

## 1.0.16

### Patch Changes

* 3c3b267: can update multiple placeholders and hide them based on consents

## 1.0.15

### Patch Changes

* d08574a: tabs scripts

## 1.0.14

### Patch Changes

* 08ecba4: fix webflow restart

## 1.0.13

### Patch Changes

* 950f77a: feat: improve API snippets page layout and remove cursor template, just generate the cursor dynamically from the core script

## 1.0.12

### Patch Changes

* 0af7c66: update compponents layout and text content
* f941821: validate cookie expires value
* be56757: add cursor and fix linting

## 1.0.11

### Patch Changes

* c4e0a6e: update tooltip setup

## 1.0.10

### Patch Changes

* 25eb564: add wrapTextWithTag, improve app messages across and lint fixes

## 1.0.9

### Patch Changes

* 0003463: lint fixes and update core script url

## 1.0.8

### Patch Changes

* 6349335: update tooltip scripts and fixes for an initial demo
* d349318: tooltip options and settings plus allow custom code config to be copied
* 13200a5: update tooltip component

## 1.0.7

### Patch Changes

* ca738db: add coming soon list and restructure apps loading flow

## 1.0.6

### Patch Changes

* 0a08f5b: cleanup

## 1.0.5

### Patch Changes

* 2b118b0: update core scripts to fetch components from attribute then load config from api

## 1.0.4

### Patch Changes

* 15c853d: updates to finsweet components

## 1.0.3

### Patch Changes

* 4194100: rename core packages to use core-\* prefix
* ae4a157: update consent scripts

## 1.0.2

### Patch Changes

* 611fa12: Remove console logs

## 1.0.1

### Patch Changes

* cadba08: update license check flow

## 1.0.0

### Major Changes

* 8a7f234: core finsweet components update to include more solutions wrapped in a single sdk

## 1.0.2

### Patch Changes

* 60302f6: refactor attributes up to utils

## 1.0.1

### Patch Changes

* 7108afe: add logrocket as the main logger
