Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release notes for Prebid 8 #4638

Merged
merged 12 commits into from
Jun 15, 2023
84 changes: 84 additions & 0 deletions dev-docs/pb8-notes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
---
layout: page_v2
title: Prebid.js 8.0 Release Notes & Publisher API Changes
description: Description of the breaking changes included for Prebid.js 8.0
sidebarType: 1
---

# Prebid.js 8.0 Bidder Interface and Publisher API Changes
{:.no_toc}

This document describes the changes included for Prebid.js version 8.0.

* TOC
{:toc}

## Publisher Summary

1. Be aware that a number of modules have been removed. See below for the list.
2. Transaction identifiers are reliable but opt in.
3. Size Mapping has been pulled into its own module
4. Activity control interface defines behavior suppression, including RTD, Geo, and TIDs

Details on all of these below.

## Removed Modules

The following modules have been removed from Prebid.js as part of the 8.0 release. Publishers building with one of them will need to point to its replacement or remove the module from their build.

{: .table .table-bordered .table-striped }
| Module | Replacement |
|:-----------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Google Analytics Adapter | Recommend publishers explore the Generic Analytics Adapter
| Inmar Bid Adapter
| Inskin Bid Adapter
| MASS Deal Rendering Module | Replaced by (documentation) [https://github.com/prebid/prebid.github.io/issues/4535]
| AOL Bid Adapter | Reach out to Yahoo
| CPEX ID submodule | CzechAdId Module
| PubcommonID module | SharedID Userid Submodule
| OpenX Analytics module
| Zeus Prime Module
| Captify RTD module | pending integration updates
| Realvu Analytics module | pending integration updates
| TrustPID userid submodule | Utiq userid submodule
| OpenX ORTB Bid Adapter | OpenX Bid Adapter
| Synacor Bid Adapter | IMDS Bid Adapter
| AdGeneration Bid Adapter
| EMX Bid Adapter | Cadent Bid Adapter
| Rubicon Analytics Adapter | Magnite Analytics Adapter

## Transaction identifiers are now reliable and opt in

Following the [OpenRTB 2.6 spec](https://github.com/InteractiveAdvertisingBureau/openrtb2.x/blob/main/2.6.md) and the [imp.ext.tid](https://github.com/InteractiveAdvertisingBureau/openrtb/blob/master/extensions/community_extensions/per-imp-tids.md) community extensions, several fields in Prebid have equivalents in OpenRTB.

- $.id, the top level id, is now unique to each bid request. It may come from a bidder `getUUID` call or from the `bidderRequestId`.
- $.imp.ext.tid is the same for each bidder and differs for each slot in the auction. It is the request object `transactionId`. It can be set by the publisher to sync with other header bidding libraries on the page.
- $.source.tid is the same for each bidder and differs for each auction. We understand from buyer platform members that it is losing utility in favor of `imp.ext.tid`. It is the request object `auctionId`. It can be set by the publisher to sync with other header bidding libraries on the page.
- $.source.schain.nodes[0].rid is not generated by the Prebid.js core library nor the schain module and may vary unexpectedly.

These identifiers are extremely powerful for discrepancy reconciliation, ad quality investigations, consent audits, and a huge range of other applications. They also allow data appended to different requests (eg dealIds) to be commingled downstream. For this reason, our publisher committee and Prebid.org counsel have decided to require publisher opt-in to their inclusion in the bid stream. This means Prebid engineering changed every openrtb request in the project to potentially transmit a null in these fields. Comments were added to bid adapters not using OpenRTB that send them over the wire to confirm they can accept null values. Publishers can use `pbjs.setConfig({enableTIDs: true})` to opt-in.

## Activity Controls

[Activity controls](/dev-docs/activity-controls.html) were very recently released, and are even more powerful in Prebid.js 8. `transmitTid` is a new control added.

Also, in order to allow publishers to better comply with regulations around precise location, bid adapters must read location from the global, not from their own parameters.

RTD Modules were also updated to require that they do not have bidder specific handling, and that all their bid enrichment data is routed through the global. This will make those enrichments subject to the data controller module settings as well as activity controls.

Several activity control translation modules will be released in the near future, translating consent strings into suppressed behaviors and restricted information in the library. Your contributions on these modules and feedback are very welcome.

## Size Mapping

Users of the [label](/dev-docs/conditional-ad-units.html) feature should be careful to examine the new size mapping module. We moved it out of core to improve the build size. See [https://github.com/prebid/Prebid.js/issue/9597](https://github.com/prebid/Prebid.js/issue/9597)

## Misc changes

- `auctionInit` event payload is now less bloated. See [https://github.com/prebid/Prebid.js/pull/9897](https://github.com/prebid/Prebid.js/pull/9897)
- Bidder `categoryTranslation` is no longer in core. See [https://github.com/prebid/Prebid.js/pull/9898](https://github.com/prebid/Prebid.js/pull/9898)
- `bidderCode` can no longer come from the bid response, as this was breaking aliasing. See [https://github.com/prebid/Prebid.js/pull/9905](https://github.com/prebid/Prebid.js/pull/9905)
- `onBidWon` was often listened to by client side bid adapters and would get fired when a server side bid was won. This has been cleaned up. See [https://github.com/prebid/Prebid.js/pull/9919](https://github.com/prebid/Prebid.js/pull/9919)
- `ext.prebid.floorMin` has been dropped in favor of `ext.prebid.floors.floorMin` as a parameter on the PBS Bid adapter call See [https://github.com/prebid/Prebid.js/pull/9899](https://github.com/prebid/Prebid.js/pull/9899)
- `bidResponse` is emitted immediately after adding the bidResponse instead of immediately before. See [https://github.com/prebid/Prebid.js/pull/9847](https://github.com/prebid/Prebid.js/pull/9847)
- PBS bid adapter now supports native javascript trackers. See [https://github.com/prebid/Prebid.js/pull/9900](https://github.com/prebid/Prebid.js/pull/9900)
- `NO_BID` events no longer occur on bid rejections and zero-cpm bids. See [https://github.com/prebid/Prebid.js/pull/9902](https://github.com/prebid/Prebid.js/pull/9902)
1 change: 1 addition & 0 deletions dev-docs/release-notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ This page has links to release notes for each of the projects associated with Pr
## Prebid.js

+ [Release notes on GitHub](https://github.com/prebid/Prebid.js/releases)
+ [Prebid.js 8 Release Notes](/dev-docs/pb8-notes.html)
+ [Prebid.js 7 Release Notes](/dev-docs/pb7-notes.html)
+ [Prebid.js 6 Blog Post](https://prebid.org/blog/prebid-6-0-release/)
+ [Prebid.js 5 Blog Post](https://prebid.org/blog/prebid-5-0-release/)
Expand Down