spring-projects/spring-framework (org.springframework:spring-web)
### [`v6.1.4`](https://togithub.com/spring-projects/spring-framework/releases/tag/v6.1.4)
#### :star: New Features
- Add missing RequestPredicate variants in coRouter [#32256](https://togithub.com/spring-projects/spring-framework/issues/32256)
- Adapt ConcurrencyThrottleSupport to use ReentrantLock for better virtual thread support [#32251](https://togithub.com/spring-projects/spring-framework/issues/32251)
- Create optimized versions of request predicates [#32244](https://togithub.com/spring-projects/spring-framework/issues/32244)
- Include function name in `SpelMessage.INCORRECT\_NUMBER\_OF\_ARGUMENTS\_TO\_FUNCTION` [#32239](https://togithub.com/spring-projects/spring-framework/issues/32239)
- Add Coroutines support to `NonReactiveHandlerMethodPredicate` [#32227](https://togithub.com/spring-projects/spring-framework/issues/32227)
- RouterFunctionMapping does not implement MatchableHandlerMapping [#32221](https://togithub.com/spring-projects/spring-framework/issues/32221)
- Initialize (another) Map with correct size in RequestPredicates [#32215](https://togithub.com/spring-projects/spring-framework/pull/32215)
- Make SmartLifecycle `phase` value configurable in STOMP message handling components [#32205](https://togithub.com/spring-projects/spring-framework/issues/32205)
- Initialize Map with correct size in RequestPredicates [#32201](https://togithub.com/spring-projects/spring-framework/pull/32201)
- Let `BeanPropertyRowMapper` subclasses customize mapped names [#32199](https://togithub.com/spring-projects/spring-framework/issues/32199)
- Improve client and server handling of STOMP heartbeat failures [#32195](https://togithub.com/spring-projects/spring-framework/issues/32195)
- Optimize Map methods in ServletAttributesMap [#32189](https://togithub.com/spring-projects/spring-framework/pull/32189)
- Support binary streams with `JdbcClient` [#32161](https://togithub.com/spring-projects/spring-framework/issues/32161)
- Annotate core functional SPIs in SpEL with `@FunctionalInterface` [#32135](https://togithub.com/spring-projects/spring-framework/issues/32135)
- Cannot use `SimpleJdbcInsert` with catalog name [#32124](https://togithub.com/spring-projects/spring-framework/issues/32124)
- Refactor ReloadableResourceBundleMessageSource [#32118](https://togithub.com/spring-projects/spring-framework/pull/32118)
- Reuse `MapPropertySource` for `DynamicValuesPropertySource` implementation (as a template for custom variants) [#32110](https://togithub.com/spring-projects/spring-framework/issues/32110)
- Improve Spring AOP performance for methods without specific advice [#32104](https://togithub.com/spring-projects/spring-framework/issues/32104)
- Make it possible to configure any TaskExecutor through ChannelRegistration [#32081](https://togithub.com/spring-projects/spring-framework/issues/32081)
- Add support for JSON streams to Kotlin Serialization [#32074](https://togithub.com/spring-projects/spring-framework/pull/32074)
- Avoid reflecting to obtain `validationGroups` every time the call is made [#32068](https://togithub.com/spring-projects/spring-framework/issues/32068)
- Reject `@RequestMapping` and `@HttpExchange` declarations on the same element [#32065](https://togithub.com/spring-projects/spring-framework/issues/32065)
- Missing toString for ExponentialBackOff [#32061](https://togithub.com/spring-projects/spring-framework/issues/32061)
- Reject multiple `@HttpExchange` declarations on the same element [#32049](https://togithub.com/spring-projects/spring-framework/issues/32049)
- ClientAbortException from StreamingResponseBody can cause infinite loop of dispatches [#32042](https://togithub.com/spring-projects/spring-framework/issues/32042)
- Log warning if multiple `@PostMapping`, `@GetMapping`, etc. annotations are declared [#31962](https://togithub.com/spring-projects/spring-framework/issues/31962)
- Using types in `@SessionAttributes` is sometimes not reflected in the model [#30463](https://togithub.com/spring-projects/spring-framework/issues/30463)
- Improve read publisher cancel handling to avoid connections in CLOSE_WAIT state with WebSocket on Tomcat [#30393](https://togithub.com/spring-projects/spring-framework/issues/30393)
- Provide more control over JPA entities scanning [#27892](https://togithub.com/spring-projects/spring-framework/issues/27892)
- Provide and document a way to handle single-page application redirects [#27257](https://togithub.com/spring-projects/spring-framework/issues/27257)
- MockMvcClientHttpRequestFactory swallows ServletResponse.errorMessage [#26720](https://togithub.com/spring-projects/spring-framework/issues/26720)
#### :lady_beetle: Bug Fixes
- Cannot send Server-Sent Events without data using WebMvc.fn SseBuilder [#32270](https://togithub.com/spring-projects/spring-framework/issues/32270)
- Fix `pathExtension` null-safety in Kotlin DSLs [#32254](https://togithub.com/spring-projects/spring-framework/issues/32254)
- `SimpleEvaluationContext.Builder` is not `final` and has a `public` constructor [#32253](https://togithub.com/spring-projects/spring-framework/issues/32253)
- `@JsonDeserialize(builder = ...)` does not work in GraalVM native image [#32238](https://togithub.com/spring-projects/spring-framework/issues/32238)
- RestClientAdapter claims it supports request attributes when it does not [#32232](https://togithub.com/spring-projects/spring-framework/pull/32232)
- ThreadPoolTaskExecutor rejecting tasks as soon as the context has been closed can lead to exceptions during web app shutdown [#32226](https://togithub.com/spring-projects/spring-framework/issues/32226)
- Consistent parsing of user information in UriComponentsBuilder [#32211](https://togithub.com/spring-projects/spring-framework/issues/32211)
- "IllegalStateException: Cannot call sendError() after the response has been committed" when IOException is thrown during resolving method argument values on Tomcat >= 10.1.16 [#32206](https://togithub.com/spring-projects/spring-framework/issues/32206)
- No longer able to override the `toString()` in `HandlerMethod` from `6.1.3` [#32184](https://togithub.com/spring-projects/spring-framework/issues/32184)
- 6.1.3 regression: aspect not called with multiple inheritance [#32181](https://togithub.com/spring-projects/spring-framework/issues/32181)
- Unable to use baseUrl on builders created from RestTemplate [#32180](https://togithub.com/spring-projects/spring-framework/issues/32180)
- MessageDeliveryException on shutdown with open WebSocket connections [#32171](https://togithub.com/spring-projects/spring-framework/issues/32171)
- With XML configuration, setter selection can be random in case of overloaded setter methods (e.g. on SimpleClientHttpRequestFactory in 6.1.3 from convertForProperty method) [#32159](https://togithub.com/spring-projects/spring-framework/issues/32159)
- Cannot process AOT when spring-orm is on the classpath without JPA [#32155](https://togithub.com/spring-projects/spring-framework/issues/32155)
- SpEL's `Indexer.setArrayElement()` incorrectly requests conversion to wrapper instead of primitive [#32147](https://togithub.com/spring-projects/spring-framework/issues/32147)
- SpEL increment and decrement operators do not generate prefix AST representation [#32144](https://togithub.com/spring-projects/spring-framework/issues/32144)
- Validation of `PartEventHttpMessageReader#maxParts` is off by one [#32122](https://togithub.com/spring-projects/spring-framework/issues/32122)
- QualifierAnnotationAutowireCandidateResolver.checkQualifier does identity checks when comparing arrays used as qualifier fields [#32106](https://togithub.com/spring-projects/spring-framework/issues/32106)
- Guard against multiple body subscriptions in Jetty and JDK reactive responses [#32100](https://togithub.com/spring-projects/spring-framework/issues/32100)
- Parameter based cache keys on repository methods can't resolve after 6.1.2->6.1.3 [#32087](https://togithub.com/spring-projects/spring-framework/issues/32087)
- Exceptions thrown by custom error handlers are not recorded in RestTemplate observations [#32060](https://togithub.com/spring-projects/spring-framework/issues/32060)
- Static resources caching issues with ShallowEtagHeaderFilter and Jetty caching directives [#32039](https://togithub.com/spring-projects/spring-framework/issues/32039)
- `RestClient` calls interceptors from `RestTemplate` twice [#32038](https://togithub.com/spring-projects/spring-framework/issues/32038)
- `DefaultRestClientBuilder.defaultRequest(...)` doesn't do anything [#32028](https://togithub.com/spring-projects/spring-framework/issues/32028)
- Alias resolution error message in `SimpleAliasRegistry` is misleading [#32025](https://togithub.com/spring-projects/spring-framework/issues/32025)
- Destroy method not found in Native image for `ExecutorService` Bean type [#32006](https://togithub.com/spring-projects/spring-framework/issues/32006)
- `RequestPredicate` fails with WebFlux 6.1.2 [#31955](https://togithub.com/spring-projects/spring-framework/issues/31955)
- ChannelSendOperator.WriteBarrier race condition in request(long) method leads to response being dropped [#31865](https://togithub.com/spring-projects/spring-framework/issues/31865)
#### :notebook_with_decorative_cover: Documentation
- Fix Kotlin syntax errors in RestClient builder example in rest-clients.adoc [#32265](https://togithub.com/spring-projects/spring-framework/pull/32265)
- Use double dot in "META-INF/aop.xml" documentation [#32264](https://togithub.com/spring-projects/spring-framework/issues/32264)
- Document that functions are variables in SpEL EvaluationContexts [#32258](https://togithub.com/spring-projects/spring-framework/issues/32258)
- Add section on AOT best practices about registering beans programmatically [#32241](https://togithub.com/spring-projects/spring-framework/issues/32241)
- Add section on AOT best practices about registering singletons [#32240](https://togithub.com/spring-projects/spring-framework/issues/32240)
- Fixes syntax error in JdbcClient examples [#32236](https://togithub.com/spring-projects/spring-framework/pull/32236)
- Document `@RequestAttribute` in HTTP clients [#32231](https://togithub.com/spring-projects/spring-framework/pull/32231)
- Fix typo in beanvalidation.adoc [#32218](https://togithub.com/spring-projects/spring-framework/pull/32218)
- Variables definition fixed [#32216](https://togithub.com/spring-projects/spring-framework/pull/32216)
- Document safe navigation support for collection selection/projection in SpEL [#32208](https://togithub.com/spring-projects/spring-framework/issues/32208)
- Document usage of SpEL's power operator in the reference manual [#32187](https://togithub.com/spring-projects/spring-framework/issues/32187)
- Document support for overloading operators in SpEL [#32182](https://togithub.com/spring-projects/spring-framework/issues/32182)
- Update basics.adoc [#32145](https://togithub.com/spring-projects/spring-framework/pull/32145)
- Document `between` operator in SpEL [#32140](https://togithub.com/spring-projects/spring-framework/issues/32140)
- Update documentation for supported letters in variable names in SpEL [#32138](https://togithub.com/spring-projects/spring-framework/issues/32138)
- Document repeat and characer subtraction `String` operators in SpEL [#32137](https://togithub.com/spring-projects/spring-framework/issues/32137)
- Document increment and decrement operators in SpEL [#32136](https://togithub.com/spring-projects/spring-framework/issues/32136)
- Document cron-vs-quartz parsing convention for dayOfWeek part in CronExpression [#32128](https://togithub.com/spring-projects/spring-framework/issues/32128)
- Fix typo [#32111](https://togithub.com/spring-projects/spring-framework/pull/32111)
- Graceful shutdown does not cancel `@Scheduled` tasks [#32109](https://togithub.com/spring-projects/spring-framework/issues/32109)
- Fixes atlas-extension order [#32083](https://togithub.com/spring-projects/spring-framework/pull/32083)
- Spring MVC and WebFlux docs need to say method validation applies if any method parameter has constraint annotations [#32082](https://togithub.com/spring-projects/spring-framework/issues/32082)
- Add `@see PathPattern` to function router methods with a pattern parameter [#32045](https://togithub.com/spring-projects/spring-framework/issues/32045)
- Rename `class-data-sharing.html` to `cds.html` [#32044](https://togithub.com/spring-projects/spring-framework/issues/32044)
- Enable table striping by default in the reference manual [#32022](https://togithub.com/spring-projects/spring-framework/issues/32022)
- Document that Conditions can be ordered [#32019](https://togithub.com/spring-projects/spring-framework/issues/32019)
- Document how `@JvmName` could mitigate Kotlin `internal` modifier impact [#32010](https://togithub.com/spring-projects/spring-framework/pull/32010)
- Update docs on server side use of `@HttpExchange` to make it more clear when it is a good fit [#32008](https://togithub.com/spring-projects/spring-framework/pull/32008)
- Document safe navigation semantics within compound expressions in SpEL [#21827](https://togithub.com/spring-projects/spring-framework/issues/21827)
- Document limitation of SpEL regarding minimum values for numeric literals [#20779](https://togithub.com/spring-projects/spring-framework/issues/20779)
#### :hammer: Dependency Upgrades
- Upgrade to Micrometer 1.12.3 and Context Propagation 1.1.1 [#32277](https://togithub.com/spring-projects/spring-framework/issues/32277)
- Upgrade to Reactor 2023.0.3 [#32274](https://togithub.com/spring-projects/spring-framework/issues/32274)
#### :heart: Contributors
Thank you to all the contributors who worked on this release:
[@1515biubiubiu](https://togithub.com/1515biubiubiu), [@Akaame](https://togithub.com/Akaame), [@OlgaMaciaszek](https://togithub.com/OlgaMaciaszek), [@andreibastun](https://togithub.com/andreibastun), [@cirusthenter](https://togithub.com/cirusthenter), [@erichaagdev](https://togithub.com/erichaagdev), [@jee14](https://togithub.com/jee14), [@jmondo](https://togithub.com/jmondo), [@kilink](https://togithub.com/kilink), [@kzander91](https://togithub.com/kzander91), [@mnhock](https://togithub.com/mnhock), [@quaff](https://togithub.com/quaff), [@rotilho](https://togithub.com/rotilho), [@rwinch](https://togithub.com/rwinch), [@senocak](https://togithub.com/senocak), [@spencergibb](https://togithub.com/spencergibb), and [@wfouche](https://togithub.com/wfouche)
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
6.1.3
->6.1.4
6.1.3
->6.1.4
Release Notes
spring-projects/spring-framework (org.springframework:spring-web)
### [`v6.1.4`](https://togithub.com/spring-projects/spring-framework/releases/tag/v6.1.4) #### :star: New Features - Add missing RequestPredicate variants in coRouter [#32256](https://togithub.com/spring-projects/spring-framework/issues/32256) - Adapt ConcurrencyThrottleSupport to use ReentrantLock for better virtual thread support [#32251](https://togithub.com/spring-projects/spring-framework/issues/32251) - Create optimized versions of request predicates [#32244](https://togithub.com/spring-projects/spring-framework/issues/32244) - Include function name in `SpelMessage.INCORRECT\_NUMBER\_OF\_ARGUMENTS\_TO\_FUNCTION` [#32239](https://togithub.com/spring-projects/spring-framework/issues/32239) - Add Coroutines support to `NonReactiveHandlerMethodPredicate` [#32227](https://togithub.com/spring-projects/spring-framework/issues/32227) - RouterFunctionMapping does not implement MatchableHandlerMapping [#32221](https://togithub.com/spring-projects/spring-framework/issues/32221) - Initialize (another) Map with correct size in RequestPredicates [#32215](https://togithub.com/spring-projects/spring-framework/pull/32215) - Make SmartLifecycle `phase` value configurable in STOMP message handling components [#32205](https://togithub.com/spring-projects/spring-framework/issues/32205) - Initialize Map with correct size in RequestPredicates [#32201](https://togithub.com/spring-projects/spring-framework/pull/32201) - Let `BeanPropertyRowMapper` subclasses customize mapped names [#32199](https://togithub.com/spring-projects/spring-framework/issues/32199) - Improve client and server handling of STOMP heartbeat failures [#32195](https://togithub.com/spring-projects/spring-framework/issues/32195) - Optimize Map methods in ServletAttributesMap [#32189](https://togithub.com/spring-projects/spring-framework/pull/32189) - Support binary streams with `JdbcClient` [#32161](https://togithub.com/spring-projects/spring-framework/issues/32161) - Annotate core functional SPIs in SpEL with `@FunctionalInterface` [#32135](https://togithub.com/spring-projects/spring-framework/issues/32135) - Cannot use `SimpleJdbcInsert` with catalog name [#32124](https://togithub.com/spring-projects/spring-framework/issues/32124) - Refactor ReloadableResourceBundleMessageSource [#32118](https://togithub.com/spring-projects/spring-framework/pull/32118) - Reuse `MapPropertySource` for `DynamicValuesPropertySource` implementation (as a template for custom variants) [#32110](https://togithub.com/spring-projects/spring-framework/issues/32110) - Improve Spring AOP performance for methods without specific advice [#32104](https://togithub.com/spring-projects/spring-framework/issues/32104) - Make it possible to configure any TaskExecutor through ChannelRegistration [#32081](https://togithub.com/spring-projects/spring-framework/issues/32081) - Add support for JSON streams to Kotlin Serialization [#32074](https://togithub.com/spring-projects/spring-framework/pull/32074) - Avoid reflecting to obtain `validationGroups` every time the call is made [#32068](https://togithub.com/spring-projects/spring-framework/issues/32068) - Reject `@RequestMapping` and `@HttpExchange` declarations on the same element [#32065](https://togithub.com/spring-projects/spring-framework/issues/32065) - Missing toString for ExponentialBackOff [#32061](https://togithub.com/spring-projects/spring-framework/issues/32061) - Reject multiple `@HttpExchange` declarations on the same element [#32049](https://togithub.com/spring-projects/spring-framework/issues/32049) - ClientAbortException from StreamingResponseBody can cause infinite loop of dispatches [#32042](https://togithub.com/spring-projects/spring-framework/issues/32042) - Log warning if multiple `@PostMapping`, `@GetMapping`, etc. annotations are declared [#31962](https://togithub.com/spring-projects/spring-framework/issues/31962) - Using types in `@SessionAttributes` is sometimes not reflected in the model [#30463](https://togithub.com/spring-projects/spring-framework/issues/30463) - Improve read publisher cancel handling to avoid connections in CLOSE_WAIT state with WebSocket on Tomcat [#30393](https://togithub.com/spring-projects/spring-framework/issues/30393) - Provide more control over JPA entities scanning [#27892](https://togithub.com/spring-projects/spring-framework/issues/27892) - Provide and document a way to handle single-page application redirects [#27257](https://togithub.com/spring-projects/spring-framework/issues/27257) - MockMvcClientHttpRequestFactory swallows ServletResponse.errorMessage [#26720](https://togithub.com/spring-projects/spring-framework/issues/26720) #### :lady_beetle: Bug Fixes - Cannot send Server-Sent Events without data using WebMvc.fn SseBuilder [#32270](https://togithub.com/spring-projects/spring-framework/issues/32270) - Fix `pathExtension` null-safety in Kotlin DSLs [#32254](https://togithub.com/spring-projects/spring-framework/issues/32254) - `SimpleEvaluationContext.Builder` is not `final` and has a `public` constructor [#32253](https://togithub.com/spring-projects/spring-framework/issues/32253) - `@JsonDeserialize(builder = ...)` does not work in GraalVM native image [#32238](https://togithub.com/spring-projects/spring-framework/issues/32238) - RestClientAdapter claims it supports request attributes when it does not [#32232](https://togithub.com/spring-projects/spring-framework/pull/32232) - ThreadPoolTaskExecutor rejecting tasks as soon as the context has been closed can lead to exceptions during web app shutdown [#32226](https://togithub.com/spring-projects/spring-framework/issues/32226) - Consistent parsing of user information in UriComponentsBuilder [#32211](https://togithub.com/spring-projects/spring-framework/issues/32211) - "IllegalStateException: Cannot call sendError() after the response has been committed" when IOException is thrown during resolving method argument values on Tomcat >= 10.1.16 [#32206](https://togithub.com/spring-projects/spring-framework/issues/32206) - No longer able to override the `toString()` in `HandlerMethod` from `6.1.3` [#32184](https://togithub.com/spring-projects/spring-framework/issues/32184) - 6.1.3 regression: aspect not called with multiple inheritance [#32181](https://togithub.com/spring-projects/spring-framework/issues/32181) - Unable to use baseUrl on builders created from RestTemplate [#32180](https://togithub.com/spring-projects/spring-framework/issues/32180) - MessageDeliveryException on shutdown with open WebSocket connections [#32171](https://togithub.com/spring-projects/spring-framework/issues/32171) - With XML configuration, setter selection can be random in case of overloaded setter methods (e.g. on SimpleClientHttpRequestFactory in 6.1.3 from convertForProperty method) [#32159](https://togithub.com/spring-projects/spring-framework/issues/32159) - Cannot process AOT when spring-orm is on the classpath without JPA [#32155](https://togithub.com/spring-projects/spring-framework/issues/32155) - SpEL's `Indexer.setArrayElement()` incorrectly requests conversion to wrapper instead of primitive [#32147](https://togithub.com/spring-projects/spring-framework/issues/32147) - SpEL increment and decrement operators do not generate prefix AST representation [#32144](https://togithub.com/spring-projects/spring-framework/issues/32144) - Validation of `PartEventHttpMessageReader#maxParts` is off by one [#32122](https://togithub.com/spring-projects/spring-framework/issues/32122) - QualifierAnnotationAutowireCandidateResolver.checkQualifier does identity checks when comparing arrays used as qualifier fields [#32106](https://togithub.com/spring-projects/spring-framework/issues/32106) - Guard against multiple body subscriptions in Jetty and JDK reactive responses [#32100](https://togithub.com/spring-projects/spring-framework/issues/32100) - Parameter based cache keys on repository methods can't resolve after 6.1.2->6.1.3 [#32087](https://togithub.com/spring-projects/spring-framework/issues/32087) - Exceptions thrown by custom error handlers are not recorded in RestTemplate observations [#32060](https://togithub.com/spring-projects/spring-framework/issues/32060) - Static resources caching issues with ShallowEtagHeaderFilter and Jetty caching directives [#32039](https://togithub.com/spring-projects/spring-framework/issues/32039) - `RestClient` calls interceptors from `RestTemplate` twice [#32038](https://togithub.com/spring-projects/spring-framework/issues/32038) - `DefaultRestClientBuilder.defaultRequest(...)` doesn't do anything [#32028](https://togithub.com/spring-projects/spring-framework/issues/32028) - Alias resolution error message in `SimpleAliasRegistry` is misleading [#32025](https://togithub.com/spring-projects/spring-framework/issues/32025) - Destroy method not found in Native image for `ExecutorService` Bean type [#32006](https://togithub.com/spring-projects/spring-framework/issues/32006) - `RequestPredicate` fails with WebFlux 6.1.2 [#31955](https://togithub.com/spring-projects/spring-framework/issues/31955) - ChannelSendOperator.WriteBarrier race condition in request(long) method leads to response being dropped [#31865](https://togithub.com/spring-projects/spring-framework/issues/31865) #### :notebook_with_decorative_cover: Documentation - Fix Kotlin syntax errors in RestClient builder example in rest-clients.adoc [#32265](https://togithub.com/spring-projects/spring-framework/pull/32265) - Use double dot in "META-INF/aop.xml" documentation [#32264](https://togithub.com/spring-projects/spring-framework/issues/32264) - Document that functions are variables in SpEL EvaluationContexts [#32258](https://togithub.com/spring-projects/spring-framework/issues/32258) - Add section on AOT best practices about registering beans programmatically [#32241](https://togithub.com/spring-projects/spring-framework/issues/32241) - Add section on AOT best practices about registering singletons [#32240](https://togithub.com/spring-projects/spring-framework/issues/32240) - Fixes syntax error in JdbcClient examples [#32236](https://togithub.com/spring-projects/spring-framework/pull/32236) - Document `@RequestAttribute` in HTTP clients [#32231](https://togithub.com/spring-projects/spring-framework/pull/32231) - Fix typo in beanvalidation.adoc [#32218](https://togithub.com/spring-projects/spring-framework/pull/32218) - Variables definition fixed [#32216](https://togithub.com/spring-projects/spring-framework/pull/32216) - Document safe navigation support for collection selection/projection in SpEL [#32208](https://togithub.com/spring-projects/spring-framework/issues/32208) - Document usage of SpEL's power operator in the reference manual [#32187](https://togithub.com/spring-projects/spring-framework/issues/32187) - Document support for overloading operators in SpEL [#32182](https://togithub.com/spring-projects/spring-framework/issues/32182) - Update basics.adoc [#32145](https://togithub.com/spring-projects/spring-framework/pull/32145) - Document `between` operator in SpEL [#32140](https://togithub.com/spring-projects/spring-framework/issues/32140) - Update documentation for supported letters in variable names in SpEL [#32138](https://togithub.com/spring-projects/spring-framework/issues/32138) - Document repeat and characer subtraction `String` operators in SpEL [#32137](https://togithub.com/spring-projects/spring-framework/issues/32137) - Document increment and decrement operators in SpEL [#32136](https://togithub.com/spring-projects/spring-framework/issues/32136) - Document cron-vs-quartz parsing convention for dayOfWeek part in CronExpression [#32128](https://togithub.com/spring-projects/spring-framework/issues/32128) - Fix typo [#32111](https://togithub.com/spring-projects/spring-framework/pull/32111) - Graceful shutdown does not cancel `@Scheduled` tasks [#32109](https://togithub.com/spring-projects/spring-framework/issues/32109) - Fixes atlas-extension order [#32083](https://togithub.com/spring-projects/spring-framework/pull/32083) - Spring MVC and WebFlux docs need to say method validation applies if any method parameter has constraint annotations [#32082](https://togithub.com/spring-projects/spring-framework/issues/32082) - Add `@see PathPattern` to function router methods with a pattern parameter [#32045](https://togithub.com/spring-projects/spring-framework/issues/32045) - Rename `class-data-sharing.html` to `cds.html` [#32044](https://togithub.com/spring-projects/spring-framework/issues/32044) - Enable table striping by default in the reference manual [#32022](https://togithub.com/spring-projects/spring-framework/issues/32022) - Document that Conditions can be ordered [#32019](https://togithub.com/spring-projects/spring-framework/issues/32019) - Document how `@JvmName` could mitigate Kotlin `internal` modifier impact [#32010](https://togithub.com/spring-projects/spring-framework/pull/32010) - Update docs on server side use of `@HttpExchange` to make it more clear when it is a good fit [#32008](https://togithub.com/spring-projects/spring-framework/pull/32008) - Document safe navigation semantics within compound expressions in SpEL [#21827](https://togithub.com/spring-projects/spring-framework/issues/21827) - Document limitation of SpEL regarding minimum values for numeric literals [#20779](https://togithub.com/spring-projects/spring-framework/issues/20779) #### :hammer: Dependency Upgrades - Upgrade to Micrometer 1.12.3 and Context Propagation 1.1.1 [#32277](https://togithub.com/spring-projects/spring-framework/issues/32277) - Upgrade to Reactor 2023.0.3 [#32274](https://togithub.com/spring-projects/spring-framework/issues/32274) #### :heart: Contributors Thank you to all the contributors who worked on this release: [@1515biubiubiu](https://togithub.com/1515biubiubiu), [@Akaame](https://togithub.com/Akaame), [@OlgaMaciaszek](https://togithub.com/OlgaMaciaszek), [@andreibastun](https://togithub.com/andreibastun), [@cirusthenter](https://togithub.com/cirusthenter), [@erichaagdev](https://togithub.com/erichaagdev), [@jee14](https://togithub.com/jee14), [@jmondo](https://togithub.com/jmondo), [@kilink](https://togithub.com/kilink), [@kzander91](https://togithub.com/kzander91), [@mnhock](https://togithub.com/mnhock), [@quaff](https://togithub.com/quaff), [@rotilho](https://togithub.com/rotilho), [@rwinch](https://togithub.com/rwinch), [@senocak](https://togithub.com/senocak), [@spencergibb](https://togithub.com/spencergibb), and [@wfouche](https://togithub.com/wfouche)Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR has been generated by Mend Renovate. View repository job log here.