As JavaRebel 2.0 is nearing its release we have a few announcements to make.
First of all we would like to thank all our current users. It’s sometimes been a rocky ride and JavaRebel got where it is now thanks to your feedback, devotion and support. We are very grateful to you for everything and hope that together we can make JavaRebel even greater.
Secondly, we’d like to announce that after 9th March the perpetual licenses will no longer be available for sale. The current perpetual license owners can continue to use them and will get this and all future upgrades for free.
Finally, on the same date we will be changing the price of the annual licenses. The details will become available later, but the price will definitely go up, not down. So if you want to take advantage of the current price you better do that before that date.
Thanks again to all our current users, you have made this possible!
We are very proud to announce the second milestone release of the 2.0 JavaRebel branch. This release is feature complete and starts the countdown to the GA planned for mid-March. We intend to release an RC every week from now until we are satisfied with the quality. We ask you to try this release and report back to us any problems, any questions about installation/configuration, or any other issues you may find.
As in the previous milestone we mainly focused on stability, performance and packaged deployment support. In comparison with the previous milestone the following things have changed:
- Fast boot. 2.0 M1 introduced performance optimizations that reduced the runtime performance overhead. In this release we have improved the initial class loading and initialization to the point where startup with and without JavaRebel shouldn’t be noticeably different anymore (the instrumentation time for one class is under 5 ms). The performance overhead has been reduced by two orders of magnitude compared to 1.x branch and shouldn’t hinder development for anyone anymore.
- rebel.xml The original JavaRebel release only supported exploded development until we introduced the
-Drebel.dirs configuration. This release deprecates this property in favor of the new per-application rebel.xml configuration file. Using rebel.xml you can develop applications deployed as WAR or EAR as if they were fully exploded, without any intervening build process. Check out the installation and configuration manuals available in the distribution for details.
- Compatibility. Since the first release JavaRebel had problems with some of the corner cases in the Java ecosystem. Most annoying errors were the ones where applications would refuse to deploy or would fail at runtime with JavaRebel enabled. For this release we have rewritten the compatibility layer largely from scratch to completely mimic uninstrumented Java classes. This should ensure that anyone can take JavaRebel and start using it in minutes without any problems.
- And more? This release features more changes than can be listed. Debugging is more comfortable, exception stack trace is considerably shorter, reflection will correctly throw IllegalAccessErrors, several issues are fixed in the Spring and Guice plugins. Also in this release we identified and fixed several issues that were impacting WebSphere users and support for that container is now quite solid. Note that to enjoy it you should change the installation settings according to the manual.
Want to follow and participate in JavaRebel development? Follow us on Twitter: http://twitter.com/javarebel.