Skip to content

Java-OS4 0.5.3

Latest

Choose a tag to compare

@derfsss derfsss released this 23 Jun 01:08

Java-OS4 0.5.3

A bug-fix release: non-Latin AmigaOS locales no longer crash the VM at startup.

Fixed

  • Charset NoClassDefFoundError on 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 into file.encoding / sun.jnu.encoding unvalidated. 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 unrecognised Amiga-* 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