What's Changed
New Features 🎉
- Add new
definitionType
parameter for@Client
annotation by @altro3 in #11278 - Support merging with mapper annotation by @andriy-dmytruk in #11330
- New liveness probe to check for deadlocked threads by @abrenk in #11388
- Support Tracing of Dependency Injection by @graemerocher in #11449
- add support for programmatically adding bean configurations by @graemerocher in #11527
Bug Fixes 🐞
- Fix check for configuration properties by @altro3 in #11379
- Fix processing HttpClientResponseException with custom Http Status codes by @altro3 in #11390
- Improve error reporting when default JsonMapper fails to initialize by @yawkat in #11427
- Properly discard inbound HttpContent when connection cancels before readComplete by @yawkat in #11496
- Revert
MediaType
being comparable by @dstepanov in #11500 - Fix logged exception when parsing invalid HTTP Host header by @yawkat in #11520
- Fix dangling request when connection is closed without error by @yawkat in #11528
- Do not log ClosedChannelExceptions by @yawkat in #11529
- Hide log exception on closed channel in http2 upgrade by @yawkat in #11544
Improvements ⭐
- Add ByteBody.move by @yawkat in #11280
- Minor server optimizations by @yawkat in #11306
- Specific
RequestArgumentBinder
by @dstepanov in #11311 - Minor improvement to
PropagatedContext
by @dstepanov in #11312 - Minor route executor improvement by @dstepanov in #11314
- Remove context propagation filter by @yawkat in #11294
- Support
RouteInfo
in filters, addcreateSpecific
toArgumentBinder
by @dstepanov in #11323 - Add lost SERVICE_ID request attribute with jdk http client. by @altro3 in #11309
- JDK RawHttpClient by @yawkat in #11259
- Minor client optimizations by @yawkat in #11295
- [Fix #10585] Add http-client error log for non-CompletableFuture responses by @glorrian in #11304
- Improvements to
ExecutionFlow
by @dstepanov in #11317 - Optimizations in reactor <-> ExecutionFlow transformations by @yawkat in #11297
- feat: allow endpoint path customization by @sdelamo in #11369
- Add ability to configure NettyThreadFactory and set
daemon
andpriority
flags by @altro3 in #11378 - Add correct message, when set duration / period value in wrong format. by @altro3 in #11387
- Improve the dependency path exception message by @andriy-dmytruk in #11405
- Add semicolonIsNormalChar and maxParams properties to the server config by @glorrian in #11416
- KSP: Fixed method
isEnum()
for KotlinTypeArgumentElement by @altro3 in #11422 - Use sourcegen bytecode generator to generate internal metadata by @dstepanov in #11407
- More type pollution tests + avoid some of the checks by @dstepanov in #11495
- Rewrite expressions using sourcegen by @dstepanov in #11502
- Move body writing logic into http-server by @yawkat in #11342
- Replace HttpAttributes with accessors by @yawkat in #11324
- Refactor and improve bean tracing APIs by @graemerocher in #11523
- Improve event loop locality of client requests by @yawkat in #11300
- Added support for alias selection in the keystore by @viniciusxyz in #11503
- Cleanup DelayedExecutionFlowImpl after completion by @dstepanov in #11546
- order const. param to ResourceBundleMessageSource by @sdelamo in #11560
- improvement: List already ordered by @sdelamo in #11559
Docs 📖
- Add link to Gradle plugin portal by @ChaimaaeROUAI in #11438
- [GR-60327] Review and update 15.4 Micronaut for GraalVM content. by @olyagpl in #11443
- [GR-60327] Update {graalVersion} version for docs. by @olyagpl in #11452
- Document HTTP client pooling configuration by @yawkat in #11480
- docs: add example for streaming data with Content-Disposition by @ChaimaaeROUAI in #11545
- Fix link to ConstraintExceptionHandler by @sdelamo in #11524
- doc: HTTP Client cannot use Form & @JsonProperty by @sdelamo in #11558
Dependency updates 🚀
- fix(deps): update dependency io.micronaut.session:micronaut-session to v4.5.0 by @renovate in #11398
- fix(deps): update dependency io.micronaut.rxjava3:micronaut-rxjava3-bom to v3.6.0 by @renovate in #11397
- fix(deps): update dependency io.micronaut.rxjava2:micronaut-rxjava2-bom to v2.6.0 by @renovate in #11393
- fix(deps): update dependency io.micronaut.kotlin:micronaut-kotlin-bom to v4.5.0 by @renovate in #11384
- fix(deps): update dependency io.micronaut.groovy:micronaut-runtime-groovy to v4.5.0 by @renovate in #11380
- fix(deps): update dependency io.micronaut.build.internal:micronaut-gradle-plugins to v7.3.0 by @renovate in #11377
- fix(deps): update dependency io.micronaut.aws:micronaut-aws-bom to v4.8.0 by @renovate in #11373
- fix(deps): update dependency io.github.classgraph:classgraph to v4.8.179 by @renovate in #11399
- fix(deps): update dependency org.eclipse.jetty:jetty-alpn-openjdk8-client to v9.4.56.v20240826 by @renovate in #11409
- fix(deps): update dependency org.yaml:snakeyaml to v2.3 by @renovate in #11426
- chore(deps): update softprops/action-gh-release action to v2.2.0 by @renovate in #11431
- fix(deps): update dependency io.micronaut.validation:micronaut-validation-bom to v4.8.0 by @renovate in #11419
- fix(deps): update dependency org.apache.logging.log4j:log4j-core to v2.24.2 by @renovate in #11423
- fix(deps): update dependency org.graalvm.buildtools.native:org.graalvm.buildtools.native.gradle.plugin to v0.10.4 by @renovate in #11413
- fix(deps): update dependency org.apache.logging.log4j:log4j-core to v2.24.3 by @renovate in #11441
- fix(deps): update bytebuddy to v1.15.11 by @renovate in #11446
- fix(deps): update dependency org.zalando:logbook-netty to v3.10.0 by @renovate in #11435
- fix(deps): update dependency com.github.javaparser:javaparser-symbol-solver-core to v3.26.3 by @renovate in #11453
- fix(deps): update dependency ch.qos.logback:logback-classic to v1.5.13 by @renovate in #11455
- fix(deps): update dependency ch.qos.logback:logback-classic to v1.5.14 by @renovate in #11457
- fix(deps): update netty monorepo to v4.1.116.final by @renovate in #11459
- chore(deps): update actions/upload-artifact action to v4.5.0 by @renovate in #11462
- fix(deps): update dependency ch.qos.logback:logback-classic to v1.5.15 by @renovate in #11461
- fix(deps): update dependency io.netty.incubator:netty-incubator-transport-native-io_uring to v0.0.26.final by @renovate in #11472
- fix(deps): update junit5 monorepo by @renovate in #11471
- fix(deps): update dependency ch.qos.logback:logback-classic to v1.5.16 by @renovate in #11484
- chore(deps): update plugin io.micronaut.build.shared.settings to v7.3.1 by @renovate in #11489
- chore(deps): update plugin io.micronaut.build.shared.settings to v7.3.2 by @renovate in #11497
- chore(deps): update softprops/action-gh-release action to v2.2.1 by @renovate in #11499
- fix(deps): update selenium to v4.27.0 by @renovate in #11483
- fix(deps): update dependency io.micronaut.build.internal:micronaut-gradle-plugins to v7.3.2 by @renovate in #11504
- fix(deps): update dependency org.eclipse.jetty:jetty-alpn-openjdk8-client to v9.4.57.v20241219 by @renovate in #11512
- chore(deps): update graalvm/setup-graalvm action to v1.2.7 by @renovate in #11516
- fix(deps): update netty monorepo to v4.1.117.final by @renovate in #11517
- chore(deps): update actions/upload-artifact action to v4.6.0 by @renovate in #11519
- fix(deps): update bytebuddy to v1.16.1 by @renovate in #11522
- fix(deps): update dependency com.code-intelligence:jazzer-junit to v0.23.0 by @renovate in #11466
- fix(deps): update dependency com.aayushatharva.brotli4j:brotli4j to v1.18.0 by @renovate in #11444
- fix(deps): update dependency io.smallrye:smallrye-fault-tolerance to v6.7.3 by @renovate in #11421
- chore(deps): update graalvm/setup-graalvm action to v1.2.8 by @renovate in #11530
- fix(deps): update dependency org.graalvm.sdk:nativeimage to v23.1.6 by @renovate in #11534
- fix(deps): update groovy monorepo to v4.0.25 by @renovate in #11540
- chore(deps): update dependency gradle to v8.12.1 by @renovate in #11403
- fix(deps): update vertx to v4.5.12 by @renovate in #11543
- fix(deps): update jazzer to v0.24.0 by @renovate in #11554
- fix(deps): update dependency io.micronaut.validation:micronaut-validation-bom to v4.8.1 by @renovate in #11566
- chore(deps): update plugin me.champeau.jmh to v0.7.3 by @renovate in #11562
- fix(deps): update micronaut.test to v4.6.2 by @renovate in #11482
- fix(deps): update dependency io.micronaut.sourcegen:micronaut-sourcegen-bom to v1.6.2 by @renovate in #11568
- fix(deps): update managed.reactor to v3.7.2 by @renovate in #11478
Other Changes 💡
- Fix lifecycle of HttpClient and BlockingHttpClient by @glorrian in #11319
- Minor perf optimizations by @dstepanov in #11322
- Use standardized project names by @melix in #11354
- added common Microsoft/OpenDocument office formats to 4.8.x by @PeterFokkinga in #11372
- Merge up 4.7.x by @melix in #11509
- Jackson Databind to 2.18.2 by @sdelamo in #11525
New Contributors
Full Changelog: v4.7.13...v4.8.0