Skip to content

4.1.4 Release

Compare
Choose a tag to compare
@spring-projects-issues spring-projects-issues released this 17 Jan 14:33
· 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