GeezerVison is showing github.com — refactor(module)!: require Gson without re-exporting it by dargmuesli · Pull Request #494 · spotify-web-api-java/spotify-web-api-java
Conversation
dargmuesli
commented
Nov 5, 2026
•
edited
Loading
Uh oh!
There was an error while loading. Please reload this page.
The last remaining item from #461.
With #487 (request bodies take List/Map) and #493 (the JsonUtil classes and PlaylistItemFactory removed), no public signature takes or returns a Gson type anymore. Gson is now used only internally and through @SerializedName on private model fields. So module-info.java declares it as requires com.google.gson instead of requires transitive. The opens … to com.google.gson lines stay, since Gson still reads the model fields reflectively.
Who is affected: only a module that uses Gson itself without declaring requires com.google.gson, because until now it got Gson through this library. Gson stays a regular Maven dependency, so nothing changes for classpath users or for dependency resolution. MIGRATION.md has a short "Java modules" note under 11.0.0.
Verification (local):
- 426 tests pass.
- The examples module still compiles. It is its own JPMS module and doesn't use Gson, so it confirms nothing public still needed the re-export.
- Javadoc and
ci/check-docs.py pass.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
codecov
Bot
commented
Nov 5, 2026
•
edited
Loading
Uh oh!
There was an error while loading. Please reload this page.
|
✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 37.10%. Comparing base (ee9c365) to head (dcc5dd8).
Additional details and impacted files
@@ Coverage Diff @@
## beta #494 +/- ##
=========================================
Coverage 37.10% 37.10%
Complexity 509 509
=========================================
Files 106 106
Lines 4282 4282
Branches 196 196
=========================================
Hits 1589 1589
Misses 2603 2603
Partials 90 90
☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.
🚀 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.
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
With the JsonUtil classes removed and request bodies taking List and Map, no
public signature takes or returns a Gson type anymore, so callers no longer
need to read Gson through this module. Gson stays a regular Maven
dependency; only a module that uses Gson itself without requiring it has to
add its own requires.
Refs #461
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Assignees
No one assigned
Milestone
No milestone
Development
Successfully merging this pull request may close these issues.
Uh oh!
There was an error while loading. Please reload this page.
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.