github spring-projects/spring-framework v6.1.0-M1

latest releases: v6.2.0-RC3, v6.2.0-RC2, v6.1.14...
pre-release17 months ago

⭐ New Features

  • Consistent simple value type check (including UUID treatment for data binding) #30664
  • Release shared JMS Connection when message listener container is stopped #30612
  • Property-driven onRefresh checkpoint during application context bootstrap #30606
  • Support letters other than A-Z in identifiers in SpEL expressions #30580
  • Remove System.out calls in PreComputeFieldFeature #30571
  • Have the ErrorResponse.Builder take in a custom ProblemDetail instance #30568
  • Allow setting the ProblemDetail.type via a MessageSource #30566
  • ClientHttpRequestFactory based on Jetty HttpClient #30564
  • Remove buffering in ClientHttpRequestFactory implementations #30557
  • Support JAXBElement in Jaxb2XmlEncoder #30552
  • Disable SpEL selector support in WebSocket messaging by default #30550
  • Enforce JPA bootstrap failure for incomplete Hibernate Validator setup #30549
  • Support parsing long dates in InstantFormatter #30546
  • Port BeanPropertyRowMapper and DataClassRowMapper for r2dbc #30530
  • Add non-null precondition checks in DefaultEntityResponseBuilder #30433
  • Deprecate spring-context-indexer #30431
  • Update RuntimeHintsAgentPlugin to use the native image code path #30422
  • HTTP interface client should not have blockingTimeout set and leave it to the underlying client by default #30403
  • Improve toString() for Profiles.of() implementation #30374
  • Add ReloadableResourceBundleMessageSource Resource selection hook #30369
  • Optimize DefaultLifecycleProcessor::stopBeans #30361
  • Deprecate AutowireCapableBeanFactory.createBean(Class, int, boolean) for consistent usage of createBean(Class) #30345
  • Support setCharacterEncoding(null) in MockHttpServletResponse #30341
  • Add support for converting a String to an Instant #30312
  • Refine RouterFunctionMapping ordering consistency #30278
  • CRaC Resource adapter for bean lifecycle in application context #30242
  • Configuration options for virtual threads #30241
  • Support for SequencedCollection/Set/Map #30239
  • MethodArgumentNotValidException::errorsToStringList should include only the resolved message when MessageSource is used #30198
  • Support @XmlSeeAlso in Jaxb2XmlDecoder #30167
  • Add SpEL support for registered MethodHandles #30045
  • Add test support to record async events, with JUnit Jupiter caveat #30020
  • Returning a CompletableFuture.failure() from an async, transactional method should mark the transaction as roll back #30018
  • Support @Scheduled on Reactive methods and Kotlin suspending functions #29924
  • Compatibility with JVM checkpoint restore (OpenJDK's Project CRaC) #29921
  • Validator factory methods with BiConsumer #29890
  • Spring MVC and WebFlux method validation support that also adapts ConstraintViolations #29825
  • Remove LocalVariableTableParameterNameDiscoverer #29559
  • Avoid use of java.net.URL constructors #29481
  • Creating relative resource for URL resource should create relative Resource even if relative path has URL in it #28522
  • ModelAttributeMethodArgumentResolver does not support custom field binding for immutable objects #28284
  • ConcurrentTaskScheduler and ConcurrentTaskExecutor can create an executor with no way to shut it down #27914
  • R2DBC ConnectionFactory bean .close() method should be called/subscribed when available #26991
  • org.springframework.web.servlet.mvc.method.annotation.ReactiveTypeHandler does not handle vendor-specific application/x-ndjson media types #26817
  • Improve the experience of handling validation errors in controller methods #26219
  • Compatibility with virtual threads (OpenJDK's Project Loom) #23443
  • Support Spring Boot style flexible Duration value parsing [SPR-17481] #22013
  • Avoid repeated attempts to load a failing ApplicationContext in the TestContext framework [SPR-9548] #14182

🐞 Bug Fixes

  • Retain profiles used when running AOT #30421
  • Automatic context propagation stops working after an error occurs #30013

📔 Documentation

  • Introduce JVM checkpoint/restore support documentation #30647
  • Fix link in Javadoc of PassThroughFilterChain #30365
  • Clarify behavior of the Elvis SpEL operator in documentation #30352
  • Fix link to releases feed #30340

🔨 Dependency Upgrades

  • Upgrade to Jackson 2.15 #30665
  • Upgrade to Kotlin 1.8 #29754
  • Upgrade to Kotlin Coroutines 1.7 #30514
  • Upgrade to Kotlin Serialization 1.5 #30515
  • Upgrade to SnakeYAML 2.0 #30048

❤️ Contributors

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

@OlgaMaciaszek, @RemusRD, @aooohan, @asomov, @izeye, @jstansel, @kzander91, @luohongtu, @making, @rwinch, and @srivatsa-cfp

Don't miss a new spring-framework release

NewReleases is sending notifications on new releases.