Changelog
What changed in each CheerpJ release, with the loader script tag for each version
5.0 - October 30, 2026
<script src="https://cjrtnc.leaningtech.com/5.0/loader.js"></script>- Support for Java 21
- Preview of Java 25 support
- New experimental WasmGC engine that can be enabled with the
wasmGCinit option - New
envinit option to set environment variables for the Java runtime - Runtime improvements
- Various bug fixes
4.3 - April 21, 2026
<script src="https://cjrtnc.leaningtech.com/4.3/loader.js"></script>- Added new upload icon directly to decorated java window title bars
- Introduced a dedicated virtual directory to download files to the local device
- Added long-press gesture support to simulate mouse hover events for enhanced mobile/touch screen support
- General pointer event improvements
- Runtime improvements
- New
disableScalinginit option to turn off CheerpJ display scaling on high-DPI screens
4.2 - Jun 26, 2025
<script src="https://cjrtnc.leaningtech.com/4.2/loader.js"></script>- Improved Java 17 support
- Multiple clipboard fixes
- Various bug fixes
4.1
- May 28, 2025
<script src="https://cjrtnc.leaningtech.com/4.1/loader.js"></script>- Support for SSL and Audio in Java 11
- Preview of Java 17 support
- Improved networking stack
- Improved mobile usability
- Improved performance
- Various bug fixes
4.0
- April 22, 2025
<script src="https://cjrtnc.leaningtech.com/4.0/loader.js"></script>- Support for Java 11
- Support WebAssembly JNI modules
- Improved mobile usability
- Improved performance
- Various bug fixes
enableInputMethodsis set totrueby default.
3.1
- February 5, 2025
<script src="https://cjrtnc.leaningtech.com/3.1/cj3loader.js"></script>- Maximise window support
- Brand new “execCallback” option
- Restore audio support
- Various bug fixes
- Improved font behavior
- Improved debugging options
- Improved performance
3.0
- February 1, 2024
<script src="https://cjrtnc.leaningtech.com/3.0/cj3loader.js"></script>- Support all Java opcodes in the JIT
- Better support for missing JNI symbols
- Improved support for socket syscalls
- Support for loading native libraries as JavaScript modules
- Support zero-copy passing of primitive arrays in library mode
- Restore support for image filtering
- Restore support for printing
- Optimized font handling
- Improved error message when server does not support content ranges
3.0rc2
- November 29, 2023
<script src="https://cjrtnc.leaningtech.com/3.0/cj3loader.js"></script>- Reduced verbosity of debug messages
- Support for
synchronisedmethods in the JIT - Restored support for AWT to the same level as CheerpJ 2.3
- Improved reflection support
- Support for Web Workers (just use
importScripts) - Improved clipboard support
- Improved library mode with support object field access, arrays,
instanceof, quality-of-life and debugging - Improved support for fonts
- Improved support for class loaders
- Fixed preloading support
- Support for
ClassCastException cheerpjAddStringFiledeprecated, renamed tocheerpOSAddStringFile
3.0rc1
- October 18, 2023
<script src="https://cjrtnc.leaningtech.com/3.0rc1/cj3loader.js"></script>- Completely new JIT-based architecture
- Removed AOT compiler
- Full classloader support
- New scalable JNI architecture (
cheerpjInitnativesoption) - Library mode (
cheerpjRunLibrary)- Removed
cjCallandcjNew
- Removed
cheerpjInitis now asynchronouscheerpj-dom.jarremovedcheerpjRunJarWithClasspathremovedCheerpJWorkerremoved (3.0rc2 adds support forimportScripts)com.leaningtech.handlersHTTP handler no longer needed. HTTP(S) requests just work