Skip to content

Update to JDK25#14057

Merged
Siedlerchr merged 82 commits into
mainfrom
just-jdk25
Jan 22, 2026
Merged

Update to JDK25#14057
Siedlerchr merged 82 commits into
mainfrom
just-jdk25

Conversation

@koppor

@koppor koppor commented Oct 9, 2025

Copy link
Copy Markdown
Member

User description

Actions

Fixes https://github.com/JabRef/jabref-issue-melting-pot/issues/536

Background

Relative of #13937. Here, we just update the JDK to version 25. Due to https://bugs.openjdk.org/browse/JDK-8358723, we need to wait for 25.0.2 - see also #13937 (comment)

Steps to test

  1. Download the build binary and start - check if its running
  2. Open this branch in the IDE and check if "run" works.

Mandatory checks

  • I own the copyright of the code submitted and I license it under the MIT license
  • I manually tested my changes in running JabRef (always required)
  • [/] I added JUnit tests for changes (if applicable)
  • I added screenshots in the PR description (if change is visible to the user)
  • I described the change in CHANGELOG.md in a way that is understandable for the average user (if change is visible to the user)
  • [/] I checked the user documentation: Is the information available and up to date? If not, I created an issue at https://github.com/JabRef/user-documentation/issues or, even better, I submitted a pull request updating file(s) in https://github.com/JabRef/user-documentation/tree/main/en.

PR Type

Enhancement


Description

  • Update Java version from 24 to 25 across all build configurations

  • Remove public modifier from main methods for JDK 25 compatibility

  • Improve macOS binary naming with architecture-specific suffixes (intel/silicon)

  • Add documentation notes explaining public main method requirements

  • Enhance workflow configuration and build process improvements


Diagram Walkthrough

flowchart LR
  A["JDK 24"] -- "upgrade" --> B["JDK 25"]
  B -- "update" --> C["Build Scripts"]
  B -- "update" --> D["Main Methods"]
  D -- "remove public" --> E["JDK 25 Compliance"]
  C -- "improve naming" --> F["macOS Binaries"]
  F -- "add suffixes" --> G["intel/silicon"]
Loading

File Walkthrough

Relevant files
Enhancement
19 files
CitationStyleCatalogGenerator.java
Update JDK version and remove public modifier                       
+2/-2     
CheckoutPR.java
Remove public modifier from main method                                   
+1/-1     
JournalListMvGenerator.java
Update JDK version and remove public modifier                       
+2/-2     
LtwaListMvGenerator.java
Update JDK version and remove public modifier                       
+2/-2     
CloneJabRef.java
Remove public modifier from main method                                   
+1/-1     
StyleTesterMain.java
Remove public modifier from main method                                   
+1/-1     
JabSrvLauncher.java
Update JDK version requirement to 25                                         
+1/-1     
JabKitLauncher.java
Update JDK version requirement to 25                                         
+1/-1     
JabLsLauncher.java
Update JDK version requirement to 25                                         
+1/-1     
Benchmarks.java
Remove public modifier from main method                                   
+1/-1     
Launcher.java
Remove public modifier from main method                                   
+1/-1     
binaries.yml
Improve macOS naming and workflow configuration                   
+50/-35 
tests-code.yml
Update JDK version and disable modernizer for JDK 25         
+5/-30   
org.jabref.gradle.feature.compile.gradle.kts
Update Java language version to 25                                             
+6/-7     
build.gradle.kts
Update macOS icon path and signing prefix                               
+2/-2     
action.yml
Update JDK version to 25                                                                 
+1/-1     
jitpack.yml
Update OpenJDK version to 25                                                         
+1/-1     
moderne.yml
Update selected JDK version to 25                                               
+1/-1     
.sdkmanrc
Update SDK manager Java version to 25                                       
+1/-1     
Documentation
7 files
ServerCli.java
Add documentation note for public main method                       
+2/-0     
JabKitLauncher.java
Add documentation note for public main method                       
+2/-0     
ServerCli.java
Add documentation note for public main method                       
+1/-0     
intellij-12-build.md
Update JDK version documentation to 25                                     
+4/-4     
README.md
Fix documentation formatting and clarity                                 
+3/-2     
CHANGELOG.md
Document macOS distribution naming changes                             
+1/-0     
eventbus.md
Remove public modifier from example main method                   
+1/-1     
Configuration changes
2 files
devcontainer.json
Update Java version to latest in dev container                     
+2/-2     
sbom-pr.yml
Remove unnecessary submodules checkout configuration         
+1/-3     
Formatting
1 files
build.gradle.kts
Add blank line for formatting consistency                               
+1/-0     
Additional files
10 files
Info-lite.plist.template +0/-39   
Info.plist +0/-39   
Info.plist.template +0/-39   
JabRef.icns [link]   
Runtime-Info.plist +0/-26   
Runtime-Info.plist.template +0/-26   
bibtexAssociations.properties +0/-1     
info-lite.plist +0/-39   
jabref.icns [link]   
jabref.icns [link]   

* upstream/just-jdk25:
  Use LTWA file from mirror (#14892)
  Re-enable JavaDoc formatting (#14860)
@Siedlerchr

Copy link
Copy Markdown
Member

https://docs.oracle.com/en/java/javase/25/jpackage/override-jpackage-resources.html#GUID-405708DC-0243-49FC-84D9-B2A7F0A011A9



macOS (all formats)

    Icon file, launcher.icns, for the main launcher and any additional launchers. More than one file can be provided. The file name must match the name of the application or the name of a launcher. If an icon file is not provided for a launcher, the default icon is used.

    Runtime properties list, Runtime-Info.plist.

    Information properties list, Info.plist.

    Default entitlements file, application-name.entitlements.

    Post-image script, application-name-post-image.sh. Custom script that is executed after the application image is created and before the DMG or PKG installer is built. No default script is provided.


@koppor

koppor commented Jan 22, 2026

Copy link
Copy Markdown
Member Author

The "hanging" workflows are because of the renaming to intel / silicon:

image

See step 3 of the PR description.

@koppor koppor removed the status: changes-required Pull requests that are not yet complete label Jan 22, 2026
@koppor

koppor commented Jan 22, 2026

Copy link
Copy Markdown
Member Author
image

@github-actions

Copy link
Copy Markdown
Contributor

The build of this PR is available at https://builds.jabref.org/pull/14057/merge.

@Siedlerchr

Copy link
Copy Markdown
Member
grafik

@Siedlerchr

Copy link
Copy Markdown
Member

This might fix JabRef/jabref-issue-melting-pot#536 as well

this is now fixed as well

@Siedlerchr Siedlerchr enabled auto-merge January 22, 2026 19:33
@Siedlerchr Siedlerchr disabled auto-merge January 22, 2026 19:33
@Siedlerchr Siedlerchr merged commit 39c8338 into main Jan 22, 2026
94 of 97 checks passed
@Siedlerchr Siedlerchr deleted the just-jdk25 branch January 22, 2026 19:33
@koppor koppor restored the just-jdk25 branch January 22, 2026 19:47
koppor added a commit to alexeysemenyukoracle/jabref that referenced this pull request Jan 22, 2026
koppor added a commit that referenced this pull request Jan 22, 2026
@koppor koppor deleted the just-jdk25 branch January 22, 2026 19:48

@Chavan0705 Chavan0705 left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

latest version is use

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dev: binaries Binary builds should be uploaded to builds.jabref.org 📌 Pinned Review effort 3/5

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants