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
86 changes: 86 additions & 0 deletions dev-docs/pb8-notes.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
---
layout: page_v2
title: Prebid 8.0 Release Notes & Publisher API Changes
description: Description of the breaking changes included for Prebid 8.0
sidebarType: 1
---

# Prebid 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.
patmmccann marked this conversation as resolved.
Show resolved Hide resolved
2. Transaction identifiers are reliable but opt in.
3. Size Mapping 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`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • this is of interest to developers more than publishers (not sure if it means it shouldn't be here).
  • I think most readers will have no context to understand either getUUID or bidderRequestId (I wouldn't be suprised if those are not mentioned anywhere else in the docs). they're also not that important IMO, the crucial point is that they should be unique to a single request.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think developers working at bidders may read these notes

$.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 meant Prebid engineering changed every openrtb request in the project to potentially transmit a null in these fields. Todo 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 were very recently released, and are even more powerful in Prebid 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

Labels users 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

## Misc changes

`auctionInit` event payload is now less bloated. See https://github.com/prebid/Prebid.js/pull/9897
Bidder `categoryTranslation` is no longer in core. See 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
`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
`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
`bidResponse` is emitted immediately after adding the bidResponse instead of immediately before. See 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
`NO_BID` events no longer occur on bid rejections and zero-cpm bids. See 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