While finishing the polish on the 2.1 release we were also preparing for you a glance at what’s to come in the longer term. Without further ado, allow us to introduce the JRebel 3.0 M1 release features:
- Support for adding static fields and changing enums. Previously when you added a static field to your class you’d see a discouraging warning in the console and get an exception when trying to access the field. Now JRebel will happily print “Reinitialized class” and your application will continue working as if nothing happened. To top it off you can also now change Java 1.5 enums in any way you like and they should just continue working. This feature is still a tad experimental, so please help us out to smooth it out!
- Full JSP <scriptlet> support. Now when you change your Java code (e.g. add a method) it can be immediately used in the Java code snippets in the JSP.
- 25%-30% less memory use. It is not uncommon to need a lot of PermGen heap with JRebel enabled. Now we optimized the memory use and will continue to drive it down in the upcoming milestones.
- No more classloader leaks. JRebel no longer holds any references to class loaders a second longer than necessary. This should help to get less OutOfMemoryErrors on application redeploys with JRebel enabled.
There are also quite a few changes to the API that will enabled more features in the upcoming milestones.
Note that since we don’t charge for upgrades, it is not our goal to put all the cool features in the 3.0 release. Rather we’ll continue to add features to the 2.x branch (expect at least a 2.2 release this year) and only put large or risky changes that require a lot of testing or feedback in the 3.x branch.
Download the release.