We need to upgrade all modules to Micronaut 3.0 and release new major versions of them.
To do the upgrade:
- Upgrade Micronaut version in the module to Micronaut 3.0.0-M2 (or any release after it)
- Use Micronaut nullability annotations
- Switch to Jakarta annotations.
- Change
javax.inject.Provider
to io.micronaut.context.BeanProvider
- If the module has an RxJava dependency add a dependency on
implementation 'io.projectreactor:reactor-core'
and switch to it (look for RxJava2 - Reactor equivalences in #5583). Public interfaces should not expose reactor types but Publisher
.
- Upgrade to Gradle 7
- Upgrade to the latest version on the build plugins (currently 4.0.0) and docs (2.0.0.RC1)
- Review the annotations in this PR #5643 and modify the module accordingly
- Review
@Introspected
classes. If the annotation is there for GraalVM, then replace it with @ReflectiveAccess
. If not, just add @ReflectiveAccess
/@TypeHint
.
- Release a new major Milestone version of the module that targets Micronaut 3.0.x branch in core.
- When Micronaut 3.0 is released we need to upgrade the module with 3.0.0 (instead of the M or RC version) and release a new patch version targeting next Micronaut 3 patch release (theoretically 3.0.1)
Legend:
Symbol |
Status |
✅ |
Upgraded to Micronaut 3 |
✳️ |
Upgrade to Micronaut 3 in progress, waiting on some dependency |
❌ |
Doesn't work with Micronaut 3 |
❓ |
Hasn't been tested with Micronaut 3 |
☑️ |
Not Applicable |
The upgrade PRs are mostly to see the changes required for the upgrade, so that when they want to move ahead, don't need to start from scratch. PRs that are failing are marked as draft to prevent merges.
Micronaut version in the following tables is the current Micronaut version used in master
branch
Data Access
Database Migration
Module |
Micronaut version |
Status |
Upgrade PR |
Issues |
Additional comments |
Flyway |
2.5.9 |
✅ |
|
|
Released 4.0.0 |
Liquibase |
2.5.9 |
✅ |
|
|
Released 4.0.0 |
Analytics
Module |
Micronaut version |
Status |
Upgrade PR |
Issues |
Additional comments |
ElasticSearch |
3.0.0-M4 |
✅ |
|
|
3.0.0-M1 |
JMX |
3.0.0-M2 |
✅ |
|
|
3.0.0-RC2 |
Micrometer |
3.0.0-M4 |
✅ |
|
|
4.0.0-RC2 |
Views
Module |
Micronaut version |
Status |
Upgrade PR |
Issues |
Additional comments |
RSS Configuration |
3.0.0-M4 |
✅ |
|
|
3.0.0-M1 |
Views |
3.0.0-M4 |
✳️ |
|
|
❗️#251 |
Languages
Reactive
Module |
Micronaut version |
Status |
Upgrade PR |
Issues |
Additional comments |
Reactor |
3.0.0-M4 |
✅ |
|
|
2.0.0-M1 |
RxJava 2 |
3.0.0-M4 |
✅ |
|
|
New module targeting Micronaut 3.0 for users that want to keep using RxJava2 with Micronaut 3.x. 1.0.0-M1 |
RxJava 3 |
3.0.0-M4 |
✅ |
|
|
2.0.0-M1 |
Misc
Messaging
Module |
Micronaut version |
Status |
Upgrade PR |
Issues |
Additional comments |
Kafka |
3.0.0-M4 |
✅ |
|
|
4.0.0-RC2 |
RabbitMQ |
3.0.0-M4 |
✅ |
|
|
3.0.0-RC2 |
NATS |
3.0.0-M4 |
✅ |
|
|
3.0.0-M2 |
MQTT |
3.0.0-M4 |
✅ |
|
|
2.0.0-RC1 |
JMS |
3.0.0-M4 |
✅ |
|
|
2.0.0-M1 |
Cloud
API
Community & WIP