Spring v5.2.9.RELEASE Release Notes
Release Date: 2020-09-15 // over 3 years ago-
๐ฑ โญ New Features
- HttpHeaders.setContentDispositionFormData should ignore empty filename #25769
- ๐ง StringDecoder does not provide a way to configure the default charset #25762
- ๐ง MimeMessageHelper.addAttachment: configurable encoding of attachment filename #25755
- ๐ฒ Current log level not checked by LogAccessor supplier-enabled logging methods #25741
- ๐ PropertiesLoaderSupport should ignore socket/connect exceptions as well #25717
- Avoid repeated calls to getPathWithinApplication from UrlPathHelper.getLookupPathForRequest #25669
- ๐ Avoid full singleton lock for DefaultSingletonBeanRegistry.getSingleton(beanName, false) #25667
- XStreamMarshaller should avoid direct use of CompositeClassLoader which is not exported by XStream in OSGi #25662
- ๐ Avoid LinkedList performance issues through use of ArrayDeque #25652
- Introduce createContext() factory method in AbstractGenericContextLoader #25600
- ๐ Declare MessagePostProcessor as a
@FunctionalInterface
#25571 - ๐ Assert preconditions for MergedAnnotations.from() factory methods #25568
- Provide access to AbstractRoutingDataSource's resolved target DataSources #25544
- Possible optimization in UrlResource #25531
- Refine use of substring operations #25445
- ๐ Cache abstraction does not log hit / miss for synchronized access #25248
๐ฑ ๐ Bug Fixes
- Issue with Forwarded Header and Multiple Values #25737
- ๐ CallMetaDataContext.reconcileParameters overwrites cursor name #25707
- ๐ VerifyErrors when using SpEL compilation with Thymeleaf when invoking a default method defined in an interface #25706
- SQLErrorCodesFactory.getErrorCodes(DataSource) returns empty error codes if access to transactional connection fails #25681
- ๐ Make "org.springframework.util.unit.DataSize" class Serializable #25675
- Joda-Time presence check fails to detect Joda-Time 2.x specifically #25655
- Regression in SimpleThreadScope introduced in 5.2.7 #25618
- ๐ Potential integer overflow in ExecutorConfigurationSupport.setAwaitTerminationSeconds(int) and AbstractResourceBasedMessageSource.setCacheSeconds(int) #25613
- โ Remove session on 4xx response from WebSocket handshake #25608
- ๐ spring-jdbc don't set out parameter name from metadata for Postgresql function after issue#25399 #25588
- FileUrlResource isWritable method returns true if URL protocol is not indicating a file #25584
- Lazy dependency proxy does not populate bean dependencies #25562
- โฌ๏ธ Bean creation fails with StackOverflowError after upgrading from 5.1.13 to 5.2.7 #25546
- StaticListableBeanFactory.isSingleton() returns false for singleton beans #25522
- ๐คก Standalone MockMvc ignores
@RestControllerAdvice
annotation attributes #25520 - ๐คก MockHttpServletResponse reset() does not reset charset field #25501
- AnnotationTypeMappings does not filter repeatable annotations #25483
- Wrong error message for type mismatch in jsonPath().value() #25480
- ๐ Fix infinite loop bug in AnnotationScanner #25429
- Overloaded
@Bean
method with name mismatch causes bean to be created twice (in case of ASM processing) #25263
๐ Documentation
- ๐ Prevent confusion about build(boolean) method in UriComponentsBuilder #25604
- Document how to specify Jackson JSON view serialization hints with
@RestController
and Webflux #25596 - ๐ง Inconsistent log level in
@Bean
javadoc and ConfigurationClassEnhancer #25590 - ๐ Fix asciidoctor syntax for source #25539
- ๐ Improve Javadoc for
@RequestMapping
#params #25482 - Document that SimpleCacheManager requires caches to be initialized when not used as a bean #22988
โฌ๏ธ ๐จ Dependency Upgrades
- โฌ๏ธ Upgrade to Reactor Dysprosium-SR12 #25730
๐ฑ โค๏ธ Contributors
๐ We'd like to thank all the contributors who worked on this release!