spring-framework v7.1.0-M2
spring-framework v7.1.0-M2
:star: New Features
- Align DispatcherServlet bean detection logs #37296
- Extract bean property path support into PropertyPath #37275
- Expose matched PathPattern as MVC request attribute #37272
- Add a configurable limit for maximum nesting depth in property paths #37252
- Enforce “data: ” (with space) prefix for outgoing SSE data payloads #37242
- Parse RFC 9651-like date headers #37224
- Polish ScheduledAnnotationBeanPostProcessor to refine null-safety #37219
- Add batch update support to JdbcClient #37216
- Emit multipart parts with empty bodies in PartGenerator #37202
- Upgrade to HtmlUnit 5 #37194
- Ignore invalid SSE retry field #37193
- Handle MIME type parameter names case-insensitively #37192
- Deprecate
SpelParserConfigurationconstructors in favor of the builder API #37190 - When connection to client is lost while writing JSON, it should not be logged as warning #37151
- JMS
SimpleMessageConverter.fromMessage()can returnnulldespite@NullMarkedpackage #37148 - Avoid unnecessary allocations for cached annotation mappings #37141
- Update
MockCookie#parse(String)validation #37136 - Add WebFlux OpenTelemetry observation convention #37131
- Limit bracket depth in
PropertyEditorRegistrySupport’saddStrippedPropertyPaths()#37020 - Improve efficiency of map creation in
DataBinder#37019 - Reject overlapping declared and generated key columns in
SimpleJdbcInsert#37014 - Reject MIME type parameters differing only in case #37008
- Use depth-aware bracket parsing in
PropertyAccessorUtils#36999 - Account for all array objects when checking array size in SpEL #36998
- Align SpEL’s default max auto-grow size with Spring data binding #36995
- Avoid redundant registration of Date/Calendar/Long converters in DefaultFormattingConversionService #36951
- Suppress CGLIB validation WARN for lifecycle callbacks #36935
- Add Cache-Control must-understand directive #36918
- validate samesite attribute in ResponseCookie #36905
- Close contexts when clearing test context cache #36825
- Use immutable map for static cache in TypeDescriptor #36813
- Add a configurable limit for structural nesting depth in SpEL expressions #36723
- Simplify programmatic scheduling of cron tasks with time zone #36556
- Deprecate Derby support #36045
- Add support for generating resources linked to a feature #35862
- Add RFC 10008 (QUERY HTTP method) support #34993
:lady_beetle: Bug Fixes
- PartGenerator.switchToFile() doesn’t count buffered bytes toward maxDiskUsagePerPart #37238
- Reject write methods not starting with “set” in
Property#37139 - Meta-annotations with attributes are still unnecessarily synthesized in
MergedAnnotations#37135 - Use the 4-argument
Propertyconstructor in SpEL’sReflectivePropertyAccessor#37123 - Fix
BeanFactory.getBean(String, ParameterizedTypeReference)to respect AOP proxy #37047 - Fix
OptionalToObjectConverterapplicability check #36913 - Fix
Propertyname resolution for record-style accessors #36911
:notebook_with_decorative_cover: Documentation
:hammer: Dependency Upgrades
- Upgrade to Kotlin 2.4.20 #37271
- Upgrade to Micrometer 1.18.0-M2 and Tracing 1.8.0-M2 #37288
- Upgrade to Reactor 2026.0.0-M2 #37263
:heart: Contributors
Thank you to all the contributors who worked on this release:
@DevJunz, @Eymenonar, @Sineaggi, @Will-thom, @blackdurumi, @cookie-meringue, @desiderantes, @dxbjavid, @froggy0m0, @gregjotau, @heka1024, @junhyeong9812, @junhyung8795, @kilink, @lArtiquel, @marschall, @mateo-maza, @ngocnhan-tran1996, @noojung, @quaff, @sabberworm, @seonwooj0810, @shaggyinsomniac, @verhasi, and @vpavic
Source spring-projects/spring-framework ·
v7.1.0-M2· 2026-09-24 · upstream release
Mirrored verbatim for indexing. All rights belong to the upstream project.
Release notes are published by the upstream project and mirrored here for indexing. All rights belong to their authors.