- 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
- 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 some debug output to BytecodeWriterImpl
- Added functionality to test whether a class already has a constructor
- Fixed order of compliance predicates for queries
- Fixed setting super name if it wasn't explicitely defined
- Fixed adding default constructor
- 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
- Fixed testing whether a class is a subclass of another
- Added abstract implementation for the Component interface for generated classes and component implementations provided by the core (InjectionService, InterceptionService, and so on)
- Modified component implementations to fulfill new requirements of declaring a constructor which accepts a ComponentContext
- ComponentContexts must now be explicitely started from their environment (now happens when creating a ConferenceContext via the ComponentContexts class or when creating subcontexts)
- Fixed bug in ComponentRegistry which caused that managed components got destroyed n times, where n specifies the amount of their names
- Added a NullComponentContext which does nothing (required for instantiation of Components to just retrieve their names)
- Added a NullComponentLifecycle to be used for manually written component implementations which do not have to react on any lifecycle events
- Fixed several bugs which caused that injection, interception and naming did not do anything, because their built predicate was incorrect