Spring v5.2.8.RELEASE Release Notes
Release Date: 2020-07-21 // over 3 years ago-
🍱 ⭐ New Features
- Defer creating logger in StandardWebSocketHandlerAdapter #25427
- 🚚 MutablePropertySources will not find or remove proxied sources #25369
- Profiles should be comparable when created via Profiles.of() #25340
- Avoid re-creating RSocketRequester instance per subscriber #25330
- Hoist Class.getName() from String concatenation to dodge an issue related to profile pollution #25324
- 👌 Improve Random seed in SocketUtils #25321
- 👌 Support fragments in UriComponentsBuilder.fromHttpUrl() #25300
- 👌 Support for custom cache registration in CaffeineCacheManager #25230
- Don't get ContentCachingResponseWrapper in ShallowEtagHeaderFilter so that users can extend this wrapper #24976
- ⏱ Unnecessarily alarming stack trace logged during scheduler resolution #23268
- 🔦 Expose a setExceptionListener method in DefaultJmsListenerContainerFactory [SPR-17570] #22102
🍱 🐞 Bug fixes
- 🏗 UriComponentsBuilder.cloneBuilder() cause sharing query parameters between builders #25423
- SimpleJdbcCall does not find stored function with PostgreSQL driver 42.2.11 #25399
- 👍 MappingJackson2HttpMessageConverter might be too specific in its Charset support #25322
- ReactorNetty websocket issue for multiple clients with different protocols #25315
- Mutating a ServerHttpRequest breaks the existing context path #25279
- ServerHttpRequest.getSslInfo() always returns null for reactor-netty HTTP/2 requests #25278
- ⏪ NoRollbackFor rule causes TransactionAspectSupport to log unwarranted "exception overridden" error on WebSphere #25253
- AbstractJackson2HttpMessageConverter - Check for encoding breaks JSON to POJO de-serialization experience #25247
- The AbstractTemplateViewResolver class is not abstract #25240
- WebClient: NPE and leak in case connection is reset by server. #25216
- Oracle LOB segments holding TEMP space after executing SP using SimpleJdbcCall with SqlParameterSource #22972
- IllegalReferenceCountException happens when the operation was canceled #22594
- 🚚 DefaultListableBeanFactory.getBean(Class) may throw NoSuchBeanDefinitionException when removeBeanDefinition is being called simultaneously to remove an unrelated bean #22263
📔 Documentation
- 0️⃣ Clarify enforceInitMethod/enforceDestroyMethod default values in AbstractBeanDefinition #25402
- 👌 Improve JavaDoc for ConfigurableApplicationContext.refresh() #25380
- 🛠 Fix interface and class names in examples in core-aop doc #25351
- Wording changes #25314
- 🛠 Fix typo in Java example for handler class #25302
- 👌 Improve Javadoc for @value regarding supported expressions #25284
- 🛠 Fix syntax in validation examples #25251
- 👻 Document exception handling limitations in TaskDecorator implementations (specifically for ThreadPoolTaskExecutor#submit) #25231
⬆️ 🔨 Dependency upgrades
🍱 ❤️ Contributors
🚀 We’d like to thank all the contributors who worked on our current release!