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

    • ⬆️ Upgrade to Reactor Dysprosium-SR10 #25376
    • ⬆️ Upgrade to nohttp 0.0.5 #25266

    🍱 ❤️ Contributors

    🚀 We’d like to thank all the contributors who worked on our current release!