All Versions
Latest Version
Avg Release Cycle
122 days
Latest Release
1665 days ago

Changelog History
Page 2

  • v1.17.0 Changes

    May 02, 2017

    โœ‚ Removed JSR-303 Bean Validation support. This feature was no longer being used internally and only served to tie Governator to old versions of hibernate-validator.

  • v1.16.0

    March 29, 2017
  • v1.2.2 Changes

    June 11, 2013
    • ๐Ÿ‘ Issue 59: Add support for multi binding via AutoBindSingleton.

    • Previous fix for memory leak (Issue 60) is improved in 1.2.2. Only record dependencies for objects that have @WarmUp methods. Also, ๐Ÿ‘‰ use a weak valued Guava cache internally.

  • v1.2.1 Changes

    May 15, 2013
    • Pull 57: In JBoss 7.X, url.getProtocol() returns "vfs" instead of "file".

    • Issue 60: Once the LifecycleManager has been started, newly injected objects could cause a memory leak due how the warmup code was handling post-start injections.

  • v1.2.0 Changes

    March 12, 2013
  • v1.1.1 Changes

    February 26, 2013
    • Some additional createInjector() variants in LifecycleInjector.
  • v1.1.0 Changes

    February 21, 2013
    • โœจ Enhanced LifecycleListener.objectInjected() to take correct type information. All implementations โšก๏ธ of LifecycleListener will need to be updated.
  • v1.0.5 Changes

    February 20, 2013
    • ๐Ÿ›  Fixed a potential infinite loop with an internal reflective method. Though, I have not seen it actually occur in production.

    • ๐Ÿ”„ Changed the log message "Could not find lifecycle-registered object for key..." to DEBUG.

    • โœ… Issue 43: Added a version of createStandardClasspathScanner() that takes additional annotations.

    • ๐Ÿ‘ Issue 45: Added support for @Resource and @Resources. The resources themselves are loaded 0๏ธโƒฃ by a new interface: ResourceLocator. A default ResourceLocator is installed that simply calls injector.getInstance(resource.type()). It will only be a few lines of code to add a JNDI version of ResourceLocator. Bind ResourceLocator instances via BootstrapBinder.bindResourceLocator().

    • LifecycleInjectorBuilder now has a way to add modules as opposed to always specifying the complete set.

  • v1.0.4 Changes

    January 08, 2013
    • WarmUps weren't being run for objects with no dependencies.

    • Issue 33: Warm up errors were merely being logged. They now generate true exceptions. Any exceptions thrown by warm up methods are wrapped in a single WarmUpException that is throw by the LifecycleManager.start() method.

    • Issue 32: Objects added to the lifecycle after LifecycleManager.start() was called were getting warmed up in the Guice thread. This could cause deadlocks and other problems. Further, each object would get warmed up independently. I've reworked this code so that post-start warm ups occur in a separate thread and there is a small padding period so that multiple objects added near the same time can get warmed up together.

  • v1.0.3 Changes

    January 03, 2013
    • โž• Added a new scope, FineGrainedLazySingleton. Guice's default Singleton scope synchronizes ๐Ÿ”’ all object creation on a single lock (InternalInjectorCreator.class). It does this to avoid deadlocks with circular dependencies. FineGrainedLazySingleton instead locks on the key so that multiple singletons can be created concurrently. Circular dependencies are rare ๐Ÿ‘ so FineGrainedLazySingleton risks deadlocks in those situations for the benefit of better concurrency.

    • ๐Ÿ”€ Made LifecycleManager more concurrent by removing the coarse syncs on the add methods.