Skip to content

upstream-sync: sync Prebid.js 10.16.0 → 10.17.0 - #66

Merged
khang-vu-ttd merged 21 commits into
masterfrom
prebid-sync-10.17.0
Jul 29, 2026
Merged

upstream-sync: sync Prebid.js 10.16.0 → 10.17.0#66
khang-vu-ttd merged 21 commits into
masterfrom
prebid-sync-10.17.0

Conversation

@openads-sync-bot

@openads-sync-bot openads-sync-bot Bot commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

Prebid.js Sync: 10.16.010.17.0

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

Upstream diff: prebid/Prebid.js@10.16.0...10.17.0

✅ Applied Commits

  • 99c6ec3de | ConnectID Adapter: fix storage type configuration not being respected #14018
  • 3b517311c | Vidazoo utils: fix screen resolution detection #14122 (auto-resolved)
  • 510f10cec | adds nvm path to setup script #14109
  • 17d91111d | optimeraRTD: updated scorefile fetching logic #14101 (auto-resolved)
  • 095c6395f | Core: fix spurious validation warnings on mediaType / ortb2Imp #14099
  • 02a23a06c | Permutive modules: define gvl id #14131
  • d632c95b1 | Neuwo Rtd Module: Add url cleaning feature to Neuwo RTD module #14089 (auto-resolved)
  • 3f1c0dceb | Bump min-document from 2.19.0 to 2.19.2 #14162
  • 5e0f5e90c | Core: fix schema-utils import #14168
  • c64461704 | Bump tar-fs from 3.0.9 to 3.1.1 #14163
  • 383af81b3 | Bump js-yaml #14164
  • 1039fea | Prebid Version Update (OpenAds Upstream Sync Bot)

⏭️ Skipped Commits

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

  • 47b67e58a | Increment version to 10.17.0-pre (unneeded changes)
  • 79e6dbf0d | sevio Bid Adapter : add extra parameters required by the BE #13904 (bid adapter change)
  • fe330c5f3 | SSP Genie Bid Adapter: Change logic of specified currency bid-params do not refer to adServerCurrency. #14061 (bid adapter change)
  • 7ce1e1b73 | Nexx360 Bid Adapter : typescript conversion & ybidder alias added #13987 (bid adapter change)
  • a2f156fd9 | Attekmi Bid Adapter : add MarlinAds alias #14094 (bid adapter change)
  • e9c38e445 | OMS Bid Adapter: add banner media type check in buildRequests #14117 (bid adapter change)
  • b61cbfbef | Tappx Adapter Fix: obtain Adomain from response and add test #14113
  • 61900ad10 | RTB House Bid Adapter: fix floor price handling #14112 (bid adapter change)
  • 5d3d93a39 | Sharethrough Bid Adapter: adjust how values are saved on meta prop #14114 (bid adapter change)
  • 0e4889231 | Sparteo Bid Adapter: support new optional query params #13986 (bid adapter change)
  • 7e0d51ba3 | Clickio Bid Adapter: initial release #14023 (bid adapter change)
  • 197cd8945 | Cointraffic Bid Adapter: Added device information to payload #14120 (bid adapter change)
  • 76ddae9cd | Add TopOn adapter #14072
  • 2ccc9eedc | Attekmi: rename alias from Marlinads to Amcom #14138
  • 9a062d985 | sevioBidAdapter_bugfix: Send all sizes instead of just maxSize #14133 (bid adapter change)
  • bdefe0941 | Attekmi: add Adastra Tech alias #14141
  • ff8f4f98b | Nexx360 Bid Adapter: buildImp fix #14139 (bid adapter change)
  • 7f46e3f9a | fix(adapter): align uniquest_widgetBidAdapter file name with docs biddercode #14043 (bid adapter change)
  • 1b288d2d9 | FWSSP Adapter: update schain serialization logic and add fallback for missing videoassetid #14135
  • 2f0a8a943 | Remove security-updates-only from dependabot config (empty after resolution)
  • d2e377973 | Public Good Bid Adapter : initial release #13896 (bid adapter change)
  • d4fe8de89 | Prebid 10.17.0 release (will cause merge conflicts)

❌ Conflicting Commits (require manual resolution)

  • 38cff0dc9 | Various modules: consolidate page view ID logic #14051
  • f78328cde | CI: run release drafter on legacy branches #14124 (Dev Decided To Not Apply)
  • 4ec515d8a | CI: split tests into smaller chunks #14126
  • 714713011 | CI: reduce dependency on browserstack #14165
  • 66eee7d32 | Bump actions/download-artifact from 5 to 6 #14146

