What's Changed
New Features 🎉
- Idea(8855)/service health indicator by @alexsimpson440dev in #9061
- io_uring support by @yawkat in #9090
- Message Body Reader/Writer abstraction for server by @graemerocher in #9151
Bug Fixes 🐞
- bug: SslConfiguration::setProtocol by @sdelamo in #9118
- Fix SingleResult was unintentionally initialized at build time by @graemerocher in #9126
- KSP: don't process already processed classes by @graemerocher in #9204
Improvements ⭐
- Add ability to disable log in environments by @altro3 in #8946
- Load ApplicationContextConfigurer with passed classloader instead of the class one by @Goldmensch in #8608
- Allow access to 'this' in expressions / support introspections by @graemerocher in #9123
- tck: Write length and first 10 bytes if bytearray assertion fails by @timyates in #9111
- Support for Comparable types in expressions by @GavrilovSV in #9163
- Ensure JsonNode is serializable/deserializable by default mapper by @graemerocher in #9175
- Do not avoid processing enum methods by @andriy-dmytruk in #9165
Docs 📖
- Micronaut Framework from 2 to 3 to upgrade repo by @sdelamo in #9200
- doc: fix configuration properties by @sdelamo in #9215
Dependency updates 🚀
- Update to Jackson 2.14.2 by @sdelamo in #9064
- build: Micronaut Security 3.11.0 by @sdelamo in #9087
- CRaC 1.2.2 by @sdelamo in #9088
- fix(deps): update managed-reactor to v3.5.5 by @renovate in #9127
- Update dependency ch.qos.logback:logback-classic to v1.4.7 by @renovate in #9178
- Update gradle/gradle-build-action action to v2.4.2 [SECURITY] by @renovate in #9186
- Kotlin 1.8.21 KSP update and Coroutines 1.7.0 by @sdelamo in #9202
- Update dependency io.netty.incubator:netty-incubator-transport-native-io_uring to v0.0.21.Final by @renovate in #9193
Other Changes 💡
- Support JDK 20 in annotation processors (#9022) by @graemerocher in #9048
- build: add Micronaut Chatbots BOM by @sdelamo in #9056
- Deprecate
ConversionService.SHARED
and update custom converter docs/examples to use ConversionService bean. by @wetted in #8695 - build: managed-elasticsearch 7.17.9 by @sdelamo in #9102
- Add targetPackage property to the @introspected annotation by @andriy-dmytruk in #9105
- Avoid the hierarchy annotaiton metadata for @introspected(classes=) by @andriy-dmytruk in #9039
- Replace RoutingInboundHandler and streams handlers by a single handler by @yawkat in #9128
- Add a TCK test for String based Exception handler by @timyates in #9132
- Add interface type arguments test by @dstepanov in #9134
- Merge 3.9.x, fix TCK test and document breakage by @timyates in #9133
- Correct persisting parameter's type annotations by @dstepanov in #9139
- Use StringIntMap for propertyIndexOf by @yawkat in #9137
- Correct persisting parameter's type annotations 2 by @dstepanov in #9142
- Re-enable PTS and Test Distribution for Kotlin by @timyates in #9138
- Define the property by the first setter in the same class by @dstepanov in #9155
- Upgrade to latest build plugins by @melix in #9171
- Align build plugins versions used in
buildSrc
by @melix in #9173 - Remove managed logging dependencies by @melix in #9209
- Copy field annotations to the optional getter type argument by @dstepanov in #9203
- Support visitGeneratedFile in KSP / add originating elements to API by @graemerocher in #9212
New Contributors
- @alexsimpson440dev made their first contribution in #9061
- @Goldmensch made their first contribution in #8608
Full Changelog: v4.0.0-M2...v4.0.0-M3