> For the complete documentation index, see [llms.txt](https://docs.hbwrapper.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.hbwrapper.com/release-notes.md).

# Release Notes

This section contains the release notes for different versions of the Header Bidding wrapper.

## How to read these notes

Each bullet is tagged with the area it affects (e.g. **Prebid**, **Analytics**, **SafeFrames**, **Config**). "Fast-Forward prebid PR" means a fix from the upstream Prebid.js project was pulled in ahead of a full version update.

## Release Schedule

Releases go out every **Tuesday morning**. Before a version reaches full traffic, it is A/B tested the prior week on **10% of traffic** to verify stability — ad requests, revenue, CPM, and viewability are checked to confirm they remain within normal ranges.

## Version 7.28.0 (2026-09-29)

* **Prebid:** Updated to [Prebid.js 11.32.0](https://github.com/prebid/Prebid.js/releases/tag/11.32.0).
* **Traffic Integrity:** Take in account if browser is old is likely to be a bot, in combination with other sight will mark it as IVT and higher score
* **Traffic Integrity:** Using Client Hints for Chromium browsers to detect if the User Agent is spoofed.
* **Config:** Enabled `wrapper.firstPartyData` for all wrappers. Testing found no downside to having it on.

## Version 7.27.1 (2026-09-22)

* **Custom scripts:** Fixed a build bug that dropped some utility helpers from the bundle, which stopped custom scripts that used those helpers from running.

## Version 7.27.0 (2026-09-22)

* **Prebid:** Updated to [Prebid.js 11.31.0](https://github.com/prebid/Prebid.js/releases/tag/11.31.0).
* **Rich Media:** Reworked the close button on the adhesion, sticky and peel formats so it is policy compliant — it no longer overlaps the creative, and is clearly visible on any page background and easier to click.
* **Management:** Redesigned the management UI so it matches the look and feel of the rest of the product.
* **Traffic Integrity:** Fixed User ID ingestion
* **Traffic Integrity:** Added a higher score for 12 know datacenters

## Version 7.26.0 (2026-09-15)

* **Analytics:** Traffic Integrity Score dashboard deployed to management.
* **Prebid:** Updated to [Prebid.js 11.30.0](https://github.com/prebid/Prebid.js/releases/tag/11.30.0).
* **Prebid:** Fix ts-strict by typing wrapper auction helpers without typeof auctionManager
* **Brand Safety:** More tells for brand safety block detection (IAS passback creative / ad-blocking explainer).
* **Ads:** Fixed an issue where undefined `mediaTypes` broke ad calls. It now defaults to a 1x1.

## Version 7.25.0 (2026-09-08)

* **Prebid:** Updated to [Prebid.js 11.29.0](https://github.com/prebid/Prebid.js/releases/tag/11.29.0).
* **Traffic Integrity:** The TIS scoring request now includes `userId` — the same 30-day browser identifier already used by analytics. It was omitted from the payload until now, so the endpoint could not tie repeat visits to the same browser.
* **Traffic Integrity:** Added more Relay networks to the whitelist to not mark them as datacenter ASN.
* **Traffic Integrity:** Removed a check that banned WebView
* **SafeFrames:** Synced `biddersNotSafeFramesOk` with Prebid docs (`safeframes_ok: false`). Added `'copper6ssp', 'ezoic', 'mmplus', 'ocm', 'pinelake', 'sonarads', 'synapseHX', 'uniquest_widget'`. Removed `'adsinteractive', 'eclickads', 'mobupps', 'ras'`. Kept rename aliases `'bridgeupp'`, `'minutemediaplus'`, `'uniquestWidget'` alongside the new codes. Case-fixed `'eightPod'` → `'eightpod'`. Kept `'kueezrtb'` (works with Safe Frames despite docs).

## Version 7.24.0 (2026-09-01)

* **Prebid:** Updated to [Prebid.js 11.28.0](https://github.com/prebid/Prebid.js/releases/tag/11.28.0).
* **Builder:** An interrupted precompile pass (for example a custom script that fails to compile) now forces a full recompile on the next build, so a half-written precompiled file can no longer be reused and ship a wrapper with missing `_utils.js` helpers.

## Version 7.23.0 (2026-08-25)

* **Prebid:** Updated to [Prebid.js 11.27.0](https://github.com/prebid/Prebid.js/releases/tag/11.27.0).
* **Builder:** Priority for main wrapper and lower priority of pre-release tasks. Still FIFO.
* **Traffic Integrity:** Improved Chrome detection in Traffic Integrity Score matching to reduce false negatives on genuine Chrome traffic.
* **Traffic Integrity:** Excluded a set of known ASNs from TIS matching to prevent false-positive blocks on legitimate traffic sources.

## Version 7.22.0 (2026-08-18)

* **Prebid:** Updated to [Prebid.js 11.26.0](https://github.com/prebid/Prebid.js/releases/tag/11.26.0).
* **OpenRTB:** Wrapper-built ad units now set `ortb2Imp.secure: 1` so bid requests require HTTPS creatives. A publisher-set `ortb2Imp.secure` (including `0`) is still honored. See [Glossary](/glossary.md).
* **Prebid:** Fast-Forward prebid PR [15383](https://github.com/prebid/Prebid.js/pull/15383).
* **Traffic Integrity (new):** **Traffic Integrity Score (TIS)** — invalid traffic (IVT) scoring on page load. The wrapper asks a scoring endpoint how likely the visit is to be non-human and receives a score from 0 to 100 (100 = almost certainly a bot). A visit scoring at or above the configured threshold stops the wrapper. Configured with [`wrapper.trafficIntegrity`](/configuration.md#wrappertrafficintegrity).
* **Traffic Integrity:** **Off by default.** `block` is the switch: until a threshold is set, e.g. `"block": 70`, no scoring request is made and nothing changes for existing sites.
* **Traffic Integrity:** When a visit is blocked, the wrapper stops doing any further ad work: no processing, no bid requests, no GAM requests, and no refreshes. Ads that already rendered are left in place rather than torn down.
* **Traffic Integrity:** The check is asynchronous, so the verdict normally lands before the first auction but is not guaranteed to. Loading of the Google Publisher Tag itself is not prevented; what is prevented is slot definition and auctions.
* **Traffic Integrity:** The scoring request has no timeout and is never cancelled. A slow verdict is applied when it arrives, so it still stops refreshes, lazy-loads and later auctions for the rest of the pageview. Nothing on the page waits for the response, so this costs no page speed.
* **Traffic Integrity:** Fails open by design — a network failure, a malformed response, or no response at all blocks nothing and the wrapper continues normally.
* **Traffic Integrity:** No endpoint configuration and no timeout setting. The URL is derived from the analytics host already used by the build, with `/tis` appended. The wrapper fires no additional analytics event for TIS, and nothing is written to cookies or local storage.
* **Builder:** Added as dependency libraries from prebid when wrapper functionality and custom scripts need it, otherwise things are not loaded in time.
* **Builder:** If dependency is missing or something is wrong with dependency it will fail the build.
* **Builder:** More failure checks and fuller job logs, so a failed build can be diagnosed from the build page without server logs. The job log now shows:
  * the real Git/CDN error when publishing fails
  * the commit code, and whether that commit reached the CDN or is still waiting locally
  * how long the job waited in the queue before it started
  * unexpected crashes written into the job log (not only the server console)
  * the size of the built wrapper file
  * how long the git pull and CDN publish steps took
  * the compile exit code when the wrapper build itself fails
  * the real gist-update error message (it could previously appear as “NaN”)
* **Custom scripts (CRITICAL):** Load-time errors in `custom_*.js` no longer stop the entire wrapper. A throw while the custom file is evaluating is caught, logged as `[wrapper] custom script failed: <filename>`, and that script is skipped. The rest of the wrapper continues. Note: Do **not** call wrapper APIs (`getUserInfo`, `getConfig`, `setConfig`, `aliasBidder`, `onEvent`, and similar) at the top of a custom script. Queue them with `pbjsInstance.cmd.push(function() { ... })`. Top-level calls can run before the wrapper has attached those methods; the custom script will fail and will not run. See [Customization](/customization.md). Errors inside `cmd.push` / event callbacks are **not** isolated by this change.
* **Custom scripts:** `docReady` moved from a `window.docReady` polyfill in the wrapper bundle to an exported helper in `_utils.js`. **Important:** Do **not** use `window.docReady` anymore — it is no longer defined on `window`. Import it instead: `import { docReady } from '../_utils.js';` then call `docReady(function() { ... })`. Update any custom script or Rich Media module that still references `window.docReady`. See [Customization](/customization.md).
* **Wrapper:** The wrapper global (`config.globalVar`) and its `cmd` / `que` queues are created at the start of the bundle, before webpack entries and `custom_*.js` files run. Custom scripts that do `window[config.globalVar] || {}` now always get the real instance instead of a detached local object. See [Customization](/customization.md).
* **Monitors:** HTTP uptime monitors now also track TLS certificate expiry on the configured HTTPS host. When the leaf cert will expire within a per-monitor window (default 7 days), an SSL incident opens, the monitor shows a warning, and the same notification channels as downtime are used. The incident closes and a recovery notice is sent when the cert is renewed beyond that window. The expiry date is shown on the monitor even when no alert is due. HTTP URLs are skipped.

## Version 7.21.0 (2026-08-11)

* **Prebid:** Updated to [Prebid.js 11.25.0](https://github.com/prebid/Prebid.js/releases/tag/11.25.0).
* **Ads:** Duplicate ad container ids on the same page: only the first is processed; extras are skipped and logged.
* **Ads:** When an ad container is removed and replaced with a new DOM node that keeps the same id, the new node is treated as a new placement (new identity), not a continuation of the old one.
* **Ads:** Successfully bound containers are claimed so the same placement is not defined twice.
* **Ads:** If a new container appears with an id that already has a GAM slot, the old GAM definition is destroyed before the new container is set up.
* **Ads:** No publisher markup changes required. Normal refresh and experimental GAM `"redefine"` still apply when the same DOM node stays in place.

## Version 7.20.0 (2026-08-04)

* **Prebid:** Updated to [Prebid.js 11.24.0](https://github.com/prebid/Prebid.js/releases/tag/11.24.0).
* **GAM:** Removed confirmed click penalty (CCP) detection and tracking. GAM no longer exposes `confirmedClickVisible` in ad iframes the way the wrapper relied on, so the `ccp` page targeting key, session storage flag, and `ccp` analytics event have been removed. Remove `"ccp"` from `analytics.track` if present.

## Version 7.19.1 (2026-07-29)

* **Prebid:** Fast-Forward prebid PR [15362](https://github.com/prebid/Prebid.js/pull/15362)

## Version 7.19.0 (2026-07-28)

* **Prebid:** Updated to [Prebid.js 11.23.0](https://github.com/prebid/Prebid.js/releases/tag/11.23.0).
* **Modules:** Added the Prebid `currency` module to the default wrapper modules; it becomes a common asset for all wrappers.
* **GAM:** Updated Google Ad Manager setup to follow Google’s new public config API.
* **Refresh (experimental):** Added `refresh.gamStrategy` (`"refresh"` | `"redefine"`). `"redefine"` recreates the GAM slot on each refresh instead of refreshing the existing one. Not tested in production — leave unset (or `"refresh"`) unless you are evaluating it.
* **SafeFrames:** Fixed `forceSafeFramesForAdunits` when the list is empty — it is now treated as off, so Safe Frames are not considered enabled and bidders are no longer disabled by mistake.
* **SafeFrames:** Fixed Flexible Safe Frames Signal when no bidder, domain, category, or ad unit lists are provided (or they are empty) — the feature stays disabled instead of turning on with nothing to match.
* **Ads:** Fixed house fallback creatives when the size map is empty — it is now treated as off, so the house fallback path does not run with no creatives configured.
* **Analytics:** Fixed analytics tracking when the `track` list is empty — it is now treated as off, so related listeners (such as CSP tracking) are not started unnecessarily.

## Version 7.18.0 (2026-07-21)

* **Prebid:** Updated to [Prebid.js 11.22.0](https://github.com/prebid/Prebid.js/releases/tag/11.22.0).

## Version 7.17.0 (2026-07-14)

* **Prebid:** Updated to [Prebid.js 11.21.0](https://github.com/prebid/Prebid.js/releases/tag/11.21.0).
* **Prebid:** Bid `requestId` / `bidId` values are now always standard UUIDs for client, S2S, and stored-bid injection paths. The wrapper-specific `hw<globalVar>hw` identifier format is reserved for `adId` only, which keeps the render-security gate (`renderAd`, secure-creative messaging) unchanged while making analytics and cross-pageview deduplication unambiguous.
* **Stored bids:** When a cached bid is re-injected into an auction, its `requestId` and `bidderRequestId` are now minted as UUIDs (matching the live client path) instead of wrapper-format strings that looked like `adId` values.
* **Stored bids:** CPM is normalized to a number before a bid is written to localStorage. The currency module can leave converted values as strings (`toFixed(4)`); storing them as numbers fixes floor checks, highest-CPM-first ordering when serving from cache, and targeting comparisons. Bids already in storage with string CPMs are coerced back to numbers on read until they expire.
* **Consent:** Privacy consent is applied earlier on page load, without changing consent settings you already have in place.
* **Debugger:** Removed some noisy, repetitive log messages from the debugger console — high-frequency adapter output is now logged at `details` level only, so it no longer floods the console on every auction.
* **Analytics:** Fixed analytics endpoint retry after a failed POST — the 1-second retry now passes proper success/error callbacks (instead of an empty object). The retry is still a single failover attempt to the alternate endpoint; if that retry also fails, tracking stops instead of looping.
* **Analytics (Alpha):** **Brand Safety Block Detection** (`brandSafetyBlock`) — After each ad render, scans friendly ad iframes (including nested frames) for known brand-safety block placeholders (DoubleVerify clouds, PubMatic PM\_BP\_Block, IAS firewall wipes, GeoEdge and similar). Fires an event and analytics with the vendor, evidence found, and GAM context (advertiser/creative/line item). SafeFrame slots are not scannable.
* **Analytics (Alpha):** **Heavy Ad Intervention** (`heavyAdIntervention`) — Tracks Chrome Heavy Ad Intervention on prebid banner creatives. A snippet injected into each bid reports the intervention (id, message, source) back to the wrapper before the frame unloads, together with bid details. Prebid bids only.
* **Analytics (Alpha):** **Heavy Asset Intervention** (`heavyAssetIntervention`) — Tracks browser interventions on the main page (not inside a creative), e.g. when Chrome intervenes on a third-party script or cookie-sync iframe. Reports intervention id, message, and the URL/source file of the offending asset.

## Version 7.16.0 (2026-07-07)

* **Prebid:** Updated to [Prebid.js 11.20.0](https://github.com/prebid/Prebid.js/releases/tag/11.20.0).
* **Analytics:** CSP tracking improved; de-dupe of fallback tracker events.
* **Build:** Refactored `through2` and `fancyLog` usage to native Node.js streams (`node:stream`) and `gulplog` after upstream removed those packages in 11.20.0.
* **Stored bids:** De-dupe for a cooldown period to address stale renderer for quick auctions
* **Stored bids:** A cached bid is now purged from storage as soon as its creative reaches a terminal render state — `adRenderSucceeded` (status RENDERED), `bidWon`, `staleRender`, `adRenderFailed` or `expiredRender` — so the same `adId` can never be re-served to a later auction/slot. This complements the push cooldown and stops the staleRender flood caused by a rendered/consumed creative being re-injected. The push-cooldown map entry is dropped at the same time.
* **Code style:** Applied Prebid.js ESLint formatting to wrapper modules; no functional changes.

## Version 7.15.0 (2026-06-30)

* **Prebid:** Updated to [Prebid.js 11.18.0](https://github.com/prebid/Prebid.js/releases/tag/11.18.0). See [Prebid 11.0 release notes](https://docs.prebid.org/dev-docs/pb11-notes.html) for upstream breaking changes (removed modules, API changes, viewability overhaul, etc.).
* **Build:** Mass production builds skip some checks to speed delivery.
* **Build:** Fixed bidder metadata so aliases inherit the parent network GVL ID. Networks missing a GVL id on their aliases were throwing errors at build: **mediasquare** (`msq`), **nativery** (`nat`), **oms** (`brightcom`, `bcmssp`), **performax** (`px`), **prisma** (`prismadirect`).
* **oftmedia / Microsoft adapter:** The `oftmedia` bidder has been migrated from the AppNexus adapter to `msftBidAdapter`. Existing wrapper configs were updated in all wrapper config repos: for every site whose `adunits.json` includes `oftmedia`, the script adds `msftBidAdapter` to `modules.json` and renames the bid parameter from `placementId` to `placement_id` (e.g. `{"bidder":"oftmedia","params":{"placement_id":"123456789"}}`). From now on, any new or manual `oftmedia` setup must use `msftBidAdapter` in `modules.json` and the Microsoft parameter names (`placement_id`, not `placementId`).
* **Prebid `auctionOptions`:** The wrapper default prebid config now sets `rejectInvalidMediaTypes: false` and `rejectUnknownMediaTypes: false`. Prebid 11.0 enables stricter media-type validation in core by default; these flags are turned off so existing wrapper behavior is unchanged—bids are not rejected for format mismatches or missing `meta.mediaType` declarations.
* **Prebid `bidResponseFilter`:** Prebid 11.18 added `mediaTypes.enforce` (default `true` upstream) to the `bidResponseFilter` module, alongside existing `cat`, `adv`, and `attr` enforcement. The wrapper keeps all of these defaults permissive (`enforce: false`, `blockUnknown: false`), consistent with version 7.2.0. To enable strict media-type filtering on a site, add under `prebid` in the site config:

```json
"bidResponseFilter": {
  "mediaTypes": {
    "enforce": true
  }
}
```

Optional: set `rejectIbvBannerOnMultiFormat: true` under `mediaTypes` to reject banner bids on multi-format in-banner video ad units (requires `enforce: true`).

* **GPID:** When the same GAM ad unit path (`data-aa-adunit`) appears on a page more than once—as in infinite-scroll or feed layouts—`ortb2Imp.ext.gpid` now receives a stable `#`-suffix uniquifier so DSPs can tell concurrent placements apart. On adunit-mapped pages duplicate slots get an ordinal (`#2`, `#3`, …) while the first occurrence keeps the bare path, and single-slot pages are unchanged. On targeting-mapped pages (`adunitMapping: "targeting"`), where every placement intentionally shares one GAM path and is distinguished by the mapping-key targeting value (`adunitMappingKey`, e.g. `pos`), the gpid instead carries that value as the suffix (e.g. `/123/example.com/apple_section#ATF1`), with a further `-1`, `-2`, … only when the same value genuinely repeats. Each slot’s index is assigned once and cached on the element (`data-aa-gpid-index`) so GPIDs stay consistent across refreshes. In all cases `ortb2Imp.ext.data.adserver.adslot` remains the bare GAM path.
* **Prebid:** Fast-Forward prebid PR [14983](https://github.com/prebid/Prebid.js/pull/14983)

## Version 7.14.0 (2026-06-23)

* **Build:** The wrapper build is now 2–3× faster. It reuses cached results for commonly used files instead of rebuilding everything each time.

## Version 7.13.0 (2026-06-16)

* **Analytics:** Core Web Vitals (`cwv`) sampling can be overridden per site with optional `analytics.cwvSampling` (a number from `0` to `1`). When omitted, the default sample rate remains `0.20` (20%). Enable tracking with `"cwv"` in `analytics.track` as before; set `"cwvSampling": 1` for 100% sampling or `"cwvSampling": 0.10` for 10%. The event name sent to ingestion is unchanged (`cwv`).
* **Device detection:** Refactored `detectWidth`/`detectHeight` for readability and to avoid returning `0` in degenerate frames (e.g. an iframe where `innerWidth` is `0`); device sizing is unchanged for real browsers/devices. Added an error log when more than one `deviceDetection` rule matches the current width (overlapping rules), to help catch misconfigured rules; the last matching rule still wins as before.
* **Scripts:** Migrated formatting and check scripts from the Prebid 9 version to the Prebid 10 version.
* **Prebid:** Fast-Forward prebid PR [15010](https://github.com/prebid/Prebid.js/pull/15010)
* **Prebid:** Fast-Forward prebid PR [14741](https://github.com/prebid/Prebid.js/pull/14741) — `mergeConfig` now notifies only the config topics that were actually merged, instead of re-firing every subscriber (for example `currency`, `s2sConfig`, price floors) on unrelated partial updates such as `mergeConfig({ ortb2: ... })`. This avoids spurious listener side effects during wrapper setup and prevents modules from reacting to config they did not change.
* **Prebid:** Fast-Forward prebid PR [14490](https://github.com/prebid/Prebid.js/pull/14490) — pubstack bid adapter initial release.
* **Prebid:** Fast-Forward prebid PR [14637](https://github.com/prebid/Prebid.js/pull/14637) — Pubstack adapter default values for `ttl` and `netRevenue`.
* **Prebid:** Pubstack adapter — fix for Prebid 10 port: inlined `getAdUnitElement` (Prebid 11-only utility).

## Version 6.95.0 (2026-06-16)

* **Wrapper:** The 6.*.* version is deprecated, this is the last version and was updated only as a fail-safe, but will not be deployed.
* **Prebid:** Fast-Forward prebid PR [15010](https://github.com/prebid/Prebid.js/pull/15010)
* **Prebid:** Fast-Forward prebid PR [14741](https://github.com/prebid/Prebid.js/pull/14741) — `mergeConfig` now notifies only the config topics that were actually merged, instead of re-firing every subscriber (for example `currency`, `s2sConfig`, price floors) on unrelated partial updates such as `mergeConfig({ ortb2: ... })`. This avoids spurious listener side effects during wrapper setup and prevents modules from reacting to config they did not change.

## Version 7.12.0 (2026-06-09)

* **SafeFrames:** Added 'tadvertising\_blis','adnimation','apester','asterio','iprom','logly' to bidders not safe for safe frames
* **Price Floors:** Floor rules now support dynamic schema fields — `country`, `region`, `city`, `os`, `browser`, and `eids` — so publishers can set different floors based on the visitor's geography, device, or identity partners present in the auction. Values are resolved automatically from the enriched request data; no changes to Prebid core required. See [Configuration](/configuration.md#prebidfloors-dynamic-schema-fields-from-ortb2-wrapper-extension) for field reference and examples.

## Version 6.94.0 (2026-06-09)

* **SafeFrames:** Added 'tadvertising\_blis','adnimation','apester','asterio','iprom','logly' to bidders not safe for safe frames
* **Price Floors:** Floor rules now support dynamic schema fields — `country`, `region`, `city`, `os`, `browser`, and `eids` — so publishers can set different floors based on the visitor's geography, device, or identity partners present in the auction. Values are resolved automatically from the enriched request data; no changes to Prebid core required. See [Configuration](/configuration.md#prebidfloors-dynamic-schema-fields-from-ortb2-wrapper-extension) for field reference and examples.

## Version 7.11.0 (2026-06-02)

* **Analytics:** `integrityCheck` improve when the event is sent.
* **Migration:** Prepare for full deployment of this version

## Version 6.93.0 (2026-06-02)

* **Analytics:** `integrityCheck` improve when the event is sent.

## Version 7.10.0 (2026-05-26)

* **Console:** Major console update to version 2.0.0.
* **First party data:** OpenRTB `device.geo.type` is set to `2` (IP address) when geo is enriched from IP lookup.
* **Multi-wrapper coexistence:** Bids now carry a distinctive identifier signature reserved for our wrapper, so render and cross-frame messaging from other header-bidding stacks on the same page are recognized as external and courteously ignored—reducing spurious render failures and analytics noise.
* **Analytics:** `integrityCheck` now checks for multiple wrappers on the page.
* **Cookie detection:** The cookie-check helper no longer errors when unrelated browser messages arrive. Cookie detection still works as before.

## Version 6.92.0 (2026-05-26)

* **Console:** Major console update to version 2.0.0.
* **First party data:** OpenRTB `device.geo.type` is set to `2` (IP address) when geo is enriched from IP lookup.
* **Multi-wrapper coexistence:** Bids now carry a distinctive identifier signature reserved for our wrapper, so render and cross-frame messaging from other header-bidding stacks on the same page are recognized as external and courteously ignored—reducing spurious render failures and analytics noise.
* **Analytics:** `integrityCheck` now checks for multiple wrappers on the page.
* **Cookie detection:** The cookie-check helper no longer errors when unrelated browser messages arrive. Cookie detection still works as before.

## Version 7.9.0 (2026-05-19)

* **Analytics:** Integrity checks (`integrityCheck`) now run after pattern blocking so blocked sessions are not reported to analytics.

## Version 6.91.0 (2026-05-19)

* **Analytics:** Integrity checks (`integrityCheck`) now run after pattern blocking so blocked sessions are not reported to analytics.
* **Prebid:** Fast-Forward prebid PR [13934](https://github.com/prebid/Prebid.js/pull/13934)

## Version 7.8.0 (2026-05-12)

* **Console:** Update to version 1.4.3 -> Added RTT (round-trip time) to Core Web Vitals

## Version 6.90.0 (2026-05-12)

* **Console:** Update to version 1.4.3 -> Added RTT (round-trip time) to Core Web Vitals

## Version 7.7.0 (2026-05-05)

* **Prebid:** Minor code cleanup and formatting improvements for better readability
* **Prebid:** Updated comments and alignment; no functional changes

## Version 6.89.0 (2026-05-05)

* **Prebid:** Minor code cleanup and formatting improvements for better readability
* **Prebid:** Updated comments and alignment; no functional changes

## Version 7.6.0 (2026-04-28)

* **Public API:** Added new event `fallbackRenderEnded` that fires when a fallback-rendered creative finishes parsing in its iframe. See the Public API docs for the payload.

## Version 6.88.0 (2026-04-28)

* **Public API:** Added new event `fallbackRenderEnded` that fires when a fallback-rendered creative finishes parsing in its iframe. See the Public API docs for the payload.
* **Prebid:** Fast-Forward prebid PR [14516](https://github.com/prebid/Prebid.js/pull/14516)
* **Prebid:** Reverted -> Fast-Forward prebid PR [14679](https://github.com/prebid/Prebid.js/pull/14679)

## Version 7.5.0 (2026-04-21)

* **Device detection:** Detects device type from screen size in a safer way (no dynamic code execution).

## Version 6.87.0 (2026-04-21)

* **Device detection:** Detects device type from screen size in a safer way (no dynamic code execution).
* **Viewability event:** You can subscribe when the wrapper treats an ad as viewable. Details and field names are in the documentation.
* **Viewability tracking:** The wrapper tracks viewability for all its ad slots after an ad is shown. How viewability-driven refresh works is unchanged; see the documentation if you use that option.
* **Bug fix:** In rare cases a backup ad could load twice in the same slot; that no longer happens.
* **Prebid:** Fast-Forward prebid PR [14679](https://github.com/prebid/Prebid.js/pull/14679)

## Version 7.4.0 (2026-04-14)

* **Port helpers:** if modules do not exist in prebid 10, convert the prebid 9 names.
* **Deployment:** Changed deployment
* **Testing:** Added Creative ID to test bids

## Version 6.86.0 (2026-04-14)

* **Deployment:** Changed deployment
* **Testing:** Added Creative ID to test bids

## Version 7.3.0 (2026-04-07)

* **Bug Fix:** Do not send EID and EID Permissions if bidder is not in the PBS list

## Version 6.85.0 (2026-04-07)

* **Prebid:** Fast-Forward prebid PR [14255](https://github.com/prebid/Prebid.js/pull/14255)
* **Prebid:** Fast-Forward prebid PR [14567](https://github.com/prebid/Prebid.js/pull/14567)
* **Prebid:** Fast-Forward prebid PR [14581](https://github.com/prebid/Prebid.js/pull/14581)
* **Bug Fix:** Do not send EID and EID Permissions if bidder is not in the PBS list

## Version 7.2.0 (2026-03-31)

* **Prebid:** Set yielding to false - In prebid 10, processQueue yields the main browser thread after executing each command in the queue, to improve UX (and some related metrics such as [interaction to next paint](https://web.dev/articles/inp)). This causes high revenue impact , so will disable as default.
* **Console:** Updated console overlay to version 1.4.2, it was behind (1.4.0) compared to the other wrapper version.
* **Bid Filter Module:** Changed the default for enforce and block unknown to false, since now it includes media types in validations, a lot of bids do not declare media types in their meta, so it will block a lot of bids.
* **Viewable provider:** When viewability provider is wrapper, it will not respect MaxEmpty and MaxContinousEmpty settings

## Version 6.84.0 (2026-03-31)

* **Prebid:** Fast-Forward prebid PR [13704](https://github.com/prebid/Prebid.js/pull/13704)
* **Prebid:** Port `magnite` bidder from prebid 10
* **Viewable provider:** When viewability provider is wrapper, it will not respect MaxEmpty and MaxContinousEmpty settings

## Version 7.1.0 (2026-03-24)

* **Analytics:** For staleRender and expiredRender do not track bid.ad since is big and useless
* **Prebid:** Fast-Forward prebid PR [14583](https://github.com/prebid/Prebid.js/pull/14583)

## Version 6.83.0 (2026-03-24)

* **Analytics:** For staleRender and expiredRender do not track bid.ad since is big and useless
* **Prebid:** Fast-Forward prebid PR [14583](https://github.com/prebid/Prebid.js/pull/14583)

## Version 7.0.0 (2026-03-19)

* **Prebid 10:** Updated to prebid 10
* **Build:** Make new build process, to include also typescript and javascript.
* **Build:** Optimize building to take 10-15s instead of 40-60s. Eliminated precompiling useless files.
* **UserId:** Always include userId, most likely every wrapper will need it.
* **Debugging:** Change the top comment for identification; different color to match schema of hbwrapper for debug logging.
* **Prebid 10 Core:** Migrate prebid 9 core features changed for hbwrapper to prebid 10.
* **Test Bids:** Add catId to test bids.
* **Fixes:** Fix bid caching, fix hybrid S2S, fix custom targeting, fix deduplicating user sync.
* **Migration:** Migrate features from Version 6.79.0 onwards that were not included in previous migration.
* **Global Variable:** Fix global variable issue and new way prebid 10 provides it.
* **Bid Adapter:** Convert imds to advertising bid adapter.
* **RTD Module:** Add rtdModule when an rtdModule exists.
* **Targeting:** Change `wvr` key value to value 7 for this version of wrapper for AB testing.

## Version 6.82.0 (2026-03-17)

* **Prebid:** Preparation to migrate to prebid 10

## Version 6.81.0 (2026-03-10)

* **Safe Frames:** Added bidders to the list of bidders that do not support safe frames: 'alchemyx', 'allegro', 'das', 'harrenmedia', 'yaleo'
* **Console:** Updated console overlay to version 1.4.2 with an improved CMP tab summary aligned with the IAB CMP Validator (clearer bullet-list layout, explicit counts for purposes, vendors, and special features) and a dedicated, easy-to-copy `tcString` field.
* **Console Timeline:** Timeline tab now tracks and summarizes resource loads (grouped by initiator type and domain) and allows expanding the underlying resource calls from a single summary row.
* **Debugging:** Cleaned up default console logging output and added a `details` debug mode for verbose, opt‑in logs (enabled via `$$PREBID_GLOBAL$$_debug=DETAILS` or `config.debug = 'details'`).
* **Analytics:** Added persistent tracking identifiers for pageview, session, and user to all analytics events (with session/local storage plus cookie fallbacks and SPA navigation support).
* **Analytics Pageview FPD:** Enriched initial `pageview` analytics event with geo and A/B bucket context (country, city, region, postal code, and `ab.bucket`).

## Version 6.80.0 (2026-03-03)

* **Pattern Blocking:** Improve bot list to cover more known bots.
* **Console:** Updated console overlay to version 1.4.0 and refactored the Troubleshooting tab into three sections (Errors, Warnings, Optimizations) for clearer grouping.
* **Console Troubleshooting:** Enhanced troubleshooting events to include optimization guidance messages that explain issues, impact, and concrete recommendations (e.g. slow wrapper init, slow page load, long auctions, slow GAM responses, slow creatives).
* **CMP / Console:** Send TCF `tcString` to console and display a decoded consent summary in the CMP tab (including policy version, purpose/vendor consents, and delegated vendor presence for TCF 2.3).

## Version 6.79.0 (2026-02-24)

* **Intelligent Bidder Manager:** Removed `intelligentBidderManager` feature and `_intelligentBidderManager.js` module. Config `config.wrapper.intelligentBidderManager` and related behavior (bidder error/timeout tracking, secondary bidders, HTTP request threshold) are no longer supported.
* **Sizes:** Remove shuffling the ad sizes.
* **GAM targeting:** GAM page-level targeting remove `fsize` that was sending the first size in ad request
* **Config:** All schain to prebidSpecific instead of global.
* **GAM:** Added support Pause banner ads for web (Alpha) [Docs](https://support.google.com/admanager/answer/16680235)
* **Targeting:** Added `hb_addef` (Ad Domain Defined) and `hb_acdef` (Advertiser Category Defined). Value is `0` by default; set to `1` when the winning bid has `hb_adomain` (ADOMAIN) or `hb_acat` (ACAT) respectively.

## Version 6.78.0 (2026-02-17)

* **First-party data:** Added `config.wrapper.firstPartyData`. When `true`, enriches ortb2 with data like: geo, IP, carrier, bot score, A/B bucket. NOTICE: In the next release User Info API (`getUserInfo`) and `updateUserInfo` event will be removed from Public API. Can query ortb2 data to pull those info.
* **GAM targeting:** GAM page-level targeting is set with key `ab_bucket` and the bucket value.
* **Bids:** Transform mediafuse placementId in integer for S2S
* **GAM sizes:** Added `forceGAMSizes` and `conditionalForceGAMSizes` (adunit definitions) and `data-aa-force-gam-sizes` (page). When set, GAM slot sizes are forced to these values instead of banner sizes + additional non-HB sizes.

## Version 6.77.0 (2026-02-10)

* **Prebid:** Fast-Forward prebid PR [13527](https://github.com/prebid/Prebid.js/pull/13527)
* **Prebid:** Fast-Forward prebid PR [14001](https://github.com/prebid/Prebid.js/pull/14001)
* **Prebid:** Fast-Forward prebid PR [13671](https://github.com/prebid/Prebid.js/pull/13671)
* **Prebid:** Fast-Forward prebid PR [14119](https://github.com/prebid/Prebid.js/pull/14119)
* **Bid cache:** Reverted the cooldown safeguard, is not needed and in some cases it causes issues
* **Bid cache:** Make sure that stored bids are not added twice into the auction

## Version 6.76.0 (2026-02-03)

* **Console:** Update console to v1.3.1 (If the console doesn't display due to lack of resources, it will try again in 3-4 seconds)
* **Targeting:** Treat `hb_cs` (cache status) and `hb_bd` (bid density) as standard keys (added to `TARGETING_KEYS` and `_prebid_config.json` `allowTargetingKeys`) to avoid mixed current/cached values and ensure consistent GAM targeting.
* **Bid cache:** Added push cooldown safeguard (4 seconds) to prevent the same stored bid from being pushed into multiple auctions before `bidWon` fires.
* **Bid cache:** Handle `QuotaExceededError` when storing bids in localStorage. On quota exceeded, automatically evict expired bids and the 5 oldest cached bids, then retry. If eviction fails or the bid is too large, skip storage and log a warning suggesting to lower `prebid.bidCaching.maxLength`.

## Version 6.75.0 (2026-01-27)

* **Console:** Update console to v1.3.0 (fix disableClientSideAdapters to disableBiddersClientSide)
* **Missing Modules:** fix disableClientSideAdapters to disableBiddersClientSide

## Version 6.74.0 (2026-01-20)

* **Config:** remove misspelled properties in config.json : emtpyCreativeFallback and preViewLenght and deprecated disableClientSideAdapters

## Version 6.73.0 (2025-12-30)

* **Config:** Fixed typo in `lazyLoading.preViewLenght` → `preViewLength` (missing 'n' in "Length");
* **Config:** Fixed typo in `dfp.emtpyCreativeFallback` → `emptyCreativeFallback` (missing 'p' in "empty");
* **Config:** Fixed typo in log message `porviews` → `viewports`;
* **Config:** Added config validation - required properties (`id`, `code`, `globalVar`) now throw errors if missing; added default values for required-with-defaults properties;

## Version 6.72.0 (2025-12-23)

* **Automation:** Added bidders that do not support safe frames to disabled bidders when safe frames are enabled: 'adocean','alvads','ogury','programmaticX','topon','uniquestWidget';
* **Config:** Changed `disableClientSideAdapters` to `disableBiddersClientSide` representing better what it does;

## Version 6.71.0 (2025-12-16)

* **Prebid:** Update prebid to [9.53.5](https://github.com/prebid/Prebid.js/releases/tag/9.53.5)
* **Prebid:** Fast-Forward prebid PR [13775](https://github.com/prebid/Prebid.js/pull/13775)
* **Overlay:** Remove Bid Won from overlay

## Version 6.70.0 (2025-12-09)

* **Prebid:** Update prebid to [9.53.4](https://github.com/prebid/Prebid.js/releases/tag/9.53.4)

## Version 6.69.0 (2025-12-02)

* **Prebid:** Update prebid to [9.53.3](https://github.com/prebid/Prebid.js/releases/tag/9.53.3)

## Version 6.68.0 (2025-11-18)

* **Intelligent bidder manager:** Remove disableBiddersToStorage, now can use Intelligent bidder manager
* **programmaticx :** Fast-Forward programmaticx changes to adapter, PRs: [13549](https://github.com/prebid/Prebid.js/pull/13549)
* **PatterBlocking:** For geo pattern blocking, send the rule as index of the rule, not country code, to be able to report in analytics

## Version 6.67.0 (2025-11-11)

* **msft:** Fast-Forward Microsoft (aka Xandr, AppNexus) Adapter, PRs: [13952](https://github.com/prebid/Prebid.js/pull/13952) [14040](https://github.com/prebid/Prebid.js/pull/14040) [14076](https://github.com/prebid/Prebid.js/pull/14076)
* **IAS:** Do not display slide if is empty
* **IAS:** Added maxEmptySlides to stop adding slides if too many empty slides had been displayed
* **IAS:** Do not display until the ad creative is rendered
* **IAS:** addSlideThreshold default change from 0.8 to 0.7
* **Intelligent bidder manager:** Prioritize bidders that do not throw errors, do not timeout and don't have SRA (dynamic and with TTL)
* **Auction** Count the number of HTTP request for each bidder
* **Bid cache** Fix issue not setting cache bids to multiple adunits on the page

## Version 6.66.0 (2025-11-04)

* **BidCaching:** Fixed issue where lazyloaded or skipped ad units were incorrectly cached.
* **TestBids:** Updated visuals with borders and visible size labels.
* **Geo PatternBlocking:** Added country-level matching index support.
* **Amazon Timeout:** Introduced configurable and default timeout behavior for Amazon.
* **injectAtAuctionInit:** Removed feature due to no measurable improvement.
* **SafeFrame Protection:** Added optional config to disable automatic safeframe protection for unsupported networks.

## Version 6.65.0 (2025-10-28)

* Fix `hb_cs` and `hb_bd`
* Fast-Forward PR [13808](https://github.com/prebid/Prebid.js/pull/13808)
* splitAdUnitsBySizes do not send bids to filter out bids by sizes
* re-designed testbids
* maxLimit=0 and maxLimit=false is different
* option to add cache bids in auction init
* patten blocking remove the enable option (is enabled per rule)
* patter blocking geo block
* added flexible safe frame signal

## Version 6.64.0 (2025-10-21)

* Changed from simple disabling bidders on errors to Intelligent Bidder Error Manager
* Improvements to storage bid cache (Improvement: Adunit-Based Indexing, Auction-Filtered Bid Retrieval, Memory-Cached DOM Queries, Pre-Computed Size Matching, Optimized getBoundingClientRect() Usage, automatic Cleanup System )
* Fast-Forward PR [13572](https://github.com/prebid/Prebid.js/pull/13572)
* Fast-Forward PR [13774](https://github.com/prebid/Prebid.js/pull/13774)
* Added config.wrapper.requestForEachSize

## Version 6.63.0 (2025-10-14)

* Update analytics endpoint to clear cache
* Update IAS tracking

## Version 6.62.0 (2025-10-07)

* Track load time in pageviews
* Track viewport width/height
* Track script count
* Track connection type
* Track ready State

## Version 6.61.0 (2025-09-30)

* Modify and analyze some formatting and check scripts

## Version 6.60.0 (2025-09-23)

* Change pattern blocking to return the matching rule
* Check browser for integrity checks

## Version 6.59.0 (2025-09-16)

* DFP to GAM transition plan

## Version 6.58.0 (2025-09-09)

* Update bidder list that does not support SafeFrames
* Amazon Schain new config instead of global schain

## Version 6.57.0 (2025-09-02)

* Clean fallback renderers that already delivered
* IAS Format - inherit device, sizes, additional sizes, targeting
* Check if device should be skipped before richmedia
* Check lazyloading before container
* Move analytics functionality to a different file so it can be imported
* Shuffle sizes and send key value fsize to see if there is any impact
* Fast-Forward Sevio Bid Adapter: [13529](https://github.com/prebid/Prebid.js/pull/13529), [13633](https://github.com/prebid/Prebid.js/pull/13633), [13729](https://github.com/prebid/Prebid.js/pull/13729)
* Remove hard-coded aliases
* Remove disable bidders query string
* Disable fast click protection
* Refactor Native Functionality
* Disable Native Functionality
* IAS - stored bids work on sequential slides
* IAS - disable for richmedia formats
* Added pattern blocking

## Version 6.56.0 (2025-08-26)

* Make sure KueezRTB S2S doesn't have pId
* Remove unnecessary variables in functions
* Refresh Count and Accelerate Refresh tracking on element instead of GAM adunit
* Improve Amazon refresh declaration
* Faster checks for targeting flags
* Added PageNavigationType Targeting
* Upgrade console to v.1.2.0 (Added Schain Tab)

## Version 6.55.0 (2025-08-19)

* Updated to Prebid 9.53.2.
* Remove preloading of GPT and Amazon
* UserID A/B testing - throw each user ID test into a random bucket
* Infinite Ad Slider Format

## Version 6.54.0 (2025-08-12)

* Own wrapper viewability provider for refresh

## Version 6.53.0 (2025-08-05)

* Updated to Prebid 9.53.1.
* Bid Timeout Troubleshoot message updated to include Prebid Server timeout
* Candent fix aliases issue, fast forward a fix from [13647](https://github.com/prebid/Prebid.js/pull/13647)
* Do not show on page notification if document body is not ready

## Version 6.52.0 (2025-07-29)

* Updated to Prebid 9.52.0.
* Change the size validation to eliminate any entries if the sizes have more than 2 entries
* Updated to console 1.1.0
* Send Troubleshooting messages to console (No Ads, No GPT response, GPT not loaded, Targeting prefix enabled so SafeFrame and S2S disabled, SafeFrames enabled and A9 disabled, Rendering Ad with Fallback Renderer, Cannot render ad with Fallback Renderer due to being a richmedia format, An ad having both timed and viewable refresh, called processing ads without an ad element on page, cannot find a div id for the ad, the div id is not handled by the wrapper, too many adunits into one single call, bidders that timeout, Ad render fail, ad render stale, ad render expired, any auction debug - including bidder failing to reach endpoints or modules not being included)
* Remove hard-coded test pages

## Version 6.51.0 (2025-07-22)

* Updated to Prebid 9.51.0.
* Fast-forwarded Rumble PR: [13543](https://github.com/prebid/Prebid.js/pull/13543).
* Added `hb_rpb` (Ranged Price Bucket) key-value.

## Version 6.50.0 (2025-07-15)

* Updated to Prebid 9.50.0.
* Removed Chrome facilitating testing.
* Topics API is no longer enabled by default, but can still be configured.

## Version 6.49.0 (2025-07-08)

* Updated to Prebid 9.49.1.

## Version 6.48.0 (2025-07-01)

* Updated to Prebid 9.48.0.
* Fixed Gulp version incompatibility.
* Fixed fancyLog migration.
* Fixed PluginError migration.
* Added utility function to show page notifications.
* Implemented page notifications for tracked bids.
* Implemented page notifications for test bids.
* Updated wrapper console version to 1.0.0.
* Console is now specific to the global variable.
* Modified console log styling.
* Removed TopicsAPI A/B Test to Publisher Provided Signals.

## Version 6.47.0 (2025-06-24)

* Updated to Prebid 9.46.0.
* Introduced `userSync.triggerAction` and `userSync.triggerDelay` configurations.

## Version 6.46.0 (2025-06-17)

* Updated to Prebid 9.45.0.
* Updated babel/eslint-parser to version 7.27.5 to fix eslint ^9.x.x incompatibility.
* Fixed polyfill inclusion.
* Disabled babel-caching for webpack.
* Fixed debugging mode due to Prebid 9.45.0 issues; reverted commit \[5a85f82].

## Version 6.45.0 (2025-06-10)

* Updated to Prebid 9.44.1.
* Updated the list of bidders that do not support Safe Frames.

## Version 6.44.0 (2025-06-03)

* Added ACAT to whitelist key values.
* Fixed ACAT handling when an array is returned by bidders (<https://github.com/prebid/Prebid.js/pull/13218>).

## Version 6.43.0 (2025-05-27)

* Updated to Prebid 9.43.0.
* Removed UUID, CACHE\_ID, and CACHE\_HOST values from targeting to prevent S2S bids from being considered in AMP or in-app.

## Version 6.42.0 (2025-05-20)

* Updated to Prebid 9.42.0.
* Ensured UUID starts with a letter to avoid CSS selector problems.
* Implemented tracking for staleRender, expiredRender, and adRenderFailed events.
* Improved bot detection by removing cookie checks and adding invalid/spoof checks.
* Removed deprecated `pbadslot`; deprecation warning for `pbadslot` use; prefer `gpid` (<https://github.com/prebid/Prebid.js/pull/11660>).

## Version 6.41.0 (2025-05-13)

* Updated to Prebid 9.41.0.
* Removed pre-connect bidders and analytics.
* Removed `dfp.adExpansion` as Inventory Rules in GAM now handle this.
* Modified UserSync firing mechanism; now configurable on click, scroll, idle, or timed events.
* Updated CoreWebVitals tracking to v5, addressing breaking changes.
* Prepared for deprecation of `ortb2Imp.ext.data.pbadslot`.

## Version 6.40.0 (2025-05-06)

* Updated to Prebid 9.40.0.
* Improved bot detection by removing screen, webdriver, headless, and touch checks.
* Fixed `ua_bot` in bot detection.

## Version 6.39.0 (2025-04-29)

* Updated to Prebid 9.39.0.
* Prioritized GDPR: if GDPR is set, GPP will not be sent.
* Improved basic bot detection.
* Processed `data-aa-targeting` as string for boolean and number values.

## Version 6.38.0 (2025-04-22)

* Updated to Prebid 9.38.0.

## Version 6.37.0 (2025-04-15)

* Updated to Prebid 9.37.0.

## Version 6.36.0 (2025-04-08)

* Updated to Prebid 9.36.0.

## Version 6.35.0 (2025-04-01)

* Updated to Prebid 9.35.0.
* Improved GPP tracking; removed `MspaOptOutOptionMode` and `MspaServiceProviderMode`.
* Implemented tracking for session winning bids via URL query string.

## Version 6.34.0 (2025-03-25)

* Updated to Prebid 9.34.0.
* Set `userSync.auctionDelay` to 50ms; any value greater than 0 will initialize User IDs before auction, reducing delay impact.
* Increased CMP timeout to 90 seconds.

## Version 6.33.0 (2025-03-18)

* Updated to Prebid 9.33.0.
* Froze PenPal version used in console to fix incompatibility issues.

## Version 6.32.0 (2025-03-11)

* Updated to Prebid 9.32.0.
* Added `prst` key-value.

## Version 6.31.0 (2025-03-05)

* Updated to Prebid 9.31.0.
* Implemented CWV data ingest for A/B test data.

## Version 6.30.0 (2025-02-25)

* Updated to Prebid 9.30.0.
* Implemented analytics tracking for bidder errors.
* Implemented analytics tracking for excessive ads on page.

## Version 6.29.0 (2025-02-18)

* Updated to Prebid 9.29.0.
* Initial release of bot detection and blocking.
* Analytics improvements.

## Version 6.28.0 (2025-02-11)

* Updated to Prebid 9.28.0.
* Changed cache storage for bids from session to local.

## Version 6.27.0 (2025-02-04)

* Updated to Prebid 9.27.0.

## Version 6.26.0 (2025-01-28)

* Updated to Prebid 9.26.0.

## Version 6.25.0 (2025-01-14)

* Updated to Prebid 9.25.0.
* Converted Criteo `networkId` to string for S2S validation.

## Version 6.24.0 (2025-01-07)

* Updated to Prebid 9.24.0.

## Version 6.23.0 (2024-12-31)

* Updated to Prebid 9.23.0.
* Fixed Storage bids.

## Version 6.22.0 (2024-12-24)

* Limited S2S user syncs to 20.
* Added console USP API deprecation notice.

## Version 6.21.0 (2024-12-17)

* Updated to Prebid 9.22.0.
* Ensured `cookiesEnable` does not throw errors for non-stringified JSON messages.
* Ensured key-value mapping uses string values, not arrays.
* Added new CMP console messages.
* Fixed Config page on Console.

## Version 6.20.0 (2024-12-10)

* Updated to Prebid 9.21.0.
* Updated the list of bidders that do not support safe frames.

## Version 6.19.0 (2024-12-03)

* Updated to Prebid 9.20.0.
* Modified and made configurable how Disabled Bidders to Storage works.
* Made `disableBiddersToStorage` configurable.
* Implemented analytics track sampling.
* Implemented tracking for pageviews with no ads.
* Implemented CWV tracking.
* Added Topics API A/B test key values.

## Version 6.18.0 (2024-11-26)

* Updated to Prebid 9.19.0.
* Prevented adding bidders on `bidderError` if it's an S2S request.

## Version 6.17.0 (2024-11-19)

* Updated to Prebid 9.18.0.

## Version 6.16.0 (2024-11-12)

* Updated to Prebid 9.17.0.
* Implemented `pauseOutOfView` at the adunit level.

## Version 6.15.0 (2024-11-05)

* Updated to Prebid 9.16.0.
* Fast-forwarded NextMillennium PR: [12304](https://github.com/prebid/Prebid.js/pull/12304).
* Fixed `hb_bd` and `hb_cs` after targeting update.
* Added failsafe to prevent multiple observations of elements in view.

## Version 6.14.0 (2024-10-29)

* Added new S2S networks.

## Version 6.13.0 (2024-10-22)

* Removed KueezRTB from disabled bidders when safe frame is enabled.
* Added `dfp.houseFallback` configuration.
* Added `targeting.domain` configuration.
* Added `destroy(null,false)` second parameter to prevent element removal.
* Added `targeting.id` configuration.
* Added `targeting.code` configuration.

## Version 6.12.0 (2024-10-15)

* Updated to Prebid 9.15.0.
* Added `config.refresh.pauseOutOfView`.
* Implemented element removal on destroy.

## Version 6.11.0 (2024-10-08)

* Updated to Prebid 9.14.0.
* Added Refreshed Accelerate Seconds Key Value Targeting.
* Implemented Wrapper Version tracking.

## Version 6.10.0 (2024-10-01)

* Updated to Prebid 9.13.0.

## Version 6.9.0 (2024-09-24)

* Updated to Prebid 9.12.0.
* Added new S2S default bidders: "adyoulike", "ix", "iqzone", "mediafuse", "minutemedia", "oms", "richaudience", "rise", "sharethrough", "unruly", "rubicon".

## Version 6.8.0 (2024-09-17)

* Implemented sending IP to bidders as ortb2.
* Implemented tracking for FallbackImpressions with distinct events for `failedToFetchFallback` and `emtpyCreativeFallback`.
* Refactored fallback renderer.
* Refactored refresh queue to prepare for view-only refresh availability.

## Version 6.7.1 (2024-09-11)

* Fixed issue with 3rd party cookie iframe insertion when no body is available.

## Version 6.7.0 (2024-09-10)

* Updated to Prebid 9.11.0.
* Changed `targeting.cookieEnabled` to test cookies from 3rd party domains.
* Added `refresh.continueOnEmpty`.

## Version 6.6.0 (2024-09-03)

* Updated to Prebid 9.10.0.
* Removed `get domain` helper function.

## Version 6.5.0 (2024-08-27)

* Updated to Prebid 9.9.0.
* Added `targeting.cookieEnabled`.
* Removed `targeting.tcf`.

## Version 6.4.0 (2024-08-20)

* Updated to Prebid 9.8.0.
* Added `targeting.refreshedInventory` key-value to track if inventory is refreshed.

## Version 6.3.0 (2024-08-13)

* Updated to Prebid 9.7.0.
* Fast-forwarded PR Fix: [PR 12093](https://github.com/prebid/Prebid.js/pull/12093).

## Version 6.2.0 (2024-08-06)

* Updated to Prebid 9.6.0.
* Changed consent timeout to 1000ms.
* Changed GPP notifications to console.

## Version 6.1.0 (2024-07-30)

* Updated to Prebid 9.5.0.
* Removed S2S timeout from config.

## Version 6.0.0 (2024-07-23)

* Updated to Prebid 9.4.1.
* Updated GPP tracking.
* Remade GeoFilter User ID.
* Increased `maxEntryPoints` for webpack.
* Updated consentModule TCF.
* Removed useless comments from final build.
* Implemented Script Src URL tracking.
* Implemented Conditional Timeout.
* Changed Prebid server config `timeout` to `maxTimeout`.

## Version 5.50.0 (2024-07-16)

* PB9: Hard-coded Topics API Iframes as they will no longer be available ([PR 11579](https://github.com/prebid/Prebid.js/pull/11579)).
* PB9: Prebid Server timeout changed to `maxTimeout` ([PR 11609](https://github.com/prebid/Prebid.js/pull/11609)).
* Changed `timeout` to `maxTimeout`, picking up values from `config.json`.
* PB9: Removed `enrichmentFpdModule` ([PR 11401](https://github.com/prebid/Prebid.js/pull/11401)).
* PB9: Node.js 20+ is now required ([PR 11528](https://github.com/prebid/Prebid.js/pull/11528)); recommending using 20.15.1 LTS.
* PB9: Updated Babel Core to 7.24.6 ([PR 11729](https://github.com/prebid/Prebid.js/pull/11729)).
* Removed deprecated USP (US CMP API) ([IAB USPrivacy](https://github.com/InteractiveAdvertisingBureau/USPrivacy/blob/master/CCPA/US%20Privacy%20String.md#the-us-privacy-signal-has-been-deprecated-as-of-january-31-2024-we-strongly-advise-all-users-of-the-us-privacy-string-to-transition-to-the-global-privacy-platform)).
* PB9: USP consent is no longer sent to bidders ([PR 11407](https://github.com/prebid/Prebid.js/pull/11407)).

## Version 5.49.0 (2024-07-09)

* Cleaned up code.

## Version 5.48.0 (2024-07-02)

* Prepared for Prebid 9.

## Version 5.47.0 (2024-06-25)

* Upgraded to Prebid 8.52.0.
* Added `lazyloadfetchportview` to `setWrapperConfig`.
* Disabled bidders that are not Safe Frame compatible when Safe Frames are enabled.

## Version 5.46.0 (2024-06-18)

* Upgraded to Prebid 8.51.0.
* Fixed automatic disabling of SafeFrames and S2S if a custom prefix is set.
* In `PubProvidedID` module, if no IDs are returned, `undefined` is returned to set correct targeting.
* `PubProvidedID` module now accepts `eidsFunction` as a string in config to execute the window function with that name.

## Version 5.45.0 (2024-06-11)

* Upgraded to Prebid 8.50.0.

## Version 5.44.0 (2024-06-04)

* Upgraded to Prebid 8.49.0.
* Updated webpack to prevent splitting into core-chunk.

## Version 5.43.0 (2024-05-28)

* Upgraded to Prebid 8.48.0.
* Updated console to 0.6.3 version (fixed CWV deleting navigation Types).
* Removed IDWard RTD.
* Removed AdRizer Analytics.

## Version 5.43.0 (2024-05-21)

* Upgraded to Prebid 8.47.0.
* Updated console to 0.6.2 version (added refresh to console, fixed CWV).
* Fixed standalone debugging; reverted hard-coded fix.

## Version 5.42.0 (2024-05-14)

* Upgraded to Prebid 8.46.0.
* Suppressed webpack entrypoint size errors/warnings.
* Added cat3 analytics.

## Version 5.41.1 (2024-05-02)

* Fixed constants for `targetingPrefix`.

## Version 5.41.0 (2024-04-30)

* Upgraded to Prebid 8.45.0 (skipped 8.44.0 due to [PR 11356](https://github.com/prebid/Prebid.js/issues/11356), which affected Safe Frames creatives).

## Version 5.40.0 (2024-04-23)

* Upgraded to Prebid 8.43.0.
* Implemented impression tracking for fallback renderer.
* Enabled suppression of stale renders.
* Disabled safe frames if `targetingPrefix` is set.
* Disabled Amazon if `forceSafeFramesUnderFloor` applies.
* Implemented temporary fix for [Issue 11365](https://github.com/prebid/Prebid.js/issues/11365).

## Version 5.39.0 (2024-04-16)

* Upgraded to Prebid 8.42.0.
* Disabled S2S when a custom targeting prefix is set.

## Version 5.38.0 (2024-04-09)

* Upgraded to Prebid 8.41.0.

## Version 5.37.0 (2024-04-02)

* Upgraded to Prebid 8.40.0.
* Ad Expansion: UI settings are now preserved if not explicitly set.
* Added Taboola endpoint to Topics API.

## Version 5.36.0 (2024-03-26)

* Upgraded to Prebid 8.39.0.
* Added `config.dfp.adExpansion` to configure `googletag.config.PageSettingsConfig_adExpansion`.

## Version 5.35.0 (2024-03-19)

* Upgraded to Prebid 8.38.0.

## Version 5.34.0 (2024-03-12)

* Upgraded to Prebid 8.37.0.
* Added Topics API OpenX Endpoint.
* Added Topics API Onetag Endpoint.
* Updated analytics endpoints.

## Version 5.33.0 (2024-03-05)

* Upgraded to Prebid 8.36.0.
* Disabled creative building for local testing.
* Fast-forwarded PR [11122](https://github.com/prebid/Prebid.js/pull/11122) for Conversant fix.
* Enabled user-agent-client-hints for `enrichmentFpdModule`.
* Fast-forwarded Gulpfile fix [PR 11098](https://github.com/prebid/Prebid.js/pull/11098).

## Version 5.32.0 (2024-02-27)

* Upgraded to Prebid 8.35.0.
* Fast-forwarded PR [11128](https://github.com/prebid/Prebid.js/pull/11128) for Insticator fix.
* Added ImproveDigital caller for Topics API.

## Version 5.31.0 (2024-02-20)

* Upgraded to Prebid 8.34.0.
* Changed UTM targeting from cookies to localStorage.
* Removed cookie helper functions; now using `storageManager` functions.
* Changed `__gads` cookie and targeting to use `storageManager`.
* Removed Liveramp ATS.

## Version 5.30.0 (2024-02-13)

* Upgraded to Prebid 8.33.0.

## Version 5.29.0 (2024-02-06)

* Upgraded to Prebid 8.32.0.
* Added `config.dfp.forceSafeFramesForAdunits`.
* Improved console log parameters for clarity.
* Analytics: tracking referrer for cross-domain iframes as `urlTop`.

## Version 5.28.0 (2024-01-30)

* Upgraded to Prebid 8.31.0.
* Made `topicsapi` key-value configurable.

## Version 5.27.0 (2024-01-23)

* Upgraded to Prebid 8.30.0.
* Sends `topicsapi` GAM key-value based on picked-up Topics API.
* Removed Save Ads functionality (to be rebuilt later).
* Added URL parameter to enable overlays: `$$PREBID_GLOBAL$$Overlay`.
* Removed dependency on cookies for console; now uses localStorage without storing user input.

## Version 5.26.0 (2024-01-16)

* Upgraded to Prebid 8.29.0.
* Enabled Topics API Module.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.hbwrapper.com/release-notes.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
