JRebel changelog

JRebel Agent
JRebel for Eclipse
JRebel for IntelliJ
JRebel for NetBeans
JRebel for JDeveloper

JRebel Agent

6.5.0 (12th September 2016)

  • Feature: added support for WebSphere 9.
  • Feature: added support for TomEE 7.
  • Improvement: the old JAX-RS endpoint will no longer be active after changing the @ApplicationPath on TomEE.
  • Bug fix: fixed a potential duplicate class definition LinkageError on ProSyst.
  • Bug fix: fixed a compatibility issue between Dynatrace and JRebel 6 native agent.
  • Bug fix: fixed JRebel Legacy agent initializing interfaces too early in some cases, causing unexpected initialization ordering.
  • Bug fix: fixed JRebel causing the Java default LoggerManager to be initialized too early on WebSphere Liberty Profile 16.x with IBM Java 8.
  • Bug fix: fixed SpringVersion.getVersion() sometimes returning null.
  • Bug fix: fixed an issue that could cause EJB producer validation to fail on GlassFish 4.
  • Bug fix: fixed reloading a Spring bean that was defined in an XML file that was imported into another XML file several times.
  • Bug fix: fixed a potential VerifyError that could occur when multiple arrays were defined in a method with one of them being null on the JRebel 6 Agent.
  • Bug fix: fixed a LinkageError related to trying to load the same class twice when deploying an EAR with Jersey classes in /lib.
  • Bug fix: fixed an XRebel and JRebel compatibility issue that could cause a StackOverflowError on startup.
  • Bug fix: fixed a NotSerializableException that occurred when a CDI bean with an interceptor was injected into a JSF view on WebSphere 8.x.
  • Bug fix: fixed Java Introspector returning inaccessible methods as accessors when running with the JRebel Legacy agent.

6.4.8 (18th August 2016)

  • Added support for WebSphere Liberty Profile 16.
  • Added support for Jetty 9.3.11 & 9.2.18.
  • Added support for Tomcat 8.5.4.
  • Added support for Hibernate 5.2.
  • Added support for changing the local interface of an EJB with the JRebel 6 agent on JBoss, WildFly, GlassFish and WebLogic.
  • Fixed an issue where Tomcat 7 could throw a RuntimeException when remapping a request.
  • Fixed an issue with Tiles 3.0.x and Struts 2.5.x sometimes throwing NPEs when reloading.
  • Fixed a CDI BeanManager leak between applications on WildFly 9.
  • Fixed an issue where JRebel run via -agentpath failed to start together with other -agentpath libraries.
  • Fixed an integration issue with Liferay 5.1.2.

6.4.7 (1st August 2016)

  • Added support for Tomcat 8.5.3 and 7.0.70.
  • Added support for WebLogic 12.2.1.1.
  • Added support for Jetty 9.3.10.
  • Added support for tc Server 3.1.5.
  • Added support for Azul Zulu JVM.
  • Added support for adding @WebServlets and @WebFilters on Jetty.
  • Added support for reloading OSGi bundles when MANIFEST.MF changes on Equinox.
  • Added support for reloading Jersey endpoints that are registered as OSGi services on Equinox.
  • Added support for reloading Liferay friendly-url-routes configuration files.
  • Added support for reloading portlet properties files on Liferay.
  • Improved ATG reloader, so it can reload request based Nucleus.
  • Improved ATG reloader to reload components when .properties file is changed.
  • Fixed potential startup slowdown on JBoss AS 7.x when using Spring Data.
  • Fixed reloading lists defined in Spring beans xml file.
  • Fixed a Grails 3 startup when used with Hibernate 5.
  • Fixed an integration issue with early CXF 2.0.x incubator releases.
  • Fixed a potential NPE on deploy with Hibernate 5.
  • Fixed a potential ClassNotFoundException in JRebel Legacy agent when method descriptors of a parent class contained classes that were not accessible.
  • Fixed an integration issue with Hybris 4.8.7.
  • Fixed a ConcurrentModificationException in Mojarra when a bean’s hashcode method caused recursive bean initialization.
  • Fixed a ClassCastException that occurred when autowiring a collection with generic type.
  • Fixed a NoSuchBeanDefinitionException when a Spring bean was overridden by a bean in parent beanfactory using alias.
  • Fixed Package.getImplementationVersion and similar methods returning null on JBoss 7.x.
  • Fixed a NPE on GlassFish 4.x that occurred when rebel.xml mapped location contained a jar that was not packed into WEB-INF/lib.
  • Fixed an AccessControlException when running Wicket on Google App Engine.
  • Fixed an issue with WebLogic taglib handling where JRebel caused them to be recompiled on every request.
  • Fixed an issue with JRebel Spring integration where having the same configuration file on multiple rebel.xml paths caused duplicate beans on reload.
  • Fixed an integration issue with Hibernate 4.1.1.Final.
  • Fixed JBoss AS 7.x losing EJB injection after JAX-RS resource reload.
  • Fixed JRebel Legacy agent returning wrong results when accessing method parameters via reflection.

6.4.6 (27th June 2016)

  • Added support for Tomcat 8.0.36.
  • Added support for Jetty 7.6.19, 8.1.19 and 9.3.9.
  • Added support for Liferay 7.0.1.GA2.
  • Added support for Spring 4.3.
  • Added support for adding @WebServlets and @WebFilters on Tomcat.
  • JRebel default log level is now set to INFO.
  • Fixed reloading MyFaces configuration when a CDI enabler JAR is used.
  • Fixed the serialization of remote EJB method parameters on GlassFish 3.x.
  • Fixed WebLogic classpath scan not taking into account <exclude> elements specified in rebel.xml.
  • Fixed a NullPointerException in Jetty when its debug logging was enabled.

6.4.5 (2nd June 2016)

  • Added support for JBoss EAP 7.0.0.
  • Added support for Tomcat 7.0.69 & 8.0.35.
  • Added support for Jetty 9.2.16.
  • Added support for tc Server 3.1.4.
  • Added support for ProSyst OSGI server.
  • Improved reload performance for CXF services with EJBs on WildFly and JBoss 7.x.
  • Improved reload performance for Hibernate entities with the container-managed entity manager on WildFly and JBoss 7.x.
  • Fixed reloading Jersey 1.x configuration with multiple background requests.
  • Fixed an issue with WebSphere 8.x not being able to inject EJBs into new CDI beans after a reload.
  • Fixed JRebel duplicating servlet filters on reload with WebLogic.
  • Fixed a potential startup error on GlassFish 3.1.2.2 when accessing the administrator console.
  • Fixed an issue with WebSphere where Axis2 was not able to find web service interfaces from the EAR library folder.
  • Fixed a potential NoSuchMethodError on WebSphere 8.x startup, related to Xerces XML Parser.
  • Fixed a ClassCastException with JRebel and Metro.
  • Fixed potential startup slowdown on JBoss AS 7.x when deploying OSGI bundles.
  • Fixed a VerifyError that could happen with the Eclipse compiler on JRebel 6 Agent when you create an instance of an object without assigning it anywhere.
  • Fixed a startup error on GlassFish 4.x when deploying Resource Adapter Archive (RAR) files.

6.4.4 (16th May 2016)

  • Added support for Liferay 7.0.0 GA1.
  • Added support for adding new Spring Data @RepositoryRestResources.
  • Improved JAX-RS integration on WildFly to support changing the path defined in @ApplicationPath or a resource’s Interface method declaration.
  • Improved JSF integration on WebSphere 8.x to handle multiple @PostConstruct methods in the managed bean class hierarchy.
  • Fixed Hybris not being able to reload changes in XML files because the correct tenant was not active.
  • Fixed a potential incompatibility with using AspectJ load-time-weaver together with the JRebel Legacy Agent.
  • Fixed a potential ArrayIndexOutOfBoundsException when enum switch blocks were transformed by AspectJ using the JRebel 6 Agent.
  • Fixed an issue with the Guice Injector returning old instances after reload, when the Injector itself was obtained via an injection.
  • Fixed Hibernate 4 integration triggering a configuration reload when nothing had changed.
  • Fixed an issue with transactions not being active when using DeltaSpike JPA module’s @Transactional methods.
  • Fixed an issue with obtaining a MethodHandle to a restricted class via the Lookup#unreflect* methods using the JRebel 6 Agent.
  • Fixed JAX-RS @Context injected fields being null in an EJB after a reload on WildFly.
  • Fixed a potential StringIndexOutOfBoundsException that could occur when the Eclipse compiler generated illegal characters into LocalVariableTypeTable.

6.4.3 (25th April 2016)

  • Added support for Tomcat 8.0.33.
  • Added support for WebSphere 8.5.5.9 and WebSphere Liberty Profile 8.5.5.9.
  • Added support for Jetty 9.3.8.
  • Improved the GlassFish 3.x and 4.x integration with full coverage for Java EE specifications.
  • Fixed an issue with GlassFish failing to load some Hibernate resources from paths defined in rebel.xml.
  • Fixed a NPE during a Spring bean reload when null value was injected into the constructor.
  • Fixed an issue in Spring where beans defined in XML were reloaded twice in some cases.
  • Fixed an issue in Spring where the order of PropertyPlaceholderConfigurers was mixed up on reload, causing missing placeholder values in some cases.
  • Fixed a potential deadlock during WebLogic 12.2.1 startup.
  • Fixed a potential NoClassDefFoundError that could occur with the JRebel 6 Agent when a class file was deleted during its reload.
  • Fixed an issue with WebSphere 8.x where JRebel generated wrong EJB descriptor files.
  • Fixed an incompatibility issue with the Reflections library, caused by JRebel leaving “.jar” in the temporary directory name.
  • Fixed an issue where the default method implementing another interfaces method was not found when there were multiple types implementing said interface using the JRebel Legacy agent.
  • Fixed an integration issue with Visualforce.

6.4.2a (6th April 2016)

  • Fixed a regression in Spring integration related to CGLIB proxies introduced in JRebel 6.4.2 by rolling back the support for adding the first @Transactional method to a Spring bean.

6.4.2 (5th April 2016)

  • Added support for injecting an @EJB to a new JSF @ManagedBean on JBoss 7.x and WildFly.
  • Added support for reloading non-Singleton scoped Spring @RestController request mappings.
  • Added support for adding new CDI beans to an implicit bean archive on WildFly.
  • Added support for adding the first @Transactional method to a Spring bean.
  • Added support for adding a root JSP on WildFly.
  • Improved the WebLogic 10.x and 12.x integration with full coverage for Java EE specifications.
  • Improved Tapestry 4 integration performance.
  • Improved error messages in standalone activation.
  • Fixed changing the repository entity on Spring Data JPA 1.6.x.
  • Fixed an integration issue with WebSphere Liberty Profile 8.5.5.1.
  • Fixed renaming an inner class that caused a NPE on the JRebel 6 Agent.
  • Fixed an issue with the Struts 2 plugin that caused ClassNotFoundException during reloads.
  • Fixed a NoClassDefFoundError on WebLogic 10.3.x when no JAX-RS classes were on the class path.
  • Fixed an integration issue with Hibernate when the application server’s native class enhancement was used on JBoss.
  • Fixed an AbstractMethodError that could occur when reloading classes on Virgo.
  • Fixed an issue wherein activation with a different email was permitted while the previous email was blocked on the License Server.

6.4.1 (17th March 2016)

  • Added support for Jetty 9.2.15.
  • Added support for Resin 4.0.48.
  • Added support for Tomcat 6.0.45, 7.0.68 and 8.0.32.
  • Added support for reloading Camel routes defined in Spring XML DSL.
  • Added support for adding new Camel RouteBuilders as Spring Beans.
  • Added support for reloading Jersey endpoints registered in the constructor or in the @PostConstruct method of a ResourceConfig class.
  • Added support for reloading changes in JAX-RS @Path annotations declared on an endpoint interface method.
  • Added support for reloading Stripes ActionBean HTML form binding.
  • Added support for swapping out Spring Bean classes in XML definitions that have a common parent class used for injection.
  • Added support for using the root URL for remote Tomcat servers when the default root application was removed.
  • Fixed an issue concerning the loading of precompiled generated classes on WebLogic.
  • Fixed a potential startup issue with WebSphere due to incorrect metadata generated by the EJB integration.
  • Fixed an issue with Hibernate 5 throwing an UnknownServiceException.
  • Fixed the debugger integration causing breakpoints to be highlighted only on the active debug session window in IntelliJ IDEA 16 EAP.
  • Fixed MyBatis Dynamic SQL expression reloading.
  • Fixed JRebel 6 native agent not starting up with IBM J9 7.1.0.0 due to a VM bug.
  • Fixed a potential deadlock in starting up WebLogic with the JRebel 6 agent.
  • Fixed an issue with AspectJ processing generated cglib classes on JBoss 7.x.
  • Fixed Spring injection sometimes failing due to a ConcurrentModificationException.
  • Fixed a FileNotFoundException when trying to access custom JSP tags on WebSphere Liberty Profile.
  • Fixed an issue with generated serialVersionUID changing after class reload.
  • Fixed @PostConstruct being called multiple times during startup on TomEE 1.7.x.
  • Fixed an integration issue with Swagger 1.5.3.
  • Fixed an integration issue with Jersey 1.0.2.
  • Fixed an integration issue with OpenWebBeans 1.6.3.

