Releases: avaje/avaje-inject
6.5-RC1 | 5.5-RC1
#135 - With concrete superclass with interfaces, the interfaces are not registered
6.5-RC0 | 5.5-RC0
Breaking changes
This release adds "custom scopes" as a replacement for "request scope". It also removes ApplicationScope with the replacement to just use BeanScope. This simplifies things and drops the conceptual weight of avaje-inject which should be a good thing. If you have any issues upgrading your apps to 6.5 please ask / create a ticket. Thanks.
Issues:
#134 - Refactor scopes - Removes ApplicationScope & RequestScope in favour of "custom scopes"
#128 - Unnecessary compiler warning on every build
#127 - listByAnnotation() does not work on request scope
#125 - No way to enumerate every object in the scope
#124 - list() doesn't seem to work for request scopes
6.1 | 5.1
6.0 | 5.0
Includes the changes in the 6.0.RC releases (those changes are listed in the RC releases below)
There are no changes since RC4. 6.0 is exactly the same as 6.0.RC4, 5.0 is exactly the same as 5.0.RC4.
6.0.RC4 | 5.0.RC4
#119 - Change generated code class name suffix from $factory to $Factory and $di to $DI
6.0.RC3 | 5.0.RC3
Issues:
#118 - Add compile error when @singleton has a @request scope dependency
#117 - java.lang.AutoClosable automatically gets a PreDestroy hook
#115 - Add JUnit 5 @ExtendWith(InjectExtension.class) enhancement
#114 - Add to Builder API support for withMock() and withSpy() taking name qualifier
6.0.RC2 | 5.0.RC2
#113 - Opps, use build_ prefix for reading meta data annotations from build methods
6.0.RC1 | 5.0.RC1
Additions:
- Adds
@RequestandRequestScope - Adds
ApplicationScopewith the view of migrating fromSystemContexttoApplicationScope. - In adding request scope this lead to quite a lot of refactoring and simplification of internals
Breaking changes:
BeanContextrenamed toBeanScope- This gives us better Alignment with RequestScope and ApplicationScope@ContextModulerenamed to@InjectModuleCloseableis treated as a@PreDestroymethodBeanLifecycleinterface removed - Just use@PostConstructand@PreDestroy/Closeableinterface- Removed
sortBy()methods - Migrate to performing your own sort as needed
Other changes:
SystemContextdeprecated in favour of@ApplicationScope
Issues:
#112 - Rename ContextModule to InjectModule and BeanContextFactory to BeanScopeFactory
#111 - Support inherited field/method injection (ref #86)
#110 - Refactor/remove sort by methods
#109 - Refactor rename BeanContext to BeanScope (to better align with ApplicationScope and RequestScope) breaking-api
#108 - Add ApplicationScope
#107 - Add RequestScope support (for #85)
#106 - Refactor/simplify to single builder - remove parent/child part refactor
#104 - Should a bean that implements Closable / AutoClosable automatically get a PreDestroy hook?
#86 - Run Jakarta Dependency Injection TCK
#85 - Not totally obvious how to do your own request scoping
4.4
Issues:
#103 - Handle @nAmed with empty string / no actual string qualifier name
#102 - Tidy generated code for field injection
#101 - Fix isAddBeanFor() to include implementation type with interface types bug
#100 - Support Optional as result type of @bean methods. Support Optional and @nullable for injection
#99 - Support @Inject on method with no arguments bug
#98 - Support @singleton that extends another concrete @singleton
#97 - Refactor to register using explicit types rather than bean.getClass() canonical name
#96 - Case insensitive qualifier names
3.4
Same as per 4.4 but for javax.inject