Changelog
3.0 - February 1, 2024
- 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
- Reduced verbosity of debug messages
- Support for
synchronised
methods 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
cheerpjAddStringFile
deprecated, renamed tocheerpOSAddStringFile
3.0rc1 - October 18, 2023
- Completely new JIT-based architecture
- Removed AOT compiler
- Full classloader support
- New scalable JNI architecture (
cheerpjInit
natives
option) - Library mode (
cheerpjRunLibrary
)- Removed
cjCall
andcjNew
- Removed
cheerpjInit
is now asynchronouscheerpj-dom.jar
removedcheerpjRunJarWithClasspath
removedCheerpJWorker
removed (3.0rc2 adds support forimportScripts
)com.leaningtech.handlers
HTTP handler no longer needed. HTTP(S) requests just work
Previous versions
CheerpJ 3.0 was a major architectural rewrite of CheerpJ.
For previous versions, see the CheerpJ 2.x changelog.