• Skip to main content
  • Skip to header right navigation
  • Skip to site footer
  • Documentation
  • Contact Us
  • Download Code
Prebid

Prebid

  • About
    • What is Prebid?
    • FAQ
    • Code of Conduct
    • Board of Directors
    • Contact
  • Membership
    • Why Join Prebid?
    • Pricing
    • Become a Member
    • Project Management Committees
    • Member Directory
  • Products
    • Overview
    • Supported Ad Formats
    • Prebidjs
    • Prebid Server
    • Prebid Mobile
    • SharedID
    • Managed Services
  • Events & Insights
    • Events
    • News
    • Blog
    • Videos
  • Login
  • Become a Member
  • About
    • What is Prebid?
    • FAQ
    • Code of Conduct
    • Board of Directors
    • Contact
  • Membership
    • Why Join Prebid?
    • Pricing
    • Become a Member
    • Project Management Committees
    • Member Directory
  • Products
    • Overview
    • Supported Ad Formats
    • Prebidjs
    • Prebid Server
    • Prebid Mobile
    • SharedID
    • Managed Services
  • Events & Insights
    • Events
    • News
    • Blog
    • Videos
  • Login
  • Become a Member
  • Doc Site
  • Log In
  • Download Code
  • Contact Us

Prebid.js 3.0 Major Release Announcement

October 7, 2019 by mvanderpol

The Prebid core team is excited to announce a major release: Prebid.js 3.0! Here are the main items that will be included in this release:

  • Upgrade all bidder adapters to HTTPS all the time.
  • Removal of miscellaneous legacy APIs and functions (should be a minor publisher impact). (Issue 4118)
  • Unbundle PubCommon ID and Unified ID from the User ID module build.
  • Fix for getHighestCpmBids to not return rendered bids. (Issue 2959)
  • Remove the legacy PBS adapter endpoint support. (Issue 4172)
  • Improve caching behavior if enabled. (Issue 4148)
  • Remove the ‘min’ attribute from custom pricegranularities.

See the full list of items that are associated with the 3.0 release.

Publisher-facing API Changes

Review these changes to make sure you’re ready to upgrade to 3.0.

1. AdUnit.sizes can no longer be used

To upgrade to Prebid.js 3.0, you’ll need to make sure that ad sizes are in mediaTypes.banner.sizes.

