Skip to content

upstream-sync: sync Prebid.js 11.22.0 → 11.23.0 - #107

Merged
khang-vu-ttd merged 12 commits into
masterfrom
prebid-sync-11.23.0
Aug 14, 2026
Merged

khang-vu-ttd merged 12 commits into
masterfrom
prebid-sync-11.23.0

Conversation

@openads-sync-bot

@openads-sync-bot openads-sync-bot Bot commented Aug 13, 2026 •

Copy link
Copy Markdown
Contributor

Prebid.js Sync: 11.22.0 → 11.23.0

📊 Run summary

This PR was auto-generated by the Sync with Upstream Prebid.js workflow.
Prebid 11.23.0 Release Page

Upstream diff: prebid/Prebid.js@11.22.0...11.23.0

✅ Applied Commits

  • e20617afc | CI: warn about naming convention violations in PRs #15306
  • 0161f903c | Tcf control module: fix TypeError: Cannot read properties of undefined (reading 'gdpr') for non-GDPR countries in 11.21 #15308
  • 9b5be4718 | Dependabot target: bump babel plugins #15289
  • 2741eb3df | Adplus Adapters: expand payload fields and normalize IDs #15323 (auto-resolved)
  • 28afe271e | Core: escape user sync iframe URL in HTML #15047
  • f15e4c560 | Update AGENTS.md #15310
  • 801381c | Prebid Version Update (OpenAds Upstream Sync Bot)

⏭️ Skipped Commits

