4.1.4 Release
·
23848 commits
to main
since this release
⭐ New Features
- Spring's JMX support can rely on native MXBean detection on Java 6+ [SPR-12574] #17175
- Improve diagnostics when AnnotationJmxAttributeSource triggers an ArrayStoreException from Class.getAnnotation [SPR-12572] #17173
- org.springframework.cache.aspectj.JCacheCacheAspect is missing from META-INF/aop.xml in spring-aspects [SPR-12571] #17172
- PayloadArgumentResolver enforces Validator unnecessarily [SPR-12567] #17168
- MockMvcBuilders should populate ServletContextAttribute WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE to enable view technologies use WebApplicationContextUtils.getRequiredWebApplicationContext(…) [SPR-12553] #17155
- Configured RequestConfig in HttpClient gets overwritten by default [SPR-12540] #17144
- Better implementation of showSql for EclipseLinkJpaVendorAdapter [SPR-12528] #17133
- CacheAspectSupport 's generateKey method should not concatenate Strings [SPR-12527] #17132
- Add DEBUG/INFO logging in AbstractBeanFactory.registerScope() [SPR-12519] #17124
- Allow sending of binary WebSocket messages in StompSubProtocolHandler [SPR-12475] #17081
- Improve Constructor Resolver Diagnostics [SPR-12543] #16975
- Upgrade HttpComponentsHttpInvokerRequestExecutor to require Apache HttpComponents 4.3 [SPR-11113] #15739
🪲 Bug Fixes
- Wrong TransactionManager selected when mixing
@Transactional
with and w/o qualifier [SPR-12606] #17207 - Duplicated interceptors in HandlerExecutionChain after intermediate getInterceptors() call [SPR-12566] #17167
- VerifyError for compiled SpEL expression with primitive/reference type mix when using == [SPR-12557] #17159
- AbstractApplicationEventMulticaster "lost" application listener [SPR-12545] #17148
@SessionAttributes
not populated when going directly to POST and redirecting while ignoreDefaultModelOnRedirect=true [SPR-12542] #17146@Transactional
qualifier is ignored by TransactionAspectSupport if default transaction manager is set [SPR-12541] #17145- Performance - hashCode method of AbstractFallbackTransactionAttributeSource.DefaultCacheKey doesn't take targetClass into account [SPR-12536] #17141
- CollectionFactory should create empty EnumSets and EnumMaps [SPR-12533] #17138
@EnableMBeanExport
exposes scoped proxies and their targets [SPR-12529] #17134- Prototype with changing bean class does not get populated with dependencies after type switch [SPR-12526] #17131
- Regression: SpEL expression with Arrays.asList and empty array [SPR-12522] #17127
- AnnotationTransactionAspect retains reference to JpaTransactionManager from closed context [SPR-12518] #17123
- HttpComponentsClientHttpRequestFactory does not set connection request timeout on request config [SPR-12166] #16780
📔 Documentation
- Add TimeZone and ZoneId to list of supported method arguments [SPR-12575] #17176
- Update documentation after SPR-3542 [SPR-12570] #17171
- Add note to reference material about difference between XML destroy-method and
@Bean
destroyMethod behavior [SPR-12534] #17139 - I can use ';' and EOL for delimiter of base-package attribute(component scan) [SPR-12523] #17128
- Names of Maven Dependencies [SPR-12517] #17122