Releases: avaje/avaje-inject
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
@Request
andRequestScope
- Adds
ApplicationScope
with the view of migrating fromSystemContext
toApplicationScope
. - In adding request scope this lead to quite a lot of refactoring and simplification of internals
Breaking changes:
BeanContext
renamed toBeanScope
- This gives us better Alignment with RequestScope and ApplicationScope@ContextModule
renamed to@InjectModule
Closeable
is treated as a@PreDestroy
methodBeanLifecycle
interface removed - Just use@PostConstruct
and@PreDestroy
/Closeable
interface- Removed
sortBy()
methods - Migrate to performing your own sort as needed
Other changes:
SystemContext
deprecated 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
4.2
#93 - Improve warning logged for missing dependencies
#92 - Fix/support circular dependency binding when using Provider interface
#90 - Fix compile message - suggest circular dependency when really just missing dependency (missing @singleton)
#91 - For choosing constructor - choose single public constructor or single accessible constructor
#89 - Tidy javadoc to use proper @ in code examples. May require jdk 15 javadoc tool to generate javadoc ...
#88 - Change @generated to use RetentionPolicy.RUNTIME refactor
3.2
#93 - Improve warning logged for missing dependencies
#92 - Fix/support circular dependency binding when using Provider interface
#90 - Fix compile message - suggest circular dependency when really just missing dependency (missing @singleton)
#91 - For choosing constructor - choose single public constructor or single accessible constructor
#89 - Tidy javadoc to use proper @ in code examples. May require jdk 15 javadoc tool to generate javadoc ...
#88 - Change @generated to use RetentionPolicy.RUNTIME refactor