Repository navigation
Sync with upstream prebid-server v4.9.0 - #137
Merged
Merged
Conversation
…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>
Co-authored-by: legendko <legend.ko@hotmail.com>
…id#4772) Co-authored-by: oleksandr <oleksandr@assertive.ai>
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
approved these changes
Sep 23, 2026
This was referenced Sep 23, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 newModuleContextAPI 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 upstreamf358e2472(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 oursmerge off358e2472that 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 theoursmerge doesn't drop anything.Conflicts and how they were resolved
go.mod/go.sumpyroscope-go/godeltaprof(andklauspost/compress, indirect)config/config.goVideo,CookieSync), withMSPMetricsConfigkeptserver/server.go/v4imports, with themsp/pluginimport keptrouter/admin.go/v4imports, with the godeltaprof pprof handler keptmetrics/prometheus/preload.go/v4importsstatic/bidder-info/thetradedesk.yamlopenrtb.version: 2.6and MSP'sendpointCompression: GZIP.github/workflows/adapter-code-coverage.ymlmsp-2506Three 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/v3to/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
golang.org/x/crypto v0.52.0andbuger/jsonparser v1.1.2, which closes the 16 MSP Dependabot alerts on those modules (ParticleMedia/msp alerts Add bid cpm summary metric #7–Fix vrtcal bid floor #9, Merge with release 0.136.0 #12–custom targeting #24).github.com/prebid/prebid-server/v4, and thegodirective is 1.25.0.hookstage.ModuleContextis now a mutex-protected struct withGet/Set(Modules: Concurrency module context fix prebid/prebid-server#4603), not amap[string]any. The executor still merges each stage's returned context into the stored one, so MSP's "fresh context per stage" pattern still works; only the call syntax changes.supportCorsuser-sync option. None of them are MSP bidders.Testing
go build ./...andgo vet ./...are clean../validate.sh --nofmt --cov --race 10: 710 packages pass, 0 fail./v4, modules ported to the newModuleContext):make plugins.go version -mshows every dependency shared by the server binary and each.soat the identical version (go1.26.8).plugin.Openloads all 26.sofiles from a binary built in this module.Not yet run: e2e against a live local server, and stage.
🤖 Generated with Claude Code