Repository navigation
jr 1.3.1
jr 1.3.1 fixes a hang on Windows: jr 1.3.0 and earlier froze, with one CPU core at 100% and before starting Java, when an argument contained certain non-ASCII characters, for example jr.exe app.jar café. Please use 1.3.1 instead of any earlier Windows build.
What changed:
- The Windows exes are now built against the Universal C Runtime (UCRT) instead of the older msvcrt.dll. With msvcrt, the conversion of the program's arguments could loop for ever on a character such as
é; the UCRT passes the argument through correctly. - The release workflow now runs an app with
caféandéaas arguments, and fails if jr hangs or the app does not start. - No other change in behaviour. The x86_64 exe is 617,472 bytes (1.5 KB smaller).
Windows versions: the UCRT is part of Windows 10 and 11. On Windows 7 SP1 and 8.1 it comes with Windows Update (KB2999226) or with any Visual C++ 2015 or later redistributable, which most machines already have; without it the exe does not start.
Exes built by jr-maven-plugin carry the jr build the plugin bundles, so rebuild them with a plugin version that bundles 1.3.1 or later.
Assets: jr.exe and jr-windows-x86_64.exe are the same x86_64 build. jr-windows-arm64.exe is the ARM64 cross-build. The jr-noicon-* exes are the same builds without the jr icon, for stamping your own. jr-macos is the universal macOS binary, and jr-macos-arm64 and jr-macos-x86_64 are its two slices; the macOS binaries are unchanged in behaviour. On macOS, install with curl -fsSL https://github.com/jarrunner/jr/releases/latest/download/install.sh | sh.
Where these binaries come from: built from this tag by the repository's release workflow on GitHub's Windows and macOS runners (mvn package, llvm-mingw's UCRT build, TeaVM 0.16.0 with our C-backend fixes from io.github.jarrunner.teavm on Maven Central). Before publishing, the workflow checks that the exes and binaries run, that the x86_64 macOS slice runs under Rosetta, and the non-ASCII argument above. Check a download against SHA256SUMS. The binaries are not code-signed.
Full Changelog: v1.3.0...v1.3.1