11 hours ago
spring-framework

v7.0.7

⭐ New Features

  • Improve SpringValidatorAdapter and MethodValidationAdapter performance #36621
  • Support JSON array decoding to Flux in KotlinSerializationJsonDecoder #36597
  • Deprecate methodIdentification() in CacheAspectSupport for removal #36575
  • Add MockRestServiceServer#createServer variant for RestClient #36572
  • Create RestClientXhrTransport variant replacing RestTemplateXhrTransport #36566
  • Improve error handling in multipart codecs #36563
  • Make ApplicationListenerMethodAdapter#getTargetMethod() public #36558
  • ApiVersionConfigurer.setSupportedVersionPredicate() returns void instead of ApiVersionConfigurer #36551
  • LazyConnectionDataSourceProxy does not work well with Hibernate's multi-tenancy by schema strategy #36527
  • Add registerManagedResource variant with bean key argument to MBeanExporter #36520
  • Handle blank Accept-Language header in AcceptHeaderLocaleResolver #36513
  • Make AbstractStreamingClientHttpRequest and AbstractBufferingClientHttpRequest public #36501
  • MySQL Error 149 (Galera/WSREP conflict) not translated to ConcurrencyFailureException in Spring JDBC/ORM #36499
  • Add PreFlightRequestFilter #36482
  • Support configuration of extension context scope for SpringExtension via Spring or JUnit properties #36460
  • Lower log level of "Cache miss for REQUEST dispatch" in HandlerMappingIntrospector #36309

🐞 Bug Fixes

  • WebDataBinder unnecessarily instantiates collections when using the "!" and "_" prefixes #36625
  • Cache pollution from high-cardinality FieldError default messages in MessageSourceSupport #36609
  • MergedAnnotation does not use ClassLoader for method or field #36606
  • @Sql fails if DataSource is wrapped in a TransactionAwareDataSourceProxy #36611
  • AnnotatedTypeMetadata no longer retains source declaration order on Java 24+ #36598
  • MergedAnnotation.asMap() fails when an attribute references a non-existent class #36586
  • FileSystemResource does not strictly follow the Resource#isReadable() contract #36584
  • Converter overrides in HttpMessageConverters only apply when defaults are registered #36579
  • Invalid method return type metadata for ClassFile variant on JDK 24+ #36577
  • Fix Writer lifecycle for AbstractJsonHttpMessageConverter.writeInternal(Object, Type, Writer) #36565
  • Flushing-related regression in SseServerResponse #36537
  • LazyConnectionDataSourceProxy does not pass on holdability to target Connection #36528
  • AnnotationBeanNameGenerator fails when an annotation references a non-existent class #36524
  • Perserve default API version in RestClientAdapter #36514
  • Inconsistent codings resolution in resource resolvers #36507
  • DefaultJmsListenerContainer may hang in an endless loop in doShutdown #36506
  • Query not hidden in DefaultClientResponse checkpoint #36502
  • RestClient closes stream for ResponseEntity responses #36492
  • IllegalStateException when using websocket handshake headers with Tomcat #36486
  • Invalid nullness information for ParameterizedTypeReference #36477
  • WebTestClient cannot assert null list elements #36476
  • Handle Kotlin nullable value class param correctly in CoroutineUtils #36449
  • Remove RFC 2047 encoding from Content-Disposition filename #36328
  • Parent traceId is not reused when calling WebClient.awaitExchange function #36182

📔 Documentation

  • Clarify semantics of HttpMethod.valueOf() #36652
  • Document whitespace semantics in SpEL expressions #36628
  • Document that spring.profiles.active is ignored by @ActiveProfiles #36600
  • MergedAnnotation.asAnnotationAttributes() Javadoc incorrectly states that it creates an immutable map #36567
  • Fix incorrect Javadoc in HandlerMethodReturnValueHandlerComposite regarding caching #36555
  • Fix incorrect method name in TypeDescriptor.array() Javadoc #36549
  • Introduce Kotlin examples for Bean Overrides (@MockitoBean, etc.) #36541
  • Fix incorrect cross-reference links in AbstractEnvironment Javadoc #36516
  • Document RetryTemplate#invoke variants in reference manual #36452
  • Link observability section to Micrometer Observation Handler docs #34994

