Skip to content

[improve][build] Upgrade Jersey to 3.1.12 - #26347

Merged
nodece merged 1 commit into
apache:masterfrom
lhotari:lh-improve-jersey-3-1-12
Aug 18, 2026
Merged

nodece merged 1 commit into
apache:masterfrom
lhotari:lh-improve-jersey-3-1-12

Conversation

@lhotari

@lhotari lhotari commented Aug 17, 2026

Copy link
Copy Markdown
Member

Motivation

Jersey in the version catalog is at 3.1.10, while 3.1.12 is available. This picks up two patch
releases of the JAX-RS implementation used by the broker, proxy, websocket and admin client REST
layers.

Jersey 4.x is deliberately not taken here. Jersey 4 implements jakarta.ws.rs-api 4.0, which is
Jakarta EE 11. Pulsar's REST stack is currently aligned to Jakarta EE 10 — jetty-ee10 12.1.12 pins
jakarta.servlet-api 6.0.0, and the catalog pins jakarta.ws.rs-api 3.1.0 — so moving Jersey to 4.x
would force a Jakarta major version bump across the whole REST and servlet stack. That is a separate,
much larger change.

Modifications

  • gradle/libs.versions.toml: jersey 3.1.10 → 3.1.12.
  • Updated the Jersey jar names in the server and shell distribution LICENSE.bin.txt files.

All nine Jersey modules referenced in the catalog share the single jersey version reference, and
3.1.12 is published for every one of them (including jersey-container-servlet-core), so no
per-module version pin is needed.

Verifying this change

  • Make sure that the change passes the CI checks.

This change is a trivial rework / code cleanup without any test coverage.

Verified locally with:

  • ./gradlew sanityCheck — compiles every module's main and test sources
  • ./gradlew checkBinaryLicense — confirms the LICENSE entries match the jars actually bundled in
    the server and shell distributions

Does this pull request potentially affect one of the following parts:

  • Dependencies (add or upgrade a dependency)
  • The public API
  • The schema
  • The default values of configurations
  • The threading model
  • The binary protocol
  • The REST endpoints
  • The admin CLI options
  • The metrics
  • Anything that affects deployment

Upgrades Jersey from 3.1.10 to the latest 3.1.x patch release, 3.1.12.

Stays on the 3.1.x line deliberately: Jersey 4.x implements jakarta.ws.rs-api 4.0
(Jakarta EE 11), which would force a Jakarta major version bump and diverge from the
Jetty 12.1 ee10 environment that Pulsar targets.

All nine Jersey modules in the version catalog share the single 'jersey' version
reference, and 3.1.12 is published for every one of them, so no per-module pin is
needed.

Assisted-by: Claude Code (Opus 5)
@lhotari lhotari added the area/dependency Pull requests that update a dependency file label Aug 17, 2026
@lhotari lhotari added this to the 5.0.0-M2 milestone Aug 17, 2026
@nodece
nodece merged commit 6629b4b into apache:master Aug 18, 2026
51 of 53 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/dependency Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants