|
| 1 | +--- |
| 2 | +layout: page_v2 |
| 3 | +title: Prebid.js 10.0 Release Notes & Publisher API Changes |
| 4 | +description: Description of the breaking changes included for Prebid.js 10.0 |
| 5 | +sidebarType: 1 |
| 6 | +--- |
| 7 | + |
| 8 | +# Prebid.js 10.0 Bidder Interface and Publisher API Changes |
| 9 | + |
| 10 | +{:.no_toc} |
| 11 | + |
| 12 | +This document describes the changes included for Prebid.js version 10.0. |
| 13 | + |
| 14 | +* TOC |
| 15 | +{:toc} |
| 16 | + |
| 17 | +## Publisher Summary |
| 18 | + |
| 19 | +1. A large number of obsolete modules have been removed. Many modules have changed name. See below for the list. |
| 20 | +2. The legacy method of native targeting keys, `sendTargetingKeys`, has been removed. |
| 21 | +3. `pbadslot` has been removed from the preAuction module. Use `ortb2Imp.ext.gpid` instead. |
| 22 | +4. The API methods `getBidResponses` and `getNoBidsForAdUnitCode` now return arrays of bids. |
| 23 | +5. TypeScript support has landed and Node.js 20+ is required to build. |
| 24 | +6. Using Prebid as an NPM dependency no longer requires using Babel or Prebid's Babel settings. |
| 25 | +7. `targetingControls.allBidsCustomTargeting` now defaults to `false`, this prevents custom targeting values from being set for non-winning bids. |
| 26 | +8. Storage use disclosures can now be enforced and catalogued |
| 27 | + |
| 28 | +## Removed Modules |
| 29 | + |
| 30 | +The following modules have been removed from Prebid.js as part of the 10.0 release. The `dfp` modules are still there but now import the `gam` modules. Publishers building with one of them will need to point to its replacement or remove the module from their build. |
| 31 | + |
| 32 | +{: .table .table-bordered .table-striped } |
| 33 | + |
| 34 | +| Module | Replacement | |
| 35 | +|:-----------------------------|:-------------------------| |
| 36 | +| dfpAdServerVideo | gamAdServerVideo | |
| 37 | +| dfpAdPod | gamAdPod | |
| 38 | +| telariaBidAdapter | | |
| 39 | +| eclickads | eclick | |
| 40 | +| imdsBidAdapter | advertisingBidAdapter | |
| 41 | +| cleanmedianetBidAdapter | gamoshiBidAdapter | |
| 42 | +| kueezBidAdapter | kueezRTBBidAdapter | |
| 43 | +| saambaaBidAdapter | advangelistBidAdapter | |
| 44 | +| adoceanBidAdapter | | |
| 45 | +| radsBidAdapter | | |
| 46 | +| freewheelsspBidAdapter | fwsspBidAdapter | |
| 47 | +| akamaiDapRtdProvider | symetriRtdProvider | |
| 48 | +| bidwatchAnalyticsAdapter | oxxionAnalyticsAdapter | |
| 49 | +| conversantAnalyticsAdapter | | |
| 50 | +| konduitAnalyticsAdapter | | |
| 51 | +| konduitWrapper | | |
| 52 | +| globalsunBidAdapter | global_sunBidAdapter | |
| 53 | +| verizonMediaIdSystem | yahooConnectId | |
| 54 | +| loglyliftBidAdapter | | |
| 55 | +| apnPspParamsConverter | | |
| 56 | +| yieldmoSyntheticInventoryModule | | |
| 57 | +| adsinteractiveBidAdapter | ads_interactiveBidAdapter | |
| 58 | +| admanBidAdapter | | |
| 59 | +| bridgeuppBidAdapter | sonaradsBidAdapter | |
| 60 | +| BTBidAdapter | blockthroughBidAdaper | |
| 61 | +| brightMountainMediaBidAdapter | bmtmBidAdapter | |
| 62 | +| vubleAnalyticsAdapter | | |
| 63 | +| serverbidServerBidAdapter | | |
| 64 | +| gothamAdsBidAdapter | intenzeBidAdapter | |
| 65 | +| growadvertisingBidAdapter | growAdsBidAdapter | |
| 66 | +| incrxBidAdapter | incrementxBidAdapter | |
| 67 | +| viantOrtbBidAdapter | viantBidAdapter | |
| 68 | +| zetaBidAdapter | zeta_globalBidAdapter | |
| 69 | +| fanAdapter | fanBidAdapter | |
| 70 | +| cadentaperturemxBidAdapter | cadent_aperture_mxBidAdapter | |
| 71 | +| epomDspBidAdapter | epom_dspBidAdapter | |
| 72 | +| pubwiseBidAdapter | pwbidBidAdapter | |
| 73 | + |
| 74 | +## Consent and Data Handling |
| 75 | + |
| 76 | +* **Default behavior for publisher purpose permissions in the TCF control module now enables purposes P4, P7 and special feature 1.** |
| 77 | +* Global vendor list IDs have been filled in for a number of bidder and analytics modules. |
| 78 | +* **A new activity control, and purpose 1 enforcement, prevent bidder endpoint access to third party storage via set-cookie headers.** |
| 79 | +* **The storage disclosures module enables publishers to identify all keys used in the first party and deny access to undisclosed keys. A build artifact is produced to help provide clear and concise information on device storage use for e-privacy directive adherence.** |
| 80 | + |
| 81 | +## User Id Module |
| 82 | + |
| 83 | +* **The user ID module introduces an `enforceStorageType` flag, which why by default warn when a userId submodule accesses the incorrect storage type. Future versions will prevent access.** |
| 84 | +* **`userId` accepts two new config flags, autoRefresh (default false) and retainConfig (default true).** With `autoRefresh: true`, `userId` automatically refreshes IDs for which the configuration changed (either a previously configured module now has different config, or a new module was configured). With `retainConfig: false`, `userId` "forgets" userIds that were previously configured, but are missing from `userSync.userIds[]` in a later setConfig. |
| 85 | +* For bidders: `bid.userId` is no longer populated; bid modules should rely on `userIdAsEids` or `user.ext.eids`. Several bid adapters made this change in the 10.0 release; others in 9.x in anticipation. |
| 86 | +* Eids in `user.eids` are appended to the array in `user.ext.eids` and de-duplicated. |
| 87 | + |
| 88 | +## TypeScript and Build Updates |
| 89 | + |
| 90 | +* **TypeScript files are now accepted in the code base. Tooling and linting were updated accordingly.** |
| 91 | +* The build target browser use statistics are now updated as part of the build process. |
| 92 | +* Tests now target Chrome 109 as the minimum version. `not dead` was added to the babel target. |
| 93 | +* **The `pbYield` helper was added and greedy rendering is disabled by default.** |
| 94 | + |
| 95 | +## API Changes |
| 96 | + |
| 97 | +* The `ADPOD` mediatype has received a deprecation warning. |
| 98 | +* Bid response helper methods (`getBidResponses*` and `getNoBids*`) now return an array which also exposes the array under `.bids` for backward compatibility. |
| 99 | +* `getHighestUnusedBidResponseForAdUnitCode` returns null instead of an empty object when no suitable bid exists. |
| 100 | +* **Schain data now lives under `ortb2.source.ext.schain` and is normalized when provided in first party data. The module is now superfluous for publishers transitioned to seeing this object directly and will be removed in the future.** |
| 101 | +* **Native ad units no longer support `sendTargetingKeys`, and native key-value pairs can no longer be sent to the ad server. Please migrate to a newer setup.** |
| 102 | +* The `createBid` API has been removed. |
| 103 | +* The `statusMessage` and `getStatusCode()` properties were removed from bid objects. |
| 104 | +* **The DFP modules have been renamed to GAM modules (`gamAdServerVideo`, `gamAdpod`, etc.). Please migrate to the new names.** |
| 105 | +* **Default configuration of various PBS Host companies has been removed. The PBS adapter now requires an explicit endpoint in its configuration.** |
| 106 | +* Support for the legacy `pbadslot` field has been removed from all utilities and adapters. |
| 107 | +* All public API methods have a log message in debug mode. |
| 108 | +* **`mediatypes.banner` params that match to imp[].banner are type checked** |
| 109 | + |
| 110 | +## Further Reading |
| 111 | + |
| 112 | +* [Publisher API Reference](/dev-docs/publisher-api-reference.html) |
| 113 | +* [First Party Data](/features/firstPartyData.html) |
0 commit comments