⭐ New Features
- XPath expressions in Spring MVC Test fail when using the default namespace [SPR-10704] #15332
- Documentation in 17.15.3 Configuring Interceptors incorrect [SPR-10670] #15298
- Make #result available for SpEL in
@CachePut
key attribute [SPR-10664] #15292 - Add expected header name to assert message for HeaderResultMatchers [SPR-10659] #15287
@CacheEvict
key should allow referencing return value [SPR-10658] #15286- Typo in ModelAndViewMethodReturnValueHandler's JavaDoc [SPR-10650] #15278
- Ensure that method and requestURI fields are non-null in MockHttpServletRequest [SPR-10643] #15271
- Introduce deleteFromTableWhere() in abstract transactional base classes in the TestContext Framework [SPR-10639] #15267
- Introduce java.nio.file.Path based Resource implementation [SPR-10608] #15237
- Make result-data accessible in onCompletion Event in DeferredResult [SPR-10603] #15232
- ImportSelector and ImportBeanDefinitionRegistrar should be able to implement EnvironmentAware [SPR-10602] #15231
- SimpleCommandLinePropertySource could be enumerable [SPR-10579] #15208
- Support for
@Conditional
@Configuration
[SPR-10534] #15164 - Create MockHttpServletRequestBuilder.accept(String ...mediatTypes) overload. [SPR-10390] #15023
- Introduce ActiveProfilesResolver in the TestContext framework [SPR-10338] #14972
- Make form method accessible to RequestDataValueProcessor [SPR-10041] #14675
- Support implicit ports for MockHttpServletRequest.getRequestURL() [SPR-9726] #14360
- Add spring:argument subtag for spring:message [SPR-9678] #14312
- Introduce TCP & UDP server port scanning utility [SPR-8032] #12687
- MockHttpSession methods should throw IllegalStateException if invalid [SPR-7659] #12315
🪲 Bug Fixes
- PathResourceTests fail on Windows [SPR-10770] #15396
- Ensure ParamTag release resources [SPR-10769] #15395
- Turn down logging in DefaultListableBeanFactory [SPR-10758] #15384
- Could not build from sources [SPR-10751] #15377
- WebSocketHttpRequestHandler constructor doesn't use handshakeHandler [SPR-10721] #15349
- Regression in SharedEntityManagerCreator [SPR-10678] #15306
- Include all SQL statements in batch fail exception [SPR-10677] #15305
- Self-injection in configuration class hierarchies broken [SPR-10668] #15296
- JdbcTemplate.queryForObject throws TypeMismatchDataAccessException when used per the reference manual [SPR-10651] #15279
- Support
@Configuration
class parsing fallback to ASM [SPR-10646] #15274 - AbstractMethodError thrown within MethodValidationInterceptor [SPR-10644] #15272
- JsonpTransportHandler read message header problem [SPR-10621] #15249
- Do not consider all
@Component
instances as@Configuration
candidates [SPR-10609] #15238 - Documentation issues in
@RequestMapping
[SPR-10587] #15216 - Fix getters to match setters in RequestMappingHandlerAdapter [SPR-10519] #15150
- view/ JSP compilation exceptions, not logged from JstlView or DispatcherServlet. [SPR-10340] #14974
- Cacheable key collision with DefaultKeyGenerator [SPR-10237] #14870