6.4.0 (2nd March 2016)

  • Added support for Jetty 9.3.7.
  • Added support for WildFly 10.0.0.Final.
  • Added support for Resin 3.1.15.
  • Added support for Liferay 6.2.5 GA6.
  • Added support for tc Server 3.0.6 and 3.1.3.
  • Improved Spring integration to inject added beans into existing @Autowired bean collection fields.
  • Improved handling duplicate rebel-remote.xml module IDs by notifying the user about these situations.
  • JRebel now notifies you when you’re on a nightly build and a newer stable release is available.
  • Fixed an issue with an application failing to start when using MyFaces and when ApplicationFactory was wrapped.
  • Fixed the MyFaces version detection when MyFaces 2 is provided by the application server, but MyFaces 1 used by the application.
  • Fixed an issue in the JRebel 6 native agent that failed to start when certain verbose JDK logging options were enabled.
  • Fixed a potential NoClassDefFoundError from precompiled JSPs when switching the JRebel version.
  • Fixed an issue with custom AutowireCandidateResolver getting lost while reloading Spring beans, causing re-injection failures.
  • Fixed an issue where the application failed to deploy when using Vaadin CDI on the WebSphere Liberty profile.
  • Fixed an AbstractMethodError that could happen when reloading classes on Gemini.
  • Fixed a NoSuchMethodError that occurred when AspectJ tried to process its own generated classes when running with JRebel.
  • Fixed a NPE in the debugger integration that could occur when debugging on IntelliJ IDEA.
  • Fixed an issue in the debugger integration that caused the local variables view to sometimes fail with a VMMismatchException in IntelliJ IDEA.
  • Fixed an issue where the application failed to start, throwing the exception com.arjuna.ats.arjuna.exceptions.FatalError when using JBossJTS.
  • Fixed an AbstractMethodError in MyBatis integration that occurred when using it with Spring 4.x.
  • Fixed a NoSuchMethodError in the JRebel 6 Agent that occurred after changing the signature of a method on a super-type when invoked via a sub-type.
  • Fixed an issue where the GWT compiler could not find some JDK classes when running with the JRebel 6 Agent.
  • Fixed an issue with OpenWebBeans not being able to find the beans when the rebel.xml mapped path itself did not contain rebel.xml.
  • Fixed a potential deadlock in the RESTEasy integration.

6.3.3 (4th February 2016)

  • Added integration with Swagger 1.3 or newer.
  • Added support for reloading JAX-RS method signatures using GlassFish 4.x.
  • Added option to suppress warnings about invalid directories that are mapped in rebel.xml.
  • Improved the WebSphere 8.x reload speeds.
  • Fixed re-configuring certain Spring Beans even when those were not changed.
  • Fixed the NameNotFoundException: Name "comp/websphere/UserWorkArea" not found in context "java:” after reload using WebSphere 8.x.
  • Fixed an issue with JRebel potentially causing some resources to be not found when URLs were added to a URLClassLoader during runtime.
  • Fixed a bug with GWT array serialization.
  • Fixed an issue with Spring Security anonymous beans disappearing after reloading beans.xml.
  • Fixed applications using the APDPlat framework not being able to start up when run with JRebel.
  • Fixed a potential NoClassDefFoundError that could occur when the Eclipse Mars compiler generated a faulty LocalVariableTypeTable.
  • Fixed an AmbiguousResolutionException that could happen with Solder TypedMessageLoggerProducer.
  • Fixed an integration issue with WebSphere 8.5.0.0.
  • Fixed Spring finding duplicate resources when using WebLogic.
  • Fixed an integration issue with EclipseLink 1.x.
  • Fixed RESTEasy potentially throwing a RuntimeException: Unable to find a public constructor for class when loading a class with JRebel.
  • Fixed creating duplicate DeltaSpike proxy beans on reload.
  • Fixed a NPE in the JRebel 6 Agent that could occur when the type of a field was not provided on the classpath.
  • Fixed JRebel 6 Agent not picking up changes to classes when a custom system class loader was used.
  • Fixed an issue with accessing public static fields from package private superclasses with the JRebel 6 Agent.
  • Fixed a VerifyError that occurred when running JRebel 6 Agent together with the ws-javaagent using WebSphere Liberty Profile.
  • Fixed a VerifyError that occurred when running JMockit unit tests with the JRebel 6 Agent.
  • Fixed JRebel 6 Agent potentially losing state when reloading a class containing more than 200 fields.
  • Fixed JRebel 6 Agent potentially picking the wrong case when switching over a reloaded enum in a class compiled with Eclipse.
  • Fixed JRebel 6 native agent failing to start up when passing main arguments starting with -X (e.g. with GWT).
  • Fixed an IllegalAccessException with JRebel Legacy Agent regarding changing a static final field via reflection.

6.3.2 (14th January 2016)

  • Added support for TomEE 1.7.3.
  • Added support for WildFly 10.0.0.CR5.
  • Added support for WebSphere Liberty Profile 8.5.5.8.
  • Added support for Resin 4.0.47.
  • Added support for Tomcat 7.0.67.
  • Added support for reloading @XStreamAlias values when using Spring XStreamMarshaller.
  • Improved the WebSphere 7.x integration with full coverage for Java EE specifications.
  • Improved WebSphere Liberty Profile servlet reload speed.
  • Fixed an NPE that occurred when faces-config.xml contained custom entities.
  • Fixed JRebel creating duplicate Spring request mappings when using DefaultBeanNameGenerator.
  • Fixed an AmbiguousResolutionException when a Spring Data repository was inserted into an EJB using @inject.
  • Fixed the parsing of JSP Tag Libraries that were found from the second <web> root link in rebel.xml on WebSphere.
  • Fixed an integration issue with Jetty versions 8.1.2 to 8.1.9.
  • Fixed an NPE on Jetty 9.2.x+ that occurred when all ServletContainerInitializers were disabled.
  • Fixed an issue with the JRebel 6 Agent where calling isAlive() returned as false on a reloaded class that extended the Thread.
  • Fixed an NPE that could occur in Wink when JRebel remote server support was used without a rebel-remote.xml present in the artifact.
  • Fixed an IllegalStateException when JRebel was used with the Apereo CAS Client.
  • Fixed a NoSuchMethodError caused by the debugger integration with the JRebel 6 Agent when the method with the current suspended breakpoint was removed.
  • Fixed inner class reloading when multiple inner classes were too similar and JRebel mixed them up following a reload.
  • Fixed an issue where calling getAnnotatedType returned the wrong type after reload using the JRebel Legacy Agent.
  • Fixed reloading inner classes with a changed order when compiled with the Eclipse compiler using the JRebel Legacy Agent.

6.3.1 (21st December 2015)

  • Added support for WebLogic 12.2.1.
  • Added support for Spring Boot 1.3.0.
  • Added support for OpenWebBeans 1.6.2.
  • Added support for Jetty 9.2.14.
  • Added support for Tomcat 8.0.29.
  • Added support for Liferay 6.2.4 GA5.
  • Added support for WebSphere 8.5.5.7.
  • Improved Hibernate reload performance.
  • Improved Axis2 integration performance by removing unnecessary reloading.
  • Fixed an issue with the JRebel 6 Agent where adding a previously deleted enum value was different from the deleted value.
  • Fixed a NoSuchBeanDefinitionException occurring when both Spring @Configuration class and its superclass exported the same bean with different names.
  • Fixed an issue with Tomcat 8.x recompiling JSPs multiple times per request.
  • Fixed an issue with using Hibernate 5.x from Spring ORM 4.x where the SessionFactory was not reconfigured properly on reload, causing an UnsupportedOperationException.
  • Fixed a potential deadlock in Axis2 1.6.x when reloading classes.
  • Fixed a potential deadlock in WebLogic 10.3.x.
  • Fixed Spring @Configuration reloading breaking Spring Integration flows.
  • Fixed a Tomcat issue with parsing the wrong rebel.xml without replaced properties.
  • Fixed overly long Tomcat requests caused by unnecessary scanning.
  • Fixed WebLogic throwing NoClassDefFoundError: JrWlpJPAPUnitInfo on deploy when using prefer-application-packages for package org.eclipse.persistence.* in weblogic.xml.
  • Fixed the display of the directory listing with JRebel when it should have been disabled on WebLogic 12.x.
  • Fixed JRebel incorrectly detecting the Spring version used when both Spring 2.x and 3.x classes were on the classpath.
  • Fixed a potential IllegalStateException: Singleton not set for Classloader, thrown from the Mojarra plugin on reload.
  • Fixed an ArrayIndexOutOfBoundsException in JRebel Legacy Agent with Java 8 method reflection happening after a reload.

6.3.0 (30th November 2015)

  • Added support for Tomcat 7.0.65 and 8.0.28.
  • Added support for WildFly 9.0.2.
  • Added support for Jetty 9.3.6.
  • Added support for Resin 4.0.46.
  • Added support for Mojarra 2.2.12.
  • Improved the WebSphere 8.x integration with full coverage for Java EE specifications.
  • Improved the WebSphere Liberty profile integration with full coverage for Java EE specifications.
  • Improved JRebel 6 Agent support for enum reload.
  • Improved the speed of rebel.xml path matching.
  • Fixed a performance regression in our Tomcat integration since 6.2.7.
  • Fixed an issue with some Liferay templates not being able to import other static resources.
  • Fixed an issue with reloading EclipseLink MOXy JAXBContext when using an external metadata xml file to define the mappings.
  • Fixed a potential UnsupportedOperationException with the JRebel 6 Agent that occurred when when class redefinition was invoked.
  • Fixed an issue with reloading Spring beans with a scoped proxy exported from @Configuration class.
  • Fixed a potential integration issue with Hibernate 5.0.4.
  • Fixed an issue with using two or more @WebService instances, annotated with JBoss @WebContext that had identical defined urlPatterns, but different contextRoots.
  • Fixed an issue where applying integrations failed due to identically named classes in the default package.
  • Fixed a VerifyError with the JRebel 6 Agent that occurred when using Lucee as a dependency from the cfmlprojects.org repository.
  • Fixed an issue where the license was not accepted for a few hours due to time zone differences.

6.2.7 (9th November 2015)

  • Added support for GlassFish 4.1.1.
  • Added support for OGNL 3.0.12.
  • Added support for Log4j 2.4.
  • Added support for changing JAX-RS endpoint method signatures on GlassFish 4.x.
  • Added support for adding new JAX-RS endpoints on GlassFish 4.x.
  • Added support for adding new MyBatis mapper XML files, when used together with Spring and classpath scanning to find the mapper files.
  • Improved the JRebel 6 agent startup time.
  • Improved the performance of reloading JAX-WS resources on WebSphere.
  • Fixed an issue with starting JRebel plugins causing a class circularity in rare cases.
  • Fixed an issue where JRebel called Jersey 2 @PreDestroy methods on reload.
  • Fixed a regression where JRebel started to throw IllegalStateException and reported that some WebSphere Portal versions are not supported.
  • Fixed an issue with new resources not being found from <PreResources/> and <PostResources/> locations defined in Tomcat context.xml.
  • Fixed a Hibernate UnknownServiceException that occurred when reloading multiple deployed web applications.
  • Fixed an integration issue with JBoss 3.2.8.
  • Fixed an integration issue with Tomcat 4.
  • Fixed a ClassCastException that occurred when using Spring 4.1 with Hibernate 3.
  • Fixed a potential TransactionRequiredException related to reloading LocalContainerEntityManagerFactoryBean.
  • Fixed an issue related to reloading enums with class bodies on the JRebel Legacy agent.
  • Fixed an issue where calling the enum ordinal() method did not trigger a reload on the JRebel Legacy agent.
  • Fixed and issue with using JNDI in a war file with no EJBs in it on WebSphere 8.x.

