Skip to content

Sync with upstream prebid-server v4.9.0 - #137

Merged
fushouli merged 274 commits into
msp-2506from
sync-upstream-v4.9.0
Sep 23, 2026
Merged

fushouli merged 274 commits into
msp-2506from
sync-upstream-v4.9.0

Conversation

@zwl-williamzha

Copy link
Copy Markdown

Important

Merge with "Create a merge commit", not squash. This PR is a two-parent merge, and squashing it throws away the upstream ancestry again. That is exactly why this sync was hard: #109 was squashed, so the next sync would hit the same 225 conflicts.

Don't merge until the matching MSP PR is ready. MSP doesn't pick this up until its submodule pointer moves, and that PR has to move the pointer, switch every import to /v4, and port the modules to the new ModuleContext API at the same time. Moving the pointer alone breaks the build.

What this does

Merges upstream v4.9.0 (2026-08-25) into msp-2506. We were 137 upstream commits behind: the last sync (#109, Dec 2025) stopped at upstream f358e2472 (prebid#4085).

Because #109 was squash-merged, git no longer knew those 135 upstream commits were already in, so a straight merge conflicted on 225 files, most of them add/add on upstream's own adapters. The first commit fixes that: an -s ours merge of f358e2472 that records the ancestry without changing the tree. After it, the real merge conflicts on only 8 files. Before relying on that, I checked that #109 contains upstream's first 135 commits in order with none missing, so the ours merge doesn't drop anything.

Conflicts and how they were resolved

File Resolution
go.mod / go.sum Upstream versions, plus MSP's pyroscope-go/godeltaprof (and klauspost/compress, indirect)
config/config.go Upstream's struct (adds Video, CookieSync), with MSPMetricsConfig kept
server/server.go Upstream /v4 imports, with the msp/plugin import kept
router/admin.go Upstream /v4 imports, with the godeltaprof pprof handler kept
metrics/prometheus/preload.go MSP's version, so the #134 preload removal stays, with /v4 imports
static/bidder-info/thetradedesk.yaml Both: upstream's openrtb.version: 2.6 and MSP's endpointCompression: GZIP
.github/workflows/adapter-code-coverage.yml Stays deleted, as on msp-2506

Three MSP-only files that didn't conflict (exchange/msp_bidders.go, modules/msp_plugin.go, analytics/build/msp_plugin.go) had their imports changed from /v3 to /v4.

After the merge, the same 47 files differ from upstream as before the merge, and each of MSP's changes has the same line counts. The only exceptions are the resolutions above.

Worth knowing

Testing

  • go build ./... and go vet ./... are clean.
  • ./validate.sh --nofmt --cov --race 10: 710 packages pass, 0 fail.
  • Against the matching MSP branch (imports on /v4, modules ported to the new ModuleContext):
    • All 26 plugins build with make plugins.
    • MSP's unit tests match master: 16 packages pass, and the same 6 pre-existing failures fail on master too.
    • go version -m shows every dependency shared by the server binary and each .so at the identical version (go1.26.8).
    • plugin.Open loads all 26 .so files from a binary built in this module.

Not yet run: e2e against a live local server, and stage.

🤖 Generated with Claude Code

pm-nikhil-vaidya and others added 30 commits July 15, 2025 23:13
…ebid#4402)

Co-authored-by: nlesommer <nlesommer@equativ.com>
Co-authored-by: gtodeschi <gregoire.todeschi@gmail.com>
Co-authored-by: Jordi Arnau <jarnau@tappx.com>
Co-authored-by: Godefroi Roussel <groussel@adagio.io>
Co-authored-by: gmiedlar-ox <gabriela.miedlar@openx.com>
Co-authored-by: Tomas Koutny <tomas@blis.com>
* Adding request throttling to bidder requests

* Add latency health

* Adds new config options, metrics, and fixes

* Set default window to 1000 and fix error type typo

* Addresses PR comments

* More PR feedback

* Proper handling of the atomic uint in tests
Co-authored-by: anna-y-perion <annay@perion.com>
justadreamer and others added 24 commits August 6, 2026 11:08
Co-authored-by: legendko <legend.ko@hotmail.com>
Co-authored-by: 152media <info@152media.com>
Co-authored-by: oleksandr <oleksandr@assertive.ai>
Co-authored-by: Milica <110067445+GMilica@users.noreply.github.com>
Co-authored-by: Cortex Dev <dev@cortexch.it>
Co-authored-by: And-Rud <andrii@xe.works>
Co-authored-by: Reklamup <support@reklamup.com>
Co-authored-by: Vitalii Sumlennyi <vitalii.sumlennyi@teqblaze.com>
Merges upstream v4.9.0 (2026-08-25) into msp-2506. The previous sync
(#109) was squash-merged, so git lost track of the 135 upstream commits
it brought in (through f358e24, prebid#4085). The first parent here records
that ancestry with a no-op "ours" merge, which cuts the real conflicts
from 225 files to 8.

- Module path is now github.com/prebid/prebid-server/v4; MSP-only files
  (msp_bidders.go, modules/msp_plugin.go, analytics/build/msp_plugin.go)
  are rewritten to match.
- golang.org/x/crypto v0.52.0 and buger/jsonparser v1.1.2 come with
  upstream, which closes the Dependabot alerts on both modules.
- go directive is now 1.25.0.
- Conflicts resolved to keep MSP's changes: msp_metrics config, the
  godeltaprof pprof handler, the msp plugin hook in server.go, the
  preload removal (#134), GZIP compression for thetradedesk, and the
  deleted adapter-code-coverage workflow.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@fushouli
fushouli merged commit 5c78805 into msp-2506 Sep 23, 2026
1 check passed
@fushouli
fushouli deleted the sync-upstream-v4.9.0 branch September 23, 2026 20:58
fushouli pushed a commit that referenced this pull request Sep 28, 2026
Reverts #137 and #138, which fixed a v4-only regression in the module
context code #137 brought in and does not apply without it. The tree is
identical to ad5ae87 (#135), the last commit before the sync.

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.