News

May 9, 2008

PicoContainer 2.2 released (224K jar)

New (since 2.1):

  • A new TieringPicoContainer that when used in a container tree, forbids children from seeking dependencies from their grandparents (they can only seek such from their parents)
  • A new ReusablePicoContainer that is 2.5x faster for some niche usages where you are repeatedly discarding a container and then repopulating it (Gems)
  • NamedFieldInjection allows named fields to be injected into (per component) - use when AnnotatedFieldInjection is not what you want
  • TypedFieldInjection allows fields of a specified type to be injected into (per component) - use when AnnotatedFieldInjection is not what you want
  • CompositeInjection allows a very custom setup of what injection-types you want your instance to support. Use when speed of execution is of the essence and AdaptiveInjection is not right for you.
  • Decorating (behavior factory) - do something to a component instance immediately after its instantiation (and formal injection)
  • FactoryAdapter - Allows for a custom instance to be injected into a component. E.g. 'new Logger(Foo.class)' for a Logger type and a Foo instance being the injectee

Changes (versus 2.1):

  • Teams embedding PicoContainer and (completely hiding it from user communities) can extend StartableLifecycleStrategy and provide their own Startable interface (was buggy)

Mar 31, 2008

PicoContainer 2.1 released (194K jar)

New (since 2.0):

  • A new ComponentMonitor method to allow allow for better mocking of select components during unit testing.

Jan 19, 2008

PicoContainer 2.0 released (190K jar)

New (since 2.0-beta-2):

  • Binding Annotations support (disambiguation)
  • Newer and rewritten properties backed containers
  • Parameter names can be leveraged for all relevant types of injection

Changes (versus 2.0-beta-2):

  • Yet More Java5 generics
  • Build moved to JUnit 4.x and JMock 2.x (does not affect users of PicoContainer)
  • Built-in parameter name access, as opposed jar dependency

August 26, 2007

PicoContainer 2.0 beta 2 released (152K jar)

New (versus 2.0-beta-1):

  • Rudimentary AOP capability for components built in
  • Method Injection (one method post-construction with multiple arguments)
  • Automatic JNDI exposure
  • Multi Injection (Setter and after Constructor injection)
  • Store behavior (can extract/replace component store per thread)
  • Automatic components (instantiate irrespective of need)
  • Reentrant-Lock version of Synchronizing behavior

Changes (versus 2.0-beta-1):

  • Better Java5 generics
  • Renames of behaviors and injectors to more verb-like style
  • Startable interface more easily overridden to own choice

July 15, 2007

PicoContainer 2.0 BETA-1 released (128K jar)

New:

  • Properties for components as they are added to containers makes for increased flexibility
  • Field and Method annotation types of injection in addition to traditional Constructor (recommended) and Setter types
  • Parameters names for constructors can now drive otherwise ambiguous injections, as well as configuration
  • Large sets of configuration can be taken from properties files and command line arguments
  • PicoBuilder to make a container with desired behavior.

Changes:

  • Java 5 style (use of generics, varargs, among others)
  • Large scale Refactoring of packages and class names
  • Fluent interface for adding of components to a container

Mar 18, 2007

PicoContainer 1.3 released (113K jar)

January 19, 2006

PicoContainer 1.2 released (112K jar)

November 4, 2004

PicoContainer 1.1 released (75K jar)

June 5, 2004

PicoContainer 1.0 released (49K jar)

June 29, 2003

PicoContainer 1.0 alpha (25K jar)