6.2.6 (21st October 2015)

  • Added support for Tomcat 8.0.27.
  • Added support for Resin 4.0.45.
  • Added support for Pivotal tc Server 3.0.5 and 3.1.2.
  • Added support for Hibernate 5.0.
  • Added support for Spring Framework 4.2.
  • Improved JBoss EAP 6.x and WildFly startup time.
  • Improved Spring rescanning speed.
  • Improved Struts 2 rescanning speed.
  • Made the JRebel 6 native agent use a dynamic DLL base.
  • Made JRebel Remote start listening on the port right at startup when -Drebel.remoting_port is specified.
  • Licensing for JRebel instances with License Server licenses running on a virtual machines has been improved.
  • Fixed regression regarding removing JMX beans when adding regular Spring beans.
  • Fixed NoSuchMethodErrors that occurred when changing @Bean annotated methods in Spring @Configuration classes.
  • Fixed an issue with additional resources defined in Tomcat context.xml not being found when using JRebel Remote.
  • Fixed an issue with JRebel not receiving file system events from exFAT file systems.
  • Fixed a PersistenceException that occurred after reload when using Hibernate with custom scanners.
  • Fixed a potential deadlock in WildFly 8.x EJB integration when multiple EJBs referenced each other.
  • Fixed a potential IllegalStateException from Jersey 1 that could happen after reload.
  • Fixed a compatibility issue between the JRebel 6 agent and the Spring-Instrument agent.
  • Fixed a potential ArrayStoreException on the JRebel 6 agent with Arrays of a reloaded type.
  • Fixed a non-fatal IllegalAccessException when accessing reloaded lambdas with the JRebel 6 agent.
  • Fixed an issue with the JRebel 6 agent potentially corrupting an array when using System.arraycopy when source and destination overlapped.
  • Fixed a NoSuchFieldError in the JRebel 6 agent when adding a static field and then using it later from a reloaded class.
  • Fixed a IllegalAccessException with JRebel 6 agent regarding changing a static final field via reflection.
  • Fixed the JRebel 6 agent potentially calling the old method of a class with a changed hierarchy when the method called is present in both old and new class hierarchies.
  • Fixed an issue where the RichFaces <a4j:support> component stopped working after reloading on JSF facelets versions older than 1.1.12.
  • Fixed an issue in Metro with reloading @WebService classes even though they were not changed.
  • Fixed a potential deadlock in the EclipseLink integration regarding load-time weaving.

6.2.5 (1st October 2015)

  • Added support for Tomcat 7.0.64 and 8.0.26.
  • Added support for WildFly 8.2.1 and 9.0.1.
  • Added support for Jetty 9.2.13 and 9.3.3.
  • Added support for Google App Engine 1.9.25.
  • Added support for Liferay 6.2.3 GA4.
  • Added support for Virgo 3.6.4.
  • Added support for Struts JSON Plugin.
  • Added support for adding new Spring @ManagedResource beans.
  • Improved Spring re-scanning speed.
  • Improved JVM startup speed when using multiple paths in rebel.xml.
  • Improved MyFaces reloading reliability.
  • Fixed an issue where the JRebel 6 Agent caused a VerifyError when the ternary operator was used to initialize a static field.
  • Fixed an NPE on JBoss 7.x when using the Infinispan CDI module.
  • Fixed a RebelSourcesWatcher ConcurrentModificationException on JBoss 7.x.
  • Fixed an issue with JRebel not preserving a CDI @SessionScoped beans context on JBoss 7.1.
  • Fixed an issue where having more than one persistence unit with the same name caused deployment issues on JBoss EAP 6.1.
  • Fixed a potential deadlock on first use of EJBs that depended on each other in WebLogic.
  • Fixed an issue with adding a new method to an EJB that was retrieved via InitialContext#lookup on WebLogic.
  • Fixed adding new Spring beans to an @Autowired constructor.
  • Fixed an NPE on Liferay that occurred following portlet reload.
  • Fixed an issue where Hibernate EntityPersister could get lost on reload.
  • Fixed a potential NPE on Log4j initialization.
  • Fixed an AmbiguousResolutionException caused by JRebel when using CDI 1.1 implicit bean archives.
  • Fixed an issue where Spring would fail to get the container managed EntityManagerFactory on WebLogic 10.3.5.
  • Fixed an issue with the Velocity Engine not using correct templates from a custom folder when running with JRebel.
  • Fixed an NPE on Tomcat when the application had already failed to deploy.

6.2.4 (15th September 2015)

  • Added support for binding request parameters to new properties on Struts annotated Action classes.
  • Added support for adding new Spring Data repositories when using Java-based configuration of the Spring container.
  • Added support for adding new non-singleton Spring MVC @Controllers.
  • Fixed an issue with Grails 2.x Asset Pipeline Plugin 1.x where resources required from plugin were not loaded.
  • Fixed a corner case issue with deploying OpenJPA applications that caused entity enhancement to fail with the message: All persistent properties must have getter methods.
  • Fixed an issue where annotations of modified methods were lost when using the JRebel 6 Agent.
  • Fixed an issue where the JRebel 6 Agent caused JVM to crash when using static methods of certain functional interfaces (Function.compose etc.).
  • Fixed an issue with Ehcache CacheManager getting shut down when reloading Hibernate SessionFactory.
  • Fixed the implementation to avoid throwing an exception when a CoreMedia CMS custom Spring FactoryBean incorrectly declares the type of the bean it is producing.
  • Fixed an issue with patching the Jersey 1.x ServletContainer class without the servlet API available on the classpath.
  • Fixed a NPE with reloading EJBs that have bean managed transactions on WildFly and JBoss EAP 6.x.
  • Fixed an issue where JRebel caused Spring to log warnings about not being able to determine the bean type of abstract factory beans.
  • Fixed an issue with using non-default JSF implementation on WildFly 8.x.
  • Fixed an AbstractMethodError caused by using Spring Data MongoDB MappingMongoConverterParser.
  • Fixed an integration issue with Mustache 0.9.1.

6.2.3 (24th August 2015)

  • JBoss AS 7.1+ integration has been improved to the full coverage for Java EE specifications.
  • Support for reloading Spring @Scope(“request”) @Controllers has been added.
  • WebSphere 8.5.5.x JSF integration has been improved to allow injecting new EJBs into ManagedBeans.
  • Adding new Spring components in packages scanned by WebApplicationInitializer is now supported.
  • Fixed an integration issue with Hibernate 4.3.
  • Fixed a redirect loop after reload when using MyFaces Extensions CDI project.
  • Fixed a NullPointerException in Liferay integration when running on a non-root context path.
  • Fixed an integration issue with Spring Data REST 2.4.0.RC1.
  • Fixed an issue with Spring @Configuration classes being reloaded just once.
  • Fixed an integration issue with Spring Boot Actuator 1.3.0.M2.
  • Fixed an issue with static resources within a JAR META-INF/resources folder that were not reloaded without a link in a parent WAR rebel.xml on WildFly.
  • Fixed an integration issue with WildFly when started via Arquillian.
  • Fixed a FileNotFoundException when trying to load a class with URLClassloader from an URL like file://localhost/C:/….
  • Fixed an issue with TomEE 1.7.x where apps using Spring WebApplicationInitializer failed to deploy.
  • Fixed a VerifyError with the JRebel 6 Agent reloading Java 8 default methods when class redefinition is disabled.
  • Fixed an issue when configuring Hibernate with mappingDirectoryLocations caused duplicate class/entity mappings on WebSphere and Virgo.
  • Fixed an issue with the debugger integration where outer class breakpoints were not hit after reloading an inner class on IntelliJ.

6.2.2 (30th July 2015)

  • Added support for Wildfly 9.0.0.
  • Added support for Tomcat 7.0.63 and 8.0.24.
  • Added support for Google App Engine 1.9.23.
  • Added support for Pivotal tc Server 3.0.4 and 3.1.1.
  • Added support for Jetty 9.3.0.
  • Added support for WebSphere 8.5.5.6.
  • Added support for Grails 2.5.
  • Added support for reloading @Named beans in Servlets on TomEE.
  • Improved EJB support for WebLogic 12.1.x.
  • Performance improvements on startup for WildFly.
  • Fixed a few issues related to shutting down WildFly after reload.
  • Fixed an issue with reloading ADF jspx/jsff files.
  • Fixed an issue with running Grails 2.x using the run-war command.
  • Fixed an issue with Grails 2.x not loading static resources from plugins.
  • Fixed a NotSerializableException when running TomEE via the IntelliJ plugin.
  • Fixed an issue with ATG where JRebel caused duplicate lines in the log.
  • Fixed an issue with having an EJB with multiple names on JBoss 7.2.
  • Fixed an issue with AxonFramework registering double listeners after reloading Spring beans.
  • Fixed an issue with Hibernate entity listeners not being called.
  • Fixed an issue with using interfaces for RESTEasy endpoints.
  • Fixed an issue with the JRebel 6 agent reloading lambdas initialized from the static initializer.
  • Fixed an issue with the JRebel 6 agent handling reflective calls to retrieve changed type parameters.
  • Fixed an issue with the JRebel 6 agent concerning invalid lambda de-serialization.
  • Fixed an issue with the JRebel 6 agent reloading lambdas in default methods.
  • Fixed an issue with using Guice @Inject in RESTEasy resources.
  • Fixed an integration error with Guice 4.0.
  • Fixed an issue with reloading in Spring Boot when eager class loading was configured.
  • Fixed an integration issue with Spring MVC 4.2 RC1.
  • Fixed an AmbiguousResolutionException on WebLogic 12.1.x when using an @Decorator injected via producer.
  • Fixed an integration issue with JRuby 1.7.21.
  • Fixed an integration issue with Jersey 2.19.
  • Fixed an issue with Liferay CSS reloading when the filesystem notifications did not work.
  • Fixed an issue with missing the SASS load path in Liferay themes.

6.2.1 (17th June 2015)

  • Added support for TomEE 1.7.2.
  • Added support for Tomcat 6.0.44, 7.0.62 and 8.0.23.
  • Added support for Jetty 7.6.17, 8.1.17 and 9.2.11.
  • Added support for JBoss EAP 6.4.
  • Added support for Resin 4.0.44.
  • Added support for Google App Engine 1.9.21.
  • Added support for reloading JPA named queries that are defined in the mapping-file.
  • Added support for reloading EJB @TransactionAttribute values on Weblogic 12.1.3.
  • Added support for using newly added @Entity fields from @Stateful EJBs.
  • Added support for reloading changes to properties files used via @PropertySource in Spring.
  • Several performance fixes to the JBoss 7 plugin.
  • Added support for reloading static resources configured in ibm-web-ext.xml on WebSphere.
  • Improved the reloading of Guice configuration.
  • Fixed a memory leak in Hibernate integration.
  • Fixed a possible ClassCircularityError when adding new Resteasy resources.
  • Fixed an issue with using added methods via OGNL in Tapestry 4.
  • Fixed a LinkageError when running Jetty via the Maven Jetty plugin.
  • Fixed an issue with WebSphere 6.1 where JRebel caused a redirect to welcome files and discarded the query parameters.
  • Fixed an issue with reloading @WindowScoped JSF beans in Apache DeltaSpike.
  • Fixed an issue with reloading named filter chains in Spring Security.
  • Fixed an issue where Apache Camel routes did not pick up changes in properties files.
  • Fixed an issue where using HikariCP with JRebel caused an illegal type at constant pool entry.
  • Fixed a CannotCompileException that was caused by having Spring MVC JAR without Spring Web JAR on the classpath.
  • Fixed an issue with GWT where the domain method could not be resolved when the method signature contained generics.
  • Fixed an issue where JRebel tried to to execute an operation on a closed EntityManagerFactory in EclipseLink after reload.
  • Fixed an issue with the JRebel 6 agent where changing a class to an interface caused an IncompatibleClassChangeError.
  • Fixed an issue with the JRebel 6 agent where a bean reload caused clone() to produce null fields.
  • Fixed an issue with the JRebel 6 agent where reloading interfaces or abstract classes could result in ClassFormatError.
  • Fixed an issue with the JRebel 6 agent where the presence of other javaagents could cause NoSuchMethodErrors.
  • Fixed an issue with the JRebel 6 agent where reloading a proxy class multiple times – without using the instance in between – resulted in NoSuchMethodError.
  • Fixed an issue with the JRebel 6 agent on WebLogic 8 with its Health Center functionality enabled.
  • Fixed a NullPointerException on WildFly 8.2 when deploying an EAR.
  • Fixed an issue with the debugger integration where method entry breakpoints did not hit on Eclipse.
  • Fixed an integration issue with Hibernate Validator 4.3.0.Beta1 that caused IncompatibleClassChangeError on reload.
  • Fixed an issue with OpenEJB where reloading app containing TomEE resources.xml caused an UnsupportedOperationException.
  • Fixed a CannotCompileException no such class: Field on GlassFish.
  • Fixed a performance issue with Equinox 4.4.
  • Fixed an issue with @PostConstruct methods running multiple times for JSF managed beans on WebLogic 10.3.6.
  • Fixed an issue with Spring Beans integration where anonymous beans were not reconfigured when descriptor changed.
  • Fixed an issue where CXF Features were lost after class reload.

