Changelog
Deprecation noticeCheerpJ 2 is deprecated. Consider migrating to CheerpJ 3 .
version 2.3 - April 29th, 2022:
* Improved legacy code generation* Improved clipboard support* Improved exceptions for I/O handling* Add proper support to Synchronized methods* Made async fetch the default for any file* Minor fixes to AWT components
Version 2.2 - May 14th, 2021:
* Optimized exception handling* Extended JNI support* Improved file system emulation* Improved HTTP networking support* Improved AWT support* Improved audio support* Improved reflection support* Improved applet parsing robustness* Improved correctness of 32-bit floating point* Improved correctness of class private methods
Version 2.1 - April 3rd, 2020
* Optimized exception handling* Optimized reflection calls
* Improved AWT support* Improved robustness of the AOT compiler* Further improvements to native Java reflection support* Improved JavaScript interaction robustness
- Fixed support for βstub-natives in cheerpjfy.py
- Code size improvements
Version 2.0 - February 4th, 2020
* Introduction of WebAssembly runtime modules* Extended file system support to read, write and delete (IndexedDB backend)* New read-only filesystem in /str/ for Strings or binary data* Improved event handling, mouse interaction and focus* Extend support for charsets* Improved robustness to invalid classes often present in real-world JAR archives* Improved isolation of CheerpJ symbols* Improved support to multi-threading, in particular Thread.interrupt* Use the CFGStackifier algorithm to synthesize control flow in generated code* New API to receive preloading notification (allows one to build custom progress bars)* Improved detection of Applets on HTML pages* Improved packaging for MacOS
Version 1.4 - April 14th, 2019:
* Support Thread.interrupt* Improved keycode conversion* Improved AWT TextArea support* Improved support for modal dialogs* Fix support for non-ASCII Java fields* Fix resolving of default methods from interfaces* Minor fixes to reflection and code generation
Version 1.3 - November 28th, 2018:
* Significantly faster font rendering* Full rework of keyboard event handling* Support unicode output on the console* Support applets in frames and iframes* Support multiple applets on a single page* Improved class loader correctness* Improved XHR-based HTTP(S) handler* Improved AWT rendering* Improved reflection support* Improved serialization support* Improved threading correctness* Improved focus support* Improved mouse wheel support
Version 1.2 - Sep 6th, 2018:
* Support Copy / Paste to system clipboard* Support ProGuard config generation* Support window resizing* Support sealed packages* Optimized JNI calls* Improved correctness of mouse events* Improved reflection support* Improved XHR-based HTTP(S) handler* Improved threading cleanup
Version 1.1 - Jul 23rd, 2018:
* Introduced parallel preloading of resources that are known to be needed before starting the application (useful in production);* New, faster API for JavaScript to Java interoperability based on standard promises (allowing async/await)* Exception handling when calling Java from JavaScript* Improved support for reflection* Improved code generation, particularly for low-level graphical routines* Improved HTTP/HTTPs connections* Support for time zones* Improved startup time* Support for custom cursors
Version 1.0 - Mar 20th, 2018:
* Full rework of filesystem support* Support Drag-and-Drop* Support Java clipboard* Support multi-window applets* Support WebWorkers* Support printing on Edge* Support JPEG writing* Improved input handling* Improved applet support* Improved AWT support* Improved JNLP support* Improved HTTP support* Improved reflection support* Improved audio support* Reduced runtime size
Version Beta 3 - Nov 11th, 2017:
* Improved printing support with browser native printing* Full rework of graphical architecture* Code size optimisations* Runtime performance optimisations* Reduced size of the runtime* Improvements to startup time
* Support for splitting application .jar.js files in multiple packages* Improved on-the-fly compiler speed (dynamic class generation)* Inline well-known system methods* Inline small statically resolved methods
Version Beta 2 - Oct 13th, 2017:
* Support for printing (print to .ps files)* Initial support for audio (javax audio)* Support for Internet Explorer 11 and Edge
* Reduced code size - up to 20% size reduction on large applications* Improved runtime performance* Optimized 64-bit arithmetic* Optimized exception handling* Improved window dragging* Improved popup support* Improved filesystem support* Improved cjNew overload resolution* Improved thread scheduling* Improved rendering performance* Improved reflection performance* Fixed display area detection* Fixed keyboard focus handling
Version Beta 1 - Sep 27th, 2017:
* First public release