Skip to content

Support new PaperMC versioning scheme in VersionUtil#6480

Merged
JRoy merged 7 commits into2.xfrom
fix/paper-version
Apr 4, 2026
Merged

Support new PaperMC versioning scheme in VersionUtil#6480
JRoy merged 7 commits into2.xfrom
fix/paper-version

Conversation

@JasonHorkles
Copy link
Copy Markdown
Contributor

@JasonHorkles JasonHorkles commented Apr 4, 2026

ThioJoe is waiting!
Re #6479

Copilot AI and others added 7 commits April 3, 2026 23:19
Add equalsBaseVersion() method to BukkitVersion to match development
builds against their target release version. Update getServerSupportStatus()
to recognize dev variants of supported versions as supported rather than
marking them as OUTDATED.

Fix toString() to use dash-separated format for pre-release and RC
numbers, matching the new PaperMC versioning style.

Agent-Logs-Url: https://github.com/EssentialsX/Essentials/sessions/8d15d863-4ca0-479c-a121-81912059f3b4

Co-authored-by: JRoy <10731363+JRoy@users.noreply.github.com>
….8-alpha)

Update VERSION_PATTERN to parse Paper's .build.N-label suffix that
appears after Mojang version specifiers. Add paperBuild field to
BukkitVersion for comparing Paper development builds. The build label
(alpha/beta) is consumed by the regex but not stored.

Paper build metadata is included in equals/hashCode/compareTo for exact
version differentiation, but ignored by equalsBaseVersion for support
status checks.

Agent-Logs-Url: https://github.com/EssentialsX/Essentials/sessions/f04913cd-7d68-4aec-b3ab-c3ef1fd947e2

Co-authored-by: JRoy <10731363+JRoy@users.noreply.github.com>
Paper's new versioning scheme doesn't include the Bukkit revision suffix
(-R0.1-SNAPSHOT). Update equalsBaseVersion() to ignore revision since
it's Bukkit metadata, not part of the game version. Update
isSupportedVersion() to always check equalsBaseVersion (not just for dev
variants), so plain Paper versions like "26.1" match supported version
"26.1-R0.1-SNAPSHOT". Add tests for Paper-format strings without R0.1.

Agent-Logs-Url: https://github.com/EssentialsX/Essentials/sessions/89adf5ad-fb84-4bb0-8136-c3aec4457650

Co-authored-by: JRoy <10731363+JRoy@users.noreply.github.com>
Paper versions with .build.N-label suffix never include -R0.1-SNAPSHOT.
Remove tests that used the invalid combined format (e.g.
26.1-pre-3.build.5-alpha-R0.1-SNAPSHOT) and consolidate all Paper build
tests to use the real Paper format without R0.1-SNAPSHOT.

Agent-Logs-Url: https://github.com/EssentialsX/Essentials/sessions/96411169-9729-4f2b-8ca8-e4457e160f4f

Co-authored-by: JRoy <10731363+JRoy@users.noreply.github.com>
@JRoy JRoy self-requested a review April 4, 2026 04:06
@JRoy JRoy added this pull request to the merge queue Apr 4, 2026
Merged via the queue into 2.x with commit 5d535dc Apr 4, 2026
3 of 4 checks passed
@JRoy JRoy deleted the fix/paper-version branch April 4, 2026 04:14
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.

3 participants