Latest news

JavaRebel 1.2.1 and Spring Plugin 1.0-M2 Released

We are very proud to present not one, but two simultaneous releases....

JavaRebel used to develop LinkedIn

LinkedIn, Corp. has purchased JavaRebel licenses for all its Java engineers to use in the well-known social networking website dev...

JavaRebel 1.2: Now With Full Spring Support

The latest stable release of the JavaRebel code reloading agent includes a plugin for Spring that reloads Spring configuration on-...

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.