🔨 Dependency Upgrades

  • Upgrade to Micrometer 1.16.5 #36659
  • Upgrade to Reactor 2025.0.5 #36658

❤️ Contributors

Thank you to all the contributors who worked on this release:

@Mohak-Nagaraju, @Sineaggi, @T45K, @angry-2k, @bebeis, @cookie-meringue, @dmitrysulman, @elgunshukurov, @itsmevichu, @junhyung8795, @msridhar, @nameearly, @tobifasc, and @xxxxxxjun

11 hours ago
spring-framework

v6.2.18

⭐ New Features

  • Improve SpringValidatorAdapter and MethodValidationAdapter performance #36624
  • Add missing @Deprecated(forRemoval = true) for deleted in 7.0 #36591
  • Deprecate methodIdentification() in CacheAspectSupport for removal #36576
  • Improve error handling in multipart codecs #36564
  • LazyConnectionDataSourceProxy does not work well with Hibernate's multi-tenancy by schema strategy #36529
  • MySQL Error 149 (Galera/WSREP conflict) not translated to ConcurrencyFailureException in Spring JDBC/ORM #36510

🐞 Bug Fixes

  • Handle Kotlin nullable value class param correctly in CoroutineUtils #36643
  • NullPointerException in ServerSentEvent when trying to set id or event properties #36634
  • @Sql fails if DataSource is wrapped in a TransactionAwareDataSourceProxy #36630
  • WebDataBinder unnecessarily instantiates collections when using the "!" and "_" prefixes #36627
  • Cache pollution from high-cardinality FieldError default messages in MessageSourceSupport #36623
  • ContentCachingRequestWrapper does not allow unlimited content caching #36620
  • MergedAnnotation does not use ClassLoader for method or field #36614
  • AnnotationBeanNameGenerator fails when an annotation references a non-existent class #36588
  • FileSystemResource does not strictly follow the Resource#isReadable() contract #36585
  • Query not hidden in DefaultClientResponse checkpoint #36571
  • LazyConnectionDataSourceProxy does not pass on holdability to target Connection #36530
  • DefaultJmsListenerContainer may hang in an endless loop in doShutdown #36511
  • Inconsistent codings resolution in resource resolvers #36508

📔 Documentation

  • Clarify semantics of HttpMethod.valueOf() #36653
  • Document that spring.profiles.active is ignored by @ActiveProfiles #36636
  • Document whitespace semantics in SpEL expressions #36629
  • MergedAnnotation.asAnnotationAttributes() Javadoc incorrectly states that it creates an immutable map #36568
  • Introduce Kotlin examples for Bean Overrides (@MockitoBean, etc.) #36542
  • Fix incorrect cross-reference links in AbstractEnvironment Javadoc #36517

🔨 Dependency Upgrades

  • Upgrade to Micrometer 1.15.11 #36661
  • Upgrade to Reactor 2024.0.17 #36660
1 days ago
quarkus

3.35.0.CR1

Major changes

  • #51063 - Support @Transactional for Hibernate Reactive
  • #52919 - Remove the use of System Properties to propagate configuration in Tests
  • #53161 - Enable reflection-free Jackson serializers by default
  • #53249 - Publish our snapshots to a GitHub repository
  • #53278 - Introduce PGO support into native build
  • #53295 - quarkus.package.jar.tree-shake option to eliminate unused classes from JARs
  • #53339 - Introduce basic Semeru AOT support
  • #53432 - Add CORS support to the management interface

