Releases: avaje/avaje-inject
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
4.1
3.1
4.0 (jakarta.inject)
jakarta.inject release
This release is functionally the same as 3.0 but depends on and uses jakarta.inject
#82 - Change to jakarta.inject from javax.inject