These commits were intentionally skipped because they made changes to files matching BidAdapter:

  • 69d64bf99 | Increment version to 11.23.0-pre (unneeded changes)
  • 2ba68a778 | OneTag Bid Adapter: report bid timeouts #15305 (bid adapter change)
  • 12ede54b7 | JJTech Bid Adapter: new banner bid adapter #15312 (bid adapter change)
  • 0039e2b60 | Cadent Aperture MX Bid Adapter: migrate endpoints to ssp.cadent.com (chore: sync Prebid.js 10.11.0 → 10.12.0 #20) #15316 (bid adapter change)
  • f364e2a6f | Mediago Bid Adapter:adapter upgrade to support native ad #15298 (bid adapter change)
  • 6e4fe5f50 | Adtrgtme Bid Adapter: add Video & Native support, migrate to ortbConverter #15259 (bid adapter change)
  • 7c28380d2 | Equativ Bid Adapter: skip invalid bid requests and address review comments #15322 (bid adapter change)
  • 495a6b62d | Prebid 11.23.0 release (will cause merge conflicts)

❌ Conflicting Commits (require manual resolution)

  • 374eb6403 | Bump actions/checkout from 6 to 7 #15271
  • cc974ce6b | CI: check for and warn about possible missing polyfills #15268
  • dcf5fa917 | PBS Adapter: Host company vendor consent check #15136

Post Sync Commits

  • c3c11f0 | Tests: fix consentUtils_spec.js test-isolation gap -- pre-existing upstream test bug (relies on shared module state from tcfControl.ts, which never shares a CI chunk with this file), unrelated to any commit in this sync
  • 9606b74 | Tests: adjust hostGvlid endpoint-selection tests for forced single endpoint -- setConfigDefaults() forces p1Consent/noP1Consent to the same URL in this fork, so the 3 ported tests could never observe the distinction they were written to check

dgirardi and others added 7 commits August 13, 2026 23:19
* add validate-names target

* add workflow

* fixes

* extra semicolon

* missing import

* flip condition

* markdown

* better formatting

* fix comment about analytics

* fix bogus comments on no violation

* fix gulp target to not warn on no violation
…d (reading 'gdpr') for non-GDPR countries in 11.21 (#15308)

* Add nil check on config as it results in Cannot read properties of undefined (reading 'gdpr') for non-GDPR countries

* Add UT for nil guard of gdpr enforcement config
* Bump @babel/plugin-transform-parameters from 7.27.7 to 7.29.7 (#15278)

Bumps [@babel/plugin-transform-parameters](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-parameters) from 7.27.7 to 7.29.7.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.29.7/packages/babel-plugin-transform-parameters)

---
updated-dependencies:
- dependency-name: "@babel/plugin-transform-parameters"
  dependency-version: 7.29.7
  dependency-type: indirect
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @babel/plugin-transform-duplicate-named-capturing-groups-regex (#15279)

Bumps [@babel/plugin-transform-duplicate-named-capturing-groups-regex](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-duplicate-named-capturing-groups-regex) from 7.28.6 to 7.29.7.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.29.7/packages/babel-plugin-transform-duplicate-named-capturing-groups-regex)

---
updated-dependencies:
- dependency-name: "@babel/plugin-transform-duplicate-named-capturing-groups-regex"
  dependency-version: 7.29.7
  dependency-type: indirect
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @babel/eslint-parser from 7.28.6 to 7.29.7 (#15282)

Bumps [@babel/eslint-parser](https://github.com/babel/babel/tree/HEAD/eslint/babel-eslint-parser) from 7.28.6 to 7.29.7.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.29.7/eslint/babel-eslint-parser)

---
updated-dependencies:
- dependency-name: "@babel/eslint-parser"
  dependency-version: 7.29.7
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @babel/plugin-transform-optional-chaining from 7.28.6 to 7.29.7 (#15280)

Bumps [@babel/plugin-transform-optional-chaining](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-optional-chaining) from 7.28.6 to 7.29.7.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.29.7/packages/babel-plugin-transform-optional-chaining)

---
updated-dependencies:
- dependency-name: "@babel/plugin-transform-optional-chaining"
  dependency-version: 7.29.7
  dependency-type: indirect
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @babel/plugin-transform-private-property-in-object (#15281)

Bumps [@babel/plugin-transform-private-property-in-object](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-private-property-in-object) from 7.28.6 to 7.29.7.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.29.7/packages/babel-plugin-transform-private-property-in-object)

---
updated-dependencies:
- dependency-name: "@babel/plugin-transform-private-property-in-object"
  dependency-version: 7.29.7
  dependency-type: indirect
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @babel/register from 7.28.3 to 7.29.7 (#15284)

Bumps [@babel/register](https://github.com/babel/babel/tree/HEAD/packages/babel-register) from 7.28.3 to 7.29.7.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.29.7/packages/babel-register)

---
updated-dependencies:
- dependency-name: "@babel/register"
  dependency-version: 7.29.7
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @babel/helper-plugin-utils from 7.28.6 to 7.29.7 (#15285)

Bumps [@babel/helper-plugin-utils](https://github.com/babel/babel/tree/HEAD/packages/babel-helper-plugin-utils) from 7.28.6 to 7.29.7.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.29.7/packages/babel-helper-plugin-utils)

---
updated-dependencies:
- dependency-name: "@babel/helper-plugin-utils"
  dependency-version: 7.29.7
  dependency-type: indirect
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @babel/plugin-transform-dotall-regex from 7.28.6 to 7.29.7 (#15286)

Bumps [@babel/plugin-transform-dotall-regex](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-dotall-regex) from 7.28.6 to 7.29.7.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.29.7/packages/babel-plugin-transform-dotall-regex)

---
updated-dependencies:
- dependency-name: "@babel/plugin-transform-dotall-regex"
  dependency-version: 7.29.7
  dependency-type: indirect
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @babel/plugin-transform-dynamic-import from 7.27.1 to 7.29.7 (#15288)

Bumps [@babel/plugin-transform-dynamic-import](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-dynamic-import) from 7.27.1 to 7.29.7.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.29.7/packages/babel-plugin-transform-dynamic-import)

---
updated-dependencies:
- dependency-name: "@babel/plugin-transform-dynamic-import"
  dependency-version: 7.29.7
  dependency-type: indirect
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @babel/template from 7.28.6 to 7.29.7 (#15287)

Bumps [@babel/template](https://github.com/babel/babel/tree/HEAD/packages/babel-template) from 7.28.6 to 7.29.7.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.29.7/packages/babel-template)

---
updated-dependencies:
- dependency-name: "@babel/template"
  dependency-version: 7.29.7
  dependency-type: indirect
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @babel/plugin-transform-export-namespace-from from 7.27.1 to 7.29.7 (#15290)

Bumps [@babel/plugin-transform-export-namespace-from](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-export-namespace-from) from 7.27.1 to 7.29.7.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.29.7/packages/babel-plugin-transform-export-namespace-from)

---
updated-dependencies:
- dependency-name: "@babel/plugin-transform-export-namespace-from"
  dependency-version: 7.29.7
  dependency-type: indirect
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @babel/helper-globals from 7.28.0 to 7.29.7 (#15292)

Bumps [@babel/helper-globals](https://github.com/babel/babel/tree/HEAD/packages/babel-helper-globals) from 7.28.0 to 7.29.7.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.29.7/packages/babel-helper-globals)

---
updated-dependencies:
- dependency-name: "@babel/helper-globals"
  dependency-version: 7.29.7
  dependency-type: indirect
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @babel/plugin-syntax-typescript from 7.28.6 to 7.29.7 (#15291)

Bumps [@babel/plugin-syntax-typescript](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-syntax-typescript) from 7.28.6 to 7.29.7.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.29.7/packages/babel-plugin-syntax-typescript)

---
updated-dependencies:
- dependency-name: "@babel/plugin-syntax-typescript"
  dependency-version: 7.29.7
  dependency-type: indirect
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Adplus Adapters: expand payload fields and normalize IDs

* Fixed codex issues
* Core: escape user sync iframe URL in HTML

* Update utils_spec.js

* do not deal with HTML

* remove test

* readability

---------

Co-authored-by: Demetrio Girardi <dgirardi@prebid.org>
dependabot Bot and others added 2 commits August 13, 2026 16:51
* Bump actions/checkout from 6 to 7

Bumps [actions/checkout](https://github.com/actions/checkout) from 6 to 7.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v6...v7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Allow unsafe PR checkout in prebid-code-scanner.yml

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Demetrio Girardi <dgirardi@prebid.org>
* generate polyfill summary

* update plugin

* add check workflow

* typo

* set fetch-depth 0

* fix ref -> sha

* fix name clash

* fix missing toString

* adjust comment formatting

* formatting

* typo

* only build polyfills.json when explicitly requested

* add missin --polyfills

* run PR assignments if build-metadata fails
@khang-vu-ttd

Copy link
Copy Markdown
Contributor

Resolved 2 of 3 conflicting commits:

`639750b7f` (Bump actions/checkout from 6 to 7, #15271): two modify/delete conflicts, both resolved by keeping our side's deletion — `prebid-code-scanner.yml` (removed in PR #104, missing GitHub App credentials) and `PR-assignment.yml` (upstream's Prebid.org auto-reviewer-assignment bot workflow, needing `PR_BOT_ID`/`PR_BOT_PEM` secrets referenced nowhere else in this fork — we only ever adopted the first-stage `PR-assignment-deps.yml` that generates `dependencies.json`, never this second-stage bot step). Everything else auto-merged cleanly.

`0b480c7a7` (CI: check for and warn about possible missing polyfills, #15268): consolidates our `PR-assignment-deps.yml` into upstream's new `build-metadata.yml`, which fully replaces its `dependencies.json`-generation job and adds the new polyfill-diff-check feature. Accepted upstream's consolidation (deleted `PR-assignment-deps.yml`, added `build-metadata.yml`); kept `PR-assignment.yml` deleted per the same rationale as above.

* prebid server adapter vendor consent

* honoring gdprApplies in hook

* removing hook, moving common logic to library

* honoring restrictions

* sharing getAcceptableFlags

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
@khang-vu-ttd

khang-vu-ttd commented Aug 14, 2026 •

Copy link
Copy Markdown
Contributor

Resolved c85d229c4 (PBS Adapter: Host company vendor consent check, #15136) — the trickiest of the three.

This commit bundles two things:

  • A pure refactor (no behavior change): extracts getAcceptableFlags/getConsent/getPurposeDeclarations/DEFAULT_PURPOSE_DECLARATION/etc. out of modules/tcfControl.ts into a new shared libraries/consentManagement/consentUtils.ts, with modules/consentManagementTcf.ts updated to match. Verified byte-identical to upstream post-merge.
  • A new opt-in feature: an optional hostGvlid config on s2sConfig that, when set, validates TCF purpose-1 consent for a specific vendor (via the new hasVendorPurposeConsent) instead of the generic check, when selecting the p1Consent/noP1Consent endpoint URL. Ported this onto openadsServerBidAdapter (our PBS-equivalent), adapting comments from "Prebid Server host" to "OpenAds Server host" to match this file's existing convention. This auto-merged in almost entirely cleanly — the only real conflict was the type-declaration comment block, resolved by keeping both our existing comment and the new hostGvlid property.

hasVendorPurposeConsent falls back to consentUtils.ts's module-level
defaultPurposeDeclaration when neither gvlLegalBasisMapping nor
GVL_PURPOSES has an entry for the given GVL ID. That variable is
normally set by tcfControl.ts's setEnforcementConfig, but nothing
guarantees that runs before this test -- in real CI chunking,
consentUtils_spec.js (libraries/) and tcfControl_spec.js (modules/)
never share a chunk, so defaultPurposeDeclaration stays at its own
initial NO_PURPOSE_DECLARATION (all-empty) and the test fails
deterministically. Set it explicitly in a beforeEach so the test
doesn't depend on cross-file module state.

Verified against the exact CI chunk (TEST_CHUNKS=8 TEST_CHUNK=2):
682/682 passing, up from 681/682.
…dpoint

setConfigDefaults() unconditionally forces both s2sConfig.endpoint.p1Consent
and .noP1Consent to the same production URL (pre-existing behavior, already
covered by tests earlier in this file), so the 3 ported hostGvlid tests
could never observe the p1/noP1 URL distinction they were written to check
-- the request always lands on the single forced default regardless of
consent state.

Adjusted the 3 tests to assert against that actual default endpoint instead
of custom fixture URLs, confirming hostGvlid's consent-checking branches
(vendor-specific denial, publisher restriction override, GDPR-not-applicable
bypass) still execute without error, even though their result isn't
currently observable via endpoint selection in this fork.
@khang-vu-ttd

Copy link
Copy Markdown
Contributor

Fixed c3c11f016: consentUtils_spec.js's new hasVendorPurposeConsent test relied on shared module-level state (consentUtils.ts's defaultPurposeDeclaration) normally set by tcfControl.ts's setEnforcementConfig — but nothing guarantees that runs first, and in real CI chunking consentUtils_spec.js (libraries/) and tcfControl_spec.js (modules/) never share a chunk. So the test failed deterministically, not just in a narrow local run. Fixed by explicitly setting the default in a beforeEach. Verified against the exact CI chunk (TEST_CHUNKS=8 TEST_CHUNK=2): 682/682 passing.

This is a pre-existing upstream test bug, unrelated to anything renamed/reconciled in this fork — the merged consentUtils.ts/tcfControl.ts/consentManagementTcf.ts are byte-identical to upstream.

@khang-vu-ttd

Copy link
Copy Markdown
Contributor

Fixed 9606b7439: the 3 ported hostGvlid endpoint selection tests configured distinct p1Consent/noP1Consent fixture URLs and asserted on which one got hit — but this fork's setConfigDefaults() unconditionally forces both keys to the same production URL (pre-existing behavior, already covered by tests earlier in this same spec file, lines 653-664), for both the auction and sync endpoints. So hostGvlid's vendor-specific consent check still runs correctly, but its result can never be observed via endpoint selection in this fork — there's nothing to select between.

Adjusted the 3 tests to assert against the actual forced default endpoint instead of custom fixture URLs. They still exercise hasVendorPurposeConsent's three distinct branches (vendor-specific denial, publisher-restriction override, GDPR-not-applicable bypass) without erroring, confirming the ported logic is sound even though its practical effect on endpoint choice is currently inert in this fork's architecture.

@khang-vu-ttd
khang-vu-ttd merged commit 02a2b8c into master Aug 14, 2026
105 of 106 checks passed
@khang-vu-ttd
khang-vu-ttd deleted the prebid-sync-11.23.0 branch August 14, 2026 16:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants