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