- Added a more powerful API for listening to lifecycle events of the whole framework, i.e. listen on when a ComponentContext gets created and when it is destroyed
- Removed the old @Startup-based API
- Implemented functionality for adding annotations with simple values to classes, fields, methods and constructors
- Implemented functionality for adding annotations with simple values to inner classes
- Formatted code
- Changed API to enforce a specific inner simple name when generating inner classes
- Added some methods to build unique names bases on some components or on a method
- Added methods for getting the superclass of a class
- Added methods for testing whether a class is a subclass or subtype of a given type
- Added methods to Component to retrieve the managing ComponentContext and the component's lifecycle
- Added a interface for a Component's lifecycle to add some lifecycle listeners to a component
- Removed methods for registering ComponentListeners directly onto a ComponentContext (add them instead directly to a Component)
- Added a method for testing whether a ComponentContextLifecycle has any registered listeners on it
- Added requirement for Component implementations (that are @Auto-managed) to require a ComponentContext for their instantiation
- Changed the signature for ComponentProvider.createComponent() to require a ComponentContext for instantiating Component instances
- Renamed @Bound and @Unbound to @Create and @Destroy
- Removed @ManuallyBound (its now replaces by the opposite of it, @Auto)