⭐ New Features
- Disable the processing of external entities in SourceHttpMessageConverter by default [SPR-11078] #15704
- Avoid unnecessary char[] allocation in NamedParameterUtils [SPR-11042] #15670
- Spring doesn't parse jndi variables default values to match the expected-type [SPR-11039] #15667
- Methods in AnnotationConfigUtils.processCommonDefinitionAnnotations(…) should be public [SPR-11032] #15660
- PropertyOrFieldReference suffers from potential NullPointerException [SPR-11031] #15659
- ClassPathBeanDefinitionScanner INFO logging on JSR 330 [SPR-10974] #15602
- Make createRequestMappingInfo in RequestMappingHandlerMapping protected [SPR-10950] #15578
- Add XStream CatchAllConverter [SPR-10821] #15447
- Order of values in
@PropertySource
annotation depends on name attribute [SPR-10820] #15446
🪲 Bug Fixes
- Cannot override singleton with scoped proxy [SPR-10744] #15370
- ClasspathXmlApplicationContext does not inherit/merge parent context environment [SPR-11068] #15695
- MockHttpServletRequestBuilder not handling parameter without value [SPR-11043] #15671
@Autowired
setter randomly called twice or not called at all when two beans of the same class [SPR-11027] #15655- Bean definitions using indexed constructor arguments are not usable for
@Autowired
resolution [SPR-11019] #15647 - Unecessary logging about setNull with Oracle driver [SPR-11017] #15645
- Cannot override initializer of
@ContextConfiguration
when using@ContextHierarchy
[SPR-10997] #15625 - TypeConverterDelegate standard conversion changes single element array to a class instance when trying to convert to Object [SPR-10996] #15624
- Spring cannot find setter if subclass overrides getter narrowing return type [SPR-10995] #15623
@Bean
overriding does not pick up metadata from most specific method [SPR-10992] #15620- JavaConfig Bean overriding with addition [SPR-10988] #15616
- Mallforme Content-Type is not translated to 415 status code [SPR-10982] #15610
- LiteralExpression.getValue doesn't propagate 'EvaluationContext' to 'ExpressionUtils' for conversion [SPR-10953] #15581
- AbstractApplicationEventMulticaster throws NPE when ApplicationEvent's source is null [SPR-10945] #15573
- Invoking RedirectView.render from within a filter throws null pointer exception [SPR-10937] #15565
@Resource
is always marked as shareable [SPR-10931] #15559- Fix 'problem locating method' SpEL error message [SPR-10928] #15556
- Typo on spring mvc reference docs : 'ContentNeogitatingViewResolver' [SPR-10927] #15555
- Duplicate scan of
@Import
annotations when inherited from another annotation [SPR-10918] #15546 - ArrayStoreException scanning subclassed enum annotation array with multiple values [SPR-10914] #15542
- Ehcache with RMI replication bug [SPR-10904] #15532
- Wrong translation of MS SQL Server RAISERROR [SPR-10902] #15530
- Memory Leak in AbstractBeanFactory, alreadyCreated HashSet not cleaned on failure in doGetBean [SPR-10896] #15524
- Abstract method mocking prints wrong call count in exception [SPR-10885] #15513
- Race condition in org.springframework.expression.spel.ast.MethodReference [SPR-10884] #15511
- Async DeferredResult OpenSessionInViewFilter [SPR-10874] #15501
- NullPointerException thrown by ExtendedBeanInfo with IBM J9 VM [SPR-10862] #15489
- AnnotationConfigWebApplicationContext.register cannot be called multiple times [SPR-10852] #15479
- NPE in RestTemplate with Resource implementation where getFilename() returns null [SPR-10848] #15475
- spring-jms 3.0.4 introduces a change that breaks using JMSTemplate (and for that matter any JMS resource) with Oracle AQ when JMS Session are used in SESSION_TRANSACTED mode. [SPR-10829] #15455
- JaxB2Marshaller passes null InputSource to SaxSource constructor under certain condition [SPR-10828] #15454
- GenericTypeResolver does not resolve the correct parameter type when bound type is also ParameterizedType [SPR-10819] #15445
- MappingJackson2HttpMessageConverter and MappingJacksonHttpMessageConverter should use configured JSON prefix instead of hardcoded value. [SPR-10817] #15443
- MemoryLeak in AntPathMatcher during caching AntPathStringMatcher instances [SPR-10803] #15429
- BeanDefinitions registered using BeanDefinitionRegistry not always eligible for autowiring when using
@Qualifier
[SPR-10736] #15364 - Relax JavaBean rules for SpEL property access [SPR-10716] #15344
- SimpleJdbcCall: Function return type (REF CURSOR) should be resolved properly. [SPR-10606] #15235
- SpEL fails if class.name and name is evaluated in the same context [SPR-10486] #15119
- SPEL and Enum variable resolution using wrong cachedExecutor [SPR-10452] #15085
- Advisor silently skipped if it is currently in creation [SPR-10430] #15063
- Return type prediction for generic factory method fails if type conversion of method arguments is necessary [SPR-10411] #15044
- MethodResolver results are cached in SpEL expressions, so changing the context at evaluation time has no effect [SPR-9495] #14129
📔 Documentation
- Elvis operator will return "Nikola Tesla" and not "Mike Tesla" in ref docs [SPR-10850] #15477