We are excited to announce today the release of the first CheerpJ 3.0 release candidate, version 3.0rc1.
For the past years, our team has been working tirelessly on a completely new architecture for CheerpJ, our solution to run Java Applications, Applets and Libraries on modern browsers.
Taking advantage of many years of real-world use of CheerpJ 2.x by hundreds of organisations worldwide, and leveraging many lessons learned from the development of CheerpX, our browser-based x86 virtual machine, we performed a full re-write of CheerpJ.
- Goodbye AOT, hello JIT compilation: CheerpJ 3.0 is a pure-WebAssembly, JIT-based replacement to the JVM for the browser. Because there is no AOT compiler or .jar.js files, the integration and deployment of CheerpJ 3.0 is now a matter of adding a few lines to an existing HTML page, and hosting a collection of static assets.
- Full Java runtime: CheerpJ now features a full, unmodified build of the OpenJDK runtime environment, ensuring full compatibility with Java applications.
- Full Classloader support: Thanks to the new JIT approach, which mimics how the JVM normally operates, we can now give full control to the appropriate Classloader for class resolution, including application provided ones. This completely eliminates incompatibilities caused by duplicated classes as well.
- A new scalable JNI architecture: We now compile 100% of the OpenJDK native code to WebAssembly, providing a viable path for supporting modern versions of Java and potentially specific point versions if a user requires so.
Thanks to these architectural advancements, CheerpJ 3.0 is a full WebAssembly-based replacement to the JVM, with a full OpenJDK runtime.
Availability and Documentation:
You can access the release candidate for CheerpJ version 3.0rc1 via the documentation;
Please note that this is a release candidate, which means that it is not the final, stable release, but a pre-release version intended for testing and feedback.
How You Can Help:
We invite all members of our community to participate in the testing and feedback process.
Your feedback is invaluable in helping us identify and fix potential issues and ensure that the final release is as stable and polished as possible. Here are some ways to help:
- Try our release candidate today.
- Test it in your real-world scenarios.
- Report any bugs or issues you encounter on our Discord Server.
- Provide feedback on new features and improvements.
We are planning another Release Candidate (3.0rc2) before the end of the year, with a general release scheduled for early 2024.
We greatly appreciate your continued support and involvement in making CheerpJ the best it can be. Together, we can ensure a successful final release.
Thank you for being a part of our community!