What changed in each release, as a user notices it. GitHub's release pages list the pull requests.
- 13 more distributions, the rest of what Foojay lists: AdoptOpenJDK (
adpt,adptj9), Eliya (eliya), OJDKBuild (ojdkbld), OpenLogic (opnlgc), Red Hat (rdht), Semeru certified (semcrt), Gluon GraalVM (gln) and GraalVM CE for JDK 8 to 19 (grl8,grl11,grl16,grl17,grl19). Red Hat installs from tar.xz, and OJDKBuild on Linux, OpenLogic on macOS and Gluon GraalVM before 22.1 from zips. A.sdkmanrctakes SDKMAN's old identifiers for them, such as11.0.10.j9-adptand22.3.3.r17-grl. See distributions.md. - Mandrel and Liberica NIK install by the GraalVM version they carry again:
java@23.1.12-mandrelandjava@23.1.8-nikwork,vfox search java mandrellists every release, andjava@23-mandrelinstalls the newest 23.x,23.1.12.1-mandrel, which runs Java 21. In October 2026 Foojay moved that version fromjava_versiontodistribution_version, and since then release 0.6.2 fails on such versions withNo JDK found, lists one Mandrel per Java major and installs Mandrel 23.1.8 forjava@21-mandrel. Installs it made since then keep names after the Java version (21-mandrel,21.0.12.1+2-nik), and vfox still finds them by those names; uninstall one to get what the spec means now. See distributions.md (#106). - A
.sdkmanrctakes SDKMAN's identifiers of Mandrel and Liberica NIK with the JDK after.r:java=25.0.4.r25-nikselects25.0.4-nik, where release 0.6.2 selects the newest installed release of the major. Of a release that comes for two JDKs, the plugin installs only the newer one's build, so22.1.r11-mandrelselects nothing. See sdkmanrc.md (#109). - The notes printed by
vfox add java,vfox update javaandvfox info javaare a link to the README, which lists every short name and shows how to search a distribution. Release 0.6.2 gives five short names there but not how to list their versions, whilevfox search javalists OpenJDK only (vfox#390). - Oracle GraalVM and GraalVM Community go by GraalVM's own version, which Foojay has given as
distribution_versionsince October 2026. Release 0.6.2 readsjava_version, which now holds the JDK's version. So it installs the feature release 25.4.4.1.1 forjava@25.0.4.1-graal, and forjava@25-graalwhenever a feature release is out on the JDK of the newest 25.0 build, andvfox search java graallists no feature release. Nowjava@25-graalinstalls the newest build of the 25.0 line (25.0.5-graalon 2026-10-20),java@25.0.4.1-graalinstalls GraalVM 25.0.4.1, and the feature release isjava@25.4.4.1.1-graal.java@25-graalceinstalls25.4.4.1.1-graalcefrom Oracle's GraalVM Download Service, where 0.6.2 installed the same file from GitHub as25.4.4.1-graalce(#105). - A 25.0 name that release 0.6.2 installed after Foojay's change can hold a feature release:
25.0.4.1-graalis GraalVM 25.4.4.1.1,25.0.4-graalis 25.2.4 and25.0.3-graalis 25.1.3, and the same goes for these names with-graalce. vfox does not install a name it already has, so if the GraalVM version thatjava -versionprints differs from the name,vfox uninstallit and install it again.25.0.4.1-graalce,25.0.4-graalceand25.0.3-graalceno longer install at all, as GraalVM Community's 25.0 line ends with25.0.2. - A bare major such as
java@21-temasks Foojay whatvfox searchasks and installs the newest release of the major that the search lists. Release 0.6.2 has Foojay pick it (latest=available), and as Foojay caches each question on its own, for half an hour after a release that can install a buildvfox searchdoes not list yet. Dragonwell 11 on Windows x64 and on Linux x64 with musl now installs the Extended build of 11.0.32, asjava@11.0.32-albbadoes, where 0.6.2 installs the Standard one forjava@11-albba(#113). vfox use java@25-graaland a.sdkmanrcholdingjava=25-graalselect the newest installed build of Oracle GraalVM's 25.0 line, the buildvfox install java@25-graalinstalls. Release 0.6.2 selects the newest installed release of 25, which is a monthly feature release as soon as one is installed: with25.0.5-graaland25.4.4.1.1-graalinstalled,vfox use java@25-graalselected the second, whilevfox install java@25-graalreported the first as installed. A feature release is selected by its full version (java@25.4.4.1.1-graal), or by the bare major where nothing else of 25 is installed. A.sdkmanrcnaming a 25.0 release that is not installed, such asjava=25.0.3-graal, falls back the same way.java=25.4.4+1-graal, which names a feature release as SDKMAN does, still takes the newest installed release of 25. GraalVM Community is not affected, as its feature releases are what it still ships (#110).VFOX_JAVA_GITHUB_MIRRORsends the downloads from GitHub through a mirror, as inexport VFOX_JAVA_GITHUB_MIRROR=https://gh-proxy.org/. Foojay links the JDKs of most distributions to GitHub Releases (Temurin, Liberica and GraalVM Community among them). github.com is slow or out of reach in some regions. The value is a prefix that goes in front of the GitHub URL. Downloads from other hosts do not change. See mirror.md.
.sdkmanrcworks under vfox 1.x again. Release 0.6.1 fails withexpected 0 arguments for func() []string, got 1under vfox 1.x (tested with 1.0.12 and 1.0.13), and vfox hides the error (#65).vfox use java@21, a bare major, works under vfox 1.0.13. Release 0.6.1 fails there withcannot unmarshal string into plugin.PreUseHookResult(#65)..sdkmanrcmatches SDKMAN'sjbrand JavaFX identifiers (#78), zero-padded releases (#85) and early-access identifiers (#88, #96). It selects the JDK it names when several of the same major are installed (#84). See sdkmanrc.md.- A bare major installs the newest release.
java@21-temis21.0.12.1+1-temand not21+35-tem(#74).java@25-graalinstalls25.0.4.1-graal, the newest build of the 25.0 line, where release 0.6.1 installed25-graal(#101). vfox use java@21.0.8-temfinds the installed21.0.8+9-tem(#76). The same goes for OpenJDK names with-openoropenjdk-(#77) and for zero-padded releases (#92).java@21.0.5+63130-jbandjava@28.ea.15-openinstall the build they name and not the newest build of the release (#83).vfox searchon Windows lists releases that ship only as tar.gz (#81).- The plugin no longer sets
GRAALVM_HOME(#93). java@temandjava@-tem, a distribution without a version, ask for one. Release 0.6.1 stops withattempt to index a non-table object(nil) with key 'match'for the first and installs the newest release for the second (#99).vfox searchno longer marks GraalVM's monthly feature releases as LTS (#100).- The repository has a container e2e suite for Linux and Windows, see e2e.md (#65, #82).
- On macOS the Java home is found by its
bin/java, so archives with a vendor-named bundle orContents/Homework (#63).
- JDKs for Linux loong64 from the Loongnix archive, see loongnix.md (#62).
vfox usekeeps the-fxof a JavaFX build (#60).- JetBrains Runtime installs on Windows 11 (#58).
- Early-access builds are installed as
java@26.ea.1-graal(#57).
- JavaFX builds with the
-fxsuffix (#48), see javafx.md. - Alpine and other musl systems get musl builds (#50).
- Windows x64 asks Foojay for
x64again. 0.5.2 sentamd64there (#52).
vfox use java@21is left to vfox, which matches a bare major against the installed versions.
- Version strings in asdf's order work,
java@temurin-21(#17).
- 0.4.0 reads
.sdkmanrc. - 0.4.3 asks Foojay for glibc builds on Linux (#14).