Skip to content

Commit

Permalink
Stable release for v4.43 (#514)
Browse files Browse the repository at this point in the history
* Pubmatic:  fix issue where using an adUnit outstream renderer throws an error (#6152)

* Malltv Bid Adapter : added data object as a param (#6232)

* Updated malltv adapter

* Updated markdown

* Added test for malltvBidAdapter

* support setting coopSync in s2sConfig (#6213)

Co-authored-by: Mark Monday <mmonday@rubiconproject.com>

* Revert "support setting coopSync in s2sConfig (#6213)" (#6249)

This reverts commit 25dd35c99f404390242133b84245bb5cafeb7d7b.

* pbsBidAdapter: change order of client syncs (#6248)

* pbsBidAdapter: change order cookie_syncs

Prebid Server places cookie-sync URLs in a specific order. PBJS was pulling them off in reverse order.

* moving comment

* reverting coopSync

* pass a flag back to ID5 servers if abTesting was enabled by the publisher for monitoring usage of the feature (#6170)

* appneuxs Bid Adapter - add support for identitylink userId (#6245)

* Update britepoolIdSystem.md (#6254)

Eliot from Britepool says you can set just the api key without any params (eg ssid or hash)

* UNICORN Adapter - accept multiple formats (#6255)

* enable multiple formats
add version

* add banner w/h

* fix w/h & spec

* ATS-analytics - add comment clarifying ownership of atsAnalytics (#6257)

* [ParrableIdSystem] Ensure base64 payload is url-safe (#6258)

* Added url safe base64 encoding

* Added url safe base64 encoding test

Co-authored-by: Victor <victorigualada@gmail.com>

* Keywords + Screen resolution + CPU Core (#6259)

Co-authored-by: sgimenez <sergi.gimenez@richaudience.com>

* Rubicon Analytics: Fire event once gptSlots render (#6241)

* Once all gam slots are back fire event

* push to cmd queue

* New dimension for tracking name of the matching adUnit pattern (#6252)

* Adhese Bid Adapter: Per adunit targets (#6256)

* adpod category support test

* Revert "adpod category support test"

* Gjirafa Bid Adapter: added data object as a param (#6231)

* Added data parameter to gjirafaBidAdapter

* Updated gjirafaBidAdapter markdown

* Added test for gjirafaBidAdapter

* Fix a TypeError when message event source is not available (#6224)

* fix broken tests due to "encoded" base64 logic (#6268)

* Adkernel Bid Adapter: stringads alias added (#6262)

* Adkernel: stringads alias

* Revert "Extended ID permissions supported by bidder (#6112)" (#6269)

This reverts commit a926dee9e108ca4b8792ba8992a9bca7c2f42781.

* Prebid 4.25.0 Release

* Increment pre version

* smartxBidAdapter: new Feature - Made Out-Stream Player configurable (#6239)

* Add smartclipBidAdapter

* smartxBidAdapter.js - removed unused variables, removed debug, added window before the outstream related functions

* - made outstream player configurable

* remove wrong named files

* camelcase

* fix

Co-authored-by: smartclip AdTechnology <adtech@smartclip.com>
Co-authored-by: Gino Cirlini <adtech@smartclip.tv>

* Idl1 (#6242)

* Renaming idLibrary to idImportLibrary

* Renaming idLibrary to idImportLibrary

Co-authored-by: skocheri <skocheri@rubiconproject.com>

* Add the trade desk gvlid (#6263)

UnifiedId only works with a vendor exception in the gdpr enforcement module.
However this is not okay as the unifiedId matching endpoint doesn't take the consent into account and
cookies are being dropped even without consent.

* pick up wrapper family detail (#6272)

* Add user sync (#6244)

* initial

* fix

* remove redundant language mod, use player sizes in video traff

* test modify

* fix

* Adding Tests

* add keywords param

* log

* log

* log

* fix

* add idl

* add idl

* fix test

* lint

* lint

* fix

* lint

* lint

* lint

* lint

* add sync

* fix

Co-authored-by: Aigolkin1991 <Aigolkin1991@gmail.com>
Co-authored-by: Aiholkin <artem.iholkin@smartyads.com>

* Zeotap id plus gvlid (#6260)

* Add gvlid for ZeotapIdPlus module

* Pass gvlid and module name to storage manager

* add testcases to zeotapIdPlusIdSystem

* remove unwanted code

* adWMG adapter: add new parameter, fix minor bugs (#6265)

* Support floorCPM parameter, fix some minor bugs

* fix space-in-parens circleci error

* example fix

* clean usersync URL

* spaces

* spaces

* add new unit tests, compatibility with IE11

* remove logInfo

Co-authored-by: Mikhail Dykun <m.dykun@wmgroup.us>

* [ParrableIdSystem] Supply iframe state to backend (#6278)

* Add iframe detection

* Remove forgotten .only

Co-authored-by: Victor <victorigualada@gmail.com>

* Bid Viewability Module (#6206)

* introducing a new event, bidViewable

* new module: bidViewability

* details in bidViewability.md

* disable webdriver tests in trionBidAdapter spec (#6280)

* [ParrableIdSystem] Supply Prebid library version to backend (#6279)

* Add prebid version to data object

* Renamed prebid to prebidVersion

* Fix missing coma

Co-authored-by: Victor <victorigualada@gmail.com>

* [ParrableIdSystem] Accept list of partners as an array or string (#6277)

* Accept partners as an array and fallthrough partner if no partners

* Ensure that Parrable data object decodes with urlsafe base64 in tests

* Fixed tests caused by typo in config property

* Fix failing test due to accessing unexisting property 'partner'

Co-authored-by: Victor <victorigualada@gmail.com>

* Rubicon Bid Adapter FPD Update (#6122)

* Update to consolidate applying FPD to both banner and video requests. FPD will be merged using global defined FPD, ad unit FPD, and rubicon bidder param FPD. Validation logic with warning logs added

* Refectored last push to:
1) Correct keywords bug
2) Revise error which looked for FPD in (user/context).ext.data as opposed to (user/context).data
3) General code cleanup

* Consolidated other FPD data logic into new function

* 1. Update to move pbadslot and adserver data into imp[] as opposed to parent.
2. Update to convert keywords passed through RP params to string if array found

* Removed unnecessary conditional

* Changed conditional to check for undefined type

* Update to consolidate several lines of duplicate code into one location

* ID5 User Id Module: update a/b testing to be user based not request based (#6281)

* convert A/B testing to be user-based, rather than request-based

* update docs to say a/b testing is user based, not request based

* Shared ID gdpr support (#6275)

* SharedId gdpr support

* Reverted commented locally failing tests

* Lemma:set mediaType key value (#6006)

* lemmaBidAdapter.js

Added lemma bid adapter file

* lemmaBidAdapter.md

Added lemma bid adapter md file

* lemmaBidAdapter_spec.js

Added lemma bid adapter test spec file

* Update lemmaBidAdapter.js

Fixed automated code review alert comparison between inconvertible types

* Update lemmaBidAdapter.js

Fixed review changes

* Update lemmaBidAdapter.md

Correct parameter value.

* Update lemmaBidAdapter.js

Lemma Bid Adapter - v3.0 compliance

* Update lemmaBidAdapter_spec.js

Lemma Bid Adapter - v3.0 compliance

* Update lemmaBidAdapter.md

Lemma Bid Adapter - v3.0 compliance

* Update lemmaBidAdapter.js

Added user sync support into bid adapter.

* updated include modules file extension.

updated include modules js file extension.

* Update lemmaBidAdapter_spec.js

Added unit test for user sync feature.

* Update lemmaBidAdapter.js

Fixed format error.

* Update lemmaBidAdapter_spec.js

Fixed format error and typo error.

* Set mediaType key value into bid object

Set mediaType key value into the bid object.

* Update lemmaBidAdapter.js

remove duplicate function

* Update lemmaBidAdapter.js

Remove non supported code.

* Update lemmaBidAdapter_spec.js

Remove GDPR test cases.

* added support for addtlConsent (#6005)

Co-authored-by: Ix-Prebid-Support <ix-prebid-support@indexexchange.com>

* Add bid adapter for Missena (#6247)

* adds support for getFloor of video mediaTypes

* adds test for calling getFloor with correct mediaType

* checks that _getFloor converts string floors to float

* Add bid adapter for Missena

* Use publisher demo token in tests

* Add Missena global vendor ID to spec

* Use apiKey in the current bidRequest

* Add referer info to payload

Co-authored-by: Nick Llerandi <nllerandi@triplelift.com>
Co-authored-by: Brandon Ling <51931757+blingster7@users.noreply.github.com>
Co-authored-by: Brandon Ling <bling@triplelift.com>

* Gulp test file example added in readme (#6287)

* Sharethrough: Add support for ID5, Shared ID, and Live Intent ID (#6261)

* Update prebid adapter universal ids to include ID5, SharedID, and LiveIntent ID.

[#176447070](https://www.pivotaltracker.com/story/show/176447070)

Co-authored-by: Mathieu Pheulpin <mpheulpin@sharethrough.com>

* Addressing review

[#176447070]

* Quick rewrite

[#176447070]

* Address ID5 review, forward linkType to adserver

* Reformatting SharedID to align with ID5

Co-authored-by: Mathieu Pheulpin <mpheulpin@sharethrough.com>

* SmartAdServer Bid Adapter: image sync and noAd (#6236)

* SIM-889 Now we have image based sync

* SIM-889 Added test to check noad and image sync

* SIM-889 Fixing indenting issues

* Add client Alias Adkernel (#6291)

Adding "bcm" alias to Adkernel adapter

* [ParrableIdSystem] Add GVLID and handle TC Consent data (#6283)

* Added GDPR support

* Remove forgotten .only

Co-authored-by: Victor <victorigualada@gmail.com>

* 4.26.0 release

* 4.27.0-pre

* Updated data mapping of winning bid and auction logs in pubxai analytics adapter (#6285)

Co-authored-by: Phaneendra Hegde <phaneendra.hegde@gmail.com>

* Grid Bid Adapter: Added video protocols to the ad request (#6299)

* Rubicon Bid Adapter: updated transactionId to auctionId for OpenRTB (#6298)

* Fix for Issue 6117: Added Module Name in Build to Comments (#6297)

* map tripleliftBidAdapter.js tl_source to bid.meta.mediaType (#6303)

* Tappx Bid Adapter: new bidder adapter added (#6233)

* ADD: tappx bid adapter

* FIX: replace .includes by .indexOf

* UPDATE: Expand the test coverage

* FIX: format spacing tests

* FIX: get auctionId from validBidRequests

* UPDATE: add bannerMediaType tablet sizes

* FIX: get timeout from bidderRequest.timeout

* UPDATE: replace the way to get the hostname

* UPDATE: adding  support multiple bid requests in a single call

* UPDATE: remove hardcoded test payload param

Co-authored-by: marc_tappx <marc@tappx.com>

* Add Native ad capability to AdYouLike adapter (#6198)

* Remove useless bidderCode in bid response

* send all the available sizes in the bid request

* Use the banner sizes if given

* avoid compatibility issue with old bid format

* ad iframe and publisher domain paramters to bid requests

* add publisher domain info in ad request

* add a check in unit tests for publisherDomain

* encode uri components

* add native assets support

* add native information to ad request

* fix native ad parsing

* fix nativ condition to set mediatype

* fix image access and add trackers

* fix and add unit test on native ad

* update md file

* remove usage of URLSearchParams

* allox pure native ad with no adm provided

Co-authored-by: Guillaume <guiandouard@gmail.com>

* Update targeting.js to fix TTL buffer arithmetic (#6300)

* Permutive RTD submodule (#6290)

* Add Permutive RTD module

* set demo data in LS for test page

* fix linter issues

* reduce timeout on example page

* decrease sample timeouts

* rename targeting to segments

* Adtelligent Bid Adapter: Add Navelix as alias (#6306)

* Navelix bidder

* gvlID

* Pubmatic add warning for non-string adSlots (#6304)

* add warning for non-string adSlots

- and update the markdown file to say they should be strings

* be more specific in explanatory comment

* Update ttl outstream (#6253)

* adding DMX

test @97%, two files added one updated

* Update districtm_spec.js

* Update districtmDMX.js

* adding all districtm needed file

* remove legacy file

* remove typo || 0 in the test method

* force default to return a valid width and height

* update unit test code for failing test

* changed class for an object

* remove package-lock.json

* change file name for dmx adapter

* renamed files

* restaure package-lock.json

* update to last package-lock state

* update gdpr user consent

* fix sizes issue

* Documentation updates

Adding the readme.md info

* update file name and update unit testing import file location

* current machine state

* lint correction

* remove variable assigment duplicate

* adding CCPA support for DMX

* adding test for ccpa and gdpr

* districtm dmx adding deal id field

* idsync support ccpa & gdpr

* merge forked

* stop mediatype changing ttl

* remove lint error

* adding gvlid for dmx

* removing change

Removing change from on commit PR file package-lock.json

* update file 

Removing comments on DMX adapter

* Revert "removing change"

This reverts commit e4bbbe55

* adding aliases base on ticket #6294

* update file 

Removing comments on DMX adapter

* fix error for issue #6294

* file removal from PR

Co-authored-by: Steve Alliance <steve@districtm.ca>
Co-authored-by: Luis <luissastreverzun@gmail.com>
Co-authored-by: Steve Alliance <stevealliance@Steves-Air.localdomain>
Co-authored-by: Steve Alliance <stevealliance@Steves-MacBook-Air.local>
Co-authored-by: steve-a-districtm <steve@districtm.net>
Co-authored-by: Steve Alliance <stevealliance@DMMBP-C02WXCFAJG5H.local>

* [ParrableIdSystem] Accept lowercase timezone names in timezone filter (#6282)

* Add lower case comparison for allowedZones

* Lowercase blocked zones also

* Fixed timezone lowercase tests

* Handle IE missing timeZone field

* Improve lowercase timezone comparison

Co-authored-by: Victor <victorigualada@gmail.com>

* Added new size - Id 550 (980x480) (#6311)

* Revert "Rubicon Bid Adapter: updated transactionId to auctionId for OpenRTB (#6298)" (#6314)

This reverts commit f672209110ef30b9cdf96048d4e8285d43716b4a.

* Rubicon: adding size 300x200 (#6315)

* added prebid version support to ixdiag (#6292)

* Extended ID permissions supported by bidder (#6276)

* User id bidder permission scheme

* styling

* prebidServer support

* -

* fix

* prebidServerBidAdapter take eidPermissions directly from userId module

* -

* unit tests

* -

* -

* update

* -

* -

* changed pbjs_bidders to pbjsBidders

* changed pbjsBidders to bidders
ext.prebid.data.eidPermissions to ext.prebid.data.eidpermissions

* rerun circleci

* rerun circleci

* omitting eidPermission entry if 'bidders' is not configured

* fixed 'calling the PBS adapter without any defined userId modules causes an exception'

* proposal

* rerun circleci

* utils implementation

* comment

* revert import validation

Co-authored-by: myerkovich <myerkovich@rubiconproject.com>
Co-authored-by: Marko Yerkovich <marko_yerkovich@MacBook-Pro-Marko.local>
Co-authored-by: Marko Yerkovich <myerkovich@magnite.com>

* new bid adapter: Logain (#6312)

Co-authored-by: Aiholkin <artem.iholkin@smartyads.com>

* Change URL in Tapad Id Submodule (#6318)

* IndexExchange Bid Adapter: Added support for netID, ID+ and FabrickId userId (#6286)

* added more userID partner support for IX adapter - TDID, LI, NetID, Neustar, Zeotap

* removed liveintent and adsrvr.org [DNA-5040]

* updated neustar id

* fixed fabrickid

* frabrickId instead of id

* added more userID partner support for IX adapter - NetID, Neustar, Zeotap (#1)

* added more userID partner support for IX adapter - TDID, LI, NetID, Neustar, Zeotap

* added tests

* added tests for new userinfo modules

* missed a few checks

* Dna 5040 ix userid support (#2)

* added more userID partner support for IX adapter - TDID, LI, NetID, Neustar, Zeotap

* removed liveintent and adsrvr.org [DNA-5040]

* updated neustar id

* fixed fabrickid

* frabrickId instead of id

* added tests

* added tests for new userinfo modules

* missed a few checks

Co-authored-by: Ran Li <ran.li@indexexchange.com>

* added few missing checks in IX adapter

* Use userIdAsEids instead of userId (#3)

* use eids, revert package-lock
* test update

Co-authored-by: Ran Li <ran.li@indexexchange.com>
Co-authored-by: amykwyang <amyyang90@gmail.com>

* Prebid 4.27.0 Release

* increment pre version

* mediasquare fix userId (#6321)

* Change the EU consent string parameter name to the company-wide standard (#6320)

* adding support in pbsAdapter for getFloor (#6273)

* AdHash Bidder Adapter: initial prebid.js integration (#6274)

* PBJS Video Cache Update (#6295)

* Support bidder aliasing by not using bid.bidder to retrieve configs (which are static anyway) (#6313)

* Fabrick ID System : updates to _setReferrer and appending urls (#6322)

* fabrickId updates

 - encode all url params
 - dedupe w/out queryString and keep the longest
 - additionally truncate from % if that ends up being the last (or next to last) char after truncation
 - truncate 1k instead of 200
 - don't send functions along in query (only send strings and numbers)

* attempting to fix ie failure - https://app.circleci.com/pipelines/github/prebid/Prebid.js/3945/workflows/4929a5c0-9e57-49e3-a6d8-29691560ca31/jobs/12086

* re-attempting to fix ie failure - https://app.circleci.com/pipelines/github/prebid/Prebid.js/3945/workflows/4929a5c0-9e57-49e3-a6d8-29691560ca31/jobs/12086

* re-attempting to fix ie failure - https://app.circleci.com/pipelines/github/prebid/Prebid.js/3945/workflows/4929a5c0-9e57-49e3-a6d8-29691560ca31/jobs/12086

* re-attempting to fix ie failure - https://app.circleci.com/pipelines/github/prebid/Prebid.js/3945/workflows/4929a5c0-9e57-49e3-a6d8-29691560ca31/jobs/12086

* re-attempting to fix ie failure - https://app.circleci.com/pipelines/github/prebid/Prebid.js/3945/workflows/4929a5c0-9e57-49e3-a6d8-29691560ca31/jobs/12086

* re-attempting to fix ie failure - https://app.circleci.com/pipelines/github/prebid/Prebid.js/3945/workflows/4929a5c0-9e57-49e3-a6d8-29691560ca31/jobs/12086

- attempting to add debugging so I can know what exactly is failing in ie (since I don't have a windows machine)

* found the issue having debugged locally - stubbing my error message is what killed me!

* not the right way to loop through a map

Co-authored-by: Anderson, Ben <Ben.Anderson@team.neustar>

* Configureable option to delay auction event + fix bug with googletag init (#6344)

* Adhese Bid Adapter: replace id5 with eid (#6339)

* FID-287: Update Reconciliation RTD delivery id format (#6343)

* Inskin Bid Adapter: send screen size in the ad call (#6316)

* Ozone Bid Adapter: added or updated support for multiple modules (#6324)

* ozone 2.5.0 adapter updates

* ozone 2.5.0 adapter - fixup for prebidCircleCI tests to remove object values on user.eid

Co-authored-by: Afsheen Bigdeli <afsheenb@namecast.net>

* Triplelift Bid Adapter: add PubCommon ID support (#6352)

* Prebid 4.28.0 Release

* Increment pre version

* GMOSSP Bid Adapter :  add refererInfo from bidderRequest  (#6319)

* Axonix Bid Adapter: add new bid adapter (#6341)

* Add Axonix bid adapter

* Fixed tests

* Documentation: Prebid Server and Postbid integration example ( ad server-less ) (#6348)

* Native: add custom data assets capability (#6220)

Use `mediaTypes.native.ext: {}` special object to add/allow custom data. assets.

* iPROM adapter upload - adapter (#6334)

Co-authored-by: Gašper Žagar <gasper.zagar@iprom.si>

* Ucfunnel Bid Adapter: update currency parameter in ad response (#6357)

* TheMediaGrid Bid Adapter: fix trouble with alias using (#6363)

* Rubicon Analytics Adapter: pass along advertiserDomains (#6356)

* Pass along advertiser domains!

* only send up to 10 adomains

* support setting coopSync in s2sConfig (#6330)

* TrustX Bid Adapter: Fix alias error (#6373)

* Adform Bid Adapter: add global targeting to the request query as parameter (#6376)

Co-authored-by: Justas <jpmiltas@gmail.com>

* Prebid 4.29.0 Release

* Increment pre version

* Gamoshi Bid Adapter: update adaptor aliases (#6355)

* Marsmedia Bid Adapter: add support for viewability, floor price module, COPPA & CCPA (#6337)

* Change publisherId to zoneId
Add gdpr
Add supply chain
Add video media type

* Remove comments

* Fix unit test coverage

* fix request id bug
add vastXml to video response

* Remove bid response default sizes

* Change endpoint url

* Add unit test for vastXml

* Change end point

* Remove trailing-space

* Add onBidWon function

* New adapter - videofy

* Marsmedia & Videofy - Add onTimeout onSetTargeting

* Create sendbeacon function

* - add viewability

* remove unnecessary utils.getWindowTop()

* fix bidderRequest matching for finding a renderer (#6359)

* Seedtag Bid Adapter: add support for inArticle placement (#6369)

* Fix: check mandatory video params

* Simplifying mediaType video existence check

* SQDTAR-42: onWonBid event (#2)

* Adding onBidWon handler.

* Adding nurl to bid.

* Adding nurl field to bid.

* Adding inArticle placement type to seedtag adapter. (#1)

Co-authored-by: Carlos Barreiro Mata <barreymata@gmail.com>

* improve robustness on OnEvent fields (#6384)

* oneVideo Bid Adapter: remove adapter adId because of conflict with pbjs core (#6382)

* updated object,str,num validations using pbjs utils

* validation if statements for content object

* validation if statements for content object

* updated contetn object validations using utils

* refractoring clean if statement

* fixing typos

* added todos

* added category string & data object validations

* fixed esling ENDPOINT issue

* updated content obj unit tests

* fixed cat & data validation

* fixed producer as object

* revert .includes() to .indexof() for IE

* reduced content obj params accoriding to ad-server support

* fixed typeOf typo

* fixed episode to Number

* gitignore

* restore gitignore

* removed unsupported params from md file

* reverted package & pagkage-lock

* fixed incorrect episdoe from str to num

* removed bid.adid setting from L97

* removed bid.adId setting

* updated adId test

* updated version to 3.0.6

* PBS Bid Adapter: add dchain (demand chain object) to prebid server adapter (#6383)


* Update prebidServerBidAdapter_spec.js

* Update index.js

* Gulp Build: fix to populate modules list when gulp bundle is executed (#6331)

* added support for pubcommon, digitrust, id5id

* added support for IdentityLink

* changed the source for id5

* added unit test cases

* changed source param for identityLink

* need to update modules list when gulp bundle is called

* added a comment

* Smartx Bid Adapter: updated out-stream render to support smartPlay 5.2 (#6370)

* Add smartclipBidAdapter

* smartxBidAdapter.js - removed unused variables, removed debug, added window before the outstream related functions

* - made outstream player configurable

* remove wrong named files

* camelcase

* fix

* Out-Stream render update to SmartPlay 5.2

* ESlint fix

* ESlint fix

* ESlint fix

* adjust tests, fixes

* ESlint

Co-authored-by: smartclip AdTechnology <adtech@smartclip.com>
Co-authored-by: Gino Cirlini <adtech@smartclip.tv>

* Fpd 2.0 Update (#6293)

* Update to consolidate applying FPD to both banner and video requests. FPD will be merged using global defined FPD, ad unit FPD, and rubicon bidder param FPD. Validation logic with warning logs added

* Refectored last push to:
1) Correct keywords bug
2) Revise error which looked for FPD in (user/context).ext.data as opposed to (user/context).data
3) General code cleanup

* Consolidated other FPD data logic into new function

* 1. Update to move pbadslot and adserver data into imp[] as opposed to parent.
2. Update to convert keywords passed through RP params to string if array found

* Removed unnecessary conditional

* Changed conditional to check for undefined type

* FPD 2.0 Update
1) The setConfig and setBidderConfig functions support a transition period where they map the original 'fpd' config:
   - fpd.context.ATTR --> ortb2.site.ATTR
   - fpd.context.data.ATTR --> ortb2.site.ext.data
   - fpd.user.ATTR --> ortb2.user.ATTR
   - fpd.user.data.ATTR --> ortb2.user.ext.data
2) gptPreAuction:
   a) move adunit.fpd to adunit.ortb2
   b) adUnit.ortb2Imp.ext.data.adserver.{name, adSlot}
   c) pbAdSlot moves to AdUnit.ortb2Imp.ext.data.pbAdSlot

3) pbsBidAdapter
   a) merge the new ortb2 and AdUnit.ortb2Imp.ext objects into the OpenRTB JSON.
   b) therefore imp[].ext.context.data.pbadslot is now changed to imp[].ext.data.pbadslot (no context)
   c) read adUnit.ortb2Imp.ext.data.adserver from the new location. Output location is moved to imp[].ext.data.adserver (no context)

* FPD 2.0 Update
Update to adrelevantis adapter to look at config.ortb2 instead of config.fpd

* FPD 2.0 Update
Update to amx adapter to look at config.ortb2 instead of config.fpd

* FPD 2.0 Update
Update to avocet adapter to look at config.ortb2 instead of config.fpd

* FPD 2.0 Update
Update to criteo adapter to look at config.ortb2 instead of config.fpd

* Update to correct imp fpd structure

* Update to s2s adapter to coincide with imp fpd alteration

* Update to consolidate several lines of duplicate code into one location

* Slight modification for ortb2Imp to use ortb2Imp.ext as opposed to ortb2Imp.ext.data

* FPD 2.0 Update
Update to grid adapter to look at config.ortb2 instead of config.fpd

* FPD 2.0 Update
Update to inmar adapter to look at config.ortb2 instead of config.fpd

* FPD 2.0 Update
Update to luponmedia adapter to look at config.ortb2 instead of config.fpd

* FPD 2.0 Update
Update to smaato adapter to look at config.ortb2 instead of config.fpd

* FPD 2.0 Update
Update to triplelift adapter to look at config.ortb2 instead of config.fpd

* Update to gptPreAuction to move over to imp level ortb2

* FPD 2.0 Update
Update to triplelift adapter to look at config.ortb2 instead of config.fpd

* FPD 2.0 Update

* FPD 2.0 Update
Update to jwplayerRtd adapter to look at config.ortb2 instead of config.fpd

* FPD 2.0 Update
Update to admixer adapter to look at config.ortb2 instead of config.fpd

* FPD 2.0 Update
Update to rubicon adapter to look at config.ortb2 instead of config.fpd

* Update to fix keyword bug

* Added backwards compatibility functions for FPD both global/bidder and adunit level data

* Update to utilize new backward functionality for fpd 2.0

* Removed extra new line

* Update to include new backward functionality for FPD 2.0 data

* Update to utilize new backward functionality to pass FPD 2.0 data

* Update to utilize backward functionality to pass FPD 2.0 data

* Update to utilize backward functionality to pass FPD 2.0 data

* Update to utilize backward functionality to pass FPD 2.0 data

* Update to utilize backward functionality to pass FPD 2.0 data

* Update to utilize backward functionality to pass FPD 2.0 data

* Fixed typo in fpd config object location

* Uodate to utilize backward functionality to pass FPD 2.0 data

* Update to change all ortb2Imp.ext.data.adserver.adSlot references to ortb2Imp.ext.data.adserver.adslot - all lowercase. Corresponding adapter and unit tests to adhere to these changes

* Fixed typo

* Fixed typo

* FPD 2.0 update to rubicon adapter to pass iab values

* Updates:
1) Change function name
2) addAdUnits always pass array
3) Remove unecessary comment
4) Bug fix for ortb2.user.data to be filtered on legacy fpd conversion

* PBS Bid Adapter: fix s2s alias collision with built-in adapter aliasing (#6379)

* fixed overwriting of aliases for s2s

* made change

* added fix

* Clean side-effect when checking that local storage is enabled (#6323)

* updates docs and demo for fpd changes (#6302)

Co-authored-by: karimJWP <karimJWP@github.com>

* Changed net revenue to True (#6387)

* adagioBidAdapter: add Native support (#6368)

* EIDS Support Update (#6394)

* TheMediaGridNM Bid Adapter: fix trouble with alias (#6371)

* Added TheMediaGridNM Bid Adapter

* Updated required params for TheMediaGridNM Bid Adapter

* Update TheMediGridNM Bid Adapter

* Fix tests for TheMediaGridNM Bid Adapter

* Fixes after review for TheMediaGridNM Bid Adapter

* Add support of multi-format in TheMediaGrid Bid Adapter

* Update sync url for grid and gridNM Bid Adapters

* TheMediaGrid Bid Adapter: added keywords adUnit parameter

* Update TheMediaGrid Bid Adapter to support keywords from config

* Implement new request format for TheMediaGrid Bid Adapter

* Fix jwpseg params for TheMediaGrid Bid Adapter

* Update unit tests for The Media Grid Bid Adapter

* Fix typo in TheMediaGrid Bid Adapter

* Added test for jwTargeting in TheMediaGrid Bid Adapter

* The new request format was made by default in TheMediaGrid Bid Adapter

* Update userId format in ad request for TheMediaGrid Bid Adapter

* Added bidFloor parameter for TheMediaGrid Bid Adapter

* Fix for review TheMediaGrid Bid Adapter

* Support floorModule in TheMediaGrid Bid Adapter

* Fix empty bidfloor for TheMediaGrid Bid Adapter

* Some change to restart autotests

* Fix userIds format for TheMediaGrid Bid Adapter

* Remove digitrust userId from TheMediaGrid Bid Adapter

* Protocols was added in video section in ad request for TheMediaGrid Bid Adapter

* TheMediaGrid: fix trouble with alias using

* TheMediaGridNM: fix trouble with alias

* Grab sourceAgnostic IDs first, then fallback to regular IDs (#6400)

* Permutive - add AC support for TrustX (#6393)

* SmartRTB Bid Adapter: add alias and update valid opts (#6365)

* Add alias, update valid opts

* Update bidder tests

* Prebid 4.30.0 Release

* Increment pre version

* Sonobi Bid Adapter: send eids in bid request. (#6364)

* unwrapping id5id uid. Added new eid param for user id modules

* set userid to new variable

* fixed spelling mistake in unit test

Co-authored-by: Scott Menzer <smenzer@gmail.com>

* copying userid object so the referenced object does not get updated.

* using deepClone instead of spreading the top userId object

Co-authored-by: Scott Menzer <smenzer@gmail.com>

* Apacdex Bid Adapter: userId module support, show demo ads in debug mode & other maintenance (#6378)

* Upgrade and maintenance apacdexBidAdapter

* fix error and add unit test

* Novatiq ID System: add snowflake userId submodule (#6350)

* Novatiq snowflake userId submodule

Novatiq snowflake userId submodule initial release

* change request updates

added novatiq info /modules/userId/userId.md
added novatiq info /modules/userId/eids.md
added novatiq eids /modules/userId/eids.js
added novatiq module in /modules/.submodules.json
removed unnecessary value from getId response

* Update novatiqIdSystem_spec.js

removed unnecessary srcid value

* Update novatiqIdSystem.md

Novatiq ID System: updated novatiq snowflake ID description

* Rise Bid Adapter: add session_id & is_wrapper params to adapter (#6407)

* add new params to rise adapter

* add unit tests for isWrapper and sessionId adapter params

* IronSource Bid Adapter: add session_id & is_wrapper params to adapter (#6408)

* add new params

* add unit tests for isWrapper and sessionId adapter params

* AMX Bid Adapter: add or update general adapter support and code refactoring (#6403)

* AMX Bid adapter improvements

* fix eslint issues (breaking CI)

* VOX Bid adapter, Hybrid Bid adapter: fix global var name to avoid conflicts with astraOne adapter. (#6416)

Co-authored-by: Petrov Denis <d.petrov@hybrid.ai>

* LiveIntent Id System: fix for parsing response twice  (#6418)

* Don't parse response twice in LiveIntent Id submodule

* Update the liveintent module test to have the 204 response

* PBJS Core: use mediaType renderer when backupOnly and no bid.renderer (#6419)

* use mediaType renderer when backupOnly and no bid.renderer

* check if necessary renderer properties are defined

* GumGum Bid Adapter: pass bidfloor currency in bidrequest (#6391)

* adds support for zone and pubId params

* adds support for iriscat field

* sets mediatype depending on product id

* Update doc for mediaType needed for video products

* makes slot and invideo products avail for pubId

* updates gumgum doc

* lint

* adds missing comma in gumgum doc

* adds currency in ad request, adds unit test

* readd the previous irisid changes

* remove the only in testing

* Documentation: fixed a typo and sentence structure (#6421)

* Bid Glass Bid Adapter: pass options in bid request (#6424)

* Added bidglass adapter + test

* PR Review Updates:

- Added formal params to getUserSyncs function definition
- getUserSyncs now always returns an array
- Improved unit test coverage

* PR Review Updates:

- Removed unused methods: getUserSyncs, onTimeout, onBidWon,
onSetTargeting
- Removed getUserSyncs unit test
- Removed "dead code"
- Removed some unnecessary comments
- Fixed usage of parseInt

* Bid Glass Bid Adapter: pass options in bid request

* Spotx Bid Adapter: add publisher support for cache.ignoreBidderCacheKey (#6413)

* Support ignoreBidderCacheKey in spotxBidAdapter

* Update spotxBidAdapter_spec.js

* Update spotxBidAdapter_spec.js

Co-authored-by: Nick Peceniak <npeceniak@spotx.tv>

* update prebid adapter. Add at, ccpa, gdpr and coppa support (#6405)

* Qwarry Bid Adapter: add referer detection  (#6412)

* qwarry bid adapter

* formatting fixes

* fix tests for qwarry

* qwarry bid adapter

* add header for qwarry bid adapter

* bid requests fix

* fix tests

* response fix

* fix tests for Qwarry bid adapter

* add pos parameter to qwarry bid adapter

* qwarryBidAdapter onBidWon hotfix

* Change bidder endpoint url for Qwarry adapter

* add referer JS detection

* use bidderRequest.refererInfo

* fix tests

Co-authored-by: Artem Kostritsa <akostritsa@akostritsa.com>
Co-authored-by: Alexander Kascheev <akascheev@asteriosoft.com>

* Smartyads Bid Adapter: add coppa field from config (#6402)

* update adapter. Add coppa field from config

* move stubs and restores for coppa tests

* PBS Bid Adapter: Fpd2.0 bug fix for first party data issue (#6428)

* Bug fix for PBS data from FPD2.0 update: Merging request.site and request.user with site and user object in FPD.

* Prebid 4.31.0 Release

* Increment pre version

* a4g Bid Adapter: delete adid and use crid if it exists (#6409)

* Deleted adid

* set crid if it's exist and added unit tests

* Mediawallah ID System: add openlink userId submodule (#5921)

* My first commit

* Removed unnecessary await operation

* Bug fixes and compliance fixes

* Fixing some formatting and naming

* Updating code based on automated feedback.

* Parking refactoring change for team review

* update mwOpenLink module

* remove .git 2 folder

* Trying to force a change

* update the PR comments

* applying the changes

* update submodules.json and userId.md

* fix typo of module names

* update module decode function and test code

* update test codes

* apply the suggestions from Prebid

* fix count of modules.

Co-authored-by: Eric Brown <eric@mediawallah.com>
Co-authored-by: hanna <hanna.panova190119@gmail.com>
Co-authored-by: hannapanova190119 <71532550+hannapanova190119@users.noreply.github.com>

* Documentation: Adjust desired bitrate examples smartx adapter (#6438)

* Remove adId (autogenerated by Prebid) (#6441)

* RichAudience Bid Adapter: add render video in banner (#6392)

* Integration Example: ID import library example (#6434)

* ID Import Library example

* Fixing review comments

Co-authored-by: skocheri <skocheri@rubiconproject.com>

* Mass Module: add module to support MASS protocol (#6332)

* Initial implementation for the MASS module

* Updated namespace and CDN location

* Updated the data object passed to MASS bootloader

* Fix linting issues

* Added unit tests

* Added a README for the MASS module.

* Allow MASS be disabled via Prebid configuration

* Only check deal ID for matching MASS bids

* Updated docs

* Update how we test for MASS bids

* Thighten the test for MASS bids

* Fix linting issues

* Change deal ID prefix and add option to specify the bootloader location. Updates to docs.

* Updated tests with the new META_MASS deal ID prefix

* Update comment in modules/mass.js

Co-authored-by: Scott Menzer <smenzer@gmail.com>

* Additional information about the module

* More specific description of external resource

* Identify MASS bids by looking for a 'mass' flag in bid meta or testing deal IDs against a publisher defined pattern

* Updated MASS module tests

* Bug fixing, added integration example and increased test coverage

* Fix integration example and add notice

* Updated example page

* Updated bootloaderUrl param name to renderUrl and removed its default value. Must be specfied in module config now.

* Updated integration example for MASS

* Update mass.md

Updated disclaimer and synced with docs

Co-authored-by: Scott Menzer <smenzer@gmail.com>
Co-authored-by: massadmin <58946787+massadmin@users.noreply.github.com>

* Axonix bid adapter: set both connectiontype & effectivetype in the request (#6439)

* Set both connectiontype and effectivetype in the request object

* Version bump

* Fixes for undefined var

* Sublime Bid Adapter: v0.7.1 & add extra information in tracking pixels (#6442)

* add prebid version of adapter

* Feature/update sublime adapter (#21)

* Update sublimeBidAdapter to 0.5.1
* Add tests for private functions
* Remove window.sublime
* Update pixel name for bid event

* Remove pixels on non-event and add onBidWon (#22)

* add prebid version of adapter
* Feature/update sublime adapter (#21)
* Update sublimeBidAdapter to 0.5.1
* Add tests for private functions
* Remove window.sublime
* Update pixel name for bid event
* Remove pixels on non-event and add onBidWon
* Incremente version of sublimeBidAdapter
* Renamed pixel for timeout and introduce gvlid
* Remove unnecessary params for sendEvent

Co-Authored-By: fgcloutier <fg.cloutier@sublimeskinz.com>
Co-authored-by: Gaby <gaby.hourlier@sublimeskinz.com>
Co-authored-by: fgcloutier <fg.cloutier@sublimeskinz.com>

* Remove trailing-space

* Fix version in tests

* sublimeAdapter: Improve pixels data

* sublimeAdapter: Update tests

* sublimeAdapter: Rename data

Co-authored-by: Gaby <gaby.hourlier@sublimeskinz.com>
Co-authored-by: Léo <51166933+SublimeLeo@users.noreply.github.com>
Co-authored-by: fgcloutier <fg.cloutier@sublimeskinz.com>
Co-authored-by: Léo GRAND <leo.grand@sublimeskinz.com>

* Interactive Offers Bid Adapter: add new bid adapter (#6399)

* Interactive Offers bid adapter

* Interactive Offers bid adapter

* Interactive Offers bid adapter

* Interactive Offers bid adapter

* Interactive Offers bid adapter

* Interactive Offers bid adapter

* Interactive Offers bid adapter

* Interactive Offers bid adapter

* manually kicking off tests

Co-authored-by: Chris Huie <phoenixtechnerd@gmail.com>

* AdYouLike Bid Adapter: replace shorthand "image" native config (#6401)

* replace shrorthand "image" native type

* merge publisher native config with image type config

* add unit tests on native image config type

* AMX Bid Adapter: Video Bugfix (#6435)

* LiveWrapper Bid Adapter: use userIdAsEids to handle all user ids (#6445)

* Livewrapped bid and analytics adapter

* Fixed some tests for browser compatibility

* Fixed some tests for browser compatibility

* Changed analytics adapter code name

* Fix double quote in debug message

* modified how gdpr is being passed

* Added support for Publisher Common ID Module

* Corrections for ttr in analytics

* ANalytics updates

* Auction start time stamp changed

* Detect recovered ad blocked requests
Make it possible to pass dynamic parameters to adapter

* Collect info on ad units receiving any valid bid

* Support for ID5
Pass metadata from adapter

* Typo in test + eids on wrong level

* Fix for Prebid 3.0

* Fix get referer

* http -> https in tests

* Native support

* Read sizes from mediatype.banner

* Revert accidental commit

* Support native data collection + minor refactorings

* Set analytics endpoint

* Support for app parameters

* Fix issue where adunits with bids were not counted on reload

* Send debug info from adapter to external debugger

* SChain support

* Send GDPR data in analytics request

* video support

Video support

* Report back floor via analytic

* Send auction id and adunit/bidder connection id

* Criteo id support

* Updated example

* livewrapped Analytics Adapter info file

* Livewrapped gvlid

* Handle all User Ids

* kick off tests manually

Co-authored-by: Chris Huie <phoenixtechnerd@gmail.com>

* Invibes: Read legitimate interests; pubCommonId & pubProvidedId integration (#6420)

* Update dfpAdServerVideo.js

* revert accidental commit

* AdTrue Bid Adapter: getUserSyncs logic update (#6338)

* add AdTrue bid adapter

* add AdTrue Bid Adapter unit tests

* add AdTrue Bid Adapter unit tests

* add AdTrue bid adapter

* add AdTrue Bid Adapter unit tests

* add AdTrue Bid Adapter unit tests

* add AdTrue bid adapter

* adtrue usersync udpate

* adtrue usersync udpate

* #adtrue bidder usersync udpate

* #Refactoring code & add unit test

* Update package.json

* Update package-lock.json

* 1. Merge branch 'master' of https://github.com/prebid/Prebid.js
2.AdTrue Bid Adapter Refactoring code

* 1. Merge branch 'master' of https://github.com/prebid/Prebid.js
2.AdTrue Bid Adapter Refactoring code

* removing a package-lock.json from PR

* - removing a package-lock.json from PR
- AdTrue bidder: refactoring code & add unit test

* - removing a package-lock.json from PR
- AdTrue bidder: refactoring code & add unit test

* - removing a package-lock.json from PR
- AdTrue bidder: refactoring code & add unit test

* update package-lock.json from upstream

* IX Bid Adapter: add priceFloors support and an integration example (#6390)

* Adding priceFloors Support to IX bid adapter and some refactoring

* refactoring the getfloor logic, and removing dead code

* newline at end of integration example

* spacing issues lint fix

* try catch around getFloor, in case the priceFloors module throws an exception

* minor rename allU -> allu

* falsey values fix, log prefix added

* PBS adapter: remove condition on gdpr consentstring which isnt required by the tcf2 spec when gdprapplies is false (#6429)

* Update index.js

* Update prebidServerBidAdapter_spec.js

* Update prebidServerBidAdapter_spec.js

* Update prebidServerBidAdapter_spec.js

* if the stored value was an object, then it could end up with a space before the {, causing the stored value not to be json parsed simply because of a space in the first character (#6467)

* Kargo Bid Adapter: add gdpr support (#6447)

* Bid Glass Adapter: Merge externally set targeting params (#6426)

* Added bidglass adapter + test

* PR Review Updates:

- Added formal params to getUserSyncs function definition
- getUserSyncs now always returns an array
- Improved unit test coverage

* PR Review Updates:

- Removed unused methods: getUserSyncs, onTimeout, onBidWon,
onSetTargeting
- Removed getUserSyncs unit test
- Removed "dead code"
- Removed some unnecessary comments
- Fixed usage of parseInt

* Bid Glass Bid Adapter: pass options in bid request

* Merge externally set targeting params

* Updates to address gulp errors

* Get `bidglass` reference from window

* Optimon Analytics Adapter: add new analytics adapter (#6333)

* Publish the Optimon platform's analytics adapter for prebid

Added js and md files for the analytics adapter.

* Fix wrong content in MD file

* Fix wrong content in MD file

* Created unit testing to Optimon Analytics Adapter

* Created unit testing to Optimon Analytics Adapter

* Created unit testing to Optimon Analytics Adapter

* Created unit testing to Optimon Analytics Adapter

* Fixes ESlint styling

* Removing DEF const

* Created unit testing to Optimon Analytics Adapter

* Created unit testing to Optimon Analytics Adapter

* 4.32.0 release

* 4.33.0-pre

* UID 2.0 Userid submodule (#6443)

* UID 2.0 User id submodule

* UID 2.0 User id submodule

* UID 2.0 User id submodule

* UID 2.0 User id submodule

* Resolving merge conflicts and review comments

* Updating documentation

* Renaming module

* Fixing review comments

* Fixing review comments

* Fixing review comments

* Fixing review comments

* Fixing review comments

* Updating source uid2.com to uidapi.com

Co-authored-by: skocheri <skocheri@rubiconproject.com>

* H12media Bid Adapter: added new optional params, fixes, and various integration support (#6436)

* Change module H12 Media

* Change module H12 Media

* Change module H12 Media

* Change module H12 Media

* Update module H12 Media

* Update module H12 Media

* Update module H12 Media

* Update module H12 Media

* Update module H12 Media

* Update module H12 Media

* AdYouLike Bid Adapter: add video capabilities (#6398)

* read and send getFloor value

* improve robustness on OnEvent fields

* add video mediatype to adyoulike  adapter

* improve robustness on OnEvent fields

* handle instream cases

* minor format fix

* move the atob call to apply it on every Vast response

* update adyoulike md file with video type

* update adyoulike bidder doc

* fix merge error on 'bid' var name

* update adyoulike bidder doc

* remove deprecated creative rendering example

* Update Recommendation to install with 'npm ci' (#5697)

With the recent upgrade of npm we should be using the 'npm ci' option install packages. This provides a more reliable deployment that does not update packages on install. It will reduce check-ins of improper package-lock.json and provide greater assurance that a stable node_modules is deployed.

* Openx Bid Adapter: add floor support for Video (#6460)

* fix confusing comment

* refactor(openxBidAdapter): extract enrichQueryWithFloors

* PBID-1194: add floor for Video

* Update to rubicon analytics adapter to pass along pbsBidId if present on the bidObject (#6461)

* differentiate the IDs provided by ID5 when the user is opted out vs the user is in the control group of A/B testing (#6471)

* AdagioBidAdapter: add capability to pass ext-data from localStorage in bidRequest (#6415)

* Seedtag Bid Adapter: add connection type to bid request (#6457)

* add connectionType to the bidRequest

* remove a console.log

* put connectionType in the payload

* more secure connectionType access

* add a unit test for connectionType

* fix  connectionType typo

* AdDefend Bid Adapter: new bid adapter (#6450)

* addefeend bid adapter implementation

* fixed parameter documentation

Co-authored-by: Mitschi <mitschi@addefend.com>

* GumGum Bid Adapter: adds meta field to bidresponse (#6478)

* adds meta field to bidresponse

* adds meta mediatype and advertiserdomain default

* example integration file renamed to hello_world (#6475)

* Incorrect atypes on various eids (#6477)

* Update eids.js

* Update eids_spec.js

* Update eids.js

* Update pubmaticBidAdapter_spec.js

* Update eids.js

* Update eids_spec.js

* Update conversantBidAdapter_spec.js

* Update rubiconBidAdapter_spec.js

* Update conversantBidAdapter_spec.js

* Delete test/spec/adapters directory

* Update userId_spec.js

* added support for roundel alias (#6473)

* Doceree Bid Adapter: new bid adapter (#6437)

* doceree adapter

* add fix for impression register

* fix linting issues

* fix build issue

* remove extra spaces

* fixing - Implicit operand conversion

* fixed ci/cd lint issue

* update test case

* support for advertiserdomains and updated test case

* remove space to rerun test cases

* remove the client side creative creation

* OpenX Bidder Adapter: Add user ID sub-modules (#6490)

* Smaato: FPD Revision (#6459)

Co-authored-by: Bernhard Pickenbrock <bernhard.pickenbrock@smaato.com>

* Conversant adapter: add adomain, remove digitrust (#6495)

* Update eids.js

* Update eids_spec.js

* Update eids.js

* Update pubmaticBidAdapter_spec.js

* Update eids.js

* Update eids_spec.js

* Update conversantBidAdapter_spec.js

* Update rubiconBidAdapter_spec.js

* Update conversantBidAdapter_spec.js

* Delete test/spec/adapters directory

* Update userId_spec.js

* Update conversantBidAdapter.js

* Update conversantBidAdapter_spec.js

* Update conversantBidAdapter_spec.js

* Update conversantBidAdapter_spec.js

* Rads Bid Adapter: add GDPR support & user sync support (#6455)

* Proxistore Bid Adapter: add cookieless url endpoint & use floor module (#6427)

* use floor module

* call cookieless endpoint when necessary

* test endpoint url

* change url endpoint

* delete console log

* fix tests

* add language to url

* use ortb interface

* unit test

* update test unit

* create proxistore module

* add unit tests and documentation

* delete modules

* delete module

* add proxistore rtd submodule

* delete proxistore module

* spacing

* change url

* AdYoulike Bid Adapter: Add an "Insertion" tracking for Native mediatype (#6481)

* add insertion event

* add missing campaign ID parameter

* update unit test with new tracking checked

* Dspx Bid Adapter : add user sync support (#6456)

* Add sync support for dspx adapter

* Dspx Bid Adapter : add user sync support

Co-authored-by: Alexander <avj83@list.ru>

* Multibid Module: add new module to handle multiple bids from single bidder & update rubicon adapter (#6404)

* Multibid module - create new module
- Expands the number of key value pairs going to the ad server in the normal Prebid way by establishing the concept of a "dynamic alias"

First commit

* Continued updates from 1st commit

* Adding logWarn for filtered bids

* Update to include passing multibid configuration to PBS requests

* Update to rubicon bid adapter to pass query param rp_maxbids value taken from bidderRequest.bidLimit

* Update to config to look for camelcase property names according to spec. These convert to all lowercase when passed to PBS endpoint

* Adjust RP adapter to always include maxbids value - default is 1

* Added support for bidders array in multibid config

* Fixed floor comparison to be <= bid cpm as oppossed to just < bid cpm. Updated md file to fix camelCase tpyo

* Update to include originalBidderRequest in video call to prebid cache

* Update to ignore adpod bids from multibid and allow them to return as normal bids

* Adding uid2 to submodules.json (#6508)

* NextRoll ID System: add new ID module (#6396)

* Add Nextroll ID Module

* Add nextroll to eids

* Make configuration value names consistent with Adapter Module

* Use parnerId instead of sellerId

* Add nextroll to userId and eids md files

* Remove storage configuration

* Rename nextroll -> nextrollId

* Add nextrollId to common ID specs

* Qwarry Bid Adapter: add GDPR and consent string handling (#6489)

* qwarry bid adapter

* formatting fixes

* fix tests for qwarry

* qwarry bid adapter

* add header for qwarry bid adapter

* bid requests fix

* fix tests

* response fix

* fix tests for Qwarry bid adapter

* add pos parameter to qwarry bid adapter

* qwarryBidAdapter onBidWon hotfix

* Change bidder endpoint url for Qwarry adapter

* add referer JS detection

* use bidderRequest.refererInfo

* fix tests

* GDPR consent string support

* NPE fix

Co-authored-by: Artem Kostritsa <akostritsa@akostritsa.com>
Co-authored-by: Alexander Kascheev <akascheev@asteriosoft.com>
Co-authored-by: pro-nsk <32703851+pro-nsk@users.noreply.github.com>

* Zemanta Bid Adapter: add support for new params & consent strings to usersync URL (#6468)

* add gvl id to spec

* add support for bcat and badv params

* add consent strings to usersync url

* add bcat and badv params to doc

* Automatad Bid Adapter: Add meta.advertiserDomains to bid response (#6509)


* added bid meta with advertiserDomains

* Adhese Bid Adapter: add support for caching video content (#6501)

* adpod category support test

* Revert "adpod category support test"

This reverts commit 70a3cf2ad5db94757addd9e08c3a083caca282d0.

* adpod category support test

* Revert "adpod category support test"

This reverts commit 70a3cf2ad5db94757addd9e08c3a083caca282d0.

* Adhese Bid Adapter: cache video content

Co-authored-by: Tim Sturtewagen <tim@adhese.com>
Co-authored-by: Mateusz <mateusz@adhese.eu>

* update apacdex unit test to disable debug mode (#6511)

* Telaria: not setting adid (#6507)

* Prebid 4.33.0 Release

* automate-creation of modules.json file

* Prebid upgarde automate- test pull request created through git api please ignore it (#455)

* Support for ext object in icon

* automate-creation of modules.json file

* Fixed merge issue and test cases fixes

* Check for valid sizes only

* Unit test cases for the change

* automate-creation of modules.json file

* Fixed Merge issues

* UOE-4404 if adslot and mediatype both contain sizes

* automate-creation of modules.json file

* Initial User Id Module

* Updated modules.json

* automate-creation of modules.json file

* Server Side throttling based on condition

* Condition for all partners throttled

* Changed gulp task dependencies

* Build Time Optimization

* changed unused gulp packages

* Updated Package.json

* automate-creation of modules.json file

* resolved conflixt

* automate-creation of modules.json file

* IdentityPartners

* Changes for Hashed Key and parseAdSlot logic

* Fix for custom module

* making call secure of ow

* Removed implicit customId system and added it as a separated submodule

* Making server side calls secure and flag secure to 1

* Changed unifiedId from implicit to explicit

* Updated The code to fix text cases

* Fixed unit test cases

* Took latest for all ids

* Fixed the linting issue

* Custom Data support and ParseInt for Id5

* Fixed custom data

* Updated function call

* Changed Event from Auction End to Request Bid

* added secure flag

* Revert "Open identity"

* Revert "Revert "Open identity""

* First Party Id name updated for cookies

* PubMatic Handle first Party Id

* Pubmatic alias

* Handle regex pattern in logger for Hybrid Implementation

* Increment pre version

* Somo: fix an issue where the requestId was being set to the wrong value (#4596)

* Sovrn ccpa support legacy (#4623)

* sovrn ccpa support

* use array map/join instead of object.entries

* TripleLift: CCPA legacy support (#4641)

* Add CCPA query param

* Simplify check for usPrivacy argument

* pbsBidAdapter currency fix for legacy branch (#4642)

* pbsBidAdapter currency fix for legacy branch

* fixed unit tests

* Prebid 2.44.1 Release

* Revert "Prebid 2.44.1 Release"

This reverts commit 105313b792b79002c0ada3301d154afd49adb7cd.

* fix a bug when the iframe locator is not present on page (#4637)

* fix a bug when the iframe locator is not present on page

* clean up

* Prebid 2.44.1 Release

* increment pre version

* Index Exchange: CCPA support (#4662)

* support for us privacy (CCPA) (#4665)

* Added CCPA support for legacy (#4663)

* Update CCPA v3 (#4677)

CCPA support
V2 compatibility
Sample tag update

* automate-creation of modules.json file

* Medianet: CCPA support added (#4656)

* Ccpa legacy support for OneVideo (#4648)

* outstream changes

* removing global filtet

* reverting page

* message

* adapter change

* remove space

* testcases

* testpage

* spaces for test page

* renderer exist case

* reverting package-lock.json

* adding schain object

* adding tagid

* syntaxx error fix

* video.html

* space trailing

* space

* tagid

* inventoryId and placement

* rewarded video

* added unit test case

* ccpa cahnges

* ccpa change

* test page

* test page change

* test page change 2

* change the variable

* handling the case if both GDPR and CCPA case

* handiling both cases

* test cases

* legacy ccpa support

* Update oneVideoBidAdapter.js

* Add us privacy 2.X (#4669)

* cedato adapter gdpr and usp compliance (#4686)

* Fidelity Media Bid Adapter 2.44.x legacy. CCPA support. (#4652)

* Fidelity Media Bid Adapter v2.44.x. CCPA support.

* Fidelity Media Bid Adapter v2.44.x. CCPA support.

* add dh adapter for legacy prebid 2.x (#4670)

* Prebid 2.44.2 Release

* automate-creation of modules.json file

* Support for CCPA

* Adding tracker in vast creative before cache

* add adform alias adform2

* Updated First Party Module

* Updated our adapter to have firstpartyid

* automate-creation of modules.json file

* Update key value pair for video in openwrap

* Server side syncup in accordance with latest filter settings

* Support for Eids in PubMaticServerBidAdapter

* Fix for pubCommonId

* Fix for pubmatic server bid adapter

* fix for player size and considering w & h for video

* automate-creation of modules.json file

* Fixed test issues

* automate-creation of modules.json file

* fix test cases

* Pull changes for dspid and seatid from prebid master

* Support for buyerId

* Updated location of buyid

* automate-creation of modules.json file

* Changes for consuming targeting from server side

* Fix test cases

* Updated rubiconBidAdapter for alias

* adding sspId

* UOE-5262 : OpenWrap: Add Secondary Ad Generation Bidder

* bluebillywig outstream renderer

* Fix an issue with replacing Renderer

* Replaced Renderee

* code review comments

* automate-creation of modules.json file

* added missing adatpers

* updating package.json for prod dependecies

* updated namespace

* Fix for SSP ID

* fixed test cases

* took latest

* ternay adapters

* Update adformBidAdapter.js

* automate-creation of modules.json file

* updated modules.json removed audienceNetworkBidAdapter

* wiid fix

* Targeting Keys

* dg bid adapter

* automate-creation of modules.json file

* fixes for dfp

* removed audienceNetwork from modules.json

* Fix for UOE-5694

* Fix for test cases

* regex support

* OpenWrap Nightly Release v21.1.0 (#417)

* support for video in hybrid profiles

* added newBid.mediaType for pubmaticServerBidAdapter

* unit test case for video request

* reverted debug flag

* Changes for UOe-5712/5705

* Manually took the changes for DVC related info

* Fix Typo

* piid for hybrid profiles

* removed fix for piid from staged_nightly

* Removing OW PB Same Changes regarding device as it will be releaed in Q1

* Log SSPId in piid for pubmatic

* OpenWrap Release v21.3.0 (#426)

* support for video in hybrid profiles

* added newBid.mediaType for pubmaticServerBidAdapter

* unit test case for video request

* reverted debug flag

* Changes for UOe-5712/5705

* Manually took the changes for DVC related info

* Fix Typo

* piid for hybrid profiles

* removed fix for piid from staged_nightly

* sspId for pubmatic only (#418)

* fix to remove redundant validation for datatype for partner value - UOE-5788

* fix for UOE-5788

* moved changes for UOE-5788 in hasRequiredParams function

* consent string gets overwritten when IH is enabled

* Feature/secondary alias (#425)

* gps secondary bid adapter

* fix alias

* remove dvc since it will go with ow prebid same

Co-authored-by: manisha <manisha.satpute@pubmatic.com>
Co-authored-by: Manasi <pm-manasi-moghe@users.noreply.github.com>

* Staged nightly (#427)

* support for video in hybrid profiles

* added newBid.mediaType for pubmaticServerBidAdapter

* unit test case for video request

* reverted debug flag

* increment pre version

* Britepool user id module update (#5750)

* adding britepool_pubparams dynamic variable lookup and merge into submodule params if exists

* adding support for gdpr consent string in query params

* adding tests for britepool_pubparams

* adding doc block for consentData

* adding pixel on success

* - ensures id resolution pixel only fires when authoritative information is not present
 - adds tests for id resolution pixel

* Add a new param cid to bridgewellBidAdapter (#5764)

* pass a new param cid to bridgewellBidAdapter
* update the markdown file for bridgewellBidAdpter

* Refactor refererDetection to allow for URL discovery on AMP pages. (#4846)

* Refactor refererDetection to allow for URL discovery on AMP pages.

* Update import to include extension.

* Intentiq id add url params (#5771)

* Add new url params from config

* Add intentIqIdSystem_spec.js tests class

* added instream video ad support (#5766)

* added adapters for gjirafa and malltv

* interpretResponse fix for empty result

* updated testing propertyId and placementId

* added instream video ad support

* Single request for multple bids

* feat(sublimeBidAdapter): updating sublimeBidAdapter module (#5726)

- handle new notifyId parameter;
- bumping version to 0.6.0.

* Add GVL ID and bidder code to CriteoId module (#5781)

* Add GVL ID and bidder code to CriteoId module

* Add gvlid as property to CriteoIdSubmodule

Co-authored-by: Jesus Alberto Polo Garcia <ja.pologarcia@criteo.com>

* Update BrightMountainMedia cookie sync URL (#5740)

* Convert id5id to an object to support passing additional data points to platforms (#5756)

* move id5id to an object to support passing linkType and other data in the future

* update bid adapters supporting the ID5 ID to use the new object instead of a string

* remove `.only` from test

* Smaato: Support in-app use cases (#5765)

* Added GVLID to Media.net Analytics Adapter (#5789)

Co-authored-by: monis.q <monis.q@media.net>

* Add video ad support to ablida bid adapter (#5782)

* add onBidWon function, add bidder adapter version to bid requests

* add support for native

* use triggerPxel instead of ajax, because ajax was called 3 times with native

* add gdpr consent to bid requests

* update tests

* add video ad support

* Add adrelevantis adapter (#5735)

* Update adrelevantis adapter

* Update Adrelevantis Bid Adapter and Add Unit Tests

Commit changes suggested by @jsnellbaker on pull request #5735

* Adnow bidder (#5738)

* Add AdNow bid Adaptor

* Fix problems by PR comments.

* PR comments:
- Use only secure endpoint.
- Use adUnit mediaTypes instead of mediaType param in buildRequests.
- Pass correct sizes to the endpoint for banner and native.
- Fix adnowBidAdaper.md examples.
- Fix and add new tests in adnowBidAdaper_spec.js

* rename test

* Restore package-lock.json from master

* Fix sizes of bid response object for banners.

* Fix adapters tests.

* Improve error and documentation for publisherId (#5788)

- The error message you get if you use a publisherId that is a JS numeric instead of a JS string is not
  super helpful if you aren't familiar with JS internals. Update the warning message to give a suggestion
  on a solution, and update the markdown documentation to explictly state that the ID needs to be wrapped
  in quotes.

* SpotX bid adapter: add page parameter (#5784)

* Media.net Analytics improvements (#5755)

* medianetAnalyticsAdapter improvements

* medianetAnalyticsAdapter improvements

* review changes

* fixed eslint

Co-authored-by: monis.q <monis.q@media.net>

* adagio Bid Adapter: add support for CCPA, COPPA (#5749)

Co-authored-by: Clément besse <clement.besse@gmail.com>

* PubMatic analytics adapter: Not passing GDPR information (#5791)

* added support for pubcommon, digitrust, id5id

* added support for IdentityLink

* changed the source for id5

* added unit test cases

* changed source …
  • Loading branch information
Show file tree
Hide file tree
Showing 842 changed files with 124,038 additions and 28,037 deletions.
2 changes: 1 addition & 1 deletion .babelrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ module.exports = {
"safari >=8",
"edge >= 14",
"ff >= 57",
"ie >= 10",
"ie >= 11",
"ios >= 8"
]
}
Expand Down
4 changes: 2 additions & 2 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ aliases:
docker:
# specify the version you desire here
- image: circleci/node:12.16.1
resource_class: xlarge
# Specify service dependencies here if necessary
# CircleCI maintains a library of pre-built images
# documented at https://circleci.com/docs/2.0/circleci-images/
Expand Down Expand Up @@ -94,4 +94,4 @@ workflows:
- e2etest

experimental:
pipelines: true
pipelines: true
1 change: 0 additions & 1 deletion .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ module.exports = {
"comma-dangle": "off",
"semi": "off",
"space-before-function-paren": "off",
"import/extensions": ["error", "ignorePackages"],

// Exceptions below this line are temporary, so that eslint can be added into the CI process.
// Violations of these styles should be fixed, and the exceptions removed over time.
Expand Down
28 changes: 28 additions & 0 deletions .github/release-drafter.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@

name-template: 'Prebid $RESOLVED_VERSION Release'
tag-template: '$RESOLVED_VERSION'
categories:
- title: '🚀 New Features'
label: 'feature'
- title: '🛠 Maintenance'
label: 'maintenance'
- title: '🐛 Bug Fixes'
labels:
- 'fix'
- 'bugfix'
- 'bug'
change-template: '- $TITLE (#$NUMBER)'
version-resolver:
major:
labels:
- 'major'
minor:
labels:
- 'minor'
patch:
labels:
- 'patch'
default: minor
template: |
## In This Release
$CHANGES
18 changes: 18 additions & 0 deletions .github/workflows/release-drafter.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: Release Drafter

on:
push:
# branches to consider in the event; optional, defaults to all
branches:
- master

jobs:
update_release_draft:
runs-on: ubuntu-latest
steps:
# Drafts your next Release notes as Pull Requests are merged into "master"
- uses: release-drafter/release-drafter@v5
with:
config-name: release-drafter.yml
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
6 changes: 4 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,11 @@ Contributions are always welcome. To contribute, [fork](https://help.github.com/
commit your changes, and [open a pull request](https://help.github.com/articles/using-pull-requests/) against the
master branch.

Pull requests must have 80% code coverage before beign considered for merge.
Pull requests must have 80% code coverage before being considered for merge.
Additional details about the process can be found [here](./PR_REVIEW.md).

There are more details available if you'd like to contribute a [bid adapter](https://docs.prebid.org/dev-docs/bidder-adaptor.html) or [analytics adapter](https://docs.prebid.org/dev-docs/integrate-with-the-prebid-analytics-api.html).

## Issues
[prebid.org](http://prebid.org/) contains documentation that may help answer questions you have about using Prebid.js.
If you can't find the answer there, try searching for a similar issue on the [issues page](https://github.com/prebid/Prebid.js/issues).
Expand Down Expand Up @@ -57,7 +59,7 @@ When you are adding code to Prebid.js, or modifying code that isn't covered by a
Prebid.js already has many tests. Read them to see how Prebid.js is tested, and for inspiration:

- Look in `test/spec` and its subdirectories
- Tests for bidder adaptors are located in `test/spec/modules`
- Tests for bidder adapters are located in `test/spec/modules`

A test module might have the following general structure:

Expand Down
117 changes: 93 additions & 24 deletions PR_REVIEW.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,55 @@ If the PR is for a standard bid adapter or a standard analytics adapter, just th

For modules and core platform updates, the initial reviewer should request an additional team member to review as a sanity check. Merge should only happen when the PR has 2 `LGTM` from the core team and a documentation PR if required.

### Running Tests and Verifying Integrations

General gulp commands include separate commands for serving the codebase on a built in webserver, creating code coverage reports and allowing serving integration examples. The `review-start` gulp command combinese those into one command.

- Run `gulp review-start`, adding the host parameter `gulp review-start --host=0.0.0.0` will bind to all IPs on the machine
- A page will open which provides a hub for common reviewer tools.
- If you need to manually acceess the tools:
- Navigate to build/coverage/lcov-report/index.html to view coverage
- Navigate to integrationExamples/gpt/hellow_world.html for basic integration testing
- The hello_world.html and other exampls can be edited and used as needed to verify functionality

### General PR review Process
- All required global and bidder-adapter rules defined in the [Module Rules](https://docs.prebid.org/dev-docs/module-rules.html) must be followed. Please review these rules often - we depend on reviewers to enforce them.
- Checkout the branch (these instructions are available on the github PR page as well).
- Verify PR is a single change type. Example, refactor OR bugfix. If more than 1 type, ask submitter to break out requests.
- Verify code under review has at least 80% unit test coverage. If legacy code has no unit test coverage, ask for unit tests to be included in the PR.
- Verify code under review has at least 80% unit test coverage. If legacy code doesn't have enough unit test coverage, require that additional unit tests to be included in the PR.
- Verify tests are green in Travis-ci + local build by running `gulp serve` | `gulp test`
- Verify no code quality violations are present from linting (should be reported in terminal)
- Make sure the code is not setting cookies or localstorage directly -- it must use the `StorageManager`.
- Review for obvious errors or bad coding practice / use best judgement here.
- If the change is a new feature / change to core prebid.js - review the change with a Tech Lead on the project and make sure they agree with the nature of change.
- If the change results in needing updates to docs (such as public API change, module interface etc), add a label for "needs docs" and inform the submitter they must submit a docs PR to update the appropriate area of Prebid.org **before the PR can merge**. Help them with finding where the docs are located on prebid.org if needed.
- Below are some examples of bidder specific updates that should require docs update (in their dev-docs/bidders/bidder.md file):
- If all above is good, add a `LGTM` comment and, if the change is in PBS-core or is an important module like the prebidServerBidAdapter, request 1 additional core member to review.
- Once there are 2 `LGTM` on the PR, merge to master
- The [draft release](https://github.com/prebid/Prebid.js/releases) notes are managed by [release drafter](https://github.com/release-drafter/release-drafter). To get the PR added to the release notes do the steps below. A github action will use that information to build the release notes.
- Adjust the PR Title to be appropriate for release notes
- Add a label for `feature`, `maintenance`, `fix`, `bugfix` or `bug` to categorize the PR
- Add a semver label of `major`, `minor` or `patch` to indicate the scope of change

### Reviewing a New or Updated Bid Adapter
Documentation they're supposed to be following is https://docs.prebid.org/dev-docs/bidder-adaptor.html

Follow steps above for general review process. In addition, please verify the following:
- Verify the biddercode and aliases are valid:
- Lower case alphanumeric with the only special character allowed is underscore.
- The bidder code should be unique for the first 6 characters
- Reserved words that cannot be used as bidder names: all, context, data, general, prebid, and skadn
- Verify that bidder has submitted valid bid params and that bids are being received.
- Verify that bidder is not manipulating the prebid.js auction in any way or doing things that go against the principles of the project. If unsure check with the Tech Lead.
- Verify that code re-use is being done properly and that changes introduced by a bidder don't impact other bidders.
- If the adapter being submitted is an alias type, check with the bidder contact that is being aliased to make sure it's allowed.
- All bidder parameter conventions must be followed:
- Video params must be read from AdUnit.mediaTypes.video when available; however bidder config can override the ad unit.
- First party data must be read from [`fpd.context` and `fpd.user`](https://docs.prebid.org/dev-docs/publisher-api-reference.html#setConfig-fpd).
- Adapters that accept a floor parameter must also support the [floors module](https://docs.prebid.org/dev-docs/modules/floors.html) -- look for a call to the `getFloor()` function.
- Adapters cannot accept an schain parameter. Rather, they must look for the schain parameter at bidRequest.schain.
- The bidRequest page referrer must checked in addition to any bidder-specific parameter.
- If they're getting the COPPA flag, it must come from config.getConfig('coppa');
- Below are some examples of bidder specific updates that should require docs update (in their dev-docs/bidders/BIDDER.md file):
- If they support the GDPR consentManagement module and TCF1, add `gdpr_supported: true`
- If they support the GDPR consentManagement module and TCF2, add `tcf2_supported: true`
- If they support the US Privacy consentManagementUsp module, add `usp_supported: true`
Expand All @@ -23,30 +62,60 @@ For modules and core platform updates, the initial reviewer should request an ad
- If they support COPPA, add `coppa_supported: true`
- If they support SChain, add `schain_supported: true`
- If their bidder doesn't work well with safeframed creatives, add `safeframes_ok: false`. This will alert publishers to not use safeframed creatives when creating the ad server entries for their bidder.
- If they're a member of Prebid.org, add `prebid_member: true`
- If all above is good, add a `LGTM` comment and request 1 additional core member to review.
- Once there is 2 `LGTM` on the PR, merge to master
- Ask the submitter to add a PR for documentation if applicable.
- Add a line into the [draft release](https://github.com/prebid/Prebid.js/releases) notes for this submission. If no draft release is available, create one using [this template]( https://gist.github.com/mkendall07/c3af6f4691bed8a46738b3675cb5a479)
- Add the PR to the appropriate project board (I.E. 1.23.0 Release) for the week, [see](https://github.com/prebid/Prebid.js/projects)

### New Adapter or updates to adapter process
- Follow steps above for general review process. In addition, please verify the following:
- Verify that bidder has submitted valid bid params and that bids are being received.
- Verify that bidder is not manipulating the prebid.js auction in any way or doing things that go against the principles of the project. If unsure check with the Tech Lead.
- Verify that the bidder is being as efficient as possible, ideally not loading an external library, however if they do load a library it should be cached.
- Verify that code re-use is being done properly and that changes introduced by a bidder don't impact other bidders.
- If the adapter being submitted is an alias type, check with the bidder contact that is being aliased to make sure it's allowed.
- If the adapter is triggering any user syncs make sure they are using the user sync module in the Prebid.js core.
- Requests to the bidder should support HTTPS
- Responses from the bidder should be compressed (such as gzip, compress, deflate)
- Bid responses may not use JSONP: All requests must be AJAX with JSON responses
- All user-sync (aka pixel) activity must be registered via the provided functions
- Adapters may not use the $$PREBID_GLOBAL$$ variable
- All adapters must support the creation of multiple concurrent instances. This means, for example, that adapters cannot rely on mutable global variables.
- Adapters may not globally override or default the standard ad server targeting values: hb_adid, hb_bidder, hb_pb, hb_deal, or hb_size, hb_source, hb_format.
- If they're setting a deal ID in some scenarios, add `bidder_supports_deals: true`
- If they have an IAB Global Vendor List ID, add `gvl_id: ID`. There's no default.
- After a new adapter is approved, let the submitter know they may open a PR in the [headerbid-expert repository](https://github.com/prebid/headerbid-expert) to have their adapter recognized by the [Headerbid Expert extension](https://chrome.google.com/webstore/detail/headerbid-expert/cgfkddgbnfplidghapbbnngaogeldmop). The PR should be to the [bidder patterns file](https://github.com/prebid/headerbid-expert/blob/master/bidderPatterns.js), adding an entry with their adapter's name and the url the adapter uses to send and receive bid responses.

### Reviewing a New or Updated Analytics Adapter
Documentation they're supposed to be following is https://docs.prebid.org/dev-docs/integrate-with-the-prebid-analytics-api.html

No additional steps above the general review process and making sure it conforms to the [Module Rules](https://docs.prebid.org/dev-docs/module-rules.html).

Make sure there's a docs pull request

### Reviewing a New or Updated User ID Sub-Module
Documentation they're supposed to be following is https://docs.prebid.org/dev-docs/modules/userId.html#id-providers

Follow steps above for general review process. In addition:
- Try running the new user ID module with a basic config and confirm it hits the endpoint and stores the results.
- the filename should be camel case ending with `IdSystem` (e.g. `myCompanyIdSystem.js`)
- the `const MODULE_NAME` value should be camel case ending with `Id` (e.g. `myCompanyId` )
- the response of the `decode` method should be an object with the key being ideally camel case similar to the module name and ending in `id` or `Id`, but in some cases this value is a shortened name and sometimes with the `id` part being all lowercase, provided there are no other uppercase letters. if there's no id or it's an invalid object, the response should be `undefined`. example "valid" values (although this is more style than a requirement)
- `mcid`
- `mcId`
- `myCompanyId`
- make sure they've added references of their new module everywhere required:
- modules/.submodules.json
- modules/userId/eids.js
- modules/userId/eids.md
- modules/userId/userId.md
- tests can go either within the userId_spec.js file or in their own _spec file if they wish
- GVLID is recommended in the *IdSystem file if they operate in EU
- make sure example configurations align to the actual code (some modules use the userId storage settings and allow pub configuration, while others handle reading/writing cookies on their own, so should not include the storage params in examples)
- the 3 available methods (getId, extendId, decode) should be used as they were intended
- decode (required method) should not be making requests to retrieve a new ID, it should just be decoding a response
- extendId (optional method) should not be making requests to retrieve a new ID, it should just be adding additional data to the id object
- getId (required method) should be the only method that gets a new ID (from ajax calls or a cookie/local storage). this ensures that decode and extend do not unnecessarily delay the auction in places where it is not expected.
- in the eids.js file, the source should be the actual domain of the provider, not a made up domain.
- in the eids.js file, the key in the array should be the same value as the key in the decode function
- make sure all supported config params align in the submodule js file and the docs / examples
- make sure there's a docs pull request

### Reviewing a New or Updated Real-Time-Data Sub-Module
Documentation they're supposed to be following is https://docs.prebid.org/dev-docs/add-rtd-submodule.html

Follow steps above for general review process. In addition:
- The RTD Provider must include a `providerRtdProvider.md` file. This file must have example parameters and document a sense of what to expect: what should change in the bidrequest, or what targeting data should be added?
- Try running the new sub-module and confirm the provided test parameters.
- Confirm that the module
- is not loading external code. If it is, escalate to the #prebid-js Slack channel.
- is reading `config` from the function signature rather than calling `getConfig`.
- is sending data to the bid request only as either First Party Data or in bidRequest.rtd.RTDPROVIDERCODE.
- is making HTTPS requests as early as possible, but not more often than needed.
- doesn't force bid adapters to load additional code.
- Consider whether the kind of data the module is obtaining could have privacy implications. If so, make sure they're utilizing the `consent` data passed to them.
- Make sure there's a docs pull request

## Ticket Coordinator

Each week, Prebid Org assigns one person to keep an eye on incoming issues and PRs. Every Monday morning a reminder is
Expand Down
Loading

0 comments on commit aebc1b1

Please sign in to comment.