zach-bowman-yahooinc and others added 12 commits July 27, 2026 07:03
… (#14018)

* fix: Update ConnectID Adapter to respect storage type configuration.

* refactor: Improve ConnectID storage type handling with constants and documentation.
* Fix Vidazoo utils screen resolution detection

* remove duplication

---------

Co-authored-by: Demetrio Girardi <dgirardi@prebid.org>
* Permutive modules: centralize gvl id

* Set gvlid to null in permutiveIdentityManagerIdSystem

* Set gvlid to null in permutiveRtdProvider.json

* Set gvlid to null for Permutive components

* Fix JSON formatting by adding missing newline

* Fix missing newline in permutiveIdentityManagerIdSystem.json

Add missing newline at the end of the JSON file.

* Update permutiveRtdProvider.json
* feat: add url cleaning functionality

Add configurable URL cleaning options to strip query parameters and fragments before sending URLs to Neuwo API:
- stripAllQueryParams: removes all query parameters
- stripQueryParamsForDomains: removes all params for specific domains/subdomains
- stripQueryParams: removes specific named parameters
- stripFragments: removes URL hash fragments

* test: add tests for url cleaning functionality

Add test cases for cleanUrl function covering:
- Query parameter stripping (all, domain-specific, selective)
- Fragment stripping and combinations
- Edge cases (malformed URLs, encoding, delimiters)
- Domain/subdomain matching logic
- Option priority and fallthrough behavior
- Integration tests with getBidRequestData

* docs: update documentation for url cleaning

Update module documentation to include:
- URL cleaning configuration options and examples
- Parameter table with stripAllQueryParams, stripQueryParamsForDomains, stripQueryParams, stripFragments
- `npm ci` as dependencies installation command
- Linting section with eslint command
- Adjust commands examples
- Update test commands to use test-only and test-only-nobuild
- Update example page to include URL cleaning functionality
- Unified commands between the example file and the module readme
- Improve input structure on the example page
- Enable saving input values on the example page to facilitate manual testing
- Update contact information

* Neuwo RTD Module feat: add API response caching

- Added `enableCache` parameter (default: `true`) to cache API responses and avoid redundant requests during the page session
- Implemented `clearCache()` function for testing purposes
- Updated *modules/neuwoRtdProvider.js* to store responses in `globalCachedResponse` and reuse them when caching is enabled
- Added cache control UI to *integrationExamples/gpt/neuwoRtdProvider_example.html* with checkbox and state persistence
- Updated *modules/neuwoRtdProvider.md* documentation with caching configuration details
- Added test coverage in *test/spec/modules/neuwoRtdProvider_spec.js* for both enabled and disabled cache scenarios

---------

Co-authored-by: grzgm <125459798+grzgm@users.noreply.github.com>
Bumps [min-document](https://github.com/Raynos/min-document) from 2.19.0 to 2.19.2.
- [Commits](Raynos/min-document@v2.19.0...v2.19.2)

---
updated-dependencies:
- dependency-name: min-document
  dependency-version: 2.19.2
  dependency-type: indirect
...

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>
Bumps [tar-fs](https://github.com/mafintosh/tar-fs) from 3.0.9 to 3.1.1.
- [Commits](mafintosh/tar-fs@v3.0.9...v3.1.1)

---
updated-dependencies:
- dependency-name: tar-fs
  dependency-version: 3.1.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Patrick McCann <patmmccann@gmail.com>
Bumps  and [js-yaml](https://github.com/nodeca/js-yaml). These dependencies needed to be updated together.

Updates `js-yaml` from 3.14.1 to 3.14.2
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](nodeca/js-yaml@3.14.1...3.14.2)

Updates `js-yaml` from 4.1.0 to 4.1.1
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](nodeca/js-yaml@3.14.1...3.14.2)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 3.14.2
  dependency-type: indirect
- dependency-name: js-yaml
  dependency-version: 4.1.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
khang-vu-ttd and others added 2 commits July 29, 2026 10:09
# Conflicts:
#	integrationExamples/gpt/neuwoRtdProvider_example.html
* Page view ID.

* Page view ID.

* Removed console.log.

* Removed unused import.

* Improved example.

* Fixed some tests.
@khang-vu-ttd

Copy link
Copy Markdown
Contributor

Resolved conflict for 38cff0dc9 (Various modules: consolidate page view ID logic, #14051):

  • modify/delete conflicts: dropped carodaBidAdapter.js, cwireBidAdapter.js, kargoBidAdapter.js, koblerBidAdapter.js, snigelBidAdapter.js and their specs — these bid adapters don't exist in our fork.
  • src/prebid.ts: two independent additions to the same spot (our generateTID + upstream's new refreshPageViewId) — kept both.
  • test/spec/modules/openadsServerBidAdapter_spec.js: kept our fork-specific imports (processPBSRequest, setTheTradeDeskParamDefaults, pre-existing, unrelated to this commit). Adopted upstream's test-title disambiguation for two duplicate-titled overrides request.ext... tests, translating only the renamed output-namespace part (ext.prebidext.openads) while leaving s2sConfig.extPrebid untouched since it's a literal input property name we still accept for back-compat.
  • test/spec/ortbConverter/pbsExtensions/params_spec.js: adopted upstream's test simplification (our setImpBidParams signature was already simplified to (imp, bidRequest) by an earlier sync; this test's harness — bidderRegistry/index/adUnit/context/deps — was stale relative to that and upstream's cleanup here matches our actual current source).
  • integrationExamples/gpt/prebidServer_example.html and integrationExamples/testBidder/testBidderBannerExample.html: applied upstream's feature/cosmetic changes with pbjsoajs renamed to match; also caught and fixed several pbjs. references that auto-merged in cleanly (no conflict marker) but referenced an undefined global in our fork.
  • New ext.openads.page_view_ids field: this commit introduces a brand-new PBS processor (extPrebidPageViewIds) that wrote to ext.prebid.page_view_ids unrenamed (since it's new content, never had a chance to get the fork's rename). Renamed to ext.openads.page_view_ids to match every other processor in pbs.js, and updated the one test asserting it.
  • Also fixed 3 pre-existing (unrelated to this commit) stale ext.prebid references discovered during a sweep: a vacuous test assertion in openadsServerBidAdapter_spec.js (eidpermissions test checked ext.prebid which never exists, so its assertion never ran) and two test-title-only mentions in video_spec.js/openadsServerBidAdapter_spec.js.

* CI: increase karma browserNoActivityTimeout

* try decreasing

* increase test timeout

* Fix fintezaAnalytics tests

* Increase number of test chunks

* Fix number of chunks

* Extract save-wdir action

* use matrix

* simplify

* fix chunk def

* fix concurrency key

* fix test cmd

* Output concurrency

* Fix concurrency key again

* only save coverage if it exists

* adjust max-parallel

* collect coverage results

* temp disable e2e

* rename serialize to browserstack

* Use wdir to get access to local action

* fix github_output-s

* set up node, fix coverage cache keys

* temporarily enable coverage on nofeatures

* skip browserstack step when not using browserstack

* key prefix

* debug output

* debug

* remove some debug output

* script syntax

* matrix output

* adjust matrix output

* fixes

* use artifacts directly

* cleanup outputs

* use artifacts instead of cache

* consolidate

* specify path

* debug

* build when there is no build

* include hidden files

* overwrite artifacts

* try save/load

* adjust load

* try skipping untar

* more debug

* Remove debug output

* cleanup dependencies

* Adjust timeouts

* adjust overall timeout

* adjust timeouts again

* fix finteza tests

* adjust timeouts

* use build name from env

* Clear browserstack sessions

* Always clean up sessions

* sessions cannot be terminated via api

* adjust capture timeout

* skip build when there is no build cmd

* increase retries

* adjust timeouts

* add chunk no in build name

* Fix coveralls

* isolate browserstack tests

* Revert "isolate browserstack tests"

This reverts commit 2ebfa9d2b4dc4b4baf71e448149e6321ff218da6.
@khang-vu-ttd

Copy link
Copy Markdown
Contributor

Resolved conflict for 4ec515d8a (CI: split tests into smaller chunks, #14126):

Turned out less risky than it first looked. Our fork already had the "target" reusable-workflow chunked-test architecture (test-no-features/test/test-e2e calling ./.github/workflows/run-tests.yml with chunks: 8) from an earlier sync. The conflict was entirely leftover CI plumbing that predates that migration:

  • Deleted .github/workflows/run-unit-tests.yml and .github/workflows/test-chunk.yml — confirmed dead (only referenced each other, nothing else in the workflow set pointed at them).
  • In test.yml: removed leftover inline actions/cache/save/actions/cache/restore steps (checkout/lint/coveralls jobs) and a full duplicate inline BrowserStack e2e step block, replacing them with upstream's new ./.github/actions/save / ./.github/actions/load composite actions (per dev decision — we're adopting these over our previous actions/cache approach going forward).
  • Dropped test/spec/modules/fintezaAnalyticsAdapter_spec.js changes — this is an AnalyticsAdapter test, and our fork deliberately excludes all AnalyticsAdapter/BidAdapter/RdProvider tests (remove unneeded test and adjust test to work with oajs changes #26), matching the same pattern as the bid-adapter files dropped elsewhere in this sync.

Note: the new composite actions use actions/upload-artifact/download-artifact, which don't need the actions: write permission that was added earlier for actions/cache — left as-is since it's harmless, not touched as part of this conflict resolution.

* try safari testing

* try macos-latest

* adjust save/load

* adjust again

* why

* adjust -C

* try safarinative

* use SafariNative

* separate build from run-tests

* browser tests

* add safari

* refactor

* use setup step

* add firefoxHeadless

* add edge

* try force-local

* temporarily remove build logic testing

* --force-local only on win

* add npm install to build

* run npm install on windows

* use script to generate id

* use --force-local on save as well

* setup edge

* remove run npm install option

* enable debug logging

* try edge headless

* define EdgeHeadless

* try chromium edge

* remove edge launcher

* disable debug logging

* add build logic test step

* set shell bash

* move id generation to actions/save

* browser_testing.json

* fix coverage

* add browerstack

* fix bstack secrets

* remove unnecessary checkout

* Clean up unused input

* try clearing localStorage
@khang-vu-ttd

khang-vu-ttd commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

Resolved conflict for 714713011 (CI: reduce dependency on browserstack, #14165):

Only conflict was in package-lock.json — a version-skew on caniuse-lite (our HEAD had a newer version, 1.0.30001806, than what this older commit's lockfile snapshot expected, 1.0.30001755). Kept the newer version and ran npm install to regenerate the lockfile cleanly against the two new dev deps this commit adds (@chiragrupani/karma-chromium-edge-launcher, karma-safarinative-launcher). package.json, test.yml, gulpfile.js, and the new browser-tests.yml/build.yml workflows all applied with no conflicts.

khang-vu-ttd and others added 5 commits July 29, 2026 11:07
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 5 to 6.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](actions/download-artifact@v5...v6)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Patrick McCann <patmmccann@gmail.com>
getPageViewIdForBidder (added by cherry-picked #14051) assumed
pbjsInstance.pageViewIdPerBidder was already a Map, initialized only as
a side effect of src/prebid.ts loading. Isolated test bundles (and CI's
per-chunk isolated webpack builds) that don't happen to also load
prebid.ts crash with 'Cannot read properties of undefined (reading has)'.
The test raced two real setTimeouts (0ms clear vs 5ms fire) with no
guaranteed ordering, causing an intermittent failure on Safari in CI
(clearTimeout losing the race under load). Switched to sinon fake
timers so the clear is synchronous and deterministic before any
simulated time advances.
Matches upstream's behavior at 10.17.0, which runs coveralls
unconditionally. Our fork had added 'if: false #REMOVE ONCE REPO IS
PUBLIC' as a private-repo placeholder; removing it now per dev
decision.
@coveralls

coveralls commented Jul 29, 2026

Copy link
Copy Markdown

Coverage Report for CI Build 30486198997

Warning

Build has drifted: This PR's base is out of sync with its target branch, so coverage data may include unrelated changes.
Quick fix: rebase this PR. Learn more →

Coverage increased (+0.002%) to 91.477%

Details

  • Coverage increased (+0.002%) from the base build.
  • Patch coverage: 4 uncovered changes across 3 files (135 of 139 lines covered, 97.12%).
  • 89 coverage regressions across 7 files.

Uncovered Changes

File Changed Covered %
src/prebid.ts 5 3 60.0%
src/adapterManager.ts 8 7 87.5%
test/spec/libraries/greedy/greedyPromise_spec.js 9 8 88.89%
Total (14 files) 139 135 97.12%

Coverage Regressions

89 previously-covered lines in 7 files lost coverage.

File Lines Losing Coverage Coverage
src/prebid.ts 35 90.84%
src/adapterManager.ts 16 93.07%
modules/permutiveRtdProvider.js 12 81.59%
modules/connectIdSystem.js 11 91.41%
modules/permutiveIdentityManagerIdSystem.js 9 81.48%
modules/openadsServerBidAdapter/ortbConverter.js 3 96.13%
test/spec/modules/openadsServerBidAdapter_spec.js 3 98.85%

Coverage Stats

Coverage Status
Relevant Lines: 57395
Covered Lines: 54482
Line Coverage: 94.92%
Relevant Branches: 17559
Covered Branches: 14084
Branch Coverage: 80.21%
Branches in Coverage %: Yes
Coverage Strength: 152.83 hits per line

💛 - Coveralls

@khang-vu-ttd
khang-vu-ttd merged commit c6c0d73 into master Jul 29, 2026
81 checks passed
@khang-vu-ttd
khang-vu-ttd deleted the prebid-sync-10.17.0 branch July 29, 2026 20:26
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.

9 participants