Skip to content

Remove template interpolation checks and unused helpers from no-implicit-operand-conversion rule - #15198

Merged
patmmccann merged 1 commit into
codex/add-linting-rule-for-operand-conversionfrom
codex/fix-linting-issues-in-screenshot
Jun 24, 2026
Merged

patmmccann merged 1 commit into
codex/add-linting-rule-for-operand-conversionfrom
codex/fix-linting-issues-in-screenshot

Conversation

@patmmccann

Copy link
Copy Markdown
Collaborator

Motivation

  • Reduce complexity of the no-implicit-operand-conversion rule by restricting its scope to comparison operators and eliminate heuristics for implicit string interpolation.

Description

  • Update the rule no-implicit-operand-conversion metadata to remove the mention of string interpolation from its description.
  • Remove the TemplateLiteral visitor that reported implicit template-conversion issues and the associated helper functions isFunctionLike, getVariable, isUndefinedIdentifier, and isImplicitTemplateConversionReference which were only used for that logic.
  • Preserve the comparison-operator handling and existing negation checks and reports for binary expressions.

Testing

  • Ran the plugin unit test suite via npm test, and all tests passed.
  • Ran the linter on the codebase via npm run lint, and no new lint errors were introduced.

Codex Task

@patmmccann
patmmccann merged commit cbe3333 into codex/add-linting-rule-for-operand-conversion Jun 24, 2026
106 checks passed
@patmmccann
patmmccann deleted the codex/fix-linting-issues-in-screenshot branch June 24, 2026 00:35
@barecheck

barecheck Bot commented Jun 24, 2026

Copy link
Copy Markdown

Barecheck - Code coverage report

Total: 96.54%

Your code coverage diff: 0.00% ▴

✅ All code changes are covered

patmmccann added a commit that referenced this pull request Jun 24, 2026
* Core: catch implicit operand conversions

* Core: catch implicit operand conversions

### Motivation
- A code scan flagged implicit operand conversion patterns (negation used directly in relational comparisons and function/undefined identifiers interpolated into template literals) that can lead to incorrect behavior due to JS coercion.
- Prevent regressions by adding a static lint rule to catch these patterns at authoring time.
- Fix the three existing occurrences discovered by the scan so tests remain green.

### Description
- Add a new ESLint rule `prebid/no-implicit-operand-conversion` in `plugins/eslint/index.js` that reports negated operands used in relational `BinaryExpression`s and identifiers that reference functions or `undefined` when used inside `TemplateLiteral` expressions.
- Enable the new rule in `eslint.config.js` for the source folders using `prebid/no-implicit-operand-conversion: 'error'`.
- Apply three code fixes: replace the undefined template interpolation with an explicit URL generator call in `test/spec/modules/imuIdSystem_spec.js` (`callImuidApi(getApiUrl(5126))`), change `if (!config?.params?.groupId?.length > 0)` to `if (!(config?.params?.groupId?.length > 0))` in `modules/qortexRtdProvider.js`, and change `!et.methods.length > 0` to `et.methods.length <= 0` in `modules/onetagBidAdapter.js`.

### Testing
- Ran `npx eslint modules/qortexRtdProvider.js modules/onetagBidAdapter.js test/spec/modules/imuIdSystem_spec.js --cache --cache-strategy content` and ESLint reported no remaining violations in the touched files.
- Verified the rule behavior with a quick `node - <<'NODE' ... NODE` ESLint snippet check to assert the new rule flags the targeted patterns as expected.
- Ran unit tests for the affected specs with `npx gulp test --nolint --file` and the runs completed successfully: `imuIdSystem_spec.js` (21 tests), `qortexRtdProvider_spec.js` (20 tests), and `onetagBidAdapter_spec.js` (63 tests).

