Releases: avaje/avaje-inject
10.1 | 10.1-javax
What's Changed
- Fix #644 Dependency information for qualified beans does not include qualified name, resulting in incorrect circular dependency detection via #645
- [Generator] Refactor Metadata Parsing by @SentryMan in #646
- Bump io.avaje:avaje-http-api from 2.6 to 2.7 by @dependabot in #642
- Bump io.avaje:avaje-jsonb from 1.12 to 2.0 by @dependabot in #643
Full Changelog: 10.0...10.1
10.0 | 10.0-javax
Noteworthy changes from 9.x
The following three classes will continue to function, but have been deprecated and will be removed in a future release:
Plugin
(useInjectPlugin
instead)Module
(useAvajeModule
instead)PropertyRequiresPlugin
(useConfigPropertyPlugin
instead)
-
AOP related classes/annotations have been moved to a separate artifact and added as a transitive dependency (those using JPMS will need to add
requires io.avaje.inject.aop
to use AOP) -
All spi class implementations should now be registered as
InjectExtension
instances in JPMS. -
to assist with the above, avaje spi service has been added as a transitive dependency of the generator
-
Qualifiers preserve their case (no longer forced lower case) for
BeanEntry
and@QualifierMap
keys (but still use case insensitive matching for wiring)
New Features
- Adds native support for wiring generic types across multi-module projects/libraries
- Adds CDI-like event annotations and functionality via codegen
- Adds a
strictWiring
flag to@InjectModule
to determine multi-module wiring order at compile time. - Adds
@External
annotation for disabling validation for beans provided at runtime - The Maven/Gradle plugins now use the same version as
avaje-inject
instead of having separate versions
What's Changed
-
Fix support for @prototype with Provider by @rbygrave in #541
-
Refactor simplify lazy to use existing OnceProvider by @rbygrave in #542
-
Support Generic Auto Provides/Requires by @SentryMan in #498
-
Add something like Jakarta
@Observes
by @SentryMan in #491 -
Add a switch to determine multi-module wiring order at compile time. by @SentryMan in #479
-
inject-maven-plugin: Add default lifecycle and goal support by @rbygrave in #544
-
Add http validator to autodetected plugins by @SentryMan in #546
-
Qualifiers preserve their case (no longer forced lower case) for BeanEntry and @QualifierMap keys (but still using case insensitive matching for wiring) by @SentryMan in #548
-
Prefer intra-module beans when resolving type (v2) by @rbygrave in #557
-
Adds
@External
annotation by @SentryMan in #553 -
Auto Generate Event Publishers by @SentryMan in #554
-
#555 No qualifier injection point prefers no qualifier bean (over named bean) by @rbygrave in #562
-
Fix escape quotes on Event with qualifiers with string members (otherwise compiler error) by @SentryMan in #558
-
Backwards Compatible Generic Modules by @SentryMan in #567
-
maven plugin: #567 Followup, Simplify ServiceLoader of InjectPlugin by @rbygrave in #568
-
#567 Backwards Compatible Generic Modules, restore Module interface by @rbygrave in #575
-
Tidy Event internals - use a static priority Comparator by @rbygrave in #576
-
Remove System.out use in ExternalProvider and minor tidy by @rbygrave in #577
-
Multi-register beans with
List
Factory Methods by @SentryMan in #579 -
Fix a NPE in InjectProcessor when InjectModule annotation is null by @rbygrave in #586
-
Restore autoProvides to exclude http controllers and generated http routes by @rbygrave in #587
-
Fix Factory Map generation by @SentryMan in #583
-
Fix for unnamed generic types returned by @factory @bean by @rob-bygrave in #589
-
Refactor SPI interfaces by @SentryMan in #570
-
let spi service take care of module validation by @rbygrave in #593
-
Update README to provide doc for InjectSPI by @Mechite in #594
-
Remove Duplicate SPI dependency by @SentryMan in #596
-
Add GA/EA JDK to PR builds by @SentryMan in #597
-
Split Events into their own module by @SentryMan in #600
-
Split AOP into a separate module by @SentryMan in #601
-
Change workflow to run on forked PRs by @SentryMan in #602
-
Simplify Generated Proxy Classes by @SentryMan in #607
-
Rename InjectSPI to InjectExtension by @SentryMan in #608
-
Rename Property Plugin from PropertyRequiresPlugin to ConfigPropertyPlugin by @SentryMan in #572
-
Remove
InjectSPI
from events by @SentryMan in #611 -
Refactor rename AvajeModuleData to ModuleData, plus some method renames, plus imports by @rbygrave in #612
-
Write SPIs to META-INF/generated-services so that they can be merged later via avaje-spi-service by @SentryMan in #616
-
Fix Plugin Service Configuration Error by @SentryMan in #620
-
Use Avaje Prisms for module-validation by @SentryMan in #621
-
Remove references to avaje-spi-service which is no longer used by @rbygrave in #623
-
Process Avaje SPI @Serviceprovider for writing service META-INF/services file entry by @SentryMan in #624
-
Refactor internals - In InjectProcessor use APContext.isAssignable(te… by @rbygrave in #625
-
Make Annotations Source Retention by @SentryMan in #631
-
Writes a file to signal inject's presence by @SentryMan in #634
-
Update Generated Imports by @SentryMan in #636
-
Update Javadocs by @SentryMan in #638
-
Bump lots of dependencies
Full Changelog: 9.12...10.0
9.12 | 9.12-javax
What's Changed
- Update README table by @SentryMan in #512
- Fix Factory Providers by @SentryMan in #517
- Support lazy beans by @SentryMan in #518
- For LazyProvider add fast path when its not null by @rbygrave in #520
- Add a test that uses `Supplier wrt #519 by @rbygrave in #521
- Remove deprecated AOP classes by @SentryMan in #509
- Better error when calling Provider.get() too early (during DI wiring) by @rbygrave in #523
- README typo fixes by @andrewazores in #530
- Support JDK 23-EA by @SentryMan in #534
- fix: compilation error with providers and
throws
by @mohamed-abdelnour in #533 - Adjust the indentation of the generated code for try/catch by @rbygrave in #535
- Disable Module Validation when the Avaje Build Plugin is Detected by @SentryMan in #513
Dependabot
- Bump io.avaje:avaje-jsonb from 1.9 to 1.10 by @dependabot in #510
- Bump io.avaje:avaje-http-api from 2.1 to 2.2 by @dependabot in #511
- Bump io.avaje:avaje-config from 3.11 to 3.12 by @dependabot in #514
- Bump mockito.version from 5.10.0 to 5.11.0 by @dependabot in #515
- Bump org.projectlombok:lombok from 1.18.30 to 1.18.32 by @dependabot in #526
- Bump io.avaje:avaje-config from 3.12 to 3.13 by @dependabot in #527
- Bump net.bytebuddy:byte-buddy-agent from 1.14.12 to 1.14.13 by @dependabot in #529
- Bump net.bytebuddy:byte-buddy from 1.14.12 to 1.14.13 by @dependabot in #528
- Bump org.apache.maven.plugin-tools:maven-plugin-annotations from 3.11.0 to 3.12.0 by @dependabot in #532
- Bump org.apache.maven.plugins:maven-plugin-plugin from 3.11.0 to 3.12.0 by @dependabot in #531
- Bump parent pom to 4.1 with maven-surefire-plugin byte-buddy JDK 23 support by @rbygrave in #536
New Contributors
- @andrewazores made their first contribution in #530
- @mohamed-abdelnour made their first contribution in #533
Full Changelog: 9.11...9.12
9.11 | 9.11-javax
What's Changed
- Fix Lost Imports in Generated Code by @SentryMan in #477
- Use CodeGen for AOP Fallback by @SentryMan in #470
- Simplify Proxy Generation by @SentryMan in #486
- Support Assisted Injection via Factory Codegen by @SentryMan in #467
- [generator] Use Avaje Prisms
UType
for Processing TypeMirrors by @SentryMan in #484 - Make
@Aspect.Import
Repeatable by @SentryMan in #497 - Fix for @InjectTest with inherited field injection by @rob-bygrave in #499
- Fix when getting map of beans with parent scope by @rbygrave in #502
- For @InjectTest only build new BeanScope when test has mocks or spies by @rbygrave in #503
- Fix Field Assisted Inject by @SentryMan in #492
- Support qualifiers with members by @SentryMan in #488
- Follow up to #503 for Plugin scope to match the test bean scope by @rbygrave in #507
- Add Super Types to Auto Provides by @SentryMan in #504
Dependencies
- Bump io.avaje:avaje-config from 3.9 to 3.10 by @dependabot in #465
- Bump org.apache.maven:maven-core from 3.9.5 to 3.9.6 by @dependabot in #469
- Bump mockito.version from 5.7.0 to 5.8.0 by @dependabot in #468
- Bump io.avaje:avaje-prisms from 1.16 to 1.17 by @dependabot in #471
- Bump io.github.resilience4j:resilience4j-annotations from 2.1.0 to 2.2.0 by @dependabot in #473
- Bump net.bytebuddy:byte-buddy from 1.14.10 to 1.14.11 by @dependabot in #474
- Bump net.bytebuddy:byte-buddy-agent from 1.14.10 to 1.14.11 by @dependabot in #475
- Bump io.avaje:avaje-prisms from 1.17 to 1.18 by @dependabot in #480
- Bump org.apache.maven.plugins:maven-plugin-plugin from 3.10.2 to 3.11.0 by @dependabot in #482
- Bump org.apache.maven.plugin-tools:maven-plugin-annotations from 3.10.2 to 3.11.0 by @dependabot in #483
- Bump io.avaje:avaje-prisms from 1.18 to 1.20 by @dependabot in #481
- Bump mockito.version from 5.8.0 to 5.9.0 by @dependabot in #485
- Bump io.avaje:avaje-prisms from 1.20 to 1.21 by @dependabot in #487
- Bump mockito.version from 5.9.0 to 5.10.0 by @dependabot in #490
- Bump io.avaje:avaje-http-api from 2.0 to 2.1 by @dependabot in #493
- Bump io.avaje:avaje-config from 3.10 to 3.11 by @dependabot in #494
- Bump jupiter.version from 5.10.1 to 5.10.2 by @dependabot in #495
- Bump net.bytebuddy:byte-buddy from 1.14.11 to 1.14.12 by @dependabot in #505
- Bump net.bytebuddy:byte-buddy-agent from 1.14.11 to 1.14.12 by @dependabot in #506
- Bump avaje junit test dependency (with bytebuddy update) by @rbygrave in #508
Full Changelog: 9.10...9.11
9.10 | 9.10-javax
What's Changed
- Fix
avaje-inject-test
junit Generic type Injection by @SentryMan in #462 - Refactor rename Types -> RawType and make internal by @rbygrave in #463
- Remove commented code by @SentryMan in #464
Dependabot
- Bump io.avaje:avaje-jsonb from 1.8 to 1.9 by @dependabot in #450
- Bump mockito.version from 5.6.0 to 5.7.0 by @dependabot in #451
- Bump jupiter.version from 5.10.0 to 5.10.1 by @dependabot in #452
- Bump org.apache.maven.plugins:maven-plugin-plugin from 3.10.1 to 3.10.2 by @dependabot in #453
- Bump org.apache.maven.plugin-tools:maven-plugin-annotations from 3.10.1 to 3.10.2 by @dependabot in #454
- Bump parent pom to 4.0 by @rbygrave in #456
- Bump org.jetbrains:annotations from 24.0.1 to 24.1.0 by @dependabot in #457
- Bump net.bytebuddy:byte-buddy-agent from 1.14.9 to 1.14.10 by @dependabot in #458
- Bump net.bytebuddy:byte-buddy from 1.14.9 to 1.14.10 by @dependabot in #459
Full Changelog: 9.9...9.10
9.9 | 9.9-javax
What's Changed
- #439 Handle case where Factory method throws exception by @rbygrave in #440
- Bump ByteBuddy for JDK 22 test by @rob-bygrave in #441
- Support RequestScope with Helidon 4.0.0 (Nima) by @rbygrave in #445
- Use placeholder for Javalin Context with RequestScope test by @rbygrave in #446
- Fix compiling NPE issue with latest org.jetbrains:annotations (from version 13.0 to 24.0.1) by @SentryMan in #447
- Rename Processor.getElements() -> maybeElements() and reformat some bits by @rbygrave in #448
Dependabot
- Bump io.avaje:avaje-config from 3.8 to 3.9 by @dependabot in #435
- Bump org.apache.maven.plugins:maven-plugin-plugin from 3.9.0 to 3.10.1 by @dependabot in #437
- Bump org.apache.maven.plugin-tools:maven-plugin-annotations from 3.9.0 to 3.10.1 by @dependabot in #436
- Bump io.avaje:junit from 1.1 to 1.3 by @dependabot in #442
- Bump io.avaje:avaje-http-api from 1.46 to 2.0 by @dependabot in #443
Full Changelog: 9.8...9.9
9.8 | 9.8-javax
What's Changed
- #408 - Support for package protected bean with AOP aspect by @rbygrave in #409
- Fix Conditional Beans not working with AOP by @SentryMan in #433
- #433 followup - Add test and update style on BeanReader by @rbygrave in #434
- Improve the pom descriptions by @rob-bygrave in #410
- Enable Annotation processing in JDK 22 by @SentryMan in #411
- Fix CustomScope Test by @SentryMan in #424
- Add Dependabot by @SentryMan in #412
- Enable dependabot auto-merge by @SentryMan in #423
Dependabot
- Bump io.avaje:avaje-jex from 2.2 to 2.5 by @dependabot in #422
- Bump org.apache.maven:maven-core from 3.8.7 to 3.9.5 by @dependabot in #420
- Bump mockito.version from 4.7.0 to 5.6.0 by @dependabot in #421
- Bump org.projectlombok:lombok from 1.18.24 to 1.18.30 by @dependabot in #415
- Bump io.avaje:avaje-jsonb from 1.3 to 1.8 by @dependabot in #413
- Bump org.avaje:java11-oss from 3.10 to 3.12 by @dependabot in #414
- Bump io.avaje:avaje-config from 3.2 to 3.8 by @dependabot in #417
- Bump org.apache.maven.plugin-tools:maven-plugin-annotations from 3.7.1 to 3.9.0 by @dependabot in #419
- Bump jupiter.version from 5.9.0 to 5.10.0 by @dependabot in #418
- Bump io.avaje:avaje-http-api from 1.17 to 1.46 by @dependabot in #416
- Bump io.avaje:avaje-prisms from 1.14 to 1.16 by @dependabot in #425
- Bump org.apache.maven.plugins:maven-plugin-plugin from 3.7.1 to 3.9.0 by @dependabot in #429
- Bump io.github.resilience4j:resilience4j-annotations from 1.7.1 to 2.1.0 by @dependabot in #430
New Contributors
- @dependabot made their first contribution in #422
Full Changelog: 9.7...9.8
9.7 | 9.7-javax
What's Changed
- Module Validation by @SentryMan in #390
- Back Tick Module warning by @SentryMan in #391
- Single try statement for module validation by @SentryMan in #392
- Use
Elements
to findModuleElement
by @SentryMan in #394 - Prisms 1.14 by @SentryMan in #395
- Support @import Package-Private Constructors by @SentryMan in #397
- With Component.Import check for public constructor by @rbygrave in #398
- Add Spring DI Table by @SentryMan in #399
- Normalize Invalid @nAmed characters by @SentryMan in #401
- Ignore imported components for top package determination by @rbygrave in #402
- Change no modules found message by @SentryMan in #403
- Add JDK 21 to workflow by @SentryMan in #404
- Add support for PreDestroy priority to control ordering by @rbygrave in #405
- Auto Detect Avaje Library Plugins by @SentryMan in #406
Full Changelog: 9.5...9.7
9.5 | 9.5-javax
What's Changed
- maven plugin - use Log.info() by @rbygrave in #384
- Fix for partial compile failing for external optional Dependency by @rbygrave in #385
- Fix for Factory with multiple "Builder" types - short names all exactly match Builder by @rbygrave in #386
- Use Short Name for Nested Types by @SentryMan in #387
- Use LogError for Prototype Lifecycle Errors by @SentryMan in #388
Full Changelog: 9.4...9.5
9.4 | 9.4-javax
What's Changed
- Plugin Aspects by @SentryMan in #369
- Fix NPE in 9.4-RC1 ExternalProvider by @rbygrave in #371
- BeanScopeBuilder - change addPostConstruct() and addPreDestroy() methods by @rbygrave in #374
- lock inject plugin version by @SentryMan in #375
- Add support for
@Profile
annotation - conditional wiring via profiles by @SentryMan in #377 - Auto Requires Logging by @SentryMan in #378
- InjectTest profiles by @SentryMan in #379
- BeanScopeBuilder.profiles() for explicit profiles by @rbygrave in #380
- Use Var-Args for profiles by @SentryMan in #381
- Log builder profiles with the modules in single log message by @rbygrave in #382
- Fix for @Component.Import for partial compile - Add @DependencyMeta importedComponent property by @rbygrave in #383
Full Changelog: 9.3...9.4