JavaRebel Stable Changelog
1.1.4 (15th August 2008)
- Fixed regression in accessing super methods
- Fixed broken setPrimitive() method behavior in java.lang.reflect.Field
- Fixed “native” methods causing a ClassFormatError
- Fixed a error occurring when super classes have a static and non-static field with the same name.
- Added support for time-limited licenses
1.1.3 (12th August 2008)
1.1.2 (23rd July 2008)
- Fixed a race condition in core logics that could manifest as a NPE.
- Fixed method modifiers not being updated in reflection (http://www.zeroturnaround.com/forum/topic.php?id=73).
- Fixed an NPE when getting updated method data via reflection.
- Fixed CgLib proxies throwing exceptions on initialization. To enable CgLib proxy bypass “-Drebel.allow_bytecode_proxy=true” should be now added to the JVM command line.
- Improved reflection correctness and performance.
- Backported full support for Equinox OSGi/Eclipse plugins.
1.1.1 (26th May 2008)
1.1 (30th April 2008)
- Changed -Drebel.dirs semantics to always override classes in classpath.
- Added some helpful messages connected to -Drebel.dirs and Java 1.4 bootstrap generation
- Fixed Eclipse integration
1.1-RC2 (28th April 2008)
- Fixed a problem with synthetic attributes messing up with some frameworks. Mainly manifested as NPE when using Spring AspectJ support.
1.1-RC1 (16th April 2008)
- Full support for Java 1.4. Now all of the features available in Java 5 are also available in Java 1.4. The installation is also now simpler and supports more containers. See installation for details.
- Fixed: If you added a primitive non-static uninitialized field to a class JavaRebel would throw a NullPointerException.
1.1-M3a (14th April 2008)
- Hotfix for the Java 1.4 support
1.1-M3 (9th April 2008)
- JavaRebel now supports unexploded deployment (e.g. WAR, JAR or EAR) by specifying the paths that .class files are compiled to by the IDE (or command line) using the property
-Drebel.dirs=/path/to/classes1,/path/to/classes2,...
- JavaRebel now supports reloading changes made to classes in JAR files, for that you need to specify “JavaRebel-Reloadable: true” in MANIFEST.MF or name the JAR file ending with a “-reloadable.jar” suffix.
- Improved logging, now all information on where the class is loading from goes to plaintext log (
-Drebel.log=true).
- Added performance statistics logging that goes to plaintext log (
-Drebel.log.perf=true).
- Fixed a problem with Hibernate JPA implementation caused by Synthetic attribute
- Fixed a problem with
AbstractMethodError __rebel_bypass__()
- Code base refactored to prepare for SDK expansion in 1.1-M4
1.1-M2 (10th March 2008)
- Enhanced support for dynamic proxies (JDK, CGLib, Javassist)
- Improved support for missing dependencies
- Improved classloading behaviour
- Support for stepping through generated methods in debugger (all generated methods marked “synthetic”)
- JavaRebel log is no longer encrypted (use -Drebel.log=true to enable it)
- JavaRebel will now flush all JavaBean Introspector caches when a class changes
- Improved error reporting
- Fixed static methods showing up with suffix “__RS__” in reflection
- The development of Spring Framework with JavaRebel tested
1.1 M1b (20th February 2008)
- Fixed a JavaRebel failure on a virtual and static method with same names and similar parameters.
1.1 M1a (4th February 2008)
- SDK implementation classes are no longer obfuscated.
1.1 M1 (29th January 2007)
- Improved reflection support. Now added/removed methods and fields in the reloaded classes will always be reflected correctly in the Java Reflection API. At the moment this does not include constructors.
- Annotation reloading Annotations on classes, methods and fields will be updated when the class is reloaded. At the moment this does not include annotations on constructors and method parameters.
- JavaRebel SDK For integrating custom frameworks with JavaRebel and getting the next step in turnaround time check out the SDK at our Google Code project.
See mature changelog.