⭐ New Features
- ScriptTemplateView should check template resource [SPR-14729] #19294
- Introduce 'value' alias for
@Bean
's 'name' attribute [SPR-14728] #19293 - Add SPI to customize the qualifiers to use for a particular bean [SPR-14725] #19290
- Don't log property values in PropertySourcesPropertyResolver by default [SPR-14709] #19274
- AbstractPollingMessageListenerContainer's workaround for Tibco causes performance delays during ems failover [SPR-14697] #19261
- Consistent *Aware callbacks for TypeFilters, ImportSelectors and ImportBeanDefinitionRegistrars [SPR-14686] #19250
- ConfigurationClassParser does not use ApplicationContext's ResourceLoader for its MetadataReaderFactory [SPR-14684] #19248
- Better Exception Message for JMS Jackson Converter Error [SPR-14672] #19236
- Default async request timeout handling does not work with Jetty 9.x [SPR-14669] #19233
- Allow
@PathVariable
to be optional [SPR-14646] #19212 - Optimize ordered event listener performance [SPR-14642] #19208
- CommonsMultipartResolver should explicitly convert FileSizeLimitExceededException next to SizeLimitExceededException [SPR-14638] #19204
- Improve performance of StompCommand.getMessageType() [SPR-14636] #19203
- Consistent comma splitting without regex overhead (e.g. in MediaType/MimeType) [SPR-14635] #19202
- ListBeansView should also expose aliases [SPR-14632] #19199
- Protect against getParameterType cursor leak with Oracle 12c JDBC driver [SPR-14629] #19196
- GenericApplicationContext should pick up ClassLoader from custom ResourceLoader [SPR-14626] #19193
- Improve performance of assertion in StompSubProtocolHandler [SPR-14624] #19191
- Avoid creation of lazy candidates when the primary bean is injected [SPR-14611] #19178
- Allow specifying CompilationCustomizer for Groovy based beans [SPR-14585] #19154
- Allow programmatic registration of bean definitions with a ResolvableType [SPR-14580] #19149
- Avoid repeated getParameterType calls for setNull with Oracle 12c driver [SPR-14574] #19143
- MockClientHttpResponse should close stream [SPR-14563] #19132
- HttpEntityMethodProcessor should not throw IllegalArgumentExceptions for invalid If-None-Match headers [SPR-14559] #19127
- PathEditor returns wrong result for absolute path in servletContext.getRealPath(...) [SPR-14549] #19117
- HttpHeaders.setContentDispositionFormData() doesn't encode non-acsii characters correctly [SPR-14547] #19115
- MockMvcResultMatchers.jsonPath(String).value() should have a matching method to declare the expected type [SPR-14498] #19067
- findDefaultEntityManagerFactory should consider EMF bean's primary flag [SPR-7549] #12206
🪲 Bug Fixes
- exception during websocket client close [SPR-14721] #19286
- StringUtils.parseLocaleString(): does not parse locale string in java 7 for Serbian (Latin) [SPR-14718] #19283
- NPE during websocket disconnect [SPR-14703] #19268
- HibernateExceptionTranslator translating to InvalidDataAccessApiUsageException when using vanilla Hibernate [SPR-14681] #19245
- Spring 4.3.2 HibernateTemplate#findByNamedQuery isn't compatible with Hibernate 5.0 [SPR-14676] #19240
- Performance regression when scheduling is enabled and context contains URL beans [SPR-14666] #19230
- TypeConverterSupport does not propagate custom exceptions anymore [SPR-14661] #19225
- ResolvableType for a raw type is not assignable to generic types of the same class [SPR-14648] #19214
- Fix assertions in StompHeaderAccessor [SPR-14625] #19192
- Missing MessageMethodArgumentResolver default constructor [SPR-14616] #19183
- Transaction manager cache fails to repopulate when multiple transaction managers defined [SPR-14609] #19177
- OutOfMemoryError caused by nested UnsatisfiedDependencyExceptions [SPR-14607] #19175
WebMvcConfigurer#extendHandlerExceptionResolvers
is not invoked [SPR-14599] #19168- NoSuchBeanDefinitionException message shows internal array class names [SPR-14595] #19164
- Improve documentation for Cacheable#result (re: Optional wrapper) [SPR-14587] #19156
- HtmlUnitRequestBuilder corrupts the parent RequestBuilder [SPR-14584] #19153
- When favorPathExtension is false ResourceHttpRequestHandler serves resources with different content type in 4.3 compared to 4.2 [SPR-14577] #19146
- StompSubProtocolHandler responds with ERROR (Session closed.) on DISCONNECT when using SimpleBrokerMessageHandler [SPR-14568] #19137
- SockJS heartbeat is causing application send Message to fail similar to (SPR-14356) [SPR-14564] #19133
- ArrayIndexOutOfBoundsException in MethodBasedEvaluationContext [SPR-14554] #19122
- StackOverflowError for advisor search against factory-bean reference to FactoryBean [SPR-14551] #19119
- Default connection release mode inconsistent with Hibernate 5.1.1 [SPR-14548] #19116
- StackOverflowError at AbstractJackson2HttpMessageConverter.resolveVariable [SPR-14520] #19089
- Regression: Insert statement fails with inconsistent datatypes on Oracle 12c driver [SPR-14191] #18764
- Constructor sets the source incorrectly in org.springframework.beans.PropertyValue [SPR-8337] #12985