6.2.0 (21st May 2015)

  • Improved the TomEE integration with full coverage for Java EE specifications.
  • Improved GWT 2.x integration.
  • Added support for WebSphere 7.0.0.37.
  • Fixed an issue with retrieving resource variables from JNDI after EJB reloading on WAS 8.5.5.
  • Fixed an issue on JBoss where after reloading an EJB with a non updateable parent class, the parent class methods were not found anymore.
  • Fixed an issue with using relative paths for <jar-file> in persistence.xml with spring-orm.
  • Fixed an integration issue found with iBATIS 3.0.
  • Fixed an issue where an @Inject added to a JAX-RS endpoint was not injected on WildFly.
  • Fixed an issue with the remote debugger not detaching when the VM was stopped.
  • Fixed an issue with the debugger integration, where a break point on a second added inner class did not hit.
  • Fixed an issue where a Spring bean with multiple annotation types (@Controller and @Configuration) was reconfigured twice on reload.
  • Fixed an issue with renaming Apache Camel route to a previously existing route name.
  • Fixed an issue with changing an @WebMethod signature when bundling the JAX-WS RI on WildFly.
  • Fixed issue where Hibernate SessionFactory configured with mappingDirectoryLocations caused DuplicateMappingException when the provided path ended with a slash symbol.

6.1.3 (5th May 2015)

  • Added support for Tomcat 8.0.21.
  • Added support for Resin 4.0.43.
  • Added support for Pivotal tc Server 3.0.3.
  • Added support for Pivotal tc Server 3.1.0.
  • Added support for Jetty 9.2.10.
  • Improved the Apache Camel integration to reload RouteBuilders when no HTTP requests are detected.
  • Improved the Grails 2.x cooperation with regular Spring reloading.
  • Various fixes and improvements to the debugger integration.
  • Fixed an issue where injecting EJBs failed after a reload on WildFly 8.x.
  • Fixed an issue where having a <jar-file> entry in persistence.xml of a WAR archive on WebLogic 12 did not work with JRebel.
  • Fixed an issue where the Grails 2 plugin also activated for Grails 1.
  • Fixed an issue with calling the new remote EJB2 methods on JBoss 4.
  • Fixed a VerifyError on the JRebel 6 Agent with auto generated classes that have “()” in their name.
  • Fixed an issue where the Hibernate annotations on the XML mapped entities were not reloaded.
  • Fixed an NPE thrown on reload after an application was not deployed on WebLogic 10.
  • Fixed an issue in Metro where @WebService stopped working after adding parameter to the existing @WebMethod.
  • Fixed an issue when mixed forward and backward slashes in a path caused JRebel to return null InputStream from ServletContext in some cases.
  • Fixed an issue where the WebLogic FilteringClassLoader filtering EclipseLink classes caused the JRebel EclipseLink plugin to stop working.
  • Fixed an issue where reloading caused duplicate Spring Integration endpoints.
  • Fixed a concurrency issue in the Guice plugin that was causing an NPE.
  • Fixed an issue where JRebel lost query parameters when redirecting to a welcome file.
  • Fixed an incompatibility with Swing Explorer agent on Java 7+.
  • Fixed a ClassCastException when in the JRebel 6 Agent when reloading classes used in lambda expressions.
  • Fixed a failure with Apache Struts when a Struts Action is an inner class.

6.1.2 (7th April 2015)

  • Improved reloading MyFaces configuration when running with OpenWebBeans
  • Added support for adding JAX-RS endpoints using classpath scanning on Wildfly 8.x
  • Added support for adding new JPA entities on Wildfly 8.x
  • Added support for adding servlets by annotations on Wildfly 8.x
  • Fixed serialVersionUID warnings when using GWT devmode
  • Fixed an issue where JRebel added a body to a HTTP 304 response, which could cause Chrome to hang
  • Fixed an issue where IBM JVM threw java.lang.IncompatibleClassChangeError: incompatible InnerClasses attribute
  • Fixed preserving CDI bean injected field state on bean reload
  • Fixed an issue with EJB reload on JBoss when the EJBs where called remotely
  • Fixed Spring bean constructors not rerunning when @Autowired parameter was added
  • Fixed an issue when HK2 and Jersey combination crashed on reload
  • Fixed an issue where reloading class with multiple EJB definitions failed on JBoss EAP 6.x
  • Fixed an integration issue with CXF 2.7.8
  • Fixed an integration issue with OpenJPA when using load time enhancement
  • Fixed an integration issue with Hibernate 3.0.x
  • Fixed an ConcurrentModificationException from JRebel Hibernate integration
  • Fixed an issue where Reflection getMethods returned superinterface static methods
  • Fixed an issue with Grails 2.x integration where a plugins onChange handler was not called
  • Fixed an issue with JRebel causing classloader leaks, when application is undeployed
  • Fixed an issue where JRebel caused Log4j to use a wrong configuration file
  • Fixed an integration issue with jackson-databind 2.6.0-SNAPSHOT

6.1.1 (12th March 2015)

  • Added support for running JaCoCo agent together with JRebel
  • Added support for Resin 4.0.42
  • Added support for Google AppEngine 1.9.18
  • Added support for Jetty 9.2.9
  • Added support for Tomcat 7.0.59
  • Added support for adding/removing JAX-WS Metro SchemaValidators.
  • Added support for reloading new Spring actuator endpoints.
  • Added support for reloading URL rewrite patterns in JBoss Seam.
  • Added support for preventing reactivation while having an offline lease from License Server.
  • Set Tomcat context reloadable attribute to false when running with JRebel to avoid Tomcat starting to redeploy.
  • Improved the behavior of reloading Hibernate 4.x entity classes. Make sure to always use the “update” strategy for schema regeneration on reload.
  • Improved JRebel startup time when project dependencies are missing from classpath.
  • Fixed an integration issue with version 2.1.3 of Grails Asset Pipeline plugin
  • Fixed an issue with reloading a method with array return type
  • Fixed an issue with reloading EJBs in JBoss that reference non reloadable EJBs
  • Fixed an NPE related to @ConversationScoped bean reloading
  • Fixed an issue where Spring MVC handlers cache wasn’t properly cleaned in some cases
  • Fixed an issue where on TomEE 1.7 @WebServlet annotated servlets weren’t registered when running with JRebel
  • Fixed an issue with debugger throwing IllegalStateException on JDK 1.8.0_40
  • Fixed an issue in JRebel debugger integration where adding a breakpoint to an anonymous inner class could fail after reload.
  • Fixed a ConcurrentModificationException in Jersey integration.
  • Fixed a potential class loader leak when servlet API was loaded from the WEB-INF/lib directory.
  • Fixed an issue where a changed interface method in an unchanged class failed with AbstractMethodError.
  • Fixed an issue where checking the license status takes over two minutes (network is available, but the License Server is not).

6.1.0 (26th February 2015)

  • Added support for Grails 2.2, 2.3 and 2.4.
  • Added support for Tomcat 8.0.17.
  • Added support for Jetty 9.2.7.
  • Added support for Liferay 6.2.2 GA3.
  • Added support for Struts 2.3.20.
  • Added support for reloading static web resources served by CachingResourceResolver in Spring 4.1.
  • Added support for reloading Spring Data @RestResource and @RepositoryRestResource annotations.
  • Improved Wildfly integration with full Java EE specifications coverage.
  • Fixed an issue where XRebel would not function properly with JRebel.
  • Fixed an issue where JRebel would fail to reload classes containing a great amount of inner classes.
  • Fixed an issue where JRebel reloading would fail with Jersey 1.1.4 and 2.16.
  • Fixed an issue where JRebel reloading would fail with Stripes 1.5.0.
  • Fixed an issue where FreeMarker templates were not reloaded.
  • Fixed a Spring issue where adding a Bean dependency got passed through the constructor and was declared in XML, causing NoSuchMethodException.
  • Fixed an issue with YourKit and JRebel compatibility.
  • Fixed an issue where RESTEasy threw RuntimeException: Unable to instantiate InjectorFactory implementation.
  • Fixed an issue which became apparent when adding a new interface and then overriding the default method.
  • Fixed a StackOverflowError caused by having an annotated method being annotated again.
  • Fixed an issue where a REBEL_BASE directory was not correctly created on Linux.
  • Fixed an issue where AVAST antivirus reported JRebel as a virus.
  • Fixed an issue where ObjectMapperCBP was applied even though Jackson core was not used.
  • Fixed an issue where GWT running on Google Application Engine threw a NoClassDefFoundError: org/eclipse/jetty/webapp/Descriptor.
  • Improved handling paths with spaces when configured with -agentpath.
  • Improved passing configuration arguments when configured with -agentpath on WAS.
  • Fixed an issue where JRebel configured with -agentpath on Windows XP would fail in some cases.
  • Fixed an issue where SBT could not compile when JRebel was configured with the -agentpath argument.

6.0.3 (30th January 2015)

  • Added support for Tomcat 6.0.43.
  • Added support for Jetty 9.2.6.
  • Added support for Google App Engine 1.9.17.
  • Added support for Pivotal tc Server 3.0.2 SR2.
  • Added support for REBEL_BASE environment variable and -Drebel.base JVM argument to enable customization of JRebel data directory.
  • Improved Hibernate integration when creating SessionFactory from MetadataSources.
  • Improved Spring integration to reload Spring Data @RestResource annotation.
  • Improved Spring integration to use the initial property value if a value injection failed.
  • Improved Weld/Weld 2 integration to take into account <include> and <exclude> tags when searching for beans.xml.
  • Fixed an issue where some rebel.xml directories weren’t returned on JBoss 7.
  • Fixed an issue where some Mustache template partials were not reloaded.
  • Fixed an issue where Mustache reloading reported Wrong ClassLoader: WebappClassLoader.
  • Fixed an issue where a change in Spring Bean definition containing constructor arguments caused a new instance to be created.
  • Fixed an issue where Spring Beans with Hybris tenant scope were null after a reload.
  • Fixed an issue where no file system notifications were received on an XFS file system.
  • Fixed an issue where Metro JAX-WS endpoints were reloaded on every request.
  • Fixed a potential deadlock with counting redeploys.
  • Fixed an issue with Weld 2 integration where @Context injected field was null after a reload on a @RequestScoped JAX-RS resource.
  • Fixed a potential NPE in Weld 2 integration.
  • Fixed a potential NPE in Apache DeltaSpike and Weld 2.
  • Fixed an issue where a java.lang.VerifyError was thrown when changing a supertype from an interface to a class.