For example, instead of including sizes like this:

    var adUnits = [
           {
               code: \'test-div\',
               sizes: [[300,250],[300,600]],

You will need to define adUnits sizes like this:

    var adUnits = [
           {
               code: \'test-div\',
                mediaTypes: {
                    banner: {
                        sizes: [[300,250],[300,600]]
                    }
                },

AdUnit.sizes should not have been used for video player size, but be aware that video requires mediaTypes.video.playerSize. e.g.

    var adUnits = [
           {
               code: \'test-div\',
                mediaTypes: {
                    video: {
                        playerSize: [640, 480],
			...
                    }
                },

2. The userSync API no longer supports iframeEnabled, pixelEnabled, or enabledBidders

There has been a much more flexible syntax for userSync available for a long time, and it’s what you need to be using now. See the Publisher API docs for more details, but here’s an example of the improved syntax:

pbjs.setConfig({
    userSync: {
        filterSettings: {
            iframe: {
                bidders: [\'def\'],  // only this bidder is excluded from syncing iframe pixels, all other bidders are allowed
                filter: \'exclude\'
            },
            image: {
                bidders: [\'abc\', \'def\', \'xyz\'],  // only these 3 bidders are allowed to sync image pixels
                filter: \'include\'
            }
        },
        syncsPerBidder: 3, // and no more than 3 syncs at a time
        syncDelay: 6000, // 6 seconds after the auction
    }
});

3. Remove legacy protocol support for Prebid Server

You will need to check the s2sConfig.endpoint defined for Prebid Server. If it’s /auction, you’ll need to change to /openrtb2/auction. No other changes are necessary, but you should test the change with your Prebid Server provider.

4. pbjs.loadScript() is gone

If you happen to be using this ancient function, you’ll need to find an alternative.

5. Be aware that the getHighestCpmBids() function will no longer return already-rendered bids

This is a bug that some of you may have implemented workarounds for. More details here.

6. The ‘min’ attribute is no longer used on pricegranularity

The existence of the ‘min’ attribute should not harm existing price granularities, but if anyone has defined price granularities with gaps between the buckets, they won’t work anymore. (EDIT: see box below)

For example, this is no longer possible. (It’s unclear to us why anyone would need this.)

const customConfigObject = {
  \"buckets\" : [{
      \"min\" : 0,
      \"max\" : 5,
      \"increment\" : 0.01
    },
    {
      \"min\" : 5.25,             // ignore bids between $5 and $5.25
      \"max\" : 10,
      \"increment\" : 0.05
    }]
};

EDIT: since launching Prebid.js 3.0, we’ve discovered that some publishers had explictly defined non-overlapping min/max ranges like 0-0.99, 1-4.99, 5-19.99, etc. Unfortunately, this arrangement doesn’t work as expected in 3.x. Instead of producing values 1.00, 1.05, 1.10, etc. it produces 0.99, 1.04, 1.09, etc. We apologize for missing this breaking change.

7. Specifically pull PubCommon ID and Unified ID into your build

In previous versions, PubCommon ID and Unified ID were automatically
included as part of your Prebid.js build when you included the userId module

This is no longer the case; in order for a Prebid.js package to include PubCommon ID and Unified ID, the gulp build command will need to specifically include them.

More details

Implementation details for all Publisher-facing changes are here

Adapter Maintainers Action Required

If you’re responsible for any adapters, be sure you’ve taken the actions outlined here.

1. Ensure your bidder doesn’t use deprecated functions

Referrer detection and related code

Bidder adapters should review their implementation to see if they are relying on getting referrer information from updated APIs in utils.js. If they are, they should instead use the new referrer methods on the bid request (bidderRequest.refererInfo).

Important
If you are using a deprecated function, your bidder adapter will be removed from the 3.0 branch. You will need to re-submit compliant code. Please target re-submission by November 1, 2019. This will give enough time for the core team to review and target the release of mid November.

2. Verify bidder supports HTTPS

We ask all bidder adapters to ensure they are compliant with secure requests to their endpoints (HTTPS). It is already a requirement for bidders to support it on secure pages, so hopefully this will not be a big issue. For the 3.0 release the Prebid core team will automatically update all the endpoints to secure if they are not already updated.

3. Verify adapter reads sizes from mediaTypes.banner.sizes

We are telling pubs that they need to confirm that their adUnits define sizes in mediaTypes.banner.sizes instead of just sizes.

Adapter code and examples must be updated to reflect this change.

Target release date

Mid-November, 2019

Category: News

Become a Member

Join your ad tech industry peers and bring oversight, guidance and development capabilities to solve the industry’s common technical hurdles. Fill out the membership application or learn more about becoming a member, click below.

Join Now
  • About
    • What is Prebid?
    • FAQ
    • Board of Directors
    • Member Directory
  • Membership Benefits
    • Why Join
  • Products & Solutions
    • Overview
    • Supported Ad Formats
    • Prebidjs
    • Prebid Server
    • Prebid Mobile
    • SharedID
    • Managed Services
  • Knowledge Hub
    • Blog
    • News
    • Video Library
    • Webinars
  • Quick Links
    • Events
    • Github
    • Doc site
    • Download code
    • Code of Conduct
    • Bylaws

Sign up for our newsletter

  • Get in Touch
    • Contact Us
    • Become a Member

Connect with us on Social!

  • LinkedIn

276 5th Avenue
Suite 704, #756
New York, NY 10001

Crafted by the folks at We Are Volume

All demos, instructions, documentation and code included on the Prebid.org website are released under the Apache License

Copyright© 2023 Prebid.org | Privacy Policy

×

Sign up for our newsletter