4.0.6 Release
·
24813 commits
to main
since this release
⭐ New Features
- TypedValue should have proper equals(…) / hashCode() methods [SPR-11960] #16576
- Improve logic for removing subscriptions from DefaultSubscriptionRegistry [SPR-11930] #16548
- Shared EntityManager should immediately throw TransactionRequiredException if no transaction in progress [SPR-11923] #16541
- Workaround for Wildfly WFLY-3474 NPE in HttpServletResponse.getHeaders [SPR-11919] #16538
- Manually registered transaction manager are not recognized by qualifiedBeanOfType [SPR-11915] #16534
@Async
isn't applied, if the interface doesn't have concrete implementation [SPR-11910] #16529- Consistent declaration of private static final logger variables [SPR-11905] #16524
- Improve performance of ReflectionUtils.isCglibRenamedMethod [SPR-11894] #16513
- Check inactive WebSocket/SockJS sessions before they're connected on the STOMP level [SPR-11884] #16503
- ReflectionUtils slow down application startup on WebSphere [SPR-11882] #16501
- Performance regression for custom autowireBean calls with many properties [SPR-11875] #16494
- Revisit class cache in CachedIntrospectionResults [SPR-11867] #16486
- Unloadable nested classes in
@Import
should not fail if associated conditions exclude them anyway [SPR-11844] #16463 - Unclear error message on BeanPostProcessor returning null [SPR-11951] #15997
- Misleading exception message for using JPA with custom IsolationLevels [SPR-8325] #12974
🪲 Bug Fixes
- remove jackson dependency in AbstractHttpReceivingTransportHandler [SPR-11963] #16579
- Backward compatibility issue in RestTemplate's messageConverters after SPR-11351 [SPR-11962] #16578
- CachingConnectionFactory doesn't properly cache all consumers with JMS 2.0 [SPR-11956] #16572
- CachedMessageProducer does not support all JMS 2.0 MessageProducer methods [SPR-11950] #16567
- CachingConnectionFactory doesn't properly cache producers with JMS 2.0 [SPR-11949] #16566
- Objects created by FactoryBeans might get processed multiple times by BeanPostProcessors if beans are created lazily [SPR-11937] #16554
- DefaultSubscriptionRegistry does not update destination cache when subscribed twice to same destination [SPR-11931] #16549
- Prevent accumulation of cancelled SockJS heartbeat tasks [SPR-11918] #16537
- HttpHeaders fails to return getAllow() if it was previously set to an empty collection [SPR-11917] #16536
- Fix session initialization concurrency issue in SockJS session implementations [SPR-11916] #16535
- Regression: Form select tag forces "multiple" attribute even when explicitly set to false [SPR-11903] #16522
- [TypeDescriptor] Unable to obtain nested generic from ? at level 1 [SPR-11898] #16517
- Spring 3.2.9 breaks JBoss EAP 5.1.1 VFS compatibility [SPR-11887] #16506
- URIComponentsBuilder shares state across calls of .build() [SPR-11885] #16504
- MBeanExportConfiguration.SpecificPlatform never calls afterPropertiesSet() [SPR-11877] #16496
- isGlobalRollbackOnly always returns 'false' with WebSphereUOWTransactionManager [SPR-11876] #16495
- AnnotationUtils.findAnnotation fails with poor diagnostics if it encounters an Annotation that references an unloadable class [SPR-11874] #16493
- Infinite loop caused by import of XML configuration that declares a ConfigurationClassPostProcessor [SPR-11858] #16477
- Unsubscribing from an endpoint that no longer exists throws NPE [SPR-11832] #16451
- StompSubProtocolHandler eventPublisher being cleared by SubProtocolWebSocketHandler [SPR-11825] #16444
- StandardPortletEnvironment is not properly populated [SPR-11816] #16436
- RequestAttributes in FrameworkPortlet [SPR-11295] #15919