Skip to content

4.1.8 Release

Compare
Choose a tag to compare
@spring-projects-issues spring-projects-issues released this 17 Jan 14:33
· 23850 commits to main since this release

⭐ New Features

  • Make AbstractFallbackTransactionAttributeSource.computeTransactionAttribute(…) protected [SPR-13246] #17837
  • Avoid ambiguous property warning for setter methods with multiple parameters [SPR-13349] #17933
  • Support for last-modified resolution in Tomcat's unpackwar=false mode [SPR-13393] #17434
  • ClasspathXmlApplicationContext cannot be closed twice [SPR-13425] #18004
  • Protect against RFD exploits [SPR-13548] #18124
  • Compatibility with GlassFish 4.1.1 / Tyrus 1.12 [SPR-13566] #18142

🪲 Bug Fixes

  • ConcurrentModificationException when doing a merge on AbstractEnvironment [SPR-13213] #17805
  • PathResourceResolver should not resolve "/" as a JAR resource [SPR-13241] #17832
  • PropertyOrFieldReference throws ClassCastException [SPR-13247] #17838
  • Race condition when inbound message handling fails and StompSubProtocolHandler sends ERROR frame [SPR-13326] #17911
  • Regression: SpringHandlerInstantiator breaks stand-alone support in the MVC Test framework [SPR-13375] #17957
  • ScopedProxyMode resolution for custom scope meta-annotation not working with @Bean methods (with ASM-based scanning) [SPR-13394] #17974
  • StompDecoder fails for partial headers containing escape sequence [SPR-13416] #17995
  • ConcurrentModificationException in SingleConnectionFactory$AggregatedExceptionListener [SPR-13421] #18000
  • MessagingException should not provide empty description String to NestedRuntimeException [SPR-13447] #18027
  • DeferredResult not thread-safe for isSetOrExpired call [SPR-13451] #18031
  • ConcurrentMapCache.putIfAbsent doesn't support null values [SPR-13458] #18038
  • AbstractEmbeddedDatabaseConfigurer.shutdown does not close JDBC resources [SPR-13474] #18053
  • YamlProcessor subclasses can no longer instantiate StrictMapAppenderConstructor [SPR-13504] #18082
  • Null Pointer when receiving an invalid transport type during SockJS request [SPR-13545] #18121
  • Consistently detect spring-beans.dtd reference [SPR-13549] #18125
  • JCacheCache doesn't recognize null values in other JVMs [SPR-13553] #18129
  • DefaultSubscriptionRegistry loses track of subscribers in its cache [SPR-13555] #18131
  • Close processing triggered by shutdown hook isn't thread safe [SPR-13556] #18132
  • Clarify whether HttpInputMessage.getBody() is allowed to return null [SPR-13563] #18139
  • NullPointerException in DefaultSubscriptionRegistry.removeSubscription [SPR-13205] #17797
  • Wrong assertion message in ShallowEtagHeaderFilter [SPR-13194] #17786
  • STOMP CONNECT ignored ("No session for...") when using websocket:decorator-factories [SPR-13190] #17782
  • ConcurrentModificationException when calling SimpMessagingTemplate.convertAndSend [SPR-13185] #17777

📔 Documentation

  • Misleading note on readonly and disabled flags in spring-form.tld [SPR-13397] #17977
  • Documentation for Portlet MVC does not refer to Portlet 2.0 spec (JSR-286) [SPR-13513] #18090
  • Dispel the myth that Spring MVC Test only works with JUnit [SPR-13552] #18128