6.0.2 (23rd December 2014)

  • Added support for Tomcat 7.0.57.
  • Added support for Tomcat 8.0.15.
  • Added support for Jetty 9.2.5.
  • Added support for TomEE 1.7.1.
  • Added support for reloading languages.properties in Liferay portlets.
  • Improved JRebel 6 Agent reload speed.
  • Fixed an issue where the JRebel 6 Agent was unable to start when the JRebel installation path included bracket symbols ( ).
  • Fixed an issue where a javassist.NotFoundException: getFurthestParentTemp(..) is not found in org.jboss.virtual.plugins.context.AbstractVFSContext was logged with JBoss 5.
  • Fixed an issue where Spring Beans registered through @Configuration did not reload property values in some cases.
  • Fixed an issue where an NPE was thrown when inspecting a class with fields of type “short” or “char” while debugging.
  • Fixed an issue where after an EJB reload with JMSContext jmsContext.createProducer() was null in some cases on WildFly.
  • Fixed an issue where Spring ResourceHttpRequestHandler could not serve resources outside of webroot.
  • Fixed an issue where a WELD-001408 Unsatisfied dependencies for type [FacesContext] with qualifiers [@Default] at injection point [[field] @Inject was thrown for Weld applications in some cases.
  • Fixed an issue where a javassist.CannotCompileException: no such class: EntityManagerFactory was thrown for ‘org.springframework.orm.jpa.AbstractEntityManagerFactoryBean’ when using Sprint ORM without javax.persistence classes on classpath.
  • Fixed an issue where classes loaded by Tomcat 8 InstrumentableClassLoader were not reloaded by JRebel.
  • Fixed an issue where an ERROR ContextLoader: Context initialization failed was thrown with java.util.NoSuchElementException when running Spring 4 on JBoss 5 in some cases.
  • Fixed an issue where a deadlock would occur with Spring applications in very specific cases.
  • Fixed an issue where a ClassCastException was thrown for com.google.gwt.dev.javac.CompilationState during startup when running GWT 2.7.
  • Fixed an issue where a NoClassDefFoundError: javax/servlet/http/HttpServletRequest was thrown during startup of Liferay EE 5.2.6. running on GlassFish 3.1.2.2.
  • Fixed an issue where Primefaces-Extensions importEnum and importConstants tags were not reloaded properly.
  • Fixed an issue where a java.io.FileNotFoundException: ServletContext resource [/WEB-INF/classes/spring/] cannot be resolved exception was thrown when deploying a WAR file without directory entries (ant filesonly=true) to WebLogic.
  • Fixed an issue where a ArrayIndexOutOfBoundsException could be thrown when JRebel happened to reload classes that had not finished compiling.
  • Fixed an issue where a javassist.NotFoundException: loadSerializationPolicy(..) was thrown for com.google.gwt.user.server.rpc.RemoteServiceServlet when running GWT 1.5.3.
  • Fixed an issue where a java.net.MalformedURLException: no protocol: /path/to/file was thrown during the startup of Jetty 8 in some cases.
  • Performance and stability improvements.

6.0.1 (25th November 2014)

  • Added support for Wildfly 8.2.
  • Improved the performance of resource lookups in big applications.
  • Fixed an issue wherein org.zeroturnaround.bundled.javassist.NotFoundException: oracle.adf.JrDefinitionManager.
  • at org.zeroturnaround.bundled.javassist.ClassPool.get(JRebel:450) was thrown for ADF applications.
  • Fixed an issue wherein java.lang.NoClassDefFoundError: com/sun/faces/lifecycle/JrLifecycle at org.zeroturnaround.jrebel.adf.faces.cbp.LifecycleImplCBP.process(LifecycleImplCBP.java:18) was thrown for ADF applications.
  • Fixed an issue wherein added MyBatis XML mappings were not detected in some cases.
  • Fixed an issue wherein org.zeroturnaround.bundled.javassist.CannotCompileException: [source error] no such class: YamlPropertiesFactoryBean at org.zeroturnaround.bundled.javassist.CtNewMethod.make(SourceFile:79) was thrown for applications using Spring Boot 1.2.
  • Fixed an issue wherein the following exception was thrown on a TomEE 1.7.1 application using OpenWebBeans: org.apache.catalina.loader.WebappClassLoader loadClass. INFO: Illegal access: this web application instance has been stopped already. Could not load $CLASS_NAME. The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact. java.lang.IllegalStateException.
  • Fixed an issue wherein Class ‘org.hibernate.impl.SessionFactoryImpl’ could not be processed by org.zeroturnaround.javarebel.integration.hibernate.cbp.SessionFactoryImplCBP@org.apache.catalina.loader.WebappClassLoader@2c2e61f0: org.zeroturnaround.bundled.javassist.CannotCompileException: [source error] no such class: serviceRegistry was thrown on an application with both hibernate 3 and 4 jars present.
  • Fixed an issue wherein Class ‘weblogic/corba/cos/naming/NamingContextAny_WLStub’ could not be processed by ‘com.zeroturnaround.javarebel.rH@175f175’: org.aspectj.apache.bcel.classfile.ClassFormatException: weblogic.corba.cos.naming.NamingContextAny_WLStub is not a Java .class file.
  • Fixed an issue wherein JRebel Spring integration would reload unrelated beans when using annotation-based configuration.
  • Fixed an issue wherein Could not redefine class $CLASS_NAME:: com.zeroturnaround.javarebel.support.WrongClassNameException while removing an inner class with Wicket 6.
  • Fixed an issue wherein JRebel incorrectly set the charset of resources served by the server to platform default instead of what was configured for the server.
  • Fixed an issue wherein <welcome-file-list> did not work properly on WebSphere 8.
  • Various other stability fixes

6.0.0 (4th November 2014)

  • Added support for reloading class hierarchies (adding/swapping superclasses, implemented interfaces).
  • Added support for initializing new instance fields.
  • Added support for Tomcat 8.0.14.
  • Added support for JBoss EAP 6.3.0.
  • Added support for Glassfish 4.1.
  • Added support for Spring Boot.
  • Added support for EclipseLink MOXy 2.3.2, 2.4.2, 2.5.0.
  • Improved the performance of JBoss 7 / JBoss EAP 6 EJB.
  • Improved the handling of anonymous inner classes.
  • Fixed an issue wherein Hibernate, configured with hbm2ddl.auto=”create-drop” caused an “Auto-commit cannot be set while enrolled in a transaction” error during reload.
  • Fixed an issue wherein java.lang.ClassCastException: org.jboss.as.ee.component.BasicComponent cannot be cast to org.jboss.as.webservices.injection.WSComponent were thrown on JBoss 7 in some cases.
  • Fixed an issue wherein java.lang.NullPointerException was thrown at org.jboss.as.weld.injection.WeldManagedReferenceFactory.getReference() in some cases.
  • Fixed an issue where processing some lambdas caused a Processing Lambda failed: -1: java.lang.ArrayIndexOutOfBoundsException: -1 to occur.
  • Fixed an issue wherein javax.ejb.EJBException: java.lang.IllegalArgumentException: Named query not found was thrown if a JBoss EJB module had a bean annotated with @WebService.
  • Fixed an issue wherein java.lang.NullPointerException at com.ibm.ws.webcontainer.webapp.WebApp.getServletContextName was thrown when running Liferay on WAS.
  • Fixed an issue wherein javax.servlet.ServletException: PWC1232: Exceeded maximum depth for nested request dispatches: 20 was caused by JRebel Stripes integration in some cases.
  • Fixed an issue wherein java.lang.NullPointerException was thrown for JAXBContextImpl.equals() in some cases.
  • Fixed an issue wherein java.lang.NullPointerException at net.sourceforge.stripes.controller.UrlBindingFactory.removeBinding would occur during Stripes action bean reload.
  • Fixed an issue wherein JSF/Mojarra composite components were not reloaded from the JAR.
  • Fixed an issue wherein JRebel enabled server VMs did not correctly respect the HTTP Accept-Ranges header.
  • Fixed an issue wherein the Spring bean @Value annotated properties were not correctly reloaded when the property changed.
  • Fixed an issue wherein the Spring bean @Autowired annotated properties of List type were not populated with the beans implementing the List type.
  • Fixed an issue wherein java.lang.NullPointerException was thrown when executing Hibernate Criteria API query in some cases.
  • Fixed an issue wherein reloading Spring Batch factory beans crashed with a CannotCompileException: [source error] no such class: serviceRegistry in some cases.
  • Fixed an issue wherein java.lang.NegativeArraySizeException was thrown from org.springframework.core.AttributeAccessorSupport.copyAttributesFrom() during concurrent access.
  • Fixed an issue wherein JRebel Spring integration threw an exception if ApplicationContext was accessed before initialization.
  • Fixed an issue with reloading Spring BeanNameAware beans.
  • Fixed an issue wherein Metro JAX-WS endpoints were not registered and generated 404 errors in some cases.
  • Fixed an issue wherein @NotNull annotation on entity superclass did not work on WildFly.
  • Fixed an issue wherein org.apache.camel.component.bean.MethodNotFoundException was thrown for a Camel route when breaking and fixing it.
  • Fixed an issue wherein java.lang.ClassCastException: org.apache.webbeans.context.CustomContextImpl incompatible with org.zeroturnaround.jrebel.myfaces.util.JrFlowDefinitionContext was thrown using OpenWebBeans with MyFaces in some cases.
  • Fixed an issue wherein java.lang.IllegalStateException: CDI BeanManager cannot find an instance of requested type org.apache.myfaces.cdi.view.ApplicationContextBean was thrown using OpenWebBeans with MyFaces.
  • Fixed an issue wherein Simpleframework XML processing was extensively delayed when running with JRebel.
  • Fixed an issue wherein JRebel Axis2 WAS8 integration would cause problems with previous versions of WAS.
  • Fixed an issue wherein CannotCompileException was thrown during startup when using Spring Date 1.0.2.
  • Fixed an issue wherein Mojarra XHTML files were not found from nested modules if JRebel Mojarra integration was disabled.
  • Fixed an issue wherein java.lang.NullPointerException at org.zeroturnaround.javarebel.webobjects.WebObjectsPlugin.preinit() was thrown when using WebObjects.
  • Removed support for the deprecated perpetual license type.
  • Overhauled the JRebel Activation GUI.

6.0-M11 (24th July 2014)

  • Added support for JDK 7 update 65 and JDK 8 update 11
  • Improved reloading performance running in debugging mode
  • Fixed an issue leading to poor field reflection performance
  • Fixed a JVM crash on some JDK 7 versions

6.0-M10 (12th July 2014)

  • Improved handling of anonymous inner classes (more complex changes)
  • Fixed freeze in debugger integration
  • Improved redefine class speed in debugging mode (debugger integration)
  • Fixed class circularity error during startup

6.0-M9 (21st June 2014)

  • Reduce perm gen usage
  • Switched to native agent as default
  • Optimized state migration speed
  • Fixed JVM crashes because of switching JDK/JRebel version (native agent)

6.0-M8 (26th May 2014)

  • Improved startup time
  • Reduce perm gen usage
  • Fixed issue with changing superclass
  • Added support for re-running static initializer as in JRebel 5
  • Fixed bootstrap issue leading to JVM crash

6.0-M7 (17th April 2014)

  • Added support for Java 8 lambdas
  • Added support for Java 8 default interface methods
  • Improved startup time
  • Reduce perm gen usage
  • Added support for Resin

JRebel for Eclipse Family IDEs

6.5.0 (12th September 2016)

  • Improvement: added the “never show again” option for the NPS notification.
  • Improvement: the activation dialog no longer suffers from weird line breaks.
  • Improvement: removed JRebel 6 Agent promotional notifications.
  • Bug fix: the Enable JRebel popup is not mistakenly displayed when JRebel has been enabled for the server.
  • Bug fix: auto-generated scripts in Startup instructions now correctly use Legacy Agent path.

6.4.8 (18th August 2016)

  • Feature: implemented new detailed remote server configuration for individual projects. Existing project-specific settings are converted to workspace remote servers.
  • Improvement: improved the timing for showing IDE support dialog introductory notification.
  • Improvement: nicer displaying of error messages in the IDE support dialog.
  • Bug fix: added a warning for when license file location is set, but the file cannot be found from that location.
  • Bug fix: resolved an issue where remote server synchronization was reported as a success even though file upload had failed.
  • Bug fix: trial activation form validation UI inconsistencies.

6.4.7 (1st August 2016)

  • Updated embedded JRebel agent to 6.4.7.

6.4.6 (27th June 2016)

  • Improved the error messages in the remote server synchronization log.
  • Changed the JRebel agent default log level from off to info.
  • Improved the UI for License Server offline seat management.
  • Decreased the display time for XRebel notifications.
  • Decreased the display time for remote server notifications.
  • Fixed an issue where the remote server was reported as running with an out of date JRebel agent.
  • Fixed an issue where the Net Promoter Score IDE notification was excessively shown.
  • Fixed an issue where JRebel notifications were displayed over the Eclipse status bar.
  • Fixed a deadlock when running JRebel for Eclipse with Java 6.
  • Fixed an issue where opening the JRebel Configuration would overwrite JRebel agent’s log file.

6.4.5 (2nd June 2016)

  • Implemented the Net Promoter Score survey.
  • Improved remote server setup instructions with the JRebel download URL.
  • Added an on-boarding notification for new embedded support dialog.
  • Improved the JRebel Support dialog usability and messages.
  • Removed the checkbox to disable IDE notifications from JRebel Configuration.
  • Improved the trial signup API calls to use IDE proxy settings.
  • Improved License Server activation error messages.
  • Fixed an issue where loading custom JRebel plugins caused an exception.
  • Fixed an issue where Spring Boot applications were not notified to launch with JRebel.
  • Fixed an issue in the activation dialog where the email validator had problems with long invalid emails.
  • Fixed an issue with an unclear error message when no JRebel remote servers were active.

6.4.4 (16th May 2016)

  • Added a way to quickly test remote server functionality when adding a new remote server.
  • Improved the JRebel Support dialog usability and messages.
  • Added support for multiline error messages in the activation dialog.
  • Fixed an issue where remote server support threw a NPE in some cases.
  • Fixed an issue where files deleted and re-created with identical hashes were not uploaded to a remote server.
  • Fixed an issue where navigating with the tab key in JRebel Configuration incorrectly shifted interface elements.
  • Fixed an issue in MyEclipse 2014 where JRebel arguments added by the Optional Java VM arguments were removed on save.
  • Fixed an issue with duplicate tab labels in the evaluation license activation.

6.4.3 (25th April 2016)

  • Added the generated-by attribute to rebel.xml.
  • Improved the remote server configuration dialog contents.
  • Fixed an issue where clicking Activate now in a notification would not function correctly.
  • Improved performance for remote server support when using multiple projects or offline servers.
  • Fixed an issue where log rolling would throttle remote synchronizations.
  • Fixed an issue where the JRebel plugin would not provide sufficient info to the user when JRebel home was not writable.
  • Fixed the issue where JRebel failed to connect to the License Server after a long sleep or hibernation.

6.4.2 (5th April 2016)

  • Improved the remote server support, allowing for changes to files outside of main project folders.
  • Improved the remote server support performance when working with multiple servers and projects.
  • Improved the messages in the Run with CLI panel within JRebel Configuration.

6.4.1 (17th March 2016)

  • Added an IDE notification to inform on new JRebel versions available.
  • Added an IDE notification informing about duplicate project IDs on a remote server.
  • Added a warning dialog when configuring remote server support with a localhost URLs.
  • Changed default IDE plugin log level from debug to info
  • Removed the UI checkbox in JRebel Configuration for enabling update checks on startup.
  • Improved the error message shown when jrebel.properties is read-only during license activation.
  • Fixed an issue with automatic synchronization for remote server support on Linux after folder deletion.
  • Fixed an issue where JRebel Configuration texts were blurred on a Mac with Retina display.
  • Fixed an issue where activating with a managed license locally gave an incorrect error message.

6.4.0 (2nd March 2016)

  • Introduced a common configuration property for setting the IDE log level.
  • Fixed an issue where auto-enabling JRebel for existing servers did not disable the “publish automatically” option.
  • Fixed an issue where the user was not able to open the jrebel.properties file via JRebel Configuration.
  • Fixed an issue with duplicate directories in rebel.xml causing remote console noise during synchronization.
  • Fixed an issue related to email verification.

6.3.3 (4th February 2016)

  • Removed UI error notifications for projects not found on remote server on synchronization.
  • Added support for custom variables in rebel.xml with remote server support.
  • Added an installation notification for MyEclipse users missing the legacy server connector plugin.
  • Improved the sending of JRebel remote usage statistics to the License Server.
  • Improved port calculation for notifications from JRebel to IDEs.
  • Fixed an issue where some plugins went missing from the plugins tab.
  • Fixed an issue with remote server support where multiple concurrent transactions were sent to the same server when using different context paths.
  • Added the WebSphere Liberty Profile setup instructions to the Startup tab.
  • Fixed an issue where licensing status updates would end up in a wrong tab in the JRebel activation dialog.

6.3.2 (14th January 2016)

  • Performing a remote server synchronization with multiple applications or servers now displays a single consolidated notification.
  • The notification-related settings in JRebel Configuration > Advanced have been revised.
  • The “Prevent stepping into JRebel code” checkbox has been removed from the JRebel Configuration > Advanced.
  • Added support for enabling JRebel for the Web Preview Server.
  • Fixed an issue where synchronizing with invalid servers remains in an incomplete state in the Eclipse UI.
  • Fixed an issue where simultaneous synchronization events for the same project occur.
  • Fixed an issue where license path for jrebel.lic is not correctly pre-filled in the activation dialog.
  • Fixed an issue where rebel-remote.xml configuration file is not correctly removed when disabling JRebel Nature.

6.3.1 (21st December 2015)

  • Added support for backing up and restoring rebel.xml and rebel-remote.xml files.
  • Improved the remote server support performance when working with multiple servers and projects.
  • Revised the option for removing missing files from the remote server.
  • JRebel now notifies the user when rebel.base path contains spaces or is not writable.
  • Fixed an issue where synchronize on build option was not visible at all times.
  • Fixed an issue where module names appear in hashed format in logs for remote server events.

6.3.0 (30th November 2015)

  • Improved the configuration options within advanced settings.
  • Improved the sorting of projects in JRebel Configuration > Projects.
  • Variables in rebel.xml are no longer ignored during remote server synchronization.
  • Fixed an issue wherein the agent selection did not take effect without an IDE restart.
  • Fixed an issue with the trial activation form on Ubuntu.
  • Fixed an issue where JRebel’s on/off state was not synchronized between Java and JRebel Configuration perspectives.
  • Fixed an issue where activation displayed a JSON string in the Offline tab.

6.2.7 (9th November 2015)

  • Tooltips for various GUI elements have been revised and improved.
  • Eclipse versions 3.3 to 3.5 are no longer supported (use JRebel 6.2.6 for these versions).
  • Improved the look of JRebel Configuration > Startup > Run via IDE when no servers are configured.
  • Fixed an issue with the “Synchronize” toolbar button missing on some Eclipse versions.
  • The log now works correctly when the remote server URL is missing.

6.2.6 (21st October 2015)

  • Added support for synchronization to multiple remote servers.
  • HTTP request logging checkbox from the Eclipse JRebel configuration has been removed.
  • The Synchronize command has been added to the Run menu.
  • Fixed an issue where an imported project with rebel-remote.xml did not use the default workspace server.
  • Fixed an issue where the latest JRebel could not be installed in JBoss Developer Studio.
  • Fixed an issue where the latest JRebel could not be installed in Rational Application Developer.
  • Fixed an issue with buttons having incorrect link targets on the activation dialog after trial activation.
  • Fixed an issue with first name validation in the trial activation form.
  • Fixed an issue with the scrollbars in the Startup panel not rendering correctly on Ubuntu.
  • Eclipse welcome screen icons for JRebel have been updated.

6.2.5 (1st October 2015)

  • Added the About widget to JRebel Configurations – Overview view.
  • Added WildFly 9.0 to the JRebel startup instructions.
  • Added GUI fixes (labels and links in the projects and remote servers tabs).
  • Fixed the link to the remote server support instructions on the Welcome dashboard.

6.2.4 (15th September 2015)

  • New JRebel remote servers GUI and security protocol.
  • Improved jrebel-eclipse.log logging by limitting the log file size to 20MB using a rolling log file.
  • Fixed an activation window bug in Eclipse Mars when on Ubuntu 14.04.
  • Fixed a bug causing excessive verbosity in jrebel-licensing.log.
  • Fixed a bug wherein opening the activation dialog caused lagging.
  • Fixed a bug in Eclipse configuration where the Projects tab did not properly synchronize for overlapping working sets.

6.2.3 (24th August 2015)

  • Unified product name and messaging across IDE plugins.
  • Removed Remoting Console Logging widget from JRebel Configuration.
  • Improved icons consistency in JRebel for Eclipse GUI.
  • Fixed an issue with missing scrollbar in Plugins tab in JRebel Configuration.
  • Fixed an issue where JRebel nature was not cleaned up during plugin uninstall.
  • Fixed an issue where jrebel-eclipse.log was growing excessively.
  • Fixed an issue with Remoting Standalone instructions missing parameters.
  • Fixed an issue where very short paths throw errors on remoting synchonization.
  • Fixed an issue where remote user error messages were not informative enough.

6.2.2 (30th July 2015)

  • Removed the deprecated debugger selection from JRebel Configuration.
  • Provided an option to prevent automatic rebel.xml generation within the project source folder.
  • Added a dedicated licensing log file (jrebel-licensing.log) within the .jrebel folder.
  • Fixed an issue on Windows with CLI startup instructions where REBEL_BASE with quotes was resolved as an incorrect path.
  • Fixed an issue where some Eclipse installations gave a 404 error.
  • Fixed an issue with Eclipse Mars where the JRebel Activation window was rendered incorrectly.

6.2.1 (17th June 2015)

  • Added the JRebel Startup tab to JRebel Configuration. Added setup instructions for three startup scenarios: IDE, CLI and remote server startup.
  • Reworked the behavior and design of the remote server synchronization button on the main toolbar.
  • Added the JRebel tab to Eclipse’s Run Configuration for the Eclipse Jetty plugin.
  • Added the JRebel tab to Spring Boot launch configuration.
  • Fixed an issue where several remote synchronization errors where displayed during IDE startup.
  • Fixed an issue with Tomcat 6 server CLI instructions when using Linux or Mac OS.
  • Fixed word wrapping for notification labels that do not fit on a single line.
  • Fixed word wrapping for multi-line messages in the JRebel activation dialog (trial tab).
  • Fixed an issue where notifications could appear outside the IDE window.
  • Fixed an issue causing managed license lease to not last as long as it should.

6.2.0 (21st May 2015)

  • JRebel Configuration view restructuring.
  • Fixed an issue where a manually customized rebel.xml would be overwritten.
  • The behavior of deleting missing files from a remote server is now consistent across IDEs.
  • Duplicate files are now handled in a single transaction within JRebel remote server support.
  • Fixed an issue where the Getting started notification did not appear.
  • Fixed the erratic behavior of a drop-down menu within Startup Remote servers view.
  • Fixed an issue where it was impossible to re-activate after an offline lease had expired.

6.1.3 (5th May 2015)

  • Reduced the size of JRebel for Eclipse binaries by 40%.
  • Improved JRebel remote server support to respect the order of rebel.xml entries when dealing with duplicated files in multiple monitored locations.
  • Added a JRebel introduction video that can be viewed after installing JRebel for Eclipse.
  • Various GUI fixes (labels and selected options in the project context menu).
  • Fixed an NPE for Eclipse Kepler and WAS that occurred during JRebel startup.
  • Fixed an NPE log that occurred during JRebel plugin startup.
  • Fixed a warning message displayed when submitting the IDE signup for Chrome users on Linux.

6.1.2 (7th April 2015)

  • Improved the installation process for cloned environments. InstallationGUID is now generated during JRebel activation.
  • Fixed the overflowing text within the JRebel Config Center.
  • Fixed debugger and Cloud/Remote issues (missing breakpoints).
  • Fixed the behavior when parsing a corrupted jrebel.properties file. This now falls back to the default configuration.
  • Fixed various GUI labels (offline seats).
  • Fixed the wrong exception shown in IDE when SIGNATURE_INVALID is detected using Cloud/Remote.
  • Fixed a debugger integration issue that caused Tomcat to crash under some conditions.

6.1.1 (12th March 2015)

  • Added support for preventing reactivation while having an offline lease from License Server.
  • Fixed an issue where JRebel plugin is upgraded, but the WebSphere configuration keeps using the old version of JRebel.
  • Fixed an issue with incorrect activation window tab titles when activating with a trial license.

6.1.0 (26th February 2015)

  • Added support for launching Grails applications with JRebel in GGTS.
  • Fixed an issue with setting VPN IPs for remoting/cloud.
  • Fixed an issue with JRebel SDK breaking the integration with WOLips.

6.0.3 (30th January 2015)

  • Added support for MyEclipse 2015 server connectors.
  • Updated hyperlinks to the JRebel reference manual pages in JRebel Config Center.
  • Added support for the REBEL_BASE environment variable and -Drebel.base JVM argument to enable customization of the JRebel data directory.
  • Fixed an issue wherein the Eclipse main toolbar was not visible when user accessed JRebel Config Center.
  • Fixed an issue wherein the Allow popup notifications setting was ignored for certain notifications.

JRebel for IntelliJ IDEA

6.5.0 (12th September 2016)

  • Improvement: added the “never show again” option for the NPS notification.
  • Improvement: the IDE log level option has been removed from JRebel Configuration.
  • Improvement: the remote server automatic migration notification title has been shortened.
  • Improvement: removed JRebel 6 Agent promotional notifications.
  • Bug fix: the debugger now correctly attaches to the correct Grails process on IntelliJ IDEA 2016 and newer.
  • Bug fix: fixed NPS notification readability when using customized fonts.
  • Bug fix: auto-generated scripts in Startup instructions now correctly use Legacy Agent path.

6.4.8 (18th August 2016)

  • Improvement: improved the timing for showing IDE support dialog introductory notification.
  • Bug fix: trial activation form validation UI inconsistencies.
  • Bug fix: an issue where remote server synchronization was reported as a success even though a file upload had failed.

6.4.7 (1st August 2016)

  • Fixed an issue where IntelliJ added javaagent parameter twice with debug run configuration.
  • Fixed an issue with IntelliJ platform backwards-incompatible API change related to proxy settings.
  • Fixed an issue where native notifications were hidden behind Net Promoter Score notification in IntelliJ 2016.2.
  • Fixed a NPE when enabling JRebel for newly created Gradle projects.

6.4.6 (27th June 2016)

  • Improved the error messages in the remote server synchronization log.
  • Changed the JRebel agent default log level from off to info.
  • Added an on-boarding notification for the embedded JRebel support dialog.
  • Improved the UI for License Server offline seat management.
  • Decreased the display time for XRebel notifications.
  • Decreased the display time for remote server notifications.
  • Fixed an issue where the remote server was reported as running with an out of date JRebel agent.
  • Fixed an issue where the Net Promoter Score IDE notification was excessively shown.
  • Fixed an issue in IntelliJ IDEA 15 and 16 where content was misaligned in Net Promoter Score notifications.

6.4.5 (2nd June 2016)

  • Implemented the Net Promoter Score survey.
  • Improved remote server setup instructions with the JRebel download URL.
  • Improved the JRebel support dialog usability and messages.
  • Improved License Server activation error messages.
  • Added a UI button to test remote server connectivity when adding/editing a JRebel remote server.
  • Fixed an issue in the activation dialog where the email validator had problems with long invalid emails.
  • Fixed an issue concerning support dialog form window sizes.
  • Fixed an issue with warnings when the project is started with JRebel, but without rebel.xml file.

6.4.4 (16th May 2016)

  • Improved the JRebel Support dialog usability and messages.
  • Added support for multiline error messages in the activation dialog.
  • Fixed an issue where files deleted and re-created with identical hashes were not uploaded to a remote server.

6.4.3 (25th April 2016)

  • Added an embedded support dialog for sending logs and feedback directly to the support team.
  • Added the generated-by attribute to rebel.xml.
  • Improved: warn user when adding localhost as a JRebel remote server.
  • Fixed an issue where log rolling would throttle remote synchronizations.
  • Fixed an issue where the JRebel plugin would not provide sufficient info to the user when JRebel home was not writable.
  • Fixed the issue where JRebel failed to connect to the License Server after a long sleep or hibernation.

6.4.2 (5th April 2016)

  • Added support for backing up and restoring rebel.xml and rebel-remote.xml files.
  • Added an IDE notification to inform when a new JRebel version is made available.
  • Improved the remote server support performance when working with multiple servers and projects.
  • Improved the messages in the Run with CLI panel within JRebel Configuration.
  • Fixed an issue where the remote server checkbox was not deselected in JRebel panel when JRebel was disabled from the module settings.
  • Fixed an issue where JRebel plugin created rebel.xml in the incorrect source folder.

6.4.1 (17th March 2016)

  • Added an IDE notification informing about duplicate project IDs on a remote server.
  • Fixed an issue with activation dialog error messages.
  • Fixed an issue where generating rebel.xml broke upon web facet defining a missing webroot.
  • Fixed an issue where the same achievement notifications were shown multiple times.
  • Fixed an issue where the IDE would jump to breakpoints only for the active debug sessions on IntelliJ IDEA 16 EAP.
  • Removed JRebel-related launchers from Gradle run configurations.
  • Improved the error message shown when jrebel.properties is read-only during license activation.
  • Fixed an issue with automatic synchronization for remote server support on Linux after folder deletion.
  • Fixed an issue where activating with a managed license locally gave an incorrect error message.

6.4.0 (2nd March 2016)

  • Introduced a common configuration property for setting the IDE log level.
  • Fixed an issue with duplicate directories in rebel.xml causing remote console noise during synchronization.
  • Fixed an issue related to email verification.
  • Fixed a rare NPE when remote server support’s sync-on-build mode was enabled.
  • Fixed an issue where the remote server console was closed by various IntelliJ IDEA events.
  • Fixed an issue where the activation window got stretched out.

6.3.3 (4th February 2016)

  • Removed UI error notifications for projects not found on remote server on synchronization.
  • Improved remote server support, allowing changes to files outside of project main folders.
  • Added support for custom variables in rebel.xml with remote server support.
  • Improved the sending of JRebel remote usage statistics to the License Server.
  • Improved port calculation for notifications from JRebel to IDEs.
  • Fixed an issue where the “Get started with JRebel” notification would not appear.
  • Fixed an issue where users could not activate with the jrebel.lic license file in its default location.
  • Fixed an issue where myJRebel users would see their license expiry date as the very next day.
  • Fixed an issue where “Synchronize on build” would not work without triggering at least one manual synchronization first.
  • Fixed an issue with JRebel remote support where hidden project metadata files were sent to remote server unnecessarily and caused slowness.
  • Fixed an issue with remote server support where multiple concurrent transactions were sent to the same server when using different context paths.
  • Fixed an issue where JRebel and Project panels closed after making a change to Project Settings.
  • Added the WebSphere Liberty Profile setup instructions to the Startup tab.
  • Fixed an issue where the Startup/Connection tab would appear in the regular application run configuration.
  • Fixed an issue where the JRebel Panel would show a text cursor when using Windows.
  • Fixed an issue where jrebel-bootstrap.jar was generated with the wrong JDK.
  • Fixed an issue where licensing status updates would end up in a wrong tab in the JRebel activation dialog.

6.3.2 (14th January 2016)

  • Added a central remote servers configuration UI and updated JRebel project settings to use central remote servers.
  • Added a new remote server log console.
  • Added support for running JAR applications with JRebel enabled.
  • The remote server synchronization notifications have been revised.
  • Performing a remote server synchronization with multiple applications or servers now displays a single consolidated notification.
  • The “Scan all modules” feature has been moved behind a JVM flag.
  • Introduced IDE log file rotation.
  • Fixed an issue where enabling “Synchronize on build” triggers unnecessary synchronization events.
  • Fixed an issue where the “Synchronize on build” notifications are too frequent.
  • Fixed an issue where simultaneous synchronization events for the same project could occur.
  • Fixed an issue where “Synchronize on build” checkbox does not work as expected.
  • Fixed inconsistent alignment on the About page.
  • Fixed an issue where license path for jrebel.lic is not correctly pre-filled in the activation dialog.

6.3.1 (21st December 2015)

  • Removed a duplicate configuration button from IntelliJ IDEA’s JRebel panel.
  • JRebel now notifies the user when rebel.base path contains spaces or is not writable.
  • Fixed an issue where many notifications were displayed during remote server events.
  • Fixed an issue where module names appear in hashed format in logs for remote server events.

6.3.0 (30th November 2015)

  • Added the debug level to the logging option for the IDE plugin.
  • Variables in rebel.xml are no longer ignored during remote server synchronization.
  • Improved the automatic synchronization for remote server support.
  • Fixed an issue where activation displayed a JSON string in the Offline tab.

6.2.7 (9th November 2015)

  • Improved consistency of JRebel icon usage throughout the plugin UI.
  • Tooltips for various GUI elements have been revised and improved.

6.2.6 (21st October 2015)

  • JRebel 6.2.6 drops support for IntelliJ IDEA versions 11 and 12.
  • Fixed an issue with buttons having incorrect link targets on the activation dialog after trial activation.
  • Fixed an issue with first name validation in the trial activation form.
  • Fixed a rare issue with IntelliJ IDEA freezing while querying JVM properties.

6.2.5 (1st October 2015)

  • Introduced the new JRebel remote server security protocol.
  • Added WildFly 9.0 to the JRebel startup instructions.
  • Improved configuration option copies for remote server configuration.

6.2.4 (15th September 2015)

  • Fixed a bug in IntelliJ where JRebel arguments were not added when debugging a standalone app with JRebel in IntelliJ EAP 15.
  • Fixed a bug causing excessive verbosity in jrebel-licensing.log.
  • Fixed a bug wherein opening the activation dialog caused lagging.
  • Fixed a bug in JRebel for IntelliJ where the “No proxy” field was ignored when getting proxy information for remote server support.
  • Fixed a bug in IntelliJ where incorrect icon colors were used with the Darcula theme.

6.2.3 (24th August 2015)

  • Unified product name and messaging across IDE plugins.
  • Unified JRebel license information rendering across IDE plugins.
  • Added the “About” tab.
  • Fixed an issue where very short paths throw errors on remote server synchronization.
  • Fixed an issue where remote user error messages were not informative enough.

6.2.2 (30th July 2015)

  • Added a dedicated licensing log file (jrebel-licensing.log) within the .jrebel folder.
  • Fixed an issue on Windows with CLI startup instructions where REBEL_BASE with quotes was resolved as an incorrect path.
  • Fixed an issue where JRebel activation failed when using Android Studio.
  • Fixed an issue where enabling the remote server support for a project caused rebel.xml to be overwritten.
  • Fixed an issue where the plugin generated an incorrect rebel.xml file for Gradle projects.

6.2.1 (17th June 2015)

  • Removed external server configuration from the options menu.
  • Improved the design of the JRebel modules panel.
  • Fixed an issue with Tomcat 6 server CLI instructions when using Linux or Mac OS.
  • Fixed word wrapping for multi-line messages in the JRebel activation dialog (trial tab).
  • Fixed an issue causing managed license lease to not last as long as it should.

6.2.0 (21st May 2015)

  • The behavior of deleting missing files from a remote server is now consistent across IDEs.
  • Added HTTP Basic authentication compatibility to JRebel remote server support.
  • Duplicate files are now handled in a single transaction within JRebel remote server support.
  • Fixed the duplicated error messages reported by the JRebel remote server support.
  • Fixed the Getting started notification disappearing too quickly.
  • Fixed the false positive errors reported by JRebel remote server support while attempting to delete folders.
  • Fixed an issue with the debugger where adding a break point would fail.
  • Fixed an issue where the remote debugger did not get detached once the VM was stopped.
  • Fixed minor GUI issues in the Startup configuration tab.
  • Fixed an issue where it was impossible to activate after an offline lease had expired.

6.1.3 (5th May 2015)

  • Added the JRebel Startup tab to JRebel Configuration. Added setup instructions for three startup scenarios: IDE, CLI and remote server startup.
  • Moved the JRebel menu to the top-most level in IDE settings.
  • Improved the JRebel remote server support to respect the order of rebel.xml entries when dealing with duplicated files in multiple monitored locations.
  • Fixed an NPE log that occurred during JRebel plugin startup.
  • Fixed a warning message displayed when submitting the IDE signup for Chrome users on Linux.
  • Various GUI label fixes.
  • Fixed the alignment in the license status area when displaying a long error message.

6.1.2 (7th April 2015)

  • Improved the installation process for cloned environments. InstallationGUID is now generated during JRebel activation.
  • Fixed an issue where new users could see a notification that JRebel has saved them 0 hours.
  • Fixed the behavior when parsing a corrupted jrebel.properties file. This now falls back to the default configuration.
  • Fixed some GUI labels (myJRebel, offline seats).
  • Fixed the wrong exception shown in IDE when SIGNATURE_INVALID is detected using Cloud/Remote.

6.1.1 (12th March 2015)

  • Added support for preventing reactivation while having an offline lease from License Server.
  • Fixed an issue with incorrect activation window tab titles when activating with a trial license.
  • Fixed an issue where Tomcat does not start up as a service when rebel.base contains spaces.

6.1.0 (26th February 2015)

  • Added support for launching Grails applications with JRebel.
  • Improved JRebel IDE plugin logging configuration.
  • Fixed an issue with file synchronisation for remoting/cloud.

6.0.3 (30th January 2015)

  • Added support for the REBEL_BASE environment variable and -Drebel.base JVM argument to enable customization of the JRebel data directory.
  • Improved error handling when revoking a License Server offline seat.

JRebel for NetBeans

6.5.0 (12th September 2016)

  • Feature: upgraded the JRebel remote server support for NetBeans, including central remote servers management and multi-server synchronization for remote projects. For more information, refer to http://zeroturnaround.com/software/jrebel/remote-migration-netbeans/.
  • Improvement: removed JRebel 6 Agent promotional notifications.
  • Improvement: added the “never show again” option for the NPS notification.

6.4.8 (18th August 2016)

  • Improvement: longer notification text is now nicely wrapped.
  • Improvement: improved the timing for showing IDE support dialog introductory notification.
  • Bug fix: resolved an issue with trial activation form validation UI inconsistencies.

6.4.7 (1st August 2016)

  • Updated embedded JRebel agent to 6.4.7.

6.4.6 (27th June 2016)

  • Improved the error messages in remote server synchronization log.
  • Changed JRebel agent default log level from off to info.
  • Added an on-boarding notification for new embedded support dialog.
  • Improved UI for License Server offline seats.
  • Added UI component to show remote server synchronization logs.
  • Decreased the display time for XRebel notifications.
  • Fixed an issue where remote server was reported as running with out-dated JRebel agent.
  • Fixed an issue where Net Promoter Score IDE notification was shown excessively.

6.4.5 (2nd June 2016)

  • Implemented the Net Promoter Score survey.
  • Improved remote server setup instructions with the JRebel download URL.
  • Added the JRebel IDE support dialog for sending logs and feedback directly to the support team.
  • Improved License Server activation error messages.
  • Fixed an issue in the activation dialog where the email validator had problems with long invalid emails.

6.4.4 (16th May 2016)

  • Removed rebel.xml and rebel-remote.xml templates for new Netbeans Project.
  • Added support for multiline error messages in the activation dialog.
  • Fixed an issue where files deleted and re-created with identical hashes were not uploaded to a remote server.
  • Fixed an issue with duplicate tab labels in the evaluation license activation.

6.4.3 (25th April 2016)

  • Added the generated-by attribute to rebel.xml.
  • Fixed the issue where JRebel failed to connect to the License Server after a long sleep or hibernation.
  • Fixed an issue where the JRebel plugin would not provide sufficient info to the user when JRebel home was not writable.

6.4.2 (5th April 2016)

  • Added support for backing up and restoring rebel.xml and rebel-remote.xml files.
  • Improved the messages in the Run with CLI panel within JRebel Configuration.
  • Fixed a NPE in ExecutionChecker.__isJrEnabled on starting an application without defining a server.

6.4.1 (17th March 2016)

  • Added an IDE notification informing about duplicate project IDs on a remote server.
  • Improved enabling JRebel for standalone applications (project and startup configurations are now linked).
  • Changed default IDE plugin log level from debug to info.
  • Fixed an issue with activation dialog error messages.
  • Fixed an issue with automatic synchronization when enabling remote server support from project properties.
  • Improved the error message shown when jrebel.properties is read-only during license activation.
  • Fixed an issue with automatic synchronization for remote server support on Linux after folder deletion.
  • Fixed an issue where activating with a managed license locally gave an incorrect error message.

6.4.0 (2nd March 2016)

  • Improved the file change detection for remote server support (now able to watch external folders and re-watch folders after full clean).
  • Introduced a common configuration property for setting the IDE log level.
  • Fixed an issue wherein Debugger integration broke without having enabled “Apply code changes after save”.
  • Fixed an issue related to email verification.
  • Removed the redundant project-specific debug log UI checkbox.

6.3.3 (4th February 2016)

  • Added support for custom variables in rebel.xml with remote server support.
  • Improved the sending of JRebel remote usage statistics to the License Server.
  • Improved port calculation for notifications from JRebel to IDEs.
  • Fixed an issue where users could not activate with the jrebel.lic license file in its default location.
  • Fixed an issue where myJRebel users would see their license expiry date as the very next day.
  • Added the WebSphere Liberty Profile setup instructions to the Startup tab.
  • Fixed an issue where licensing status updates would end up in a wrong tab in the JRebel activation dialog.

6.3.2 (14th January 2016)

  • Added a special icon for rebel-remote.xml files in a project.
  • Introduced IDE log file rotation.
  • Fixed an issue where license path for jrebel.lic is not correctly pre-filled in the activation dialog.

6.3.1 (21st December 2015)

  • JRebel now notifies the user when rebel.base path contains spaces or is not writable.
  • Fixed an issue where module names appear in hashed format in logs for remote server events.

6.3.0 (30th November 2015)

  • Variables in rebel.xml are no longer ignored during remote server synchronization.
  • Fixed an issue where activation displayed a JSON string in the Offline tab.

6.2.7 (9th November 2015)

  • The new JRebel remote server support security protocol has been implemented.

6.2.6 (21st October 2015)

  • Fixed an issue with buttons having incorrect link targets on the activation dialog after trial activation.
  • Fixed an issue with first name validation in the trial activation form.
  • Enabling JRebel for a project from the project properties now correctly generates rebel.xml.

6.2.5 (1st October 2015)

  • Added WildFly 9.0 to the JRebel startup instructions.
  • Improved configuration option copies for remote server configuration.
  • Upgraded Javassist to 3.20.
  • Fixed plugin support for NetBeans 8.1.

6.2.4 (15th September 2015)

  • Fixed a bug with NetBeans remote server support where directories monitored in rebel.xml did not change until an IDE restart.
  • Fixed a bug in NetBeans where an excessive amount of notifications were shown for remote server support.
  • Fixed a bug causing excessive verbosity in jrebel-licensing.log.
  • Fixed a bug wherein opening the activation dialog caused lagging.

6.2.3 (24th August 2015)

  • Unified product name and messaging across IDE plugins.
  • Unified JRebel license information rendering across IDE plugins.
  • Removed an excessive IDE notification related to remote servers.
  • Fixed an issue where IDE hanged when clicking support email in About tab without mail client configured.
  • Fixed an issue where very short paths throw errors on remoting synchonization.
  • Fixed an issue where remote user error messages were not informative enough.

6.2.2 (30th July 2015)

  • Improved the JRebel remote server support to use IDE proxy settings.
  • Added a dedicated licensing log file (jrebel-licensing.log) within the .jrebel folder.
  • Fixed an issue on Windows with CLI startup instructions where REBEL_BASE with quotes was resolved as an incorrect path.

6.2.1 (17th June 2015)

  • As of JRebel 6.2.1, NetBeans versions 7.2 and 7.3 are no longer supported.
  • Fixed an issue with Tomcat 6 server CLI instructions when using Linux or Mac OS.
  • Fixed an issue where NetBeans was unable to start after JRebel was updated to version 6.2.0.
  • Fixed word wrapping for multi-line messages in the JRebel activation dialog (trial tab).
  • Fixed an issue causing managed license lease to not last as long as it should.

6.2.0 (21st May 2015)

  • Added the option to disable deleting missing files from the remote server.
  • Added HTTP Basic authentication compatibility to JRebel remote server support.
  • Redesigned the JRebel modules panel.
  • Duplicate files are now handled in a single transaction within JRebel remote server support.
  • Improved minor GUI issues in Startup configuration tab.
  • Fixed the duplicated error messages reported by the JRebel remote server support.
  • Fixed an issue where it was impossible to activate after an offline lease had expired.

6.1.3 (5th May 2015)

  • Added the option to disable deleting missing files from the remote server.
  • Added HTTP Basic authentication compatibility to JRebel remote server support.
  • Redesigned the JRebel modules panel.
  • Duplicate files are now handled in a single transaction within JRebel remote server support.
  • Improved minor GUI issues in Startup configuration tab.
  • Fixed the duplicated error messages reported by the JRebel remote server support.
  • Fixed an issue where it was impossible to activate after an offline lease had expired.

6.1.2 (7th April 2015)

  • Improved the installation process for cloned environments. InstallationGUID is now generated during JRebel activation.
  • Improved the JRebel Startup tab contents (sensible defaults, duplicate scrollbars etc.).
  • Fixed some GUI labels (myJRebel, offline seats).
  • Fixed the behavior when parsing a corrupted jrebel.properties file. This now falls back to the default configuration.
  • Fixed the wrong exception shown in IDE when SIGNATURE_INVALID is detected using Cloud/Remote.

6.1.1 (12th March 2015)

  • Added support for preventing reactivation while having an offline lease from License Server.
  • Fixed an issue with incorrect activation window tab titles when activating with a trial license.
  • Improved the JRebel Startup tab contents and the embedded CLI instructions.
  • Fixed an issue where the GlassFish server would start without JRebel.
  • Fixed an issue where the GlassFish could not start with a non-default JDK and the JRebel 6 Agent.
  • Fixed an issue where Mac OS native lib was not found.

6.1.0 (26th February 2015)

  • Added support for launching Grails applications with JRebel.
  • Added JRebel startup tab to JRebel Configuration. Added setup instructions for three startup scenarios (IDE, CLI and remoting).
  • Added support for enabling/disabling JRebel agent per server and standalone project via the JRebel Configuration. Removed the global on/off JRebel toolbar button.
  • Fixed an issue with setting VPN IPs for remoting/cloud.

6.0.3 (30th January 2015)

  • Added support for the REBEL_BASE environment variable and -Drebel.base JVM argument to enable customization of the JRebel data directory.
  • Fixed an issue where the plugin does not verify whether IDE’s Compile on save option is enabled.

JRebel for JDeveloper

6.5.0 (12th September 2016)

  • Updated embedded JRebel agent to 6.5.0.

6.4.8 (18th August 2016)

  • Updated embedded JRebel agent to 6.4.8.

6.4.7 (1st August 2016)

  • Updated embedded JRebel agent to 6.4.7.

6.4.6 (27th June 2016)

  • Changed JRebel agent default log level from off to info.

6.4.5 (2nd June 2016)

  • Updated embedded JRebel agent to 6.4.5.

6.4.4 (16th May 2016)

  • Updated embedded JRebel agent to 6.4.4.

6.4.3 (25th April 2016)

  • Fixed the issue where JRebel failed to connect to the License Server after a long sleep or hibernation.
  • Fixed an issue where the JRebel plugin would not provide sufficient info to the user when JRebel home was not writable.

6.4.2 (5th April 2016)

  • Updated embedded JRebel agent to 6.4.2.

6.4.1 (17th March 2016)

  • Improved the error message shown when jrebel.properties is read-only during license activation.
  • Fixed an issue where activating with a managed license locally gave an incorrect error message.

6.4.0 (2nd March 2016)

  • Updated embedded JRebel agent to 6.4.0.

6.3.3 (4th February 2016)

  • Updated embedded JRebel agent to 6.3.3.

6.3.2 (14th January 2016)

  • Introduced IDE log file rotation.

6.3.1 (21st December 2015)

  • Updated embedded JRebel agent to 6.3.1.

6.3.0 (30th November 2015)

  • Reduced the overall size of the JRebel binaries.

6.2.7 (9th November 2015)

  • Improved JRebel menus in project properties and activation dialog.

6.2.6 (21st October 2015)

  • HTTP request logging check-box from the JDeveloper JRebel configuration has been removed.

6.2.5 (1st October 2015)

  • Updated embedded JRebel agent to 6.2.5.

6.2.4 (15th September 2015)

  • Updated embedded JRebel agent to 6.2.4.

6.2.3 (24th August 2015)

  • Updated embedded JRebel agent to 6.2.3.

6.2.2 (30th July 2015)

  • Added a dedicated licensing log file (jrebel-licensing.log) within the .jrebel folder.

6.2.1 (17th June 2015)

  • Fixed an issue causing managed license lease to not last as long as it should.

6.2.0 (21st May 2015)

  • Updated embedded JRebel agent to 6.2.0.

6.1.3 (5th May 2015)

  • Improved various GUI labels.

6.1.2 (7th April 2015)

  • Improved the installation process to generate InstallationGUID upon JRebel activation.
  • Improved the logs to remove duplicate user.home related entries.
  • Fixed myJRebel labels.

6.1.1 (12th March 2015)

  • Added support for the activation of managed licenses.
  • Fixed an issue with JDeveloper 11 R1, 11 R2 and 12c.
  • Fixed an issue with JDeveloper concerning invalid JAR names and missing Library JARs.