Complete changelog

  • #27583 - JSON logging cannot be activated on log handlers
  • #37466 - aws-lambda documentation out of date (?)
  • #37483 - Debugging RESTEasy Reactive errors without body (400, 401)
  • #42523 - Enhancement : Improve documentation about using RestResponse vs Response (and parts related to reflection)
  • #42575 - state which category to enable debugging for
  • #42900 - Update Panache docs to mention that Sort requires users to disable escaping when using functions
  • #46038 - devservice doc add oidc configuration
  • #47462 - quarkus-hibernate-reactive does not make StatelessSession available for injection
  • #47698 - Hibernate Reactive and @Transactional
  • #47882 - Qute: Alternative output expr syntax "{=foo}"
  • #49653 - ArC - Optimize Beans#getCallbacks()
  • #50572 - HibernateOrmProcessor causes Warning that package cannot be indexed due to package-info.java
  • #50791 - Kubernetes extension does not extend provided resources
  • #51063 - Support @Transactional for Hibernate Reactive
  • #51143 - Bump OTel to 1.59.0 - Use HttpSender and GrpcSender from upstream OpenTelemetry API
  • #52168 - Upgrade Hibernate ORM to 7.3.0
  • #52226 - Add Gradle support for proper dependency tracking to app model
  • #52239 - OpenTelemetry: Context get lost when hitting rest client read timeout
  • #52270 - Panache Next: warnings when HR is not present
  • #52828 - Hibernate Reactive: allow mixing Session and StatelessSession in the same transaction
  • #52831 - @Size on List type parameter ignored for private fields with getter/setter
  • #52874 - Custom labels and annotations for deployments with spec
  • #52906 - MongoDB OTEL Traces contain full command
  • #52916 - Test profile config overrides not resolvable from integration tests
  • #52919 - Remove the use of System Properties to propagate configuration in Tests
  • #52921 - Add CLAIM option to Redis XReadGroupArgs configurator
  • #52927 - Filter out package names before proxy generation to fix spurious warning
  • #52949 - Add unit tests for Avro code generation providers
  • #52962 - Panache Next – remove HR types from PanacheOperations generic signature
  • #52965 - Add CLAIM option support to XREADGROUP command
  • #52988 - build(deps): bump com.microsoft.azure.functions:azure-functions-java-library from 3.2.3 to 3.2.4
  • #53000 - Re-enable dev services integration tests
  • #53018 - Narayana JTA - Auto-enable recovery service when XA datasources are configured
  • #53023 - Resolve configuration access lock errors with Gradle 9
  • #53024 - A step towards making it clearer PathTree API is about visiting class path resources on a file system
  • #53025 - Fix build reproducibility of bytecode recorder return value proxy identifiers
  • #53028 - Fix race condition in the ConnectorChangeTest
  • #53033 - Remove removed PreAdditionalBeanBuildTimeConditionBuildItem reference
  • #53035 - Introduce QuarkusExtensionTest and deprecate QuarkusUnitTest
  • #53037 - @QuarkusComponentTest does not respect YAML configuration
  • #53046 - build(deps-dev): bump org.eclipse.jgit:org.eclipse.jgit from 7.5.0.202512021534-r to 7.6.0.202603022253-r
  • #53051 - QuarkusMock.installMock fails with ClassCastException in a Kotlin Gradle project
  • #53055 - Some more Dev UI cosmetic updates
  • #53083 - Fix build reproducibility in Hibernate Validator extension
  • #53084 - Fix some more build reproducibility issues in Quarkus REST
  • #53085 - Fix some build reproducibility issues in gRPC extension
  • #53086 - Make SharedConfig generation reproducible
  • #53087 - Make sure the QuarkusScanner elements are ordered for better build reproducibility
  • #53089 - Allow passing project.build.outputTimestamp from the command line
  • #53094 - DevStar: Support system property override for Dev MCP enabled flag
  • #53095 - Allow jar and install to run for this project
  • #53096 - SmallRye Fault Tolerance: update to 6.11.0
  • #53097 - Add MongoDB command obfuscation for OpenTelemetry tracing
  • #53100 - Clarify error when using @Transactional on the event loop
  • #53103 - Remove BlockingOperationSupport from RESTEasy Reactive
  • #53115 - Prevent server's OpenTelemetry Context getting lost on client read timeout
  • #53118 - Register discovered config sources in QuarkusComponentTestExtension
  • #53123 - DevStar: New Test methods needed for Coding Agent
  • #53126 - Add standalone OIDC Dev Services to dev-services guide and cross-link docs
  • #53128 - Document Sort.disableEscaping() for HQL functions in Panache guide
  • #53129 - Mention RestResponse as an alternative to Response in REST JSON guide
  • #53157 - Optimize Beans#getCallbacks()
  • #53161 - Enable reflection-free Jackson serializers by default
  • #53172 - Reintroduce the automated sort of Comparable MultiBuildItems
  • #53173 - docs: update outdated AWS Lambda guide
  • #53178 - Bump com.gradle.plugin-publish from 2.1.0 to 2.1.1 in /devtools/gradle
  • #53180 - Propagate Quarkus properties set by Gradle build to workers
  • #53182 - Dev MCP: Add single-test execution tool for agents
  • #53183 - DevStar: Adds a way to enable dev mcp for the current app only
  • #53195 - Dev MCP: Add skill aggregation mechanism for extensions
  • #53196 - Dev MCP: Add initial skill files for 11 core extensions
  • #53200 - Fix typo in enableMcpFuctionByDefault and MCP resource parsing regex
  • #53204 - ArC: use Set.of() in generated Bean.getInjectionPoints()
  • #53208 - Bump gitflow-incremental-builder plugin to 4.6.0
  • #53214 - Rework Hibernate auto-labelling conditions
  • #53216 - Build-time config property to disable Kafka Clients JMX MBean registration
  • #53220 - Bump org.mvnpm:marked from 17.0.3 to 17.0.5
  • #53226 - Re-enable install even more liberally in the devservices integration …
  • #53237 - Swagger UI unable to overload style.css
  • #53239 - quarkus-grpc-stubs leaks codegen artifacts to downstream consumers
  • #53240 - Keep grpc codegen build-only
  • #53241 - Enable ByteBuddy reproducible mode
  • #53243 - Upgrade to Hibernate ORM 7.3 and corresponding Search/Reactive versions
  • #53244 - Bump org.mvnpm.at.mvnpm:vaadin-webcomponents from 25.0.8 to 25.1.0
  • #53247 - Reapply "Bump rest-assured from 5.5.6 to 6.0.0, load Groovy parent-first"
  • #53248 - Try deploy publisher for publishing snapshots
  • #53249 - Publish our snapshots to a GitHub repository
  • #53250 - Improve test coverage in the Vert.x (core) extension
  • #53251 - Use new QuarkusExtensionTest everywhere
  • #53258 - Support JSON logging for named logging handlers
  • #53259 - "json" option support for named logging handlers
  • #53262 - Increase the test coverage of the Vert.x HTTP extension
  • #53264 - Testing: add checks to QuarkusMock
  • #53274 - Add CLAUDE.local.md to .gitignore
  • #53275 - Dev UI: Allow branding overrides from dependency JARs
  • #53276 - Add superpowers files to .gitignore
  • #53278 - Introduce PGO support into native build
  • #53280 - Polish GraalVM.java
  • #53286 - Replace outdated description with "supersonic subatomic Java"
  • #53294 - Increase TLS registry code coverage.
  • #53295 - quarkus.package.jar.tree-shake option to eliminate unused classes from JARs
  • #53297 - DevStar: Expose last exception via Dev MCP
  • #53298 - Dev MCP: Expose last exception via Dev MCP tool
  • #53299 - DevStar: Add config search and per-extension config lookup tools
  • #53300 - Dev MCP: Add config search and per-extension config lookup tools
  • #53308 - Polish mailer extension
  • #53311 - Log cause of HTTP 400 by default in dev and test mode
  • #53315 - Ensure @Transactional Unis can be re-executed
  • #53319 - Bump org.jetbrains.dokka:dokka-maven-plugin from 2.1.0 to 2.2.0
  • #53320 - Graceful shutdown and HTTP/2 is not using configuration
  • #53323 - Use Jandex MethodSignatureKey
  • #53326 - Remove NativeBuild/NativeOrNativeSourcesBuild conditions from build items that are consumed only by native build build steps
  • #53335 - Bump to SmallRye GraphQL 2.18
  • #53339 - Introduce basic Semeru AOT support
  • #53341 - Fix alignment of ByteBuddy and Hibernate Models with ORM 7.3.0
  • #53344 - Update to Apache Maven 3.9.14
  • #53345 - Convert ClassInjectorTransformer from ASM to Gizmo
  • #53353 - SmallRye Fault Tolerance: update to 6.11.1
  • #53354 - Arc - tiny iteration simplification in InvokerGenerator
  • #53355 - Recording - Improve setter selection
  • #53356 - Improve reproducibility of HibernateValidatorProcessor
  • #53357 - Document aarch64 fallback image for MS SQL Server Dev Services
  • #53358 - Qute - Fix some build reproducibility issues
  • #53360 - SmallRye Reactive Messaging - Fix some reproducibility issues
  • #53361 - Fix some reproducibility issues for Security extensions
  • #53362 - Fix some reproducibility issues in Spring extensions
  • #53363 - ArC - Fix some remaining reproducibility issues
  • #53364 - Fix ConfigPropertyBuildItem ordering
  • #53371 - Add 3.33 to guarded branches
  • #53372 - Document aarch64 fallback image for MS SQL Server Dev Services
  • #53394 - QuarkusIntegrationTest IllegalArgumentException: Key quarkus.http.listening-address not found
  • #53395 - Bump SmallRye Reactive Messaging to 4.34.0 and Strimzi test container to 0.115.0
  • #53400 - Optional ListeningAddress when vertx-http is not present
  • #53421 - Share more code between deployment resource decorators
  • #53422 - ArC - include logging category in "enable debug logging" messages
  • #53423 - native-image, FFM UpCall/DownCall build items, JDK 25+
  • #53424 - Bump smallrye-open-api.version from 4.2.4 to 4.3.0
  • #53425 - Move Kubernetes Client Config to Runtime
  • #53426 - Cache Static mappings to the Runtime config
  • #53432 - Add CORS support to the management interface
  • #53440 - Set up automatic Dependenbot updates for Hibernate * in 3.33
  • #53441 - Update connection.shutdown in GracefulShutdownFilter
  • #53450 - Bump org.apache.logging.log4j:log4j-api from 2.25.3 to 2.25.4
  • #53460 - Test Invalid URLs parsing
  • #53474 - Remove unnecessary netty dependency in cli
  • #53476 - Bump Otel to 1.60.1
  • #53484 - Added a test to make sure we never regress on not setting @Context for record bean params
  • #53486 - Update javadoc examples for Hibernate ORM mappings
  • #53492 - Remove usage of limjh16/jekyll-action-ts and clean up some workflows
  • #53493 - Update actions weekly with a cooldown of 14 days
  • #53499 - Call reusable workflow for Quarkus Ecosystem CI
  • #53500 - Sync assertj version to 3.27.7 in gradle test
  • #53509 - Allow using both of Hibernate Reactive's CDI-injected Session and StatelessSession in the same transaction when using @Transactional
  • #53531 - Use <annotationProcessorPathsUseDepMgmt> in new extension projects
  • #53542 - Bump the hibernate group across 1 directory with 10 updates
  • #53547 - New WebDependencyJarBuildItem so web-bundler can discover JS assets
  • #53553 - Security Hardening of the TLS registry extension
  • #53555 - Add WebDependencyJarBuildItem SPI for extension web assets
  • #53557 - Expose Tempo MCP port
  • #53560 - Fix wording error and add null check
  • #53563 - Enable similar handle detection
  • #53571 - Add a configuration reference to the transactions doc
  • #53581 - Update SmallRye Config to 3.17.0
  • #53593 - Kubernetes Client Config - dev services enabled option regression after #53425
  • #53595 - Ignore unrelated configuration in KubernetesConfigSourceFactory
  • #53596 - Disable JDBC connection tracing by default
  • #53601 - Also cache the Maven repository on schedule events
  • #53607 - Remove the deprecated quarkus-devtools-utilities module
  • #53616 - Exclude org.jboss.resteasy.microprofile:microprofile-rest-client in narayana-lra
  • #53619 - Review for the OpenID Connect client and token propagation quickstart
  • #53624 - Fix various issues in reflection-free serialization
  • #53628 - Consider runtime ObjectMapper-level strategy when (de)serializing pojo through the generated Jackson reflection-free serializer
  • #53630 - Revert "Publish our snapshots to a GitHub repository"
  • #53633 - Remove bytebuddy from the runtime classpath
  • #53638 - Fixing two numbered procedures and their includes in OpenID Connect client and token propagation quickstart
  • #53648 - Add pull-request skill with PR and commit conventions
  • #53651 - Create config group for the JDBC telemetry
  • #53654 - Allow using InputStream as a type for REST Client multipart responses
  • #53655 - Simplify and make more robust the mechanism to discover unsupported Jackson annotations during the generation of reflection-free serializers
  • #53657 - Revert "Try deploy publisher for publishing snapshots"
1 days ago
quarkus

3.34.5

Complete changelog

  • #53652 - [3.34] Downgrade Kafka Client to 4.1.2