Releases: derfsss/java-os4
Release list
Java-OS4 0.5.4
A Java 8 runtime for AmigaOS 4 (PowerPC) — JamVM 2.0 + the OpenJDK 8 class library, with a native AWT/Swing toolkit.
Fixed
sun.boot.class.pathseparator on AmigaOS. The property was the VM's raw:-joined boot path, butpath.separatoris;on AmigaOS (:is the volume separator). OpenJDK'ssun.misc.Launchersplit it onpath.separatorand read the whole value as one bogus entry beginningniopatch.zip:, so AmigaDOS popped a "Please insert volume niopatch.zip" requester and everygetBootstrapResource()failed. That madesun.reflect.misc.MethodUtildefineTrampolinevia the bootstrap loader and throw "Trampoline must not be defined by the bootstrap class loader" — first hit running Swing applications and the test suite (reported on amigans.net).sun.boot.class.pathis now emitted as a;-separated list of absolute paths anchored atjava.home, so it splits correctly and every boot resource resolves.HelloJavawas never affected.
Added
tests/regression/BootClassPathTest.java— a regression test that fails on the pre-0.5.4 VM and passes on 0.5.4 (and on a reference JVM).
Upgrading is recommended for anyone on 0.5.1–0.5.3. Headless apps, java -version, and the conformance suite are otherwise unchanged.
Install
Unpack the .lha, double-click the Java-OS4 drawer to run the installer (AmigaOS 4.1 Installation Utility). Requires clib4.library 2.1+ in LIBS: (bundled, installed if missing). See the README and CHANGELOG.
Java-OS4 0.5.3
Java-OS4 0.5.3
A bug-fix release: non-Latin AmigaOS locales no longer crash the VM at startup.
Fixed
-
Charset
NoClassDefFoundErroron non-Latin locales (reported on amigans.net against 0.5.2). On a Cyrillic — or any other vendor-charset — AmigaOS locale,nl_langinfo(CODESET)reports the diskfont MIME name verbatim (e.g.Amiga-1251), which OpenJDK fed intofile.encoding/sun.jnu.encodingunvalidated. That forced the extended charset provider during early VM bootstrap and died with:java.lang.NoClassDefFoundError "unsupported charset extension: Amiga-1251"The runtime now normalises the AmigaOS vendor charset name to a standard JDK charset before bootstrap (e.g.
Amiga-1251 → windows-1251, which is byte-exact with Amiga-1251 across the entire Russian alphabet); any unrecognisedAmiga-*name falls back to ISO-8859-1 so the VM always boots. Western / UTF-8 locales were never affected and are unchanged.
Validated
QEMU (AmigaOne, JamVM / OpenJDK 8 on PowerPC / clib4): 10-language charset test 33/33 on the VM, charset-mapping unit test 18/18 on real ppc, and a clean java -version boot (no regression).
Install
Unpack JavaOS4-0.5.3.lha and run the installer (assigns JAVA:, copies the java launcher to C:). Requires clib4.library 2.1+ in LIBS: (the installer adds it if missing).
This release changes only libjava.so versus 0.5.2 — an existing 0.5.2 install can be updated by replacing libjava.so alone.
🤖 Generated with Claude Code
Java-OS4 0.5.2
Java-OS4 0.5.2
A Java 8 runtime for AmigaOS 4 (PPC): JamVM 2.0 + the OpenJDK 8 class library, with a Swing/AWT toolkit so Java GUIs run in Workbench windows.
Fixed — java -cp now works from any directory (amigans.net topic 10124)
- Relative classpaths resolve against your current directory:
java -cp app.jar Mainrun from anywhere now works (no moreNoClassDefFoundError). - Absolute
Volume:classpaths work:java -cp Work:dir/app.jar Mainis no longer split on the:. - No cwd leak — the
javalauncher no longer changes your Shell's current directory.
Security
- Bundled zlib updated 1.2.8 → 1.2.13 (in
libzip.so) — picks up nine years of inflate/security fixes, including CVE-2022-37434.
Notes
- Runtime: OpenJDK 1.8.0_492 class library. Requires clib4.library 2.1+ in
LIBS:(the installer bundles it). - Swing/AWT apps need no extra flags.
javacis not included — compile on a host JDK 8 (javac --release 8) and copy the jar over.
Install: download JavaOS4-0.5.2.lha, unpack it, and double-click the installer.
🤖 Generated with Claude Code
Java-OS4 0.5.1
Java-OS4 0.5.1 — a Java 8 runtime for AmigaOS 4 (PowerPC): JamVM 2.0 + the
OpenJDK 8 class library, with a native AWT/Swing toolkit so Java GUIs run in
Workbench windows.
Installer asset updated 2026-06-20 — fixes a "Protect failed / object not
found" error during install (a chosen-destination trailing-slash bug that
producedSYS:Java//java). The runtime is byte-identical; only the bundled
installer changed. Verified on a real AmigaOne X5000. Re-download
JavaOS4-0.5.1.lhaif you grabbed an earlier copy.
Install
Download JavaOS4-0.5.1.lha below, unpack it anywhere on your AmigaOS 4
machine, and double-click the Java-OS4 drawer to run the installer. Then from
a Shell: java -version, or java -cp examples/HelloJava.jar HelloJava. See the
README for full
install/run notes.
Requirements: AmigaOS 4 (PowerPC); clib4.library 2.1+ in LIBS: (the
installer bundles a copy if missing); Swing/AWT GUIs additionally need
graphics.library V52+.
What's new in 0.5.1
- Fixes for the amigans.net 0.5.0 reports: Swing close-freeze, keyboard
input in games, a class-version gate (Java 9+ bytecode is rejected cleanly
withUnsupportedClassVersionError),clib4.librarybundled + installed to
LIBS:, and runnable example jars. - A package-organized Java 8 + Java 17 regression test suite (~800 assertions);
14/16 Java-8 categories pass on the VM (seetests/CONFORMANCE.md). - clib4 is now an in-repo git submodule (AmigaLabs/clib4
development),
including the AltiVecvec_strcpypage-overread fix.
Build from source: see docs/BUILDING.md.
Java-OS4 0.5.0 (beta)
First beta release of Java-OS4 — a Java 8 runtime for AmigaOS 4 (PowerPC): JamVM 2.0 + the OpenJDK 8 class library on clib4, with a native AWT/Swing toolkit so Java GUIs run in Workbench windows.
What works
- Headless Java 8 programs — collections, streams/lambdas, NIO, reflection, serialization, zip, text.
- Swing/AWT GUIs in Intuition windows: real mouse and keyboard input, window resize, modal dialogs, fonts via FreeType.
- Zero-flag GUI launch:
java -cp app.jar Mainstarts a Swing app with no special options.
Install
- Download
JavaOS4-0.5.0.lhabelow and unpack it on your AmigaOS 4 machine. - Double-click the Java-OS4 drawer icon to run the installer (uses
Sys:Utilities/Installation Utility). It asks where to install, copies the runtime there, and adds a permanentJAVA:assign toS:User-Startup. - From a Shell:
java -version java -cp myapp.jar Main
javac is not included — compile on a host JDK 8 and copy the .jar over.
Requirements
AmigaOS 4.x on PowerPC (developed and tested on AmigaOS 4.1 Final Edition).
Notes
This is a beta — it runs real applications but is under active development; expect rough edges and gaps. Bug reports and feedback are welcome.
Built on the OpenJDK 8 class library (Eclipse Temurin 1.8.0_492). See the README for the full overview, acknowledgements, and license (GPL-2.0).
SHA-256 (JavaOS4-0.5.0.lha): fbe68eac34c34cfb92b3972b7e6f35ae0efdc6cb2b14cb3c0fdecd5e516bfa64