* Core: stop flagging template string conversions (#15198)

* remove duplication

---------

Co-authored-by: Demetrio Girardi <dgirardi@prebid.org>
anastasiiapankivFS added a commit to freestarcapital/Prebid.js that referenced this pull request Sep 7, 2026
* Core: lint superfluous function arguments (#15163)

* Address UID2 test argument cleanup (#15101)

* Build: replace fancy-log with gulplog (#15149)

* Build: replace fancy-log with gulplog

* Build: replace fancy-log with gulplog

* Add comment about gulplog availability

---------

Co-authored-by: Patrick McCann <pmccann@cafemedia.com>

* Update adapter billow_rtb25 : Add sharedId support (#15126)

* New adapter: billow_rtb25

* delete options

* add public interface

* Change the adapter type to a ts file

* update Adapter billow_rtb25: Add support for the sharedId field

* update Adapter billow_rtb25: Add support for the sharedId field

* update Adapter billow_rtb25: fix

* fix

---------

Co-authored-by: zepeng.yin <zp.yin@foxmail.com>

* ConnectAd Adapter Update (#14978)

* ConnectAd: adapter, documentation and test updates

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

* ConnectAd: use CDN URL for outstream renderer

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

* ConnectAd: restore EIDs mapping and stabilize audio spec in no-feature runs

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

* Fix missing semicolon on line 35 in connectadBidAdapter_spec.js

* Add missing tests for code coverage: viewability, outstream renderer, floorprice fallback, endpointUrl override, and video/native media type detection

* Add ConnectAd adapter tests to restore PR code coverage.

Cover viewability, outstream renderer, media type fallbacks, native asset
alignment, and getUserSyncs edge cases that Barecheck reported as uncovered.

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

* Fix ConnectAd spec for lint and feature-disabled CI.

Remove unnecessary Function.prototype.call usage flagged by ESLint and
skip video viewability coverage when the VIDEO feature is disabled.

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

* ConnectAd Adapter: address requested review changes

* ConnectAd Adapter: address follow-up review feedback

Remove dead bidRequest.data string parsing incompatible with ortbConverter
object identity, refactor outstream tests with sinon sandbox cleanup, and
drop obsolete string-parse specs.

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Robert Ray Martinez III <rrmartinez1552@gmail.com>

* Yieldmo Bid Adapter: revert badv support (keep bcat) (#15190)

* Yieldmo Bid Adapter: revert badv support (keep bcat)

Reverts the badv portions of #14989 because a large publisher's long badv
lists are materially hurting monetization (FS-12411). bcat is left fully
intact (ortb2 + params merge on banner and video).

badv is restored to its exact pre-#14989 behavior:
- banner GET no longer sends badv
- video OpenRTB sends badv: bidRequests[0].params.badv || [] (no ortb2/merge)
- params.badv array validation moves back into validateVideoParams (video-only)

Docs and unit tests updated to match; getBlocklist retained for bcat.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* Yieldmo Bid Adapter: document video-only params.badv

Restore badv to the docs after the FS-12411 revert, but scoped to its
actual reverted behavior: video-only, params source only (no ortb2, no
banner). Documentation only; no code change.

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* Prebid Server Adapter: align sync browser restrictions (#15162)

* Prebid Server Adapter: align sync browser restrictions

* Prebid Server Adapter: align sync browser restrictions

### Motivation
- PBS cookie syncs were being attempted in browsers where regular user syncs are blocked, causing inconsistent behavior and potential failures.
- The change centralizes the browser/cookie eligibility logic so both client-side user syncs and PBS syncs share the same restrictions (avoid Chrome on iOS, Safari, and Firefox and require cookies enabled).

### Description
- Exported `browserSupportsUserSyncCookies()` from `src/userSync.ts` and switched the user-sync getter to call it so the eligibility check is reusable.
- Added an early-return in `queueSync` inside `modules/prebidServerBidAdapter/index.ts` to skip PBS cookie syncs when `browserSupportsUserSyncCookies()` is false.
- Updated `src/userSync.ts` to use the new exported helper for `browserSupportsCookies` so logic is not duplicated.
- Added unit tests in `test/spec/modules/prebidServerBidAdapter_spec.js` to verify PBS syncs are skipped for Safari, Firefox, and Chrome on iOS while the auction request still proceeds.

### Testing
- Ran lint for the changed files with `npx eslint modules/prebidServerBidAdapter/index.ts src/userSync.ts test/spec/modules/prebidServerBidAdapter_spec.js --cache --cache-strategy content` which completed successfully.
- Executed the adapter test target with `npx gulp test --nolint --file test/spec/modules/prebidServerBidAdapter_spec.js` and the spec chunk completed successfully (tests passed).
- Confirmed the modified spec asserts that PBS sync requests are not made on Safari, Firefox, and Chrome on iOS (unit tests passed).

* Prevent user syncs on browsers with restricted cookies (Safari/Firefox/Chrome iOS)

### Motivation
- Prevent initiating user syncs when the browser environment is known to block third-party cookies or when cookies are disabled to avoid futile sync attempts and privacy/regulatory issues.
- Centralize the browser/cookie capability check so both the PBS adapter and the user sync subsystem use the same logic.

### Description
- Added `browserSupportsUserSyncCookies()` in `src/userSync.ts` which returns `!isSafariBrowser() && !isFirefoxBrowser() && !isChromeIOSBrowser() && storage.cookiesAreEnabled()`.
- Updated `userSync` to use the new `browserSupportsUserSyncCookies()` via the `browserSupportsCookies` getter to keep cookie-capability checks consistent.
- Imported and used `browserSupportsUserSyncCookies()` in `modules/prebidServerBidAdapter/index.ts` to early-return from `queueSync()` when user sync cookies are not supported.
- Extended and updated unit tests in `test/spec/modules/prebidServerBidAdapter_spec.js` to stub browser detectors and assert that PBS syncs are not requested for Safari, Firefox, and Chrome on iOS.

### Testing
- Ran unit tests for the s2s/PBS adapter spec (`test/spec/modules/prebidServerBidAdapter_spec.js`) including new browser-restriction cases, and they passed.
- Ran the repository unit test suite after changes and all tests succeeded.

* better test fix

---------

Co-authored-by: Demetrio Girardi <dgirardi@prebid.org>

* Fix for Superfluous trailing arguments (#15185)

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

* New Adapter: m152 (#15112)

* New Adapter: m152

* fix adapter according to new example

---------

Co-authored-by: 152media <info@152media.com>

* Prebid 11.20.0 release

* Increment version to 11.21.0-pre

* Allegro Bid Adapter: update bidder URL and expose advertiser metadata (#15148) on

* new version

* fixes

* naming fixes

* test fix

* copilot cr fixes

* linter fix

* fix url documentation

* Uniquest Bid Adapters: send im_uid from Intimatemerger EID (#15215)

* Uniquest Adapters: send im_uid from intimatemerger EID

* Uniquest Adapters: fix im_uid EID lookup to use userIdAsEids

Read EIDs from bidRequest.userIdAsEids (the canonical path populated by
the Prebid userId module) with ortb2.user.ext.eids as a fallback for
manually configured cases. Previously, only the ortb2 path was checked,
causing im_uid to be silently omitted when the intimatemerger submodule
was configured via the userId module.

Extracted shared getImuid() helper into uniquestUtils to deduplicate
the logic across both adapters. Added tests covering the userIdAsEids
path.

* Uniquest Adapters: fix im_uid lost when userIdAsEids is empty array

* ADBRO Bid Adapter: Device Connection Type support for Bid Request (#15187)

* Implemented setting device.connectiontype Bid Request property

ADBRO-4534

* Avoided override existing Device Connection Type

ADBRO-4534

* Core: upgrade load action github-script (#15221)

* Linting: prevent redundant conditionals (#15165)

* Lint: catch redundant validated conditionals

* Core: prevent redundant conditionals

### Motivation
- Reduce noisy/incorrect conditionals flagged by CodeQL by adding a lint rule to detect redundant checks that follow an exiting guard.
- Replace always-true/always-false fallbacks with simpler, clearer expressions to avoid confusion and potential bugs.

### Description
- Enable ESLint's `no-constant-binary-expression` rule and add a custom rule `prebid/no-redundant-validated-condition` in `eslint.config.js` to catch redundant conditionals.
- Add a new custom rule implementation at `plugins/eslint/noRedundantValidatedCondition.js` and register it in `plugins/eslint/index.js`.
- Fix a set of reported redundant conditionals and simplify expressions across modules and tests, including `modules/reconciliationRtdProvider.js`, `modules/abtshieldIdSystem.js`, `modules/jwplayerRtdProvider.js`, `modules/magniteAnalyticsAdapter.js`, `modules/rubiconBidAdapter.js`, `modules/sonobiBidAdapter.js`, `modules/topicsFpdModule.js`, `modules/pubxaiRtdProvider.js`, `modules/optidigitalBidAdapter.js`, `modules/nextMillenniumBidAdapter.js`, and test specs `test/spec/modules/consentManagementUsp_spec.js` and `test/spec/unit/secureCreatives_spec.js`.
- Small cleanups: removed an unused `cookieless` variable and simplified several conditional fallbacks to the straightforward form (see modified files list in the diff).

### Testing
- Ran targeted ESLint on the changed files with `npx eslint --cache --cache-strategy content <files>` and the lint pass for the modified files completed successfully.
- Ran unit test chunks for impacted specs with `npx gulp test --nolint --file test/spec/modules/consentManagementUsp_spec.js` and `npx gulp test --nolint --file test/spec/unit/secureCreatives_spec.js`, and both test runs completed with all tests passing.
- Verified repository changes compile during the test bundles (webpack compiled successfully during the test runs).

* Add ESLint rule to catch redundant validated conditionals and apply lint-driven cleanups

### Motivation

- Introduce a new ESLint rule to detect redundant conditionals where an identifier is already known to be truthy.
- Apply related lint-driven cleanups and small bug fixes across multiple modules to improve code clarity and correctness.

### Description

- Add new rule implementation in `plugins/eslint/noRedundantValidatedCondition.js` and register it in `plugins/eslint/index.js` as `no-redundant-validated-condition`.
- Enable new rules in `eslint.config.js` by adding `prebid/no-redundant-validated-condition` and `no-constant-binary-expression`.
- Make localized code changes to satisfy the new lint rule and modernize code, including replacing redundant expressions, removing unnecessary parentheses, adopting optional chaining, and simplifying conditionals in modules such as `abtshieldIdSystem.js`, `jwplayerRtdProvider.js`, `magniteAnalyticsAdapter.js`, `nextMillenniumBidAdapter.js`, `optidigitalBidAdapter.js`, `pubxaiRtdProvider.js`, `reconciliationRtdProvider.js`, `rubiconBidAdapter.js`, `sonobiBidAdapter.js`, and `topicsFpdModule.js`.
- Fix behavior and small bugs such as returning `null` when no `endpoint` is present in `pubxaiRtdProvider.getUrl`, ensuring `platform` is always an object in `getSua`, and updating test messaging behavior to post an object rather than a JSON string.

### Testing

- Ran the automated unit/spec test suite that covers modified tests under `test/spec/*`, including updated `consentManagementUsp_spec.js` and `secureCreatives_spec.js`, and all tests passed.
- Linting was executed against the repository to validate the new rule and code adjustments and completed without errors.

* ESLint Plugin: handle fact invalidation (#15194)

* Fix redundant condition invalidation in blocks (#15204)

* Core: update browserslist target (#15227)

* Core: update browserslist target

* Update supported browsers information in README

* Update browser support information in README

Clarify browser support details for Prebid.js.

* Onetag Bid Adapter: add category and creative attribute meta fields in interpretResponse (#15216)

* Add meta category and attribute fields to interpretResponse and tests

* Improve Add tests for meta fields in interpretResponse

* chore: update onetag adapter version to 1.1.8

---------

Co-authored-by: Diego Tomba <d.tomba@onetag.com>

* TTD Bid Adapter: configurable endpointCompression support (#15233)

* TTD Bid Adapter: configurable endpointCompression support

Add opt-in GZIP compression of the outgoing bid request via a
ttd.gzipEnabled bidder config, mirroring the Criteo adapter. Defaults
to disabled; accepts a boolean or string and falls back to the default
on invalid values. Core bidderFactory already honors
options.endpointCompression.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* TTD Bid Adapter: honor alias bidder configs for gzip

Read gzipEnabled against the active bidderRequest.bidderCode (e.g. the
`thetradedesk` alias) with a fallback to the canonical `ttd` code, so
the opt-in works for alias traffic. Addresses PR review feedback.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* bidResponseFilter: fix attr enforcement incorrectly expecting a single attribute in meta.attr (#15231)

* bidResponseFilter: fix attr enforcement incorrectly expecting a single attribute in meta.attr

* treat empty array as uknown

* better tests

* lint

* flip default for attr.blockUnknown

* Linting: catch implicit operand conversions (#15164)

* Core: catch implicit operand conversions

* Core: catch implicit operand conversions

### Motivation
- A code scan flagged implicit operand conversion patterns (negation used directly in relational comparisons and function/undefined identifiers interpolated into template literals) that can lead to incorrect behavior due to JS coercion.
- Prevent regressions by adding a static lint rule to catch these patterns at authoring time.
- Fix the three existing occurrences discovered by the scan so tests remain green.

### Description
- Add a new ESLint rule `prebid/no-implicit-operand-conversion` in `plugins/eslint/index.js` that reports negated operands used in relational `BinaryExpression`s and identifiers that reference functions or `undefined` when used inside `TemplateLiteral` expressions.
- Enable the new rule in `eslint.config.js` for the source folders using `prebid/no-implicit-operand-conversion: 'error'`.
- Apply three code fixes: replace the undefined template interpolation with an explicit URL generator call in `test/spec/modules/imuIdSystem_spec.js` (`callImuidApi(getApiUrl(5126))`), change `if (!config?.params?.groupId?.length > 0)` to `if (!(config?.params?.groupId?.length > 0))` in `modules/qortexRtdProvider.js`, and change `!et.methods.length > 0` to `et.methods.length <= 0` in `modules/onetagBidAdapter.js`.

### Testing
- Ran `npx eslint modules/qortexRtdProvider.js modules/onetagBidAdapter.js test/spec/modules/imuIdSystem_spec.js --cache --cache-strategy content` and ESLint reported no remaining violations in the touched files.
- Verified the rule behavior with a quick `node - <<'NODE' ... NODE` ESLint snippet check to assert the new rule flags the targeted patterns as expected.
- Ran unit tests for the affected specs with `npx gulp test --nolint --file` and the runs completed successfully: `imuIdSystem_spec.js` (21 tests), `qortexRtdProvider_spec.js` (20 tests), and `onetagBidAdapter_spec.js` (63 tests).

* Core: stop flagging template string conversions (#15198)

* remove duplication

---------

Co-authored-by: Demetrio Girardi <dgirardi@prebid.org>

* Linting: harden superfluous argument rule and expand to tests (#15178)

* Apply suggested fix to plugins/eslint/noExtraFunctionArgs.js from Copilot Autofix

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>

* Apply suggested fix to plugins/eslint/noExtraFunctionArgs.js from Copilot Autofix

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>

* Remove unused ESLint rule for extra function args

Removed 'prebid/no-extra-function-args' rule from ESLint configuration.

* Fix lint failures from extra test arguments (#15188)

* Core: handle lexical arguments in lint rule (#15200)

* run plugin tests on gulp test

---------

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
Co-authored-by: Demetrio Girardi <dgirardi@prebid.org>

* Core: guard renderer lookup when bid has no ad unit (#15232)

getPreparedBidForAuction dereferenced adUnit.renderer/adUnit.safeRenderer
without optional chaining, while index.getAdUnit(bid) can legitimately
return undefined (e.g. the originating auction has expired out of the
auctionManager TTL collection, or the bid carries an adUnitId matching no
held ad unit). This threw an unhandled
"TypeError: undefined is not an object (evaluating 'i.renderer')" while
accepting the bid, before any rendering, so no adRenderFailed event fired.

Add optional chaining, consistent with the adjacent adUnit?.ortb2Imp /
adUnit?.element / adUnit?.ttlBuffer guards, plus a regression test.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* remove custom header (#15226)

* Mediago bidder: enforce Compatible parameter data types for gpid (#15235)

* Mediago Bid Adapter :  add param publisherid

* Mediago Bid Adapter : add param publisherid

* Mediago Bid Adapter : add param publisherid

* Mediago Bid Adapter : add param publisherid

* Mediago Bid Adapter : add param publisherid

* Mediago Bid Adapter : add param publisherid

* Mediago Bid Adapter : add param publisherid

* Mediago Bid Adapter : add param publisherid

* Mediago Bid Adapter : add param publisherid

* Mediago Bid Adapter : add param publisherid

* Mediago Bid Adapter : add param publisherid

* Mediago Bid Adapter : add param publisherid

* Mediago Bid Adapter : add param publisherid

* Mediago Bid Adapter : add param publisherid

* Mediago Bid Adapter : add param publisherid

* Mediago/Discovery Bid Adapter:remove request.{}.userID

* Mediago Bid Adapter:remove request.{}.userID

* Mediago Bid Adapter:remove request.{}.userID

* Mediago Bid Adapter:remove request.{}.userID

* Mediago Bid Adapter:udpate banenr.format param key,match ortb

* Mediago Bid Adapter:udpate banenr.format param key,match ortb

* Mediago Bid Adapter:udpate banenr.format param key,match ortb

* Mediago Bid Adapter:udpate banenr.format param key,match ortb

* Mediago Bid Adapter : Compatible parameter gbid data types

* Tests:  enforce unused variable checks (#15161)

* Test Lint: enforce unused variable checks

* Test Lint: clean initial unused variables

* Test Lint: mark unused test bindings

* Test Lint: remove unused test bindings

* Test Lint: preserve PubMatic floor stubs

* Tests: fix chunk3 strict-mode specs (#15169)

* Fix chunk 2 adapter specs (#15170)

* Fix chunk 6 test failures (#15168)

* Weborama RTD Provider: fix onData test callback assertions (#15166)

* Fix AdPlayerPro provider spec setup (#15167)

* Fix chunk 5 adapter tests (#15171)

* Fix chunk 4 module tests (#15172)

* Fix chunk 7 adapter and user ID specs (#15173)

* Fix chunk 1 test failures (#15174)

* Revert "Fix chunk 1 test failures (#15174)" (#15175)

This reverts commit 9ee9e03630733be925de2d64baf00ae47f9415e0.

* Fix chunk 1 test failures (#15176)

* Core: fix chunk 8 unit specs (#15180)

* PubMatic Adapter: fix missing playerSize warning test (#15181)

* Test: remove lint suppressions (#15182)

* Tests: restore removed spec actions (#15183)

* Test Lint: fix chunk 8 test stubs (#15184)

* Test Lint: preserve UID2 timer debug context (#15186)

* test: restore removed spec assertions (#15192)

* Adspirit Adapter: restore dimension assertions (#15193)

* Core: restore API spec initialization (#15195) to

* Tests: address remaining review comments (#15196)

* Adspirit Bid Adapter: fix viewport dimensions (#15197)

* Tests: add UID2 optout eid coverage (#15201)

* Revert "Adspirit Bid Adapter: fix viewport dimensions (#15197)" (#15202) c 

This reverts commit 12f3a5aeecea2c1a3216b5b6667b14443d8282ad.

* Tests: address review feedback (#15203)

* Tests: address PR 15161 review comments (#15205)

* Adspirit Bid Adapter: fix dimension tests (#15206)

* Reconciliation RTD Provider: restore spec coverage (#15207)

* Admatic Adapter: reuse floor fixtures in tests (#15208)

* Tests: address relevatehealth and rivr review comments (#15209)

* Reconciliation RTD Provider: cover broken frame chain (#15210)

* Adlane RTD Provider: address review comments (#15211)

* Tests: address adapter review comments (#15212)

* Tests: address remaining adapter review comments (#15213)

* Tests: clean stale review comments (#15214)

* Tests: address IntentIQ and Finative review comments (#15217)

* Test gzip CompressionStream constructor probe (#15218)

* Nobid Bid Adapter: restore review test coverage (#15219)

* Tests: address dxtech review comment (#15220)

* Tests: fix dxkulture banner validation case (#15222)

* Nobid Adapter: restore video request fixture (#15223)

* Adspirit Bid Adapter: restore spec CRLF endings (#15224)

* Admatic Adapter: reuse floor test fixtures (#15225)

* Remove deepFreeze utility and associated tests

Removed deepFreeze function and related tests for bid requests.

* Medianet Analytics Adapter Updates  (#15111)

* medianetAnalyticsAdapter.js Updates

- Disable analytics on consent change signals from prebid
- getPriceGranularity bug fix

* review changes for getPriceByGranularity

* review changes for getPriceByGranularity

* Add fetchAnalyticsConfig tests for logging configuration handling

---------

Co-authored-by: shubham.si <shubham.si@media.net>
Co-authored-by: pratik.ta <143182729+Pratik3307@users.noreply.github.com>
Co-authored-by: Pratik3307 <pratik.ta@media.net>

* Allegro Bid Adapter: fix config stub tests (#15239)

* Fix USP consent spec lint (#15240)

* Fix for Useless assignment to local variable (#15243)

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

* Prebid 11.21.0 release

* Increment version to 11.22.0-pre

* mediaeyesBidAdapter: fix placement (#15237)

* Fix placement fallback in mediaeyesBidAdapter

* Fix syntax error in mediaeyesBidAdapter.js

* Enable no-useless-assignment linter rule (#15250)

* Tests: spelling fixes (#15238)

* Apply suggested fix to test/spec/modules/yahooAdsBidAdapter_spec.js from Copilot Autofix

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>

* Apply suggested fix to test/spec/modules/yahooAdsBidAdapter_spec.js from Copilot Autofix

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>

* Apply suggested fix to test/spec/modules/yahooAdsBidAdapter_spec.js from Copilot Autofix

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>

* Apply suggested fix to test/spec/modules/yahooAdsBidAdapter_spec.js from Copilot Autofix

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>

* Apply suggested fix to test/spec/modules/yahooAdsBidAdapter_spec.js from Copilot Autofix

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>

* Fix bid request fixture reassignment in adapter tests (#15241)

---------

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>

* Stack Up rtd module: initial release (#15014)

* feature: Stack Up rtd module release

* feat: implement cache config (enabled/storage/ttl) with timeout sanitization

- Add getCacheConfig() to normalize cache params (enabled, ttlSeconds, storage) with safe defaults
- Implement dual cache backends: sessionStorage (default) and in-memory Map for runtime caching
- Update cacheKey() to include pubId, domain, and apiUrl context to prevent cross-publisher cache collisions
- Sanitize timeout values: validate with isNumber/isFinite/positive before use, fallback to DEFAULT_TIMEOUT on invalid input
- Remove redundant .catch() rethrow in fetchEnrichment promise chain
- Add 3 new test cases: cache disabled, memory storage mode, timeout NaN sanitization
- Update _resetStateForTesting() to clear inMemoryEnrichmentCache on reset

* docs: update stackupRtdProvider cache configuration documentation

- Add cache.enabled and cache.storage parameters to config example
- Expand parameters table with cache.enabled and cache.storage options
- Rewrite caching section to explain enabled flag, dual storage modes (session/memory), TTL behavior, and composite cache key derivation
- Clarify that memory storage is cleared on page reload and suitable for private browsing scenarios

* Maintenance: remove UTF-8 BOM from stackupRtdProvider_example.html

* Maintenance: added timeout optional

---------

Co-authored-by: Anton Demydov <anton@meetleo.co>

* Remove unused plugin and gulpfile variables (#15251)

* Attekmi: add new adapter Adnex (#15252)

* Attekmi: add Adnex

* linter fix

---------

Co-authored-by: Victor <victor.banudz@smart-hub.io>

* Core: declare terser webpack plugin (#15257)

* Generic analytics: fill in additional types (#15079)

* Apply suggested fix to modules/genericAnalyticsAdapter.ts from Copilot Autofix

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>

* Apply suggested fix to modules/genericAnalyticsAdapter.ts from Copilot Autofix

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>

* Apply suggested fix to modules/genericAnalyticsAdapter.ts from Copilot Autofix

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>

* Apply suggested fix to modules/genericAnalyticsAdapter.ts from Copilot Autofix

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>

* Simplify gvlid function parameter type

---------

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>

* IntimateMerger Analytics Adapter : fix cache (#14990)

* IntimateMerger Analytics Adapter : fix cache

* IntimateMerger Analytics Adapter : delete old auction

* IntimateMerger Analytics Adapter : fix comment

* Adloox and human rtd:  place preloads behind activity control (#15263)

* Core: add preloadExternalScript utility

* fix tests

* allow scripts to be loaded if allowed after deny

* remove unused imports

* IAS RTD Provider: add ias-qc custom field mapping (#15246)

* IAS RTD Provider: expose ias-qc from custom targeting data.

Mirror the existing ias-kw handling so IAS quality-control values in the
API custom object are available via getTargetingData().

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

* update tests

---------

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

* Update storage disclosure guidelines in pr reviews (#15266)

* Update storage disclosure guidelines in AGENTS.md

Clarify guidelines for storage disclosures and metadata editing.

* Enhance PR review guidelines for storage compliance

Added guidelines for storage use and device disclosure in PR review.

* Update AGENTS.md

* bidResponseFilter: declaring disallowed values/filters in module config (#15228)

* bidResponseFilter: inline filters

* 2-phase validation

---------

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

* Start.io: test mode, placementId, prebid v. added to Bid Adapter   (#15179)

* Start.io - Create User ID submodule and improve adapter

* Update modules/startioIdSystem.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Fix: Adjust spacing formatting in getStorageManager parameters

* Fix: Adjust spacing formatting in getStorageManager parameters (#2)

* Refactor: Remove unused storage management logic from StartIO ID module and set default storage expiration

* Refactor: Remove unused storage management logic from StartIO ID module and set default storage expiration

* Enhance: Add configurable storage options and expiration to StartIO ID module

* Docs: Update StartIO ID module documentation with storage configuration details

* Docs: Update StartIO ID module documentation with storage configuration details

* Docs: Add build instructions and module details to Start.io ID system file (#4)

* Docs: Add build instructions and module details to Start.io ID system documentation (#5)

* Apply suggestion from @IlliaMil

* Enable credentials in StartIO bid adapter requests (#6)

* Enhance: Add support for test ads and dynamic endpoint configuration in StartIO Bid Adapter

* Refactor: Simplify testAdsEnabled logic by appending query param to the production endpoint

* Enhance: Advertise Prebid channel name and version in StartIO Bid Adapter requests

* test param replaced with testAdsEnabled

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Please provide the `[Diff]` or describe the code changes to generate an accurate commit message.

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Matan Arbel <matan.arbel@start.io>

* Revert "TTD Bid Adapter: configurable endpointCompression support (#15233)" (#15269)

This reverts commit 69284e9398bb184e3c294acd43879b0ce1a4b51d.

* Bump @babel/helper-validator-option from 7.27.1 to 7.29.7 (#15283)

Bumps [@babel/helper-validator-option](https://github.com/babel/babel/tree/HEAD/packages/babel-helper-validator-option) 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-helper-validator-option)

---
updated-dependencies:
- dependency-name: "@babel/helper-validator-option"
  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 actions/cache from 5 to 6 (#15270)

Bumps [actions/cache](https://github.com/actions/cache) from 5 to 6.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/cache
  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>

* Prebid 11.22.0 release

* Increment version to 11.23.0-pre

* Bump actions/checkout from 6 to 7 (#15271)

* 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](https://github.com/actions/checkout/compare/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>

* CI: warn about naming convention violations in PRs (#15306)

* 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

* OneTag Bid Adapter: report bid timeouts (#15305)

* OneTag Bid Adapter: add onTimeout reporting

* Refactor OneTag Bid Adapter: separate ajax dependency for improved testability

---------

Co-authored-by: Diego Tomba <d.tomba@onetag.com>

* Tcf control module: fix TypeError: Cannot read properties of undefined (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

* JJTech Bid Adapter: new banner bid adapter (#15312)

* JJTech bid adapter: skeleton with spec shape

* JJTech bid adapter: validate placementId param

* JJTech bid adapter: ORTB request with imp.ext.jjtech.placementId

* JJTech bid adapter: interpret ORTB banner responses

* JJTech bid adapter: lock in empty user syncs; lint and coverage clean

* JJTech bid adapter: assert converter return shape directly in tests

* JJTech bid adapter: module documentation

* JJTech bid adapter: target live PBS endpoint via stored request ids

Backend went live as a stock Prebid Server at prebid-server.jambojar-tech.com
(note -tech) rather than the originally designed jambojar.com domain. It
rejects imp.ext.prebid.bidder.jjtech as an unknown bidder but supports
stored-imp lookup via imp.ext.prebid.storedrequest.id, so the adapter now
transmits the placementId param through that path instead of
ext.jjtech.placementId.

* JJTech bid adapter: restrict converter to banner media

Mixed banner+video ad units are still routed to this banner-only adapter
by core; without context.mediaType the default ORTB processors populated
imp.video and would accept a video mtype response. Pin the converter
context to banner and cover it with a mixed-media test.

---------

Co-authored-by: Bhavin Patolia <bhavin@torcai.com>

* Cadent Aperture MX Bid Adapter: migrate endpoints to ssp.cadent.com (#20) (#15316)

Update bid, user sync, and outstream renderer URLs from legacy brealtime/emxdgt domains to Cadent SSP infrastructure.

* Mediago Bid Adapter:adapter upgrade to support native ad (#15298)

* Mediago Bid Adapter :  add param publisherid

* Mediago Bid Adapter : add param publisherid

* Mediago Bid Adapter : add param publisherid

* Mediago Bid Adapter : add param publisherid

* Mediago Bid Adapter : add param publisherid

* Mediago Bid Adapter : add param publisherid

* Mediago Bid Adapter : add param publisherid

* Mediago Bid Adapter : add param publisherid

* Mediago Bid Adapter : add param publisherid

* Mediago Bid Adapter : add param publisherid

* Mediago Bid Adapter : add param publisherid

* Mediago Bid Adapter : add param publisherid

* Mediago Bid Adapter : add param publisherid

* Mediago Bid Adapter : add param publisherid

* Mediago Bid Adapter : add param publisherid

* Mediago/Discovery Bid Adapter:remove request.{}.userID

* Mediago Bid Adapter:remove request.{}.userID

* Mediago Bid Adapter:remove request.{}.userID

* Mediago Bid Adapter:remove request.{}.userID

* Mediago Bid Adapter:udpate banenr.format param key,match ortb

* Mediago Bid Adapter:udpate banenr.format param key,match ortb

* Mediago Bid Adapter:udpate banenr.format param key,match ortb

* Mediago Bid Adapter:udpate banenr.format param key,match ortb

* Mediago Bid Adapter : Compatible parameter gbid data types

* Mediago Bid Adapter:adapter upgrade to support native ad

* Mediago Bid Adapter:adapter upgrade to support native ad

* Mediago Bid Adapter: Adjust the support sequence of banner and native

* Dependabot target: bump babel plugins (#15289)

* 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>

* Adtrgtme Bid Adapter: add Video & Native support, migrate to ortbConverter (#15259)

* adtrgtme bid adapter

Bugfix, add params.zid as placement ident

* #12580 add fixes

add ortb2.device.ip
remove deepAccess
refactor site object
refactor user sync

* Fix linter

* set isBidRequestValid

* Adtrgtme Bid Adapter: add Video & Native support, migrate to ortbConverter

* Adtrgtme Bid Adapter: preserve response currency, infer video mtype from imp

* adtrgtmeBidAdapter.d.ts

* Adtrgtme Bid Adapter: add param types and address review feedback

* Adplus Adapters: expand payload fields and normalize IDs (#15323)

* Adplus Adapters: expand payload fields and normalize IDs

* Fixed codex issues

* Equativ Bid Adapter: skip invalid bid requests and address review comments (#15322)

* fix(equativBidAdapter): skip invalid bid requests before sending to SSB

Per WR-1983, callerId=169 was generating ~2,200 invalid model errors
and ~50 null body errors per 24h in SSB.

Root causes:
- imp[] could be empty when all impressions were filtered by
  prepareSplitImps (e.g. no recognised media type after floor grouping,
  or when a feature flag disables the relevant processor)
- request id could be absent if bidderRequest.auctionId was missing
- POST body could be null if converter.toORTB returned nothing

Fix: add three guards in buildRequests after converter.toORTB:
1. Skip bid if data is null/undefined (null body)
2. Skip bid if data.id is falsy (missing required oRTB id field)
3. Skip bid if data.imp is empty (no valid impressions)

Each guard logs a warning and omits the request rather than sending
an invalid oRTB payload to SSB.

Also fix pre-existing test issues exposed by the new guards:
- ortb2 publisher-id tests used  which caused the
  imp hook to throw (destructuring undefined); use  instead
- video missing-properties test was not guarded by FEATURES.VIDEO;
  with video disabled the imp is not built so the guard fires
- native missing-assets test callCount updated from 4 to 5 to account
  for the guard warn (native processor skips imps with no assets,
  leaving imp[] empty)

* fix(equativBidAdapter): address PR review comments

- Log bid.bidId instead of full bid object in skip warnings (avoids
  exposing sensitive request metadata in logs)
- Move per-bid isValid check before converter.toORTB to avoid
  module-level side effects (networkId, feedbackArray) for invalid bids
- Guard bidRequest.params destructure with || {} to handle undefined params
- Fix video properties test: use this.skip() when FEATURES.VIDEO is off
  and deepClone to avoid mutating the shared DEFAULT_VIDEO_BID_REQUESTS
- Replace manual sinon.stub().restore() with sandBox.stub() so cleanup
  is guaranteed in afterEach even when assertions throw
- Add test for mixed valid/invalid bid scenario

---------

Co-authored-by: teddypierre <teddy@sharethrough.com>
Co-authored-by: Sharethrough CI <ci-bot@sharethrough.com>

* Core: escape user sync iframe URL in HTML (#15047)

* 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>

* CI: check for and warn about possible missing polyfills  (#15268)

* 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

* PBS Adapter: Host company vendor consent check (#15136)

* 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>

* Update AGENTS.md (#15310)

* Prebid 11.23.0 release

* Increment version to 11.24.0-pre

* Core: fix superfluous test arguments (#15245)

* Core: remove deprecated istanbul dependency (#15330)

* Utils: code quality nitpicks (#15332)

* Apply suggested fix to src/utils.js from Copilot Autofix

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>

* Apply suggested fix to src/utils.js from Copilot Autofix

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>

* Apply suggested fix to src/utils.js from Copilot Autofix

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>

* Apply suggested fix to src/utils.js from Copilot Autofix

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>

* Apply suggested fix to src/utils.js from Copilot Autofix

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>

---------

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>

* tests: adapter manager code quality findings (#15336)

* Apply suggested fix to test/spec/unit/core/adapterManager_spec.js from Copilot Autofix

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>

* Apply suggested fix to test/spec/unit/core/adapterManager_spec.js from Copilot Autofix

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>

* Apply suggested fix to test/spec/unit/core/adapterManager_spec.js from Copilot Autofix

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>

* Apply suggested fix to test/spec/unit/core/adapterManager_spec.js from Copilot Autofix

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>

* Apply suggested fix to test/spec/unit/core/adapterManager_spec.js from Copilot Autofix

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>

---------

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>

* CI: update workflows that comment on PRs to update a single comment (#15344)

* CI: update workflows that comment on PRs to update a single comment

* fetch 100 comments

* CI: fix e2e tests on older Chrome versions (#15342)

* CI: fix e2e tests on older Chrome versions

* try letting wdio fetch a specific chrome version

* remove chrome 113 from e2e tests altogether

* revert wdio conf change

* CI: fix incorrect diff base in some workflows (#15340)

* CI: fix incorrect diff base in some workflows

* fetch base ref

* fix syntax

* remove unncessary fallback

* revert to fetch-depth 0

* Bump morgan from 1.10.1 to 1.11.0 (#15346)

Bumps [morgan](https://github.com/expressjs/morgan) from 1.10.1 to 1.11.0.
- [Release notes](https://github.com/expressjs/morgan/releases)
- [Changelog](https://github.com/expressjs/morgan/blob/master/HISTORY.md)
- [Commits](https://github.com/expressjs/morgan/compare/1.10.1...1.11.0)

---
updated-dependencies:
- dependency-name: morgan
  dependency-version: 1.11.0
  dependency-type: direct:development
...

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

* Core: bump webpack (#15334)

* New Adapter: MediaGo Technology LLC Bid Adapter (#15301)

* Mediago Bid Adapter :  add param publisherid

* Mediago Bid Adapter : add param publisherid

* Mediago Bid Adapter : add param publisherid

* Mediago Bid Adapter : add param publisherid

* Mediago Bid Adapter : add param publisherid

* Mediago Bid Adapter : add param publisherid

* Mediago Bid Adapter : add param publisherid

* Mediago Bid Adapter : add param publisherid

* Mediago Bid Adapter : add param publisherid

* Mediago Bid Adapter : add param publisherid

* Mediago Bid Adapter : add param publisherid

* Mediago Bid Adapter : add param publisherid

* Mediago Bid Adapter : add param publisherid

* Mediago Bid Adapter : add param publisherid

* Mediago Bid Adapter : add param publisherid

* Mediago/Discovery Bid Adapter:remove request.{}.userID

* Mediago Bid Adapter:remove request.{}.userID

* Mediago Bid Adapter:remove request.{}.userID

* Mediago Bid Adapter:remove request.{}.userID

* Mediago Bid Adapter:udpate banenr.format param key,match ortb

* Mediago Bid Adapter:udpate banenr.format param key,match ortb

* Mediago Bid Adapter:udpate banenr.format param key,match ortb

* Mediago Bid Adapter:udpate banenr.format param key,match ortb

* Mediago Bid Adapter : Compatible parameter gbid data types

* Mediago Bid Adapter:adapter upgrade to support native ad

* Mediago Bid Adapter:adapter upgrade to support native ad

* New Adapter: MediaGo Technology LLC Bid Adapter

* New Adapter: update adapter from js to ts

* New Adapter: MediaGo Technology LLC Bid Adapter

* Revert unrelated mediagoBidAdapter changes from branch

Restore mediagoBidAdapter.js and its spec to upstream master
to keep this PR scoped to mediagoTechnology adapter only.

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

* Rename bidder code from mediagoTechnology to mgtechnology

Comply with Prebid bidder code rules: lowercase only, first 6
characters must be unique across all bidders. Also removes the
deprecated getPmgUID cookie logic.

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

* New Adapter: MediaGo Technology LLC Bid Adapter. Use the alias method

* New Adapter: MediaGo Technology LLC Bid Adapter. Use the alias method

* Remove getEidUid function from mediagoBidAdapter

Removed the getEidUid function that extracted uid from eids array.

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Patrick McCann <patmmccann@gmail.com>
Co-authored-by: Patrick McCann <pmccann@cafemedia.com>

* fix undefined bidfloor (#15347)

* Prebid 11.24.0 release

* Increment version to 11.25.0-pre

* gamAdserverVideo: fix array encoding of cust_params (#15358)

* gamAdserverVideo: fix array encoding of cust_params

* lint

* Equativ Bid Adapter: add placementuuid param and forward all inventory fields (#15353)

* Equativ Bid Adapter: add placementuuid param, deprecate site/page/format

Add a placementuuid bidder parameter forwarded in imp.ext.bidder. When
provided it takes precedence over the now-deprecated siteId, pageId and
formatId parameters, which are kept to support the inventory-structure
ramp-up. Adds TypeScript types and docs marking the legacy params as
deprecated, plus unit tests for passthrough and precedence.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* Equativ Bid Adapter: map placementuuid to plcmtuuid

* Equativ Bid Adapter: forward all inventory fields

* Update Equativ Bid Adapter to enhance parameter handling for placementuuid

---------

Co-authored-by: Shuhao <shuhao.qgg.zhang@gmail.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: Jérémie St-Pierre Robitaille <jeremiesrobitaille@gmail.com>
Co-authored-by: Shuhao Zhang <szhang@equativ.com>
Co-authored-by: Teddy Pierre <33702256+pierreted90@users.noreply.github.com>

* Core: fix bug with styling of usersync iframes (#15362)

* Bump websocket-driver from 0.7.4 to 0.7.5 (#15364)

Bumps [websocket-driver](https://github.com/faye/websocket-driver-node) from 0.7.4 to 0.7.5.
- [Changelog](https://github.com/faye/websocket-driver-node/blob/main/CHANGELOG.md)
- [Commits](https://github.com/faye/websocket-driver-node/compare/0.7.4...0.7.5)

---
updated-dependencies:
- dependency-name: websocket-driver
  dependency-version: 0.7.5
  dependency-type: indirect
...

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

* Build system: bump wdio-browserstack-service (#15366)

* Core: fix rendering bug with GAME_MANUAL_INTERSTITIAL on mobile (#15363)

* Core: fix rendering bug with GAME_MANUAL_INTERSTITIAL on mobile

* use more specific heuristics to apply fix

* lint

* OCM Bid Adapter: add bidder adapter, docs and tests (#15324)

* OCM Bid Adapter: add bidder adapter, docs and tests

Add the OCM (Orange Click Media) bid adapter for Prebid.js submission,
ported from the OCM prebid fork. The adapter supports Banner, Video
(instream + outstream) and Native media types via the ORTB converter,
resolves demand from an OCM Prebid Server stored request, attaches an
outstream video renderer (OCM Video Player) loaded through Prebid's
Renderer, registers PBS win/impression event trackers, and performs
iframe-based user syncing through a POST-capable cookie_sync loader.

Includes:
- modules/ocmBidAdapter.js      the adapter (spec + registerBidder)
- modules/ocmBidAdapter.md      module docs, params and test parameters
- test/spec/modules/ocmBidAdapter_spec.js  unit tests (47 tests)

Prepared for upstream submission: dropped a dead variable initializer
that tripped the stricter no-useless-assignment lint rule. gulp lint is
clean and gulp test passes in both the default and all-features-disabled
build variants.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LsKJSstjJ7NytyjHHM5MTn

* OCM Bid Adapter: keep OCM renderer for options-only override

shouldAttachRenderer treated any mediaTypes.video.renderer object as a
publisher-supplied renderer and skipped the OCM outstream renderer when
it was not flagged backupOnly. That is wrong for the adapter's own
documented override shape (mediaTypes.video.renderer.options), an
options-only holder with no url/render: Prebid core's
isRendererPreferredFromAdUnit only prefers an ad-unit/mediaType renderer
that defines BOTH url and render, so such a bid was left with no renderer
at all and could not display.

Only defer to a real publisher renderer (url + render, not backupOnly);
an options-only holder now correctly keeps the OCM renderer with the
publisher's options merged into the player config. Add regression tests
for the options-only override and the backupOnly cases (49 tests, passing
in both the default and all-features-disabled builds; gulp lint clean).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LsKJSstjJ7NytyjHHM5MTn

* OCM Bid Adapter: use live test params in banner test example

Populate the banner Test Parameters example with a working OCM
publisher/placement so reviewers can exercise a real test bid through the
OCM Prebid Server endpoint during submission review.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LsKJSstjJ7NytyjHHM5MTn

* OCM Bid Adapter: address review feedback (sync policy, sync account, param types)

Follow-up to the automated (codex) and reviewer feedback on the OCM adapter PR:

- getUserSyncs now forwards the authorised sync policy to the cookie_sync loader:
  a `filter` of the allowed sync types (iframe always; image only when
  pixelEnabled) plus `coopSync=0`. Previously the loader received only bidders +
  limit, so PBS-returned image/redirect syncs (when only iframe was enabled) or
  cooperatively-synced bidders the publisher never authorised could still fire
  from inside the hidden loader iframe.
- The cookie_sync `account` is now derived solely from the auction's echoed
  ext.account rather than a shared module-level scalar captured in buildRequests.
  The scalar was overwritten by any overlapping OCM auction (or second pbjs
  instance), leaking one publisher's account into another auction's sync. Removed
  the mutable syncAccount entirely.
- Added modules/ocmBidAdapter.d.ts declaring OcmBidParams and augmenting the
  global BidderParams map for `ocm`, referenced from the adapter via a JSDoc
  import typedef (matching the yandex/vidazoo .d.ts convention), so the adapter's
  public bid params are typed for the TS migration.
- Updated the spec and ocmBidAdapter.md to match.

gulp lint: clean. gulp test --file test/spec/modules/ocmBidAdapter_spec.js:
51 tests passing. tsc --noEmit: clean.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01M5ucxTBsRwQoH8DnEvLBxJ

* tweak docs

* test(ocm): Add comprehensive isBidRequestValid tests for native bids

* feat(ocm): Improve outstream renderer robustness and logging

---------

Co-authored-by: Claude <noreply@anthropic.com>

* New Bid Adapter : pinelake (#15080)

* New Bid Adapter : pinelake

* solved linter error

* changed content type

* changed content type in pinelakeBidAdapter_spec.js

* changed from application/json to text/plain in spec files for adapter which are using audUtils/bidderUtils common lib

* Cortex Bid Adapter: add region routing by timezone (#15229)

Route requests to regional endpoints (eu / us-east / apac) based on the
browser timezone, following the same pattern as the screencore adapter.
Export createDomain for testability and type buildRequests against the
BidderSpec contract.

Co-authored-by: Cortex Dev <dev@cortexch.it>

* Aso Bid Adapter: Added GVL IDs, code clean up (#15370)

* Obsolete code related to consents is removed

* GVL IDs are added

* Pinelake Bid Adapter: fix lint errors (#15371)

* Prebid 11.25.0 release

* Increment version to 11.26.0-pre

* Bump axios from 1.16.0 to 1.18.1 (#15372)

Bumps [axios](https://github.com/axios/axios) from 1.16.0 to 1.18.1.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.16.0...v1.18.1)

---
updated-dependencies:
- dependency-name: axios
  dependency-version: 1.18.1
  dependency-type: indirect
...

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

* Bump fast-xml-parser from 5.9.3 to 5.10.1 (#15378)

Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) from 5.9.3 to 5.10.1.
- [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases)
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/NaturalIntelligence/fast-xml-parser/compare/v5.9.3...v5.10.1)

---
updated-dependencies:
- dependency-name: fast-xml-parser
  dependency-version: 5.10.1
  dependency-type: indirect
...

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

* Bump fast-uri from 3.1.2 to 3.1.4 (#15376)

Bumps [fast-uri](https://github.com/fastify/fast-uri) from 3.1.2 to 3.1.4.
- [Release notes](https://github.com/fastify/fast-uri/releases)
- [Commits](https://github.com/fastify/fast-uri/compare/v3.1.2...v3.1.4)

---
updated-dependencies:
- dependency-name: fast-uri
  dependency-version: 3.1.4
  dependency-type: indirect
...

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

* Bump body-parser…
steffenmllr pushed a commit to mllrsohn/Prebid.js that referenced this pull request Sep 28, 2026
* Core: catch implicit operand conversions

* Core: catch implicit operand conversions

### Motivation
- A code scan flagged implicit operand conversion patterns (negation used directly in relational comparisons and function/undefined identifiers interpolated into template literals) that can lead to incorrect behavior due to JS coercion.
- Prevent regressions by adding a static lint rule to catch these patterns at authoring time.
- Fix the three existing occurrences discovered by the scan so tests remain green.

### Description
- Add a new ESLint rule `prebid/no-implicit-operand-conversion` in `plugins/eslint/index.js` that reports negated operands used in relational `BinaryExpression`s and identifiers that reference functions or `undefined` when used inside `TemplateLiteral` expressions.
- Enable the new rule in `eslint.config.js` for the source folders using `prebid/no-implicit-operand-conversion: 'error'`.
- Apply three code fixes: replace the undefined template interpolation with an explicit URL generator call in `test/spec/modules/imuIdSystem_spec.js` (`callImuidApi(getApiUrl(5126))`), change `if (!config?.params?.groupId?.length > 0)` to `if (!(config?.params?.groupId?.length > 0))` in `modules/qortexRtdProvider.js`, and change `!et.methods.length > 0` to `et.methods.length <= 0` in `modules/onetagBidAdapter.js`.

### Testing
- Ran `npx eslint modules/qortexRtdProvider.js modules/onetagBidAdapter.js test/spec/modules/imuIdSystem_spec.js --cache --cache-strategy content` and ESLint reported no remaining violations in the touched files.
- Verified the rule behavior with a quick `node - <<'NODE' ... NODE` ESLint snippet check to assert the new rule flags the targeted patterns as expected.
- Ran unit tests for the affected specs with `npx gulp test --nolint --file` and the runs completed successfully: `imuIdSystem_spec.js` (21 tests), `qortexRtdProvider_spec.js` (20 tests), and `onetagBidAdapter_spec.js` (63 tests).

* Core: stop flagging template string conversions (prebid#15198)

* remove duplication

---------

Co-authored-by: Demetrio Girardi <dgirardi@prebid.org>
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.

1 participant