Spring v5.2.4.RELEASE Release Notes

Release Date: 2020-02-25 // about 4 years ago
  • ๐Ÿฑ โญ๏ธ New Features

    • BlockHoundIntegration for spring-core #24581
    • ๐Ÿ”ง Configure quiet period for shutting down Netty resources #24538
    • ๐Ÿ”ง Consistent ROLE_INFRASTRUCTURE declarations for internal configuration classes #24509
    • ๐ŸŒฒ Raise log level for exceptions from EntityManager close call #24501
    • ๐Ÿ‘ ExecutorConfigurationSupport to allow millisecond precision for await termination period #24496
    • ๐Ÿ‘Œ Improve assertion message in PersistenceExceptionTranslationInterceptor #24484
    • BigDecimal in multi-value request body deserializes differently than single-value #24479
    • If controller method has produces="/" in 5.2.3 response is 500 instead of 406 #24466
    • ๐Ÿ‘€ SseEmitter cannot format text/plain if StringHttpMessageConverter is not configured #24465
    • ๐Ÿ‘Œ Support command line arguments with an empty value #24464
    • AbstractJackson2HttpMessageConverter + Jackson 2.10: handle ValueInstantiationException properly #24455
    • Compatibility with JDK 14 #24453
    • Avoid opaque to hierarchical reset in UriComponentsBuilder when input is null #24444
    • โž• Add Informix to supported database products for procedure calls #24443
    • ๐Ÿ”’ Solve ReflectPermission issue in sandbox security policy model for repackaged CGLIB ReflectUtils #24420
    • ๐Ÿ‘ Allow non-standard HttpStatus in reactive ServerHttpResponse #24400
    • ๐Ÿ‘ Allow customizing default Smile codec via CodecConfigurer #24382
    • Simplify getCache() method in CaffeineCacheManager #24376
    • ๐Ÿ”ฆ Expose property for handling of Ping frames with Reactor Netty WebSocket client and server #24367
    • ๐Ÿ“œ Simplify getParsedSql() method in NamedParameterJdbcTemplate #24358
    • Provide control over formatting of request in HttpWebHandlerAdapter #24352
    • โž• Add hook-point to exclude imported configuration classes #24175
    • 0๏ธโƒฃ Jackson2Decoder fails to determine correct target type from default interface method with a generic type #23791
    • Extra empty line a["\n"] messages from ActiveMQ STOMP broker #23713
    • โž• Add a way to combine more than one AnnotationIntrospector in Jackson2ObjectMapperBuilder instead of overriding it #22830
    • โž• Add unique number to WebFlux log prefix for Reactor Netty server #22039

    ๐Ÿฑ ๐Ÿž Bug Fixes

    • ๐Ÿคก NullPointerException in MockHttpServletRequestBuilder for URI string with no protocol #24556
    • โš  BeanPostProcessorChecker warning due to missing infrastructure role on ProxyTransactionManagementConfiguration #24508
    • spring-aspects has a compile dependency on spring-orm #24491
    • ๐Ÿ“œ AbstractJackson2Decoder is not aware of jackson's non-blocking parser only supporting UTF-8 #24489
    • ๐Ÿคก MockRestServiceServer reset does not clear failedRequests #24486
    • ๐Ÿ“‡ Prevent unnecessary refresh for InjectionMetadata.EMPTY #24485
    • โฌ†๏ธ "Status and headers already sent" ISE exception from Reactor Netty on WebSocket upgrade #24475
    • The new Encoder.encodeValue and Decoder.decode methods in spring 5.2 do not provide access to the Context #24441
    • ๐ŸŒฒ Cycle in LogAdapter.Log4jLog initialization within log appender #24440
    • Negative byte values not properly converted to unsigned int in URI encoding #24413
    • ServerSentEventHttpMessageReader maps null when event has comment only. #24389
    • ๐Ÿ‘ Nested annotations no longer supported in ASM-based annotation processing #24375
    • Explicit Content-Type Header in WebClient is overwritten by ResourceHttpMessageWriter #24366
    • Avoid setting special Content-* response headers in TomcatHeadersAdapter #24361
    • IncompatibleClassChangeError encountered on execution of compiled SPEL expressions #24357
    • ๐Ÿ“œ JSON decoding error parsing stream encoded with Jackson Smile #24198

    ๐Ÿ“” Documentation

    • ๐Ÿ‘Œ Improve documentation for @Autowired/@Value in @Configuration classes #24585
    • ๐Ÿ›  Fix formatting in webflux-webclient.adoc #24578
    • Clarify AbstractResourceBasedMessageSource.setCacheMillis vs java.util.ResourceBundle #24563
    • ๐Ÿ“š Correct Ant-style Patterns example in documentation #24552
    • ๐Ÿ›  Fix javadoc in DependencyDescriptor #24551
    • ๐Ÿ“š Correct formatting of MessageSource example in documentation #24531
    • โšก๏ธ Update advice on RestTemplate #24503
    • ๐Ÿš€ Upgrade to Spring Asciidoctor Extensions 0.4.0.RELEASE #24481
    • ๐Ÿ›  Fix typo in StringUtils class #24471
    • ๐Ÿ“š Polish documentation format #24460
    • ๐Ÿ›  Fix Asciidoctor Warnings #24427
    • Reconsider recommended connection pools #24405
    • ๐Ÿ‘Œ Improve default experience of data binding from HTML date and time input fields #24370
    • ๐Ÿ‘ Document supported characters for identifiers in SpEL expressions #24359
    • Document that @Validated results in the use of a proxy and warn users about the side-effects #24338
    • ๐Ÿ—„ Deprecate use of path extensions in request mapping and content negotiation #24179

    โฌ†๏ธ ๐Ÿ”จ Dependency Upgrades

    • โฌ†๏ธ Upgrade to RSocket 1.0.0-RC6 #24482
    • โฌ†๏ธ Upgrade to ASM 7.3 #24438
    • โฌ†๏ธ Upgrade to Reactor Dysprosium SR5 #24355
    • โฌ†๏ธ Upgrade to JUnit Jupiter 5.6 #24299

    ๐Ÿฑ โค๏ธ Contributors

    ๐Ÿš€ We'd like to thank all the contributors who worked on this release!