Skip to content

Conversation

@lhotari
Copy link
Member

@lhotari lhotari commented Dec 5, 2025

Motivation

The jjwt library version is very old and outdated. It's better to make changes in Pulsar so that the recent version of the library could be used.

Modifications

  • upgrade jjwt (jsonwebtoken) library from 0.11.1 to 0.13.0 version
  • make changes to adapt to breaking changes in jjwt library
  • since the library has breaking changes, it's better to not cherry-pick this change to maintenance branches
  • another breaking change is that MultiRolesTokenAuthorizationProvider cannot use "sub" for multiple roles since the newer jjwt library validates that the token conforms to the JWT spec. The spec doesn't allow a list for "sub". The default property has been changed from "sub" to "roles".

Documentation

  • doc
  • doc-required
  • doc-not-needed
  • doc-complete

@lhotari lhotari added this to the 4.2.0 milestone Dec 5, 2025
@lhotari lhotari self-assigned this Dec 5, 2025
@github-actions github-actions bot added the doc-not-needed Your PR changes do not impact docs label Dec 5, 2025
@codecov-commenter
Copy link

codecov-commenter commented Dec 5, 2025

Codecov Report

❌ Patch coverage is 82.60870% with 4 lines in your changes missing coverage. Please review.
✅ Project coverage is 74.33%. Comparing base (9d8bf60) to head (af88c94).
⚠️ Report is 2 commits behind head on master.

Files with missing lines Patch % Lines
...rization/MultiRolesTokenAuthorizationProvider.java 86.66% 2 Missing ⚠️
...er/authentication/AuthenticationProviderToken.java 85.71% 0 Missing and 1 partial ⚠️
...pache/pulsar/utils/auth/tokens/TokensCliUtils.java 0.00% 1 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff              @@
##             master   #25043      +/-   ##
============================================
- Coverage     74.48%   74.33%   -0.16%     
+ Complexity    34174    33732     -442     
============================================
  Files          1921     1921              
  Lines        150380   150376       -4     
  Branches      17471    17469       -2     
============================================
- Hits         112009   111778     -231     
- Misses        29483    29690     +207     
- Partials       8888     8908      +20     
Flag Coverage Δ
inttests 26.26% <0.00%> (-0.46%) ⬇️
systests 22.88% <0.00%> (-0.09%) ⬇️
unittests 73.85% <82.60%> (-0.16%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
...er/authentication/AuthenticationProviderToken.java 92.07% <85.71%> (+1.16%) ⬆️
...pache/pulsar/utils/auth/tokens/TokensCliUtils.java 40.17% <0.00%> (ø)
...rization/MultiRolesTokenAuthorizationProvider.java 68.57% <86.66%> (+3.75%) ⬆️

... and 80 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@Technoboy- Technoboy- merged commit 270120c into apache:master Dec 9, 2025
99 of 105 checks passed
lhotari added a commit that referenced this pull request Jan 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

doc-not-needed Your PR changes do not impact docs ready-to-test

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants