spring-projects/spring-framework (org.springframework:spring-core)
### [`v4.3.14.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/tag/v4.3.14.RELEASE): 4.3.14 Release
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.3.13.RELEASE...v4.3.14.RELEASE)
#### :star: New Features
- Reduce access on user in SimpleBrokerMessageHandler.handleMessageInternal \[SPR-16264] [#20811](https://togithub.com/spring-projects/spring-framework/issues/20811)
- config.enableSimpleBroker("/topic", "/queue"); Should be config.enableSimpleBroker("/topic", "queue"); \[SPR-16275] [#20822](https://togithub.com/spring-projects/spring-framework/issues/20822)
- Allow to inject enum with package visibility \[SPR-16284] [#20831](https://togithub.com/spring-projects/spring-framework/issues/20831)
- Improve performance of some string operations \[SPR-16293] [#20840](https://togithub.com/spring-projects/spring-framework/issues/20840)
- ComponentScanBeanDefinitionParser::parseTypeFilters should not fail on ClassNotFoundException \[SPR-16356] [#20903](https://togithub.com/spring-projects/spring-framework/issues/20903)
- Use ArrayList instead of LinkedList for known size \[SPR-16378] [#20924](https://togithub.com/spring-projects/spring-framework/issues/20924)
#### :beetle: Bug Fixes
- Error in RestTemplate when setting the same HTTP header through ClientHttpRequestInterceptor and HttpEntity \[SPR-15066] [#19632](https://togithub.com/spring-projects/spring-framework/issues/19632)
- Combining `@Retryable` and `@Scheduled`/`@JmsListener` doesn't work \[SPR-16196] [#20744](https://togithub.com/spring-projects/spring-framework/issues/20744)
- Exception when receiving Long collection in MessageMapping \[SPR-16252] [#20799](https://togithub.com/spring-projects/spring-framework/issues/20799)
- NPE in FunctionReference due to race condition in SpelExpression.getValue() \[SPR-16255] [#20802](https://togithub.com/spring-projects/spring-framework/issues/20802)
- spring-web CORS requires X-Forwarded-Port \[SPR-16262] [#20809](https://togithub.com/spring-projects/spring-framework/issues/20809)
- Stomp Broker Relay may ignore configured destination prefixes \[SPR-16265] [#20812](https://togithub.com/spring-projects/spring-framework/issues/20812)
- Embedded cglib 3.2.5 not closing input streams that read class files \[SPR-16267] [#20814](https://togithub.com/spring-projects/spring-framework/issues/20814)
- BeanUtils.isSimpleValueType() returns false for enums overriding a method \[SPR-16278] [#20825](https://togithub.com/spring-projects/spring-framework/issues/20825)
- Unnecessary file system access in SimpleMetadataReaderFactory.getMetadataReader \[SPR-16281] [#20828](https://togithub.com/spring-projects/spring-framework/issues/20828)
- Ambiguous mapping error when using generic interface \[SPR-16288] [#20835](https://togithub.com/spring-projects/spring-framework/issues/20835)
- Programmatic creation of caching proxies using CacheProxyFactoryBean does not work \[SPR-16295] [#20842](https://togithub.com/spring-projects/spring-framework/issues/20842)
- Access-Control-Allow-Origin header returns wrong value using SockJS \[SPR-16304] [#20851](https://togithub.com/spring-projects/spring-framework/issues/20851)
- Large transaction timeout value (Integer.MAX_VALUE for example) results in transaction expiring immediately after starting. \[SPR-16316] [#20863](https://togithub.com/spring-projects/spring-framework/issues/20863)
- `@JmsListener` concurrency property is ignored if DefaultJmsListenerContainerFactory#concurrency is set \[SPR-16338] [#20885](https://togithub.com/spring-projects/spring-framework/issues/20885)
- JMS Producers are cached even when the destination is a temporary queue causing a memory leak \[SPR-16353] [#20900](https://togithub.com/spring-projects/spring-framework/issues/20900)
- TestExecutionListener class not found logged at INFO \[SPR-16369] [#20916](https://togithub.com/spring-projects/spring-framework/issues/20916)
- EclipseLink does not log SQL parameters when using showSql \[SPR-16383] [#20929](https://togithub.com/spring-projects/spring-framework/issues/20929)
- RestTemplate.ResponseEntityResponseExtractor doesn't tolerate unknown status codes \[SPR-16371] [#20918](https://togithub.com/spring-projects/spring-framework/issues/20918)
- MockClientHttpResponse should not return null body \[SPR-16367] [#20914](https://togithub.com/spring-projects/spring-framework/issues/20914)
- Null path after UriComponents.normalize() results in NullPointerException \[SPR-16364] [#20911](https://togithub.com/spring-projects/spring-framework/issues/20911)
#### :notebook_with_decorative_cover: Documentation
- Incorrect SpEL syntax in reference documentation \[SPR-16315] [#20862](https://togithub.com/spring-projects/spring-framework/issues/20862)
### [`v4.3.13.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/tag/v4.3.13.RELEASE): 4.3.13 Release
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.3.12.RELEASE...v4.3.13.RELEASE)
#### :star: New Features
- Prevent WebSocket buffer overflow through application-level flow control \[SPR-16089] [#20638](https://togithub.com/spring-projects/spring-framework/issues/20638)
- SchedulingConfigurer and JmsListenerConfigurer should respect `@Order` \[SPR-16090] [#20639](https://togithub.com/spring-projects/spring-framework/issues/20639)
- Avoid temporary String creation in StringUtils.starts/endsWithIgnoreCase \[SPR-16095] [#20644](https://togithub.com/spring-projects/spring-framework/issues/20644)
- Make JpaVendorAdapters JTA-aware (in particular for Hibernate 5.1/5.2) \[SPR-16162] [#20710](https://togithub.com/spring-projects/spring-framework/issues/20710)
- Reduce access on headers for STOMP messaging \[SPR-16165] [#20713](https://togithub.com/spring-projects/spring-framework/issues/20713)
- spring-jdbc : Improve memory allocations when substituting named parameters. \[SPR-16170] [#20718](https://togithub.com/spring-projects/spring-framework/issues/20718)
#### :beetle: Bug Fixes
- Checkbox/RadioButton incorrectly converts collections of enums with a custom converter \[SPR-16082] [#20631](https://togithub.com/spring-projects/spring-framework/issues/20631)
- `@ModelAttribute` binding defined globally for particular attribute rather than per method invocation \[SPR-16083] [#20632](https://togithub.com/spring-projects/spring-framework/issues/20632)
- WebSphereUowTransactionManager swallows original exception when commit fails for another reason \[SPR-16102] [#20650](https://togithub.com/spring-projects/spring-framework/issues/20650)
- Incorrectly identify bridged method on interface \[SPR-16103] [#20651](https://togithub.com/spring-projects/spring-framework/issues/20651)
- PathMatchingResourcePatternResolver returns duplicate resources when using classpath\* prefix \[SPR-16117] [#20665](https://togithub.com/spring-projects/spring-framework/issues/20665)
- SpEL method invocation with varargs on proxy \[SPR-16122] [#20670](https://togithub.com/spring-projects/spring-framework/issues/20670)
- AbstractRequestExpectationManager fails with "Expectations already declared" when ResponseCreator.createResponse throws an exception \[SPR-16132] [#20680](https://togithub.com/spring-projects/spring-framework/issues/20680)
- MockHttpServletRequest with Host: set builds wrong getRequestURL() \[SPR-16138] [#20686](https://togithub.com/spring-projects/spring-framework/issues/20686)
- ClassPathResource.createRelative is using wrong ClassPathResource constructor for the returned resource \[SPR-16146] [#20694](https://togithub.com/spring-projects/spring-framework/issues/20694)
- Early ApplicationContext close call may lead to ApplicationEventMulticaster/LifecycleProcessor access exception \[SPR-16149] [#20697](https://togithub.com/spring-projects/spring-framework/issues/20697)
- When using NamedParameterJdbcTemplate, NVARCHAR or NCLOB(4000 characters or less) columns are not properly populated since StatementCreatorUtils does setString for these types instead of setNString. \[SPR-16154] [#20702](https://togithub.com/spring-projects/spring-framework/issues/20702)
- MockHttpServletResponse.getDateHeader fails with NPE for non-existing header \[SPR-16160] [#20708](https://togithub.com/spring-projects/spring-framework/issues/20708)
- NumberFormatException caused by property paths from JSR-303 based validation with no index into a collection \[SPR-16177] [#20725](https://togithub.com/spring-projects/spring-framework/issues/20725)
- Wrong byte code for compiled SpEL when JDK proxy method invocation is used \[SPR-16191] [#20739](https://togithub.com/spring-projects/spring-framework/issues/20739)
- DefaultResponseErrorHandler.hasError doesn't tolerate unknown status codes \[SPR-16108] [#20656](https://togithub.com/spring-projects/spring-framework/issues/20656)
- setArguments(null) on MethodInvoker no longer coerces null to Object\[0] \[SPR-16075] [#20624](https://togithub.com/spring-projects/spring-framework/issues/20624)
- RequestMapping method returning Future with null result causes NullPointerException \[SPR-16072] [#20621](https://togithub.com/spring-projects/spring-framework/issues/20621)
- WebAsyncManager concurrency issue with SseEmitter when client disconnect \[SPR-16058] [#20607](https://togithub.com/spring-projects/spring-framework/issues/20607)
#### :notebook_with_decorative_cover: Documentation
- Improve documentation of lite configuration mode \[SPR-16076] [#20625](https://togithub.com/spring-projects/spring-framework/issues/20625)
- Clarify Bean destroyMethod documentation \[SPR-16078] [#20627](https://togithub.com/spring-projects/spring-framework/issues/20627)
- Incorrect SpEL example in reference documentation \[SPR-16111] [#20659](https://togithub.com/spring-projects/spring-framework/issues/20659)
- End of first-class JDK 6 support \[SPR-16185] [#20733](https://togithub.com/spring-projects/spring-framework/issues/20733)
### [`v4.3.12.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/tag/v4.3.12.RELEASE): 4.3.12 Release
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.3.11.RELEASE...v4.3.12.RELEASE)
#### :star: New Features
- Add convenient method to construct ParameterizedTypeReference from Type \[SPR-16054] [#20603](https://togithub.com/spring-projects/spring-framework/issues/20603)
- Backport s/s/m/j/o/s/m/w/MockPart.java from 5.x to 4.3.x \[SPR-15854] [#20409](https://togithub.com/spring-projects/spring-framework/issues/20409)
#### :beetle: Bug Fixes
- Request params Optional\ and List are inconsistent \[SPR-15676] [#20235](https://togithub.com/spring-projects/spring-framework/issues/20235)
- java.util.Optional MultipartFile\[] `@RequestParam` argument is null in multipart/form-data POST \[SPR-15918] [#20472](https://togithub.com/spring-projects/spring-framework/issues/20472)
- only one MultipartFile object populated when using an java.util.Optional MutipartFile array or list `@RequestParam` \[SPR-15919] [#20473](https://togithub.com/spring-projects/spring-framework/issues/20473)
- HttpEntityMethodProcessor discards headers \[SPR-15952] [#20504](https://togithub.com/spring-projects/spring-framework/issues/20504)
- TaskExecutorRegistration.getTaskExecutor() overrides executor properties of a provided ThreadPoolTaskExecutor \[SPR-15962] [#20514](https://togithub.com/spring-projects/spring-framework/issues/20514)
- JmsMessagingTemplate is not correctly configured \[SPR-15965] [#20517](https://togithub.com/spring-projects/spring-framework/issues/20517)
- ChannelRegistration.setInterceptors is misnamed \[SPR-15976] [#20527](https://togithub.com/spring-projects/spring-framework/issues/20527)
- RestTemplate doesn't consistently tolerate unknown HTTP status codes \[SPR-15978] [#20529](https://togithub.com/spring-projects/spring-framework/issues/20529)
- PathMatchingResourcePatternResolver provides duplicate resources when using classpath\* prefix combined with ant-style \[SPR-15989] [#20539](https://togithub.com/spring-projects/spring-framework/issues/20539)
- Spring EL does not allow '\0' characters \[SPR-16032] [#20581](https://togithub.com/spring-projects/spring-framework/issues/20581)
- sort BeanDefinitionRegistryPostProcessors added by other BeanDefinitionRegistryPostProcessors \[SPR-16043] [#20592](https://togithub.com/spring-projects/spring-framework/issues/20592)
- SpelExpression throws NullPointerException instead of EvaluationException for primitives \[SPR-16123] [#20671](https://togithub.com/spring-projects/spring-framework/issues/20671)
### [`v4.3.11.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/tag/v4.3.11.RELEASE): 4.3.11 Release
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.3.10.RELEASE...v4.3.11.RELEASE)
#### :star: New Features
- `@Lazy` collection of optional elements should not crash when no candidates are found \[SPR-15858] [#20413](https://togithub.com/spring-projects/spring-framework/issues/20413)
- WebAsyncManager should cancel task thread on timeout \[SPR-15852] [#20407](https://togithub.com/spring-projects/spring-framework/issues/20407)
- Consistent logging in Environment and PropertySource implementations \[SPR-15825] [#20380](https://togithub.com/spring-projects/spring-framework/issues/20380)
#### :beetle: Bug Fixes
- StompDecoder Logs Null Session IDs for Heartbeats \[SPR-15937] [#20491](https://togithub.com/spring-projects/spring-framework/issues/20491)
- Error on type argument constraint validation failure \[SPR-15916] [#20470](https://togithub.com/spring-projects/spring-framework/issues/20470)
- StringIndexOutOfBoundsException from RestTemplate.doExecute IOException handler when query string is empty \[SPR-15900] [#20454](https://togithub.com/spring-projects/spring-framework/issues/20454)
- SimpleAsyncTaskExecutor not respect ConcurrencyThrottleSupport.NO_CONCURRENCY limit \[SPR-15895] [#20449](https://togithub.com/spring-projects/spring-framework/issues/20449)
- Should call getNativeResponse() instead of getNativeRequest() in FrameworkServlet \[SPR-15867] [#20422](https://togithub.com/spring-projects/spring-framework/issues/20422)
- Unable to use Hibernate Validator 4.3.2 if Bean Validation API 1.1 is on the classpath \[SPR-15856] [#20411](https://togithub.com/spring-projects/spring-framework/issues/20411)
- SimpleApplicationEventMulticaster does not deal with lambda-defined listeners when ErrorHandler is set \[SPR-15838] [#20393](https://togithub.com/spring-projects/spring-framework/issues/20393)
- spring-aspects should remain on AspectJ 1.8.9 by default (since aspectjrt 1.8.10 requires Java 7+) \[SPR-15836] [#20391](https://togithub.com/spring-projects/spring-framework/issues/20391)
- Parameter values are null when making a PUT request \[SPR-15828] [#20383](https://togithub.com/spring-projects/spring-framework/issues/20383)
- Follow-up: AbstractMethodError when calling validated method of MethodValidationPostProcessor is using a `@Lazy` validator \[SPR-15807] [#20362](https://togithub.com/spring-projects/spring-framework/issues/20362)
- Logs fill with broken pipe when using SockJS \[SPR-15802] [#20357](https://togithub.com/spring-projects/spring-framework/issues/20357)
- Invalid WARN when returning a BeanDefinitionRegistryPostProcessor from within a `@Configuration` class \[SPR-14603] [#19172](https://togithub.com/spring-projects/spring-framework/issues/19172)
### [`v4.3.10.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/tag/v4.3.10.RELEASE): 4.3.10 Release
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.3.9.RELEASE...v4.3.10.RELEASE)
#### :star: New Features
- Ignore (Auto)Closeable for interface-based proxy decision \[SPR-15779] [#20334](https://togithub.com/spring-projects/spring-framework/issues/20334)
- Bean factory method collision with configuration class name gives unclear error message \[SPR-15775] [#20330](https://togithub.com/spring-projects/spring-framework/issues/20330)
- CustomizableTraceInterceptor should allow INVOCATION_TIME placeholder in setExceptionMessage and make stack trace logging configurable \[SPR-15763] [#20318](https://togithub.com/spring-projects/spring-framework/issues/20318)
- LinkedCaseInsensitiveMap cannot access locale from subclass \[SPR-15752] [#20307](https://togithub.com/spring-projects/spring-framework/issues/20307)
- ForwardedHeaderFilter should expose option for not converting relative redirects to absolute ones \[SPR-15717] [#20273](https://togithub.com/spring-projects/spring-framework/issues/20273)
- AbstractValueAdaptingCache does not allow for flexible null value serialization \[SPR-15693] [#20252](https://togithub.com/spring-projects/spring-framework/issues/20252)
- Fine-tune HTTP/RMI Invoker exception handling \[SPR-15684] [#20243](https://togithub.com/spring-projects/spring-framework/issues/20243)
- Support CachingHttpAsyncClient from httpasyncclient-cache in HttpComponentsAsyncClientHttpRequestFactory \[SPR-15664] [#20223](https://togithub.com/spring-projects/spring-framework/issues/20223)
- Cron expression validation method in CronSequenceGenerator improved \[SPR-15604] [#20163](https://togithub.com/spring-projects/spring-framework/issues/20163)
- Upgrade to Objenesis 2.6 for Google App Engine Standard on Java 8 and for better JDK 9 support \[SPR-15600] [#20159](https://togithub.com/spring-projects/spring-framework/issues/20159)
#### :beetle: Bug Fixes
- UriUtils.extractFileExtension() does not properly handle all fragments \[SPR-15786] [#20341](https://togithub.com/spring-projects/spring-framework/issues/20341)
- PropertyOrFieldReference invalidly reuses cached PropertyAccessor \[SPR-15769] [#20324](https://togithub.com/spring-projects/spring-framework/issues/20324)
- ClassCastException during deserialization of ScopedObject \[SPR-15766] [#20321](https://togithub.com/spring-projects/spring-framework/issues/20321)
- AbstractJackson2HttpMessageConverter throws exception if log level is ERROR \[SPR-15760] [#20315](https://togithub.com/spring-projects/spring-framework/issues/20315)
- ReflectionTestUtils accidentally requires spring-aop on the classpath \[SPR-15757] [#20312](https://togithub.com/spring-projects/spring-framework/issues/20312)
- MockMvc duplicates PUT Parameter value \[SPR-15753] [#20308](https://togithub.com/spring-projects/spring-framework/issues/20308)
- JSP tags doesn't pick up JSTL-defined time zone at page level \[SPR-15746] [#20302](https://togithub.com/spring-projects/spring-framework/issues/20302)
- JMS Integration with Tibco causes deadlock while using DefaultMessageListenerContainer \[SPR-15738] [#20294](https://togithub.com/spring-projects/spring-framework/issues/20294)
- Memory Leak due to not pruning factoryBeanObjectCache when closing the ApplicationContext \[SPR-15722] [#20278](https://togithub.com/spring-projects/spring-framework/issues/20278)
- WebAsyncManager is not compatible with the crosscontext mode \[SPR-15709] [#20266](https://togithub.com/spring-projects/spring-framework/issues/20266)
- Netty4ClientHttpRequest does not include port along with host \[SPR-15706] [#20263](https://togithub.com/spring-projects/spring-framework/issues/20263)
- `@EventListener`'s 'condition' doesn't work as expected with proxied beans \[SPR-15678] [#20237](https://togithub.com/spring-projects/spring-framework/issues/20237)
- SimpleRequestExpectationManager fails with sequential calls with different count \[SPR-15672] [#20231](https://togithub.com/spring-projects/spring-framework/issues/20231)
### [`v4.3.9.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/tag/v4.3.9.RELEASE): 4.3.9 Release
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.3.8.RELEASE...v4.3.9.RELEASE)
#### :star: New Features
- ForwardedHeaderFilter should provide option to "remove" forwarded headers without using them \[SPR-15610] [#20169](https://togithub.com/spring-projects/spring-framework/issues/20169)
- Optimize DefaultUserDestinationResolver.resolveDestination() \[SPR-15602] [#20161](https://togithub.com/spring-projects/spring-framework/issues/20161)
- Inefficient use of keySet operators in messaging classes \[SPR-15553] [#20112](https://togithub.com/spring-projects/spring-framework/issues/20112)
- Increase log level in ExceptionWebSocketHandlerDecorator \[SPR-15537] [#20096](https://togithub.com/spring-projects/spring-framework/issues/20096)
- UriComponentsBuilder's fromHttpRequest uses server port as host port when handling the Forwarded header \[SPR-15504] [#20063](https://togithub.com/spring-projects/spring-framework/issues/20063)
- Also clear SerializableTypeWrapper when ResolvableType cache is cleared \[SPR-15503] [#20062](https://togithub.com/spring-projects/spring-framework/issues/20062)
- Defer StringHttpMessageConverter Charset.availableCharsets() call \[SPR-15502] [#20061](https://togithub.com/spring-projects/spring-framework/issues/20061)
- Allow for HttpOnly cookie result matcher \[SPR-15488] [#20048](https://togithub.com/spring-projects/spring-framework/issues/20048)
- Add getTargetCache to TransactionAwareCacheDecorator \[SPR-15479] [#20039](https://togithub.com/spring-projects/spring-framework/issues/20039)
- Optimize AntPathMatcher when checking for potential matches \[SPR-15477] [#20037](https://togithub.com/spring-projects/spring-framework/issues/20037)
- Lazily initialize Environment in GenericFilterBean (aligned with HttpServletBean) \[SPR-15469] [#20029](https://togithub.com/spring-projects/spring-framework/issues/20029)
- Honor `@Autowired`(required=false) at parameter level, as an alternative to java.util.Optional \[SPR-15268] [#19833](https://togithub.com/spring-projects/spring-framework/issues/19833)
#### :beetle: Bug Fixes
- AbstractMethodError when calling validated method of MethodValidationPostProcessor is using a `@Lazy` validator \[SPR-15629] [#20188](https://togithub.com/spring-projects/spring-framework/issues/20188)
- Poor diagnostics when Jackson cannot deserialise an application/json payload due to a missing deserialiser \[SPR-15582] [#20141](https://togithub.com/spring-projects/spring-framework/issues/20141)
- Consistently accept "taskExecutor" bean of type Executor (as stated in `@EnableAsync`'s javadoc) \[SPR-15566] [#20125](https://togithub.com/spring-projects/spring-framework/issues/20125)
- LocalValidatorFactoryBean does not support unwrap for native ValidatorFactory \[SPR-15561] [#20120](https://togithub.com/spring-projects/spring-framework/issues/20120)
- Multipart range requests leave file handles open \[SPR-15559] [#20118](https://togithub.com/spring-projects/spring-framework/issues/20118)
- o/s/mail/javamail mime.types has duplicate image/jpeg entries \[SPR-15557] [#20116](https://togithub.com/spring-projects/spring-framework/issues/20116)
- ResourceUtils.extractArchiveURL fails to work under Tomcat 8.0.41 with unpackWARs=false \[SPR-15556] [#20115](https://togithub.com/spring-projects/spring-framework/issues/20115)
- o/s/mail/javamail mime.types PNG mapped to image/x-png \[SPR-15546] [#20105](https://togithub.com/spring-projects/spring-framework/issues/20105)
- DefaultSubscriptionRegistry should prevent duplicate subscription id in accessCache \[SPR-15543] [#20102](https://togithub.com/spring-projects/spring-framework/issues/20102)
- WebJarsResourceResolver: multiple matches in case of multiple files with the same name in the same webjar \[SPR-15526] [#20085](https://togithub.com/spring-projects/spring-framework/issues/20085)
- HandlerExecutionChain toString() may miss interceptors \[SPR-15525] [#20084](https://togithub.com/spring-projects/spring-framework/issues/20084)
- "Not a setter" exception cannot be be thrown in Property.java \[SPR-15507] [#20066](https://togithub.com/spring-projects/spring-framework/issues/20066)
- AbstractFlashMapManager.isFlashMapForRequest does not inspect forwarded request coherently \[SPR-15505] [#20064](https://togithub.com/spring-projects/spring-framework/issues/20064)
- Deceptive error message in Spring Test ModelResultMatchers \[SPR-15487] [#20047](https://togithub.com/spring-projects/spring-framework/issues/20047)
- Last modified check of Resource created from Tomcat war:file: URL fails with FileNotFoundException \[SPR-15485] [#20045](https://togithub.com/spring-projects/spring-framework/issues/20045)
- AnnotationUtils.getValue() may hide relevant errors \[SPR-15481] [#20041](https://togithub.com/spring-projects/spring-framework/issues/20041)
#### :notebook_with_decorative_cover: Documentation
- Improve docs around the use of "Forwarded" and "X-Forwarded-\*" headers \[SPR-15612] [#20171](https://togithub.com/spring-projects/spring-framework/issues/20171)
- What's new section in 4.3.x reference should have introductory paragraphs \[SPR-15585] [#20144](https://togithub.com/spring-projects/spring-framework/issues/20144)
- Doc: Typo in ResponseBodyAdvice class description \[SPR-15466] [#20026](https://togithub.com/spring-projects/spring-framework/issues/20026)
### [`v4.3.8.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/tag/v4.3.8.RELEASE): 4.3.8 Release
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.3.7.RELEASE...v4.3.8.RELEASE)
#### :star: New Features
- Make SessionLocaleResolver's attribute name configurable \[SPR-15450] [#20011](https://togithub.com/spring-projects/spring-framework/issues/20011)
- Add constructor to ShadowingClassLoader to create an instance without default excludes \[SPR-15439] [#20000](https://togithub.com/spring-projects/spring-framework/issues/20000)
- Improve performance of StringUtils.replace() if pattern is not found \[SPR-15430] [#19991](https://togithub.com/spring-projects/spring-framework/issues/19991)
- Revise AcceptHeaderLocaleResolver default locale handling \[SPR-15426] [#19987](https://togithub.com/spring-projects/spring-framework/issues/19987)
- Minimize reflective interaction with annotation instances during retrieval \[SPR-15387] [#19950](https://togithub.com/spring-projects/spring-framework/issues/19950)
- Spring JDBC not correctly processing Postgresql ?| and ?& operator \[SPR-15382] [#19945](https://togithub.com/spring-projects/spring-framework/issues/19945)
- Make it easier to see the HTTP headers when debugging MockMvc-based tests \[SPR-15375] [#19939](https://togithub.com/spring-projects/spring-framework/issues/19939)
- GenericCallMetaDataProvider should not treat 'NULLABLE' column as boolean (for compatibility with latest Postgres driver) \[SPR-15333] [#19896](https://togithub.com/spring-projects/spring-framework/issues/19896)
- DefaultResponseErrorHandler should have its methods protected \[SPR-15329] [#19892](https://togithub.com/spring-projects/spring-framework/issues/19892)
- JRubyScriptFactory compatibility with JRuby 9.1.7+ \[SPR-15322] [#19885](https://togithub.com/spring-projects/spring-framework/issues/19885)
- Support for HtmlUnit 2.25+ \[SPR-15319] [#19882](https://togithub.com/spring-projects/spring-framework/issues/19882)
- Support for `@Lookup` methods within `@Configuration` classes \[SPR-15316] [#19879](https://togithub.com/spring-projects/spring-framework/issues/19879)
- sockjs heartbeat failure logged at ERROR level \[SPR-15307] [#19871](https://togithub.com/spring-projects/spring-framework/issues/19871)
- Session-scoped bean should have its state propagated to the HttpSession at the end of its initial request (even without further access) \[SPR-15300] [#19865](https://togithub.com/spring-projects/spring-framework/issues/19865)
- StandardMultipartFile.transferTo should fall back to manual copy if Part.write doesn't support absolute locations (e.g. on Jetty) \[SPR-15257] [#19822](https://togithub.com/spring-projects/spring-framework/issues/19822)
- Avoid re-retrieval of `@ResponseStatus` annotation for each request \[SPR-15227] [#19792](https://togithub.com/spring-projects/spring-framework/issues/19792)
#### :beetle: Bug Fixes
- ApplicationListener potentially invoked twice in circular reference with proxy \[SPR-15452] [#20013](https://togithub.com/spring-projects/spring-framework/issues/20013)
- When setting spring.freemarker.template-loader-path to an s3 bucket, the SpringTemplateLoader is not selected \[SPR-15445] [#20006](https://togithub.com/spring-projects/spring-framework/issues/20006)
- AbstractRecursiveAnnotationVisitor can't access a package protected enum value \[SPR-15442] [#20003](https://togithub.com/spring-projects/spring-framework/issues/20003)
- UnknownHostException not accepted as "resource not found" anymore \[SPR-15433] [#19994](https://togithub.com/spring-projects/spring-framework/issues/19994)
- ForwardedHeaderFilter.ForwardedHeaderRequestWrapper does not preserve ; \[SPR-15428] [#19989](https://togithub.com/spring-projects/spring-framework/issues/19989)
- ForwardedHeaderRequestWrapper should return a new StringBuffer instance on each invocation of the getRequestURL method \[SPR-15423] [#19984](https://togithub.com/spring-projects/spring-framework/issues/19984)
- ForwardedHeaderFilter.ForwardedHeaderRequestWrapper does not preserve encoding of requestURI \[SPR-15422] [#19983](https://togithub.com/spring-projects/spring-framework/issues/19983)
- UrlResource getFilename should not contain query parameters \[SPR-15411] [#19974](https://togithub.com/spring-projects/spring-framework/issues/19974)
- SettableListenableFuture setException is inconsistent with callbacks under race \[SPR-15409] [#19972](https://togithub.com/spring-projects/spring-framework/issues/19972)
- NullPointerException can happen in HttpRequestMethodNotSupportedException.getSupportedHttpMethods() \[SPR-15377] [#19941](https://togithub.com/spring-projects/spring-framework/issues/19941)
- VersionResourceResolver does not delegate path resolution to the chain \[SPR-15372] [#19936](https://togithub.com/spring-projects/spring-framework/issues/19936)
- PathMatchingResourcePatternResolver fails to work under Tomcat 8.0.41 with unpackWARs=false \[SPR-15332] [#19895](https://togithub.com/spring-projects/spring-framework/issues/19895)
#### :notebook_with_decorative_cover: Documentation
- Cache Abstraction: Improve unless condition with optional \[SPR-15449] [#20010](https://togithub.com/spring-projects/spring-framework/issues/20010)
- SpEL examples in chapter "Cache Abstraction" \[SPR-15448] [#20009](https://togithub.com/spring-projects/spring-framework/issues/20009)
- \[doc] Update `@ControllerAdvice` Javadoc to discuss ordering \[SPR-15432] [#19993](https://togithub.com/spring-projects/spring-framework/issues/19993)
### [`v4.3.7.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/tag/v4.3.7.RELEASE): 4.3.7 Release
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.3.6.RELEASE...v4.3.7.RELEASE)
#### :star: New Features
- Skip transaction/caching metadata retrieval for java.lang.Object methods \[SPR-15296] [#19861](https://togithub.com/spring-projects/spring-framework/issues/19861)
- MessageHeaderAccessor's MutableMessageHeaders should be serializable \[SPR-15262] [#19827](https://togithub.com/spring-projects/spring-framework/issues/19827)
- Consistently support CompletionStage next to CompletableFuture \[SPR-15258] [#19823](https://togithub.com/spring-projects/spring-framework/issues/19823)
- Database.SQL_SERVER should set more recent Hibernate dialect with Spring 4.3.x \[SPR-15255] [#19820](https://togithub.com/spring-projects/spring-framework/issues/19820)
- Allow configuring the ContentNegotiationManager in MockMVC standalone controller setup \[SPR-15248] [#19813](https://togithub.com/spring-projects/spring-framework/issues/19813)
- DefaultSubscriptionRegistry should prevent duplicate Subscriptions per subscription id \[SPR-15229] [#19794](https://togithub.com/spring-projects/spring-framework/issues/19794)
- Log failures to load PropertySources when ignoreResourceNotFound = true \[SPR-15218] [#19783](https://togithub.com/spring-projects/spring-framework/issues/19783)
- Support for read-only transactions with Oracle 12c JDBC driver \[SPR-15210] [#19774](https://togithub.com/spring-projects/spring-framework/issues/19774)
- TransactionSynchronizationManager - throw an Exception or log a warning if a Synchronization wants to add a Synchronization and afterCompletion is already called \[SPR-11590] [#16214](https://togithub.com/spring-projects/spring-framework/issues/16214)
#### :beetle: Bug Fixes
- `@Configuration` processing fails to handle AbstractFactoryBean.getObject() calls \[SPR-15275] [#19840](https://togithub.com/spring-projects/spring-framework/issues/19840)
- HEAD response has "Content-Length: 0" for `@RestController` `@GetMapping` methods \[SPR-15261] [#19826](https://togithub.com/spring-projects/spring-framework/issues/19826)
- RestTemplate with MockMvcClientHttpRequestFactory double encodes URIs \[SPR-15254] [#19819](https://togithub.com/spring-projects/spring-framework/issues/19819)
- RestTemplate with Netty produces two Content-Length headers \[SPR-15241] [#19806](https://togithub.com/spring-projects/spring-framework/issues/19806)
- MockHttpServletRequest.protocol default should be "HTTP/1.1", not "http" \[SPR-15232] [#19797](https://togithub.com/spring-projects/spring-framework/issues/19797)
- DispatcherServlet's multipart request parsing fails during Jetty error dispatch \[SPR-15231] [#19796](https://togithub.com/spring-projects/spring-framework/issues/19796)
- SettableListenableFuture may be successfully set with failureCallback executed and success callback ignored \[SPR-15216] [#19781](https://togithub.com/spring-projects/spring-framework/issues/19781)
- MockHttpServletRequest.getReader() returns null in case of no content \[SPR-15215] [#19780](https://togithub.com/spring-projects/spring-framework/issues/19780)
- Principal check in ServletRequestMethodArgumentResolver can result in type mismatches \[SPR-15214] [#19779](https://togithub.com/spring-projects/spring-framework/issues/19779)
- HTTP Response should not contain both Transfer-Encoding and Content-Length headers \[SPR-15212] [#19776](https://togithub.com/spring-projects/spring-framework/issues/19776)
- SettableListenableFuture may be both set and canceled successfully \[SPR-15202] [#19766](https://togithub.com/spring-projects/spring-framework/issues/19766)
- Spring does not clean up db connection registered in afterCompletion callback \[SPR-15194] [#19759](https://togithub.com/spring-projects/spring-framework/issues/19759)
- SpelCompiler VerifyError - Incompatible argument to function \[SPR-15192] [#19758](https://togithub.com/spring-projects/spring-framework/issues/19758)
- If backing Cache is down `@CacheResult` does not seamlessly call method (in contrast to `@Cacheable`) \[SPR-15188] [#19754](https://togithub.com/spring-projects/spring-framework/issues/19754)
- InterceptingClientHttpRequest replaces headers set in request factory instead of merging them \[SPR-15166] [#19732](https://togithub.com/spring-projects/spring-framework/issues/19732)
#### :notebook_with_decorative_cover: Documentation
- CronSequenceGenerator examples in documentation are incorrect \[SPR-15240] [#19805](https://togithub.com/spring-projects/spring-framework/issues/19805)
### [`v4.3.6.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/tag/v4.3.6.RELEASE): 4.3.6 Release
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.3.5.RELEASE...v4.3.6.RELEASE)
#### :star: New Features
- CookieLocaleResolver may disturb error rendering when locale cookie has a malformed value \[SPR-15182] [#19748](https://togithub.com/spring-projects/spring-framework/issues/19748)
- Tolerate null return from getNegotiatedExtensions (for Jetty 9.4.1 compatibility) \[SPR-15180] [#19746](https://togithub.com/spring-projects/spring-framework/issues/19746)
- DispatcherServet.checkMultipart() does not consider javax.servlet.error.exception that has a MultipartException cause \[SPR-15178] [#19744](https://togithub.com/spring-projects/spring-framework/issues/19744)
- Scheduled/JmsListenerAnnotationBeanPostProcessor free heap space \[SPR-15175] [#19741](https://togithub.com/spring-projects/spring-framework/issues/19741)
- MockRestServiceServer should allow for an expectation to never occur. \[SPR-15168] [#19734](https://togithub.com/spring-projects/spring-framework/issues/19734)
- MockSessionCookieConfig#maxAge defaults to 0 instead of -1 \[SPR-15142] [#19708](https://togithub.com/spring-projects/spring-framework/issues/19708)
- org.springframework.messaging.handler.invocation.InvocableHandlerMethod should not mention "controller" \[SPR-15139] [#19705](https://togithub.com/spring-projects/spring-framework/issues/19705)
- MockHttpServletRequestBuilder should support multiple locales \[SPR-15116] [#19683](https://togithub.com/spring-projects/spring-framework/issues/19683)
- Add MimeType and MediaType constants for RSS \[SPR-15109] [#19676](https://togithub.com/spring-projects/spring-framework/issues/19676)
- Update MySQLMaxValueIncrementer to not rely on MYISAM \[SPR-15107] [#19674](https://togithub.com/spring-projects/spring-framework/issues/19674)
- Netty4ClientHttpRequestFactory should use SNI for TLS connections \[SPR-15101] [#19668](https://togithub.com/spring-projects/spring-framework/issues/19668)
- Unable to specify factory bean in BeanDefinitionBuilder \[SPR-15098] [#19665](https://togithub.com/spring-projects/spring-framework/issues/19665)
- Clarify WebContentInterceptor path mappings and efficiently match them \[SPR-15096] [#19663](https://togithub.com/spring-projects/spring-framework/issues/19663)
- Improve performance of StringUtils.capitalize() \[SPR-15094] [#19661](https://togithub.com/spring-projects/spring-framework/issues/19661)
- Implement MessagingException.toString() \[SPR-15091] [#19657](https://togithub.com/spring-projects/spring-framework/issues/19657)
- GenericTableMetaDataProvider could use non standard named TableMeta-Schema if only one found \[SPR-15090] [#19656](https://togithub.com/spring-projects/spring-framework/issues/19656)
- Remove String#toCharArray from ScriptUtils \[SPR-15075] [#19641](https://togithub.com/spring-projects/spring-framework/issues/19641)
- Track bean dependencies for calls between `@Bean` methods within `@Configuration` classes \[SPR-15069] [#19635](https://togithub.com/spring-projects/spring-framework/issues/19635)
- xml websockets configuration does not mirror annotation configuration \[SPR-15068] [#19634](https://togithub.com/spring-projects/spring-framework/issues/19634)
- SchedulingConfigurer's ScheduledTaskRegistrar should reliably shut down before TaskScheduler \[SPR-15067] [#19633](https://togithub.com/spring-projects/spring-framework/issues/19633)
- Backport streamlined ClassPathBeanDefinitionScanner setup \[SPR-15061] [#19627](https://togithub.com/spring-projects/spring-framework/issues/19627)
- Remove unused Log object from MessageHeaderAccessor \[SPR-15045] [#19611](https://togithub.com/spring-projects/spring-framework/issues/19611)
- Backward compatibility: initDefaultStrategies() is no longer invoked on subclasses of "MessageListenerAdapter" \[SPR-15043] [#19609](https://togithub.com/spring-projects/spring-framework/issues/19609)
- `@Aspect` pointcut declarations do not support dynamically loaded classes \[SPR-15040] [#19606](https://togithub.com/spring-projects/spring-framework/issues/19606)
- Reactor2StompTcpClient should use a shared EventLoopGroup \[SPR-15035] [#19601](https://togithub.com/spring-projects/spring-framework/issues/19601)
- Consistent autowiring behavior for specifically typed injection points against loosely typed `@Bean` methods \[SPR-14960] [#19527](https://togithub.com/spring-projects/spring-framework/issues/19527)
- ContentCachingRequestWrapper can have maxContentLength to limit caching \[SPR-14829] [#19395](https://togithub.com/spring-projects/spring-framework/issues/19395)
- ScheduledAnnotationBeanPostProcessor should reliably apply after AnnotationAwareAspectJAutoProxyCreator \[SPR-14692] [#19256](https://togithub.com/spring-projects/spring-framework/issues/19256)
- Classes with abstract `@Lookup` methods not registered in case of classpath scanning \[SPR-14550] [#19118](https://togithub.com/spring-projects/spring-framework/issues/19118)
- Deterministic and JVM-independent `@Bean` registration order within Class-reflected configuration classes \[SPR-14505] [#19074](https://togithub.com/spring-projects/spring-framework/issues/19074)
- Allow configuring the message converter in HttpPutFormContentFilter \[SPR-14503] [#19072](https://togithub.com/spring-projects/spring-framework/issues/19072)
- getBeanNamesForType(ResolvableType) does not reliably work for beans with AOP proxies \[SPR-14097] [#18669](https://togithub.com/spring-projects/spring-framework/issues/18669)
#### :beetle: Bug Fixes
- InvocableHandlerMethod should call GenericTypeResolver with getBeanType() and only once \[SPR-15186] [#19752](https://togithub.com/spring-projects/spring-framework/issues/19752)
- HiddenHttpMethodFilter may disturb error rendering when handling malformed multipart request \[SPR-15179] [#19745](https://togithub.com/spring-projects/spring-framework/issues/19745)
- Collection autowiring does not resolve field-level type variable against containing class \[SPR-15160] [#19726](https://togithub.com/spring-projects/spring-framework/issues/19726)
- HeaderMethodArgumentResolver doesn't resolve Optional.empty() for non-existing header \[SPR-15151] [#19717](https://togithub.com/spring-projects/spring-framework/issues/19717)
- SimpleApplicationEventMulticaster should not rely on ClassCastException having a message \[SPR-15145] [#19711](https://togithub.com/spring-projects/spring-framework/issues/19711)
- Modification in AbstractAutowireCapableBeanFactory to prevent stackoverflow errors causes context not to load. \[SPR-15125] [#19692](https://togithub.com/spring-projects/spring-framework/issues/19692)
- Incorrect resolution of ResolvableAttributes when MessageSourceSupport#alwaysUseMessageFormat is true \[SPR-15123] [#19690](https://togithub.com/spring-projects/spring-framework/issues/19690)
- Can't autowire BiMap: container resolves non-matching Map of value beans \[SPR-15117] [#19684](https://togithub.com/spring-projects/spring-framework/issues/19684)
- DefaultRedirectStrategy.sendRedirect with relative URL and ForwardedHeaderFilter add contextpath to URL twice \[SPR-15088] [#19654](https://togithub.com/spring-projects/spring-framework/issues/19654)
- Spring validation crashes with Hibernate Validation 5 style list constraint violations \[SPR-15082] [#19648](https://togithub.com/spring-projects/spring-framework/issues/19648)
- Annotated method argument matching performance issue \[SPR-15060] [#19626](https://togithub.com/spring-projects/spring-framework/issues/19626)
- AutoProxyRegistrar throws NullPointer on `@kotlin`.Metadata Annotation \[SPR-15055] [#19621](https://togithub.com/spring-projects/spring-framework/issues/19621)
- Regression with poolTargetSource and scoped proxy \[SPR-15042] [#19608](https://togithub.com/spring-projects/spring-framework/issues/19608)
- Constant error 416 for a byte-range request with content type application/octet-stream \[SPR-15041] [#19607](https://togithub.com/spring-projects/spring-framework/issues/19607)
- ConcurrentModificationException in AbstractRequestExpectationManager \[SPR-15029] [#19596](https://togithub.com/spring-projects/spring-framework/issues/19596)
- LinkedCaseInsensitiveMap does not properly support Java 8's merge() and compute() methods \[SPR-15026] [#19593](https://togithub.com/spring-projects/spring-framework/issues/19593)
- Injecting bean in configurable class using load-time weaving broken when referenced on scoped-proxy class \[SPR-14892] [#19458](https://togithub.com/spring-projects/spring-framework/issues/19458)
#### :notebook_with_decorative_cover: Documentation
- Improve the logging documentation \[SPR-15170] [#19736](https://togithub.com/spring-projects/spring-framework/issues/19736)
- CookieLocaleResolver maxAge documentation wrong \[SPR-15155] [#19721](https://togithub.com/spring-projects/spring-framework/issues/19721)
### [`v4.3.5.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/tag/v4.3.5.RELEASE): 4.3.5 Release
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.3.4.RELEASE...v4.3.5.RELEASE)
#### :star: New Features
- ForwardedHeaderFilter should support sendRedirect \[SPR-15020] [#19587](https://togithub.com/spring-projects/spring-framework/issues/19587)
- JdbcTemplate should consistently delegate to getColumnMapRowMapper \[SPR-15018] [#19585](https://togithub.com/spring-projects/spring-framework/issues/19585)
- LocaleContextHolder default value should be customizable \[SPR-15017] [#19584](https://togithub.com/spring-projects/spring-framework/issues/19584)
- OkHttpClientHttpRequestFactory should allow POST requests without body \[SPR-15015] [#19582](https://togithub.com/spring-projects/spring-framework/issues/19582)
- getBeanNamesForType(ResolvableType) doesn't match generic factory method return type for yet-to-be-created bean \[SPR-15011] [#19578](https://togithub.com/spring-projects/spring-framework/issues/19578)
- Scoped EntityManager bean cannot get unwrapped to Session (with Hibernate 5.2) \[SPR-15010] [#19577](https://togithub.com/spring-projects/spring-framework/issues/19577)
- Cannot customize autoGrowCollectionLimit on `@InitBinder` method when set custom MessageCodesResolver to Spring MVC \[SPR-15009] [#19576](https://togithub.com/spring-projects/spring-framework/issues/19576)
- Support for java.util.Optional as a `@RequestBody` \[SPR-15007] [#19574](https://togithub.com/spring-projects/spring-framework/issues/19574)
- Provide a way to unregister a DataSource in SQLErrorCodesFactory \[SPR-15006] [#19573](https://togithub.com/spring-projects/spring-framework/issues/19573)
- Spring should tolerate zero-argument constructors with javax.inject.Inject \[SPR-15005] [#19572](https://togithub.com/spring-projects/spring-framework/issues/19572)
- Add request matchers for query parameters in MockRestRequestMatchers \[SPR-14995] [#19561](https://togithub.com/spring-projects/spring-framework/issues/19561)
- Update JdbcUtils to improve enum support \[SPR-14990] [#19556](https://togithub.com/spring-projects/spring-framework/issues/19556)
- `@GetMapping` method annotation uses consumes attribute from `@RequestMapping` class annotation \[SPR-14988] [#19554](https://togithub.com/spring-projects/spring-framework/issues/19554)
- MimeTypeUtils.parseMimeType should ignore an inner ";" inside a quoted value \[SPR-14986] [#19552](https://togithub.com/spring-projects/spring-framework/issues/19552)
- HttpInvokerClientInterceptor should not wrap client-side Error as RemoteAccessException \[SPR-14985] [#19551](https://togithub.com/spring-projects/spring-framework/issues/19551)
- `@DateTimeFormat`(iso = ISO.DATE_TIME) should use optimized formatter for LocalDateTime \[SPR-14958] [#19525](https://togithub.com/spring-projects/spring-framework/issues/19525)
- Shared DefaultConversionService instance e.g. for BeanPropertyRowMapper \[SPR-14948] [#19515](https://togithub.com/spring-projects/spring-framework/issues/19515)
- Normalize resource URL in ResourceServlet \[SPR-14946] [#19513](https://togithub.com/spring-projects/spring-framework/issues/19513)
- Include expression string in SpelParseException \[SPR-14942] [#19509](https://togithub.com/spring-projects/spring-framework/issues/19509)
- Support for Jetty 9.4 (and 9.3.15+) \[SPR-14940] [#19507](https://togithub.com/spring-projects/spring-framework/issues/19507)
- ResponseEntity builders should allow casting an empty body to any type \[SPR-14939] [#19506](https://togithub.com/spring-projects/spring-framework/issues/19506)
- Allow PayloadArgumentResolver to only apply to `@Payload` annotated parameters \[SPR-14937] [#19504](https://togithub.com/spring-projects/spring-framework/issues/19504)
- PathMatchingResourcePatternResolver finds duplicate resources for executable jars but not for executable wars \[SPR-14936] [#19503](https://togithub.com/spring-projects/spring-framework/issues/19503)
- Implement allocation-friendly method to get user count in SimpUserRegistry \[SPR-14930] [#19497](https://togithub.com/spring-projects/spring-framework/issues/19497)
- ResourceUrlEncodingFilter, ResourceUrlProvider should correctly resolve hash'ed resource paths \[SPR-14928] [#19495](https://togithub.com/spring-projects/spring-framework/issues/19495)
- Improve performance for conversions using a method parameter based type descriptor with annotations \[SPR-14926] [#19493](https://togithub.com/spring-projects/spring-framework/issues/19493)
- DefaultListableBeanFactory.copyConfigurationFrom should provide independent AutowireCandidateResolver instance \[SPR-14921] [#19488](https://togithub.com/spring-projects/spring-framework/issues/19488)
- HtmlUnitRequestBuilder ignores form encoding type \[SPR-14916] [#19483](https://togithub.com/spring-projects/spring-framework/issues/19483)
- Improve performance of STOMP message header encoding \[SPR-14901] [#19467](https://togithub.com/spring-projects/spring-framework/issues/19467)
- BeanPropertyRowMapper should be able to convert SQL timestamp to java.time.LocalDate/LocalTime \[SPR-14898] [#19464](https://togithub.com/spring-projects/spring-framework/issues/19464)
- getBeanDefinitionNames should not leak the frozenBeanDefinitionNames array \[SPR-14897] [#19463](https://togithub.com/spring-projects/spring-framework/issues/19463)
- Detect invalid configuration for autoGrowCollectionLimit on DataBinder \[SPR-14888] [#19454](https://togithub.com/spring-projects/spring-framework/issues/19454)
- Use String.intern() for Class reading \[SPR-14886] [#19452](https://togithub.com/spring-projects/spring-framework/issues/19452)
- Add PATCH HTTP operation to RestTemplate \[SPR-14857] [#19423](https://togithub.com/spring-projects/spring-framework/issues/19423)
- Spring WebSockets should support token-based authentication \[SPR-14690] [#19254](https://togithub.com/spring-projects/spring-framework/issues/19254)
- Add RedirectAttributesMethodArgumentResolver to the default argument resolvers in ExceptionHandlerExceptionResolver \[SPR-14651] [#19217](https://togithub.com/spring-projects/spring-framework/issues/19217)
- CommonsMultipartFile.getOriginalFilename() should be able to preserve header-specified filename as-is \[SPR-14613] [#19180](https://togithub.com/spring-projects/spring-framework/issues/19180)
#### :beetle: Bug Fixes
- MBeanExporter fails against null beans \[SPR-15031] [#19598](https://togithub.com/spring-projects/spring-framework/issues/19598)
- Pointcut evaluation fails against AbstractHandlerMethodMapping$MappingRegistry with AspectJ 1.8.10 \[SPR-15019] [#19586](https://togithub.com/spring-projects/spring-framework/issues/19586)
- Behaviour of field injection for List dependencies that are produced and consumed by the same configuration class has changed in 4.3.5 snapshots \[SPR-14996] [#19563](https://togithub.com/spring-projects/spring-framework/issues/19563)
- Concurrency problem in DeferredResult: potential double execution of handleResult \[SPR-14978] [#19544](https://togithub.com/spring-projects/spring-framework/issues/19544)
- ImportAware.setImportMetadata not invoked if import inherited from superclass with negative condition \[SPR-14972] [#19538](https://togithub.com/spring-projects/spring-framework/issues/19538)
- List-to-String conversion exception does not refer to element type \[SPR-14971] [#19537](https://togithub.com/spring-projects/spring-framework/issues/19537)
- Self reference fallback in 4.3 is not meant to apply to collection elements \[SPR-14965] [#19532](https://togithub.com/spring-projects/spring-framework/issues/19532)
- PathMatchingResourcePatternResolver provides duplicate resources with relative URL \[SPR-14934] [#19501](https://togithub.com/spring-projects/spring-framework/issues/19501)
- NPE in LoadTimeWeavingConfiguration: loadTimeWeaver() called too early \[SPR-14931] [#19498](https://togithub.com/spring-projects/spring-framework/issues/19498)
- ConversionService performance regression \[SPR-14929] [#19496](https://togithub.com/spring-projects/spring-framework/issues/19496)
- AbstractSockJsSession deadlock when tomcat WsSession is closing \[SPR-14917] [#19484](https://togithub.com/spring-projects/spring-framework/issues/19484)
- ExceptionHandlerExceptionResolver should not log propagated exceptions at warn level \[SPR-14907] [#19473](https://togithub.com/spring-projects/spring-framework/issues/19473)
- sse breaks with indenting serializer \[SPR-14899] [#19465](https://togithub.com/spring-projects/spring-framework/issues/19465)
- Content-based versions are not inserted into resource URLs in an error page \[SPR-14891] [#19457](https://togithub.com/spring-projects/spring-framework/issues/19457)
- Netty4ClientHttpRequestFactory should use SSL if port is 443 or scheme is https \[SPR-14889] [#19455](https://togithub.com/spring-projects/spring-framework/issues/19455)
- RestTemplate POST and PUT don't work with Netty4ClientHttpRequestFactory \[SPR-14860] [#19426](https://togithub.com/spring-projects/spring-framework/issues/19426)
#### :notebook_with_decorative_cover: Documentation
- SpEL and Date Literals \[SPR-14987] [#19553](https://togithub.com/spring-projects/spring-framework/issues/19553)
### [`v4.3.4.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/tag/v4.3.4.RELEASE): 4.3.4 Release
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.3.3.RELEASE...v4.3.4.RELEASE)
#### :star: New Features
- Improve exception when failing to create a specific bean due to a NoClassDefFoundError \[SPR-14883] [#19449](https://togithub.com/spring-projects/spring-framework/issues/19449)
- ApplicationListenerDetector should ignore non-managed bean instances \[SPR-14879] [#19445](https://togithub.com/spring-projects/spring-framework/issues/19445)
- Sockjs XHR Fallback on already existing WebSocketServerSockJsSession \[SPR-14867] [#19433](https://togithub.com/spring-projects/spring-framework/issues/19433)
- Use String.intern() for Annotation and Class scanning \[SPR-14862] [#19428](https://togithub.com/spring-projects/spring-framework/issues/19428)
- Log exception from `@ExceptionHandler` at higher level than debug \[SPR-14861] [#19427](https://togithub.com/spring-projects/spring-framework/issues/19427)
- Possibility to use org.springframework.cache.support.NoOpCacheManager.NoOpCache as public class as NoOpCacheManager \[SPR-14856] [#19422](https://togithub.com/spring-projects/spring-framework/issues/19422)
- TransactionStatus.flush() should trigger TransactionSynchronization.flush() when using DataSourceTransactionManager \[SPR-14847] [#19413](https://togithub.com/spring-projects/spring-framework/issues/19413)
- Make HttpComponentsAsyncClientHttpRequest abortable \[SPR-14845] [#19411](https://togithub.com/spring-projects/spring-framework/issues/19411)
- AnnotationFormatterFactory should support `@AliasFor` \[SPR-14844] [#19410](https://togithub.com/spring-projects/spring-framework/issues/19410)
- Type information not available on NoSuchBeanDefinitionException for collections \[SPR-14831] [#19397](https://togithub.com/spring-projects/spring-framework/issues/19397)
- Reso
This PR contains the following updates:
3.1.1.RELEASE
->4.3.14.RELEASE
By merging this PR, the issue #19 will be automatically resolved and closed:
Reachable
Unreachable
Release Notes
spring-projects/spring-framework (org.springframework:spring-core)
### [`v4.3.14.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/tag/v4.3.14.RELEASE): 4.3.14 Release [Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.3.13.RELEASE...v4.3.14.RELEASE) #### :star: New Features - Reduce access on user in SimpleBrokerMessageHandler.handleMessageInternal \[SPR-16264] [#20811](https://togithub.com/spring-projects/spring-framework/issues/20811) - config.enableSimpleBroker("/topic", "/queue"); Should be config.enableSimpleBroker("/topic", "queue"); \[SPR-16275] [#20822](https://togithub.com/spring-projects/spring-framework/issues/20822) - Allow to inject enum with package visibility \[SPR-16284] [#20831](https://togithub.com/spring-projects/spring-framework/issues/20831) - Improve performance of some string operations \[SPR-16293] [#20840](https://togithub.com/spring-projects/spring-framework/issues/20840) - ComponentScanBeanDefinitionParser::parseTypeFilters should not fail on ClassNotFoundException \[SPR-16356] [#20903](https://togithub.com/spring-projects/spring-framework/issues/20903) - Use ArrayList instead of LinkedList for known size \[SPR-16378] [#20924](https://togithub.com/spring-projects/spring-framework/issues/20924) #### :beetle: Bug Fixes - Error in RestTemplate when setting the same HTTP header through ClientHttpRequestInterceptor and HttpEntity \[SPR-15066] [#19632](https://togithub.com/spring-projects/spring-framework/issues/19632) - Combining `@Retryable` and `@Scheduled`/`@JmsListener` doesn't work \[SPR-16196] [#20744](https://togithub.com/spring-projects/spring-framework/issues/20744) - Exception when receiving Long collection in MessageMapping \[SPR-16252] [#20799](https://togithub.com/spring-projects/spring-framework/issues/20799) - NPE in FunctionReference due to race condition in SpelExpression.getValue() \[SPR-16255] [#20802](https://togithub.com/spring-projects/spring-framework/issues/20802) - spring-web CORS requires X-Forwarded-Port \[SPR-16262] [#20809](https://togithub.com/spring-projects/spring-framework/issues/20809) - Stomp Broker Relay may ignore configured destination prefixes \[SPR-16265] [#20812](https://togithub.com/spring-projects/spring-framework/issues/20812) - Embedded cglib 3.2.5 not closing input streams that read class files \[SPR-16267] [#20814](https://togithub.com/spring-projects/spring-framework/issues/20814) - BeanUtils.isSimpleValueType() returns false for enums overriding a method \[SPR-16278] [#20825](https://togithub.com/spring-projects/spring-framework/issues/20825) - Unnecessary file system access in SimpleMetadataReaderFactory.getMetadataReader \[SPR-16281] [#20828](https://togithub.com/spring-projects/spring-framework/issues/20828) - Ambiguous mapping error when using generic interface \[SPR-16288] [#20835](https://togithub.com/spring-projects/spring-framework/issues/20835) - Programmatic creation of caching proxies using CacheProxyFactoryBean does not work \[SPR-16295] [#20842](https://togithub.com/spring-projects/spring-framework/issues/20842) - Access-Control-Allow-Origin header returns wrong value using SockJS \[SPR-16304] [#20851](https://togithub.com/spring-projects/spring-framework/issues/20851) - Large transaction timeout value (Integer.MAX_VALUE for example) results in transaction expiring immediately after starting. \[SPR-16316] [#20863](https://togithub.com/spring-projects/spring-framework/issues/20863) - `@JmsListener` concurrency property is ignored if DefaultJmsListenerContainerFactory#concurrency is set \[SPR-16338] [#20885](https://togithub.com/spring-projects/spring-framework/issues/20885) - JMS Producers are cached even when the destination is a temporary queue causing a memory leak \[SPR-16353] [#20900](https://togithub.com/spring-projects/spring-framework/issues/20900) - TestExecutionListener class not found logged at INFO \[SPR-16369] [#20916](https://togithub.com/spring-projects/spring-framework/issues/20916) - EclipseLink does not log SQL parameters when using showSql \[SPR-16383] [#20929](https://togithub.com/spring-projects/spring-framework/issues/20929) - RestTemplate.ResponseEntityResponseExtractor doesn't tolerate unknown status codes \[SPR-16371] [#20918](https://togithub.com/spring-projects/spring-framework/issues/20918) - MockClientHttpResponse should not return null body \[SPR-16367] [#20914](https://togithub.com/spring-projects/spring-framework/issues/20914) - Null path after UriComponents.normalize() results in NullPointerException \[SPR-16364] [#20911](https://togithub.com/spring-projects/spring-framework/issues/20911) #### :notebook_with_decorative_cover: Documentation - Incorrect SpEL syntax in reference documentation \[SPR-16315] [#20862](https://togithub.com/spring-projects/spring-framework/issues/20862) ### [`v4.3.13.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/tag/v4.3.13.RELEASE): 4.3.13 Release [Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.3.12.RELEASE...v4.3.13.RELEASE) #### :star: New Features - Prevent WebSocket buffer overflow through application-level flow control \[SPR-16089] [#20638](https://togithub.com/spring-projects/spring-framework/issues/20638) - SchedulingConfigurer and JmsListenerConfigurer should respect `@Order` \[SPR-16090] [#20639](https://togithub.com/spring-projects/spring-framework/issues/20639) - Avoid temporary String creation in StringUtils.starts/endsWithIgnoreCase \[SPR-16095] [#20644](https://togithub.com/spring-projects/spring-framework/issues/20644) - Make JpaVendorAdapters JTA-aware (in particular for Hibernate 5.1/5.2) \[SPR-16162] [#20710](https://togithub.com/spring-projects/spring-framework/issues/20710) - Reduce access on headers for STOMP messaging \[SPR-16165] [#20713](https://togithub.com/spring-projects/spring-framework/issues/20713) - spring-jdbc : Improve memory allocations when substituting named parameters. \[SPR-16170] [#20718](https://togithub.com/spring-projects/spring-framework/issues/20718) #### :beetle: Bug Fixes - Checkbox/RadioButton incorrectly converts collections of enums with a custom converter \[SPR-16082] [#20631](https://togithub.com/spring-projects/spring-framework/issues/20631) - `@ModelAttribute` binding defined globally for particular attribute rather than per method invocation \[SPR-16083] [#20632](https://togithub.com/spring-projects/spring-framework/issues/20632) - WebSphereUowTransactionManager swallows original exception when commit fails for another reason \[SPR-16102] [#20650](https://togithub.com/spring-projects/spring-framework/issues/20650) - Incorrectly identify bridged method on interface \[SPR-16103] [#20651](https://togithub.com/spring-projects/spring-framework/issues/20651) - PathMatchingResourcePatternResolver returns duplicate resources when using classpath\* prefix \[SPR-16117] [#20665](https://togithub.com/spring-projects/spring-framework/issues/20665) - SpEL method invocation with varargs on proxy \[SPR-16122] [#20670](https://togithub.com/spring-projects/spring-framework/issues/20670) - AbstractRequestExpectationManager fails with "Expectations already declared" when ResponseCreator.createResponse throws an exception \[SPR-16132] [#20680](https://togithub.com/spring-projects/spring-framework/issues/20680) - MockHttpServletRequest with Host: set builds wrong getRequestURL() \[SPR-16138] [#20686](https://togithub.com/spring-projects/spring-framework/issues/20686) - ClassPathResource.createRelative is using wrong ClassPathResource constructor for the returned resource \[SPR-16146] [#20694](https://togithub.com/spring-projects/spring-framework/issues/20694) - Early ApplicationContext close call may lead to ApplicationEventMulticaster/LifecycleProcessor access exception \[SPR-16149] [#20697](https://togithub.com/spring-projects/spring-framework/issues/20697) - When using NamedParameterJdbcTemplate, NVARCHAR or NCLOB(4000 characters or less) columns are not properly populated since StatementCreatorUtils does setString for these types instead of setNString. \[SPR-16154] [#20702](https://togithub.com/spring-projects/spring-framework/issues/20702) - MockHttpServletResponse.getDateHeader fails with NPE for non-existing header \[SPR-16160] [#20708](https://togithub.com/spring-projects/spring-framework/issues/20708) - NumberFormatException caused by property paths from JSR-303 based validation with no index into a collection \[SPR-16177] [#20725](https://togithub.com/spring-projects/spring-framework/issues/20725) - Wrong byte code for compiled SpEL when JDK proxy method invocation is used \[SPR-16191] [#20739](https://togithub.com/spring-projects/spring-framework/issues/20739) - DefaultResponseErrorHandler.hasError doesn't tolerate unknown status codes \[SPR-16108] [#20656](https://togithub.com/spring-projects/spring-framework/issues/20656) - setArguments(null) on MethodInvoker no longer coerces null to Object\[0] \[SPR-16075] [#20624](https://togithub.com/spring-projects/spring-framework/issues/20624) - RequestMapping method returning Future with null result causes NullPointerException \[SPR-16072] [#20621](https://togithub.com/spring-projects/spring-framework/issues/20621) - WebAsyncManager concurrency issue with SseEmitter when client disconnect \[SPR-16058] [#20607](https://togithub.com/spring-projects/spring-framework/issues/20607) #### :notebook_with_decorative_cover: Documentation - Improve documentation of lite configuration mode \[SPR-16076] [#20625](https://togithub.com/spring-projects/spring-framework/issues/20625) - Clarify Bean destroyMethod documentation \[SPR-16078] [#20627](https://togithub.com/spring-projects/spring-framework/issues/20627) - Incorrect SpEL example in reference documentation \[SPR-16111] [#20659](https://togithub.com/spring-projects/spring-framework/issues/20659) - End of first-class JDK 6 support \[SPR-16185] [#20733](https://togithub.com/spring-projects/spring-framework/issues/20733) ### [`v4.3.12.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/tag/v4.3.12.RELEASE): 4.3.12 Release [Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.3.11.RELEASE...v4.3.12.RELEASE) #### :star: New Features - Add convenient method to construct ParameterizedTypeReference from Type \[SPR-16054] [#20603](https://togithub.com/spring-projects/spring-framework/issues/20603) - Backport s/s/m/j/o/s/m/w/MockPart.java from 5.x to 4.3.x \[SPR-15854] [#20409](https://togithub.com/spring-projects/spring-framework/issues/20409) #### :beetle: Bug Fixes - Request params Optional\and List are inconsistent \[SPR-15676] [#20235](https://togithub.com/spring-projects/spring-framework/issues/20235)
- java.util.Optional MultipartFile\[] `@RequestParam` argument is null in multipart/form-data POST \[SPR-15918] [#20472](https://togithub.com/spring-projects/spring-framework/issues/20472)
- only one MultipartFile object populated when using an java.util.Optional MutipartFile array or list `@RequestParam` \[SPR-15919] [#20473](https://togithub.com/spring-projects/spring-framework/issues/20473)
- HttpEntityMethodProcessor discards headers \[SPR-15952] [#20504](https://togithub.com/spring-projects/spring-framework/issues/20504)
- TaskExecutorRegistration.getTaskExecutor() overrides executor properties of a provided ThreadPoolTaskExecutor \[SPR-15962] [#20514](https://togithub.com/spring-projects/spring-framework/issues/20514)
- JmsMessagingTemplate is not correctly configured \[SPR-15965] [#20517](https://togithub.com/spring-projects/spring-framework/issues/20517)
- ChannelRegistration.setInterceptors is misnamed \[SPR-15976] [#20527](https://togithub.com/spring-projects/spring-framework/issues/20527)
- RestTemplate doesn't consistently tolerate unknown HTTP status codes \[SPR-15978] [#20529](https://togithub.com/spring-projects/spring-framework/issues/20529)
- PathMatchingResourcePatternResolver provides duplicate resources when using classpath\* prefix combined with ant-style \[SPR-15989] [#20539](https://togithub.com/spring-projects/spring-framework/issues/20539)
- Spring EL does not allow '\0' characters \[SPR-16032] [#20581](https://togithub.com/spring-projects/spring-framework/issues/20581)
- sort BeanDefinitionRegistryPostProcessors added by other BeanDefinitionRegistryPostProcessors \[SPR-16043] [#20592](https://togithub.com/spring-projects/spring-framework/issues/20592)
- SpelExpression throws NullPointerException instead of EvaluationException for primitives \[SPR-16123] [#20671](https://togithub.com/spring-projects/spring-framework/issues/20671)
### [`v4.3.11.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/tag/v4.3.11.RELEASE): 4.3.11 Release
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.3.10.RELEASE...v4.3.11.RELEASE)
#### :star: New Features
- `@Lazy` collection of optional elements should not crash when no candidates are found \[SPR-15858] [#20413](https://togithub.com/spring-projects/spring-framework/issues/20413)
- WebAsyncManager should cancel task thread on timeout \[SPR-15852] [#20407](https://togithub.com/spring-projects/spring-framework/issues/20407)
- Consistent logging in Environment and PropertySource implementations \[SPR-15825] [#20380](https://togithub.com/spring-projects/spring-framework/issues/20380)
#### :beetle: Bug Fixes
- StompDecoder Logs Null Session IDs for Heartbeats \[SPR-15937] [#20491](https://togithub.com/spring-projects/spring-framework/issues/20491)
- Error on type argument constraint validation failure \[SPR-15916] [#20470](https://togithub.com/spring-projects/spring-framework/issues/20470)
- StringIndexOutOfBoundsException from RestTemplate.doExecute IOException handler when query string is empty \[SPR-15900] [#20454](https://togithub.com/spring-projects/spring-framework/issues/20454)
- SimpleAsyncTaskExecutor not respect ConcurrencyThrottleSupport.NO_CONCURRENCY limit \[SPR-15895] [#20449](https://togithub.com/spring-projects/spring-framework/issues/20449)
- Should call getNativeResponse() instead of getNativeRequest() in FrameworkServlet \[SPR-15867] [#20422](https://togithub.com/spring-projects/spring-framework/issues/20422)
- Unable to use Hibernate Validator 4.3.2 if Bean Validation API 1.1 is on the classpath \[SPR-15856] [#20411](https://togithub.com/spring-projects/spring-framework/issues/20411)
- SimpleApplicationEventMulticaster does not deal with lambda-defined listeners when ErrorHandler is set \[SPR-15838] [#20393](https://togithub.com/spring-projects/spring-framework/issues/20393)
- spring-aspects should remain on AspectJ 1.8.9 by default (since aspectjrt 1.8.10 requires Java 7+) \[SPR-15836] [#20391](https://togithub.com/spring-projects/spring-framework/issues/20391)
- Parameter values are null when making a PUT request \[SPR-15828] [#20383](https://togithub.com/spring-projects/spring-framework/issues/20383)
- Follow-up: AbstractMethodError when calling validated method of MethodValidationPostProcessor is using a `@Lazy` validator \[SPR-15807] [#20362](https://togithub.com/spring-projects/spring-framework/issues/20362)
- Logs fill with broken pipe when using SockJS \[SPR-15802] [#20357](https://togithub.com/spring-projects/spring-framework/issues/20357)
- Invalid WARN when returning a BeanDefinitionRegistryPostProcessor from within a `@Configuration` class \[SPR-14603] [#19172](https://togithub.com/spring-projects/spring-framework/issues/19172)
### [`v4.3.10.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/tag/v4.3.10.RELEASE): 4.3.10 Release
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.3.9.RELEASE...v4.3.10.RELEASE)
#### :star: New Features
- Ignore (Auto)Closeable for interface-based proxy decision \[SPR-15779] [#20334](https://togithub.com/spring-projects/spring-framework/issues/20334)
- Bean factory method collision with configuration class name gives unclear error message \[SPR-15775] [#20330](https://togithub.com/spring-projects/spring-framework/issues/20330)
- CustomizableTraceInterceptor should allow INVOCATION_TIME placeholder in setExceptionMessage and make stack trace logging configurable \[SPR-15763] [#20318](https://togithub.com/spring-projects/spring-framework/issues/20318)
- LinkedCaseInsensitiveMap cannot access locale from subclass \[SPR-15752] [#20307](https://togithub.com/spring-projects/spring-framework/issues/20307)
- ForwardedHeaderFilter should expose option for not converting relative redirects to absolute ones \[SPR-15717] [#20273](https://togithub.com/spring-projects/spring-framework/issues/20273)
- AbstractValueAdaptingCache does not allow for flexible null value serialization \[SPR-15693] [#20252](https://togithub.com/spring-projects/spring-framework/issues/20252)
- Fine-tune HTTP/RMI Invoker exception handling \[SPR-15684] [#20243](https://togithub.com/spring-projects/spring-framework/issues/20243)
- Support CachingHttpAsyncClient from httpasyncclient-cache in HttpComponentsAsyncClientHttpRequestFactory \[SPR-15664] [#20223](https://togithub.com/spring-projects/spring-framework/issues/20223)
- Cron expression validation method in CronSequenceGenerator improved \[SPR-15604] [#20163](https://togithub.com/spring-projects/spring-framework/issues/20163)
- Upgrade to Objenesis 2.6 for Google App Engine Standard on Java 8 and for better JDK 9 support \[SPR-15600] [#20159](https://togithub.com/spring-projects/spring-framework/issues/20159)
#### :beetle: Bug Fixes
- UriUtils.extractFileExtension() does not properly handle all fragments \[SPR-15786] [#20341](https://togithub.com/spring-projects/spring-framework/issues/20341)
- PropertyOrFieldReference invalidly reuses cached PropertyAccessor \[SPR-15769] [#20324](https://togithub.com/spring-projects/spring-framework/issues/20324)
- ClassCastException during deserialization of ScopedObject \[SPR-15766] [#20321](https://togithub.com/spring-projects/spring-framework/issues/20321)
- AbstractJackson2HttpMessageConverter throws exception if log level is ERROR \[SPR-15760] [#20315](https://togithub.com/spring-projects/spring-framework/issues/20315)
- ReflectionTestUtils accidentally requires spring-aop on the classpath \[SPR-15757] [#20312](https://togithub.com/spring-projects/spring-framework/issues/20312)
- MockMvc duplicates PUT Parameter value \[SPR-15753] [#20308](https://togithub.com/spring-projects/spring-framework/issues/20308)
- JSP tags doesn't pick up JSTL-defined time zone at page level \[SPR-15746] [#20302](https://togithub.com/spring-projects/spring-framework/issues/20302)
- JMS Integration with Tibco causes deadlock while using DefaultMessageListenerContainer \[SPR-15738] [#20294](https://togithub.com/spring-projects/spring-framework/issues/20294)
- Memory Leak due to not pruning factoryBeanObjectCache when closing the ApplicationContext \[SPR-15722] [#20278](https://togithub.com/spring-projects/spring-framework/issues/20278)
- WebAsyncManager is not compatible with the crosscontext mode \[SPR-15709] [#20266](https://togithub.com/spring-projects/spring-framework/issues/20266)
- Netty4ClientHttpRequest does not include port along with host \[SPR-15706] [#20263](https://togithub.com/spring-projects/spring-framework/issues/20263)
- `@EventListener`'s 'condition' doesn't work as expected with proxied beans \[SPR-15678] [#20237](https://togithub.com/spring-projects/spring-framework/issues/20237)
- SimpleRequestExpectationManager fails with sequential calls with different count \[SPR-15672] [#20231](https://togithub.com/spring-projects/spring-framework/issues/20231)
### [`v4.3.9.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/tag/v4.3.9.RELEASE): 4.3.9 Release
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.3.8.RELEASE...v4.3.9.RELEASE)
#### :star: New Features
- ForwardedHeaderFilter should provide option to "remove" forwarded headers without using them \[SPR-15610] [#20169](https://togithub.com/spring-projects/spring-framework/issues/20169)
- Optimize DefaultUserDestinationResolver.resolveDestination() \[SPR-15602] [#20161](https://togithub.com/spring-projects/spring-framework/issues/20161)
- Inefficient use of keySet operators in messaging classes \[SPR-15553] [#20112](https://togithub.com/spring-projects/spring-framework/issues/20112)
- Increase log level in ExceptionWebSocketHandlerDecorator \[SPR-15537] [#20096](https://togithub.com/spring-projects/spring-framework/issues/20096)
- UriComponentsBuilder's fromHttpRequest uses server port as host port when handling the Forwarded header \[SPR-15504] [#20063](https://togithub.com/spring-projects/spring-framework/issues/20063)
- Also clear SerializableTypeWrapper when ResolvableType cache is cleared \[SPR-15503] [#20062](https://togithub.com/spring-projects/spring-framework/issues/20062)
- Defer StringHttpMessageConverter Charset.availableCharsets() call \[SPR-15502] [#20061](https://togithub.com/spring-projects/spring-framework/issues/20061)
- Allow for HttpOnly cookie result matcher \[SPR-15488] [#20048](https://togithub.com/spring-projects/spring-framework/issues/20048)
- Add getTargetCache to TransactionAwareCacheDecorator \[SPR-15479] [#20039](https://togithub.com/spring-projects/spring-framework/issues/20039)
- Optimize AntPathMatcher when checking for potential matches \[SPR-15477] [#20037](https://togithub.com/spring-projects/spring-framework/issues/20037)
- Lazily initialize Environment in GenericFilterBean (aligned with HttpServletBean) \[SPR-15469] [#20029](https://togithub.com/spring-projects/spring-framework/issues/20029)
- Honor `@Autowired`(required=false) at parameter level, as an alternative to java.util.Optional \[SPR-15268] [#19833](https://togithub.com/spring-projects/spring-framework/issues/19833)
#### :beetle: Bug Fixes
- AbstractMethodError when calling validated method of MethodValidationPostProcessor is using a `@Lazy` validator \[SPR-15629] [#20188](https://togithub.com/spring-projects/spring-framework/issues/20188)
- Poor diagnostics when Jackson cannot deserialise an application/json payload due to a missing deserialiser \[SPR-15582] [#20141](https://togithub.com/spring-projects/spring-framework/issues/20141)
- Consistently accept "taskExecutor" bean of type Executor (as stated in `@EnableAsync`'s javadoc) \[SPR-15566] [#20125](https://togithub.com/spring-projects/spring-framework/issues/20125)
- LocalValidatorFactoryBean does not support unwrap for native ValidatorFactory \[SPR-15561] [#20120](https://togithub.com/spring-projects/spring-framework/issues/20120)
- Multipart range requests leave file handles open \[SPR-15559] [#20118](https://togithub.com/spring-projects/spring-framework/issues/20118)
- o/s/mail/javamail mime.types has duplicate image/jpeg entries \[SPR-15557] [#20116](https://togithub.com/spring-projects/spring-framework/issues/20116)
- ResourceUtils.extractArchiveURL fails to work under Tomcat 8.0.41 with unpackWARs=false \[SPR-15556] [#20115](https://togithub.com/spring-projects/spring-framework/issues/20115)
- o/s/mail/javamail mime.types PNG mapped to image/x-png \[SPR-15546] [#20105](https://togithub.com/spring-projects/spring-framework/issues/20105)
- DefaultSubscriptionRegistry should prevent duplicate subscription id in accessCache \[SPR-15543] [#20102](https://togithub.com/spring-projects/spring-framework/issues/20102)
- WebJarsResourceResolver: multiple matches in case of multiple files with the same name in the same webjar \[SPR-15526] [#20085](https://togithub.com/spring-projects/spring-framework/issues/20085)
- HandlerExecutionChain toString() may miss interceptors \[SPR-15525] [#20084](https://togithub.com/spring-projects/spring-framework/issues/20084)
- "Not a setter" exception cannot be be thrown in Property.java \[SPR-15507] [#20066](https://togithub.com/spring-projects/spring-framework/issues/20066)
- AbstractFlashMapManager.isFlashMapForRequest does not inspect forwarded request coherently \[SPR-15505] [#20064](https://togithub.com/spring-projects/spring-framework/issues/20064)
- Deceptive error message in Spring Test ModelResultMatchers \[SPR-15487] [#20047](https://togithub.com/spring-projects/spring-framework/issues/20047)
- Last modified check of Resource created from Tomcat war:file: URL fails with FileNotFoundException \[SPR-15485] [#20045](https://togithub.com/spring-projects/spring-framework/issues/20045)
- AnnotationUtils.getValue() may hide relevant errors \[SPR-15481] [#20041](https://togithub.com/spring-projects/spring-framework/issues/20041)
#### :notebook_with_decorative_cover: Documentation
- Improve docs around the use of "Forwarded" and "X-Forwarded-\*" headers \[SPR-15612] [#20171](https://togithub.com/spring-projects/spring-framework/issues/20171)
- What's new section in 4.3.x reference should have introductory paragraphs \[SPR-15585] [#20144](https://togithub.com/spring-projects/spring-framework/issues/20144)
- Doc: Typo in ResponseBodyAdvice class description \[SPR-15466] [#20026](https://togithub.com/spring-projects/spring-framework/issues/20026)
### [`v4.3.8.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/tag/v4.3.8.RELEASE): 4.3.8 Release
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.3.7.RELEASE...v4.3.8.RELEASE)
#### :star: New Features
- Make SessionLocaleResolver's attribute name configurable \[SPR-15450] [#20011](https://togithub.com/spring-projects/spring-framework/issues/20011)
- Add constructor to ShadowingClassLoader to create an instance without default excludes \[SPR-15439] [#20000](https://togithub.com/spring-projects/spring-framework/issues/20000)
- Improve performance of StringUtils.replace() if pattern is not found \[SPR-15430] [#19991](https://togithub.com/spring-projects/spring-framework/issues/19991)
- Revise AcceptHeaderLocaleResolver default locale handling \[SPR-15426] [#19987](https://togithub.com/spring-projects/spring-framework/issues/19987)
- Minimize reflective interaction with annotation instances during retrieval \[SPR-15387] [#19950](https://togithub.com/spring-projects/spring-framework/issues/19950)
- Spring JDBC not correctly processing Postgresql ?| and ?& operator \[SPR-15382] [#19945](https://togithub.com/spring-projects/spring-framework/issues/19945)
- Make it easier to see the HTTP headers when debugging MockMvc-based tests \[SPR-15375] [#19939](https://togithub.com/spring-projects/spring-framework/issues/19939)
- GenericCallMetaDataProvider should not treat 'NULLABLE' column as boolean (for compatibility with latest Postgres driver) \[SPR-15333] [#19896](https://togithub.com/spring-projects/spring-framework/issues/19896)
- DefaultResponseErrorHandler should have its methods protected \[SPR-15329] [#19892](https://togithub.com/spring-projects/spring-framework/issues/19892)
- JRubyScriptFactory compatibility with JRuby 9.1.7+ \[SPR-15322] [#19885](https://togithub.com/spring-projects/spring-framework/issues/19885)
- Support for HtmlUnit 2.25+ \[SPR-15319] [#19882](https://togithub.com/spring-projects/spring-framework/issues/19882)
- Support for `@Lookup` methods within `@Configuration` classes \[SPR-15316] [#19879](https://togithub.com/spring-projects/spring-framework/issues/19879)
- sockjs heartbeat failure logged at ERROR level \[SPR-15307] [#19871](https://togithub.com/spring-projects/spring-framework/issues/19871)
- Session-scoped bean should have its state propagated to the HttpSession at the end of its initial request (even without further access) \[SPR-15300] [#19865](https://togithub.com/spring-projects/spring-framework/issues/19865)
- StandardMultipartFile.transferTo should fall back to manual copy if Part.write doesn't support absolute locations (e.g. on Jetty) \[SPR-15257] [#19822](https://togithub.com/spring-projects/spring-framework/issues/19822)
- Avoid re-retrieval of `@ResponseStatus` annotation for each request \[SPR-15227] [#19792](https://togithub.com/spring-projects/spring-framework/issues/19792)
#### :beetle: Bug Fixes
- ApplicationListener potentially invoked twice in circular reference with proxy \[SPR-15452] [#20013](https://togithub.com/spring-projects/spring-framework/issues/20013)
- When setting spring.freemarker.template-loader-path to an s3 bucket, the SpringTemplateLoader is not selected \[SPR-15445] [#20006](https://togithub.com/spring-projects/spring-framework/issues/20006)
- AbstractRecursiveAnnotationVisitor can't access a package protected enum value \[SPR-15442] [#20003](https://togithub.com/spring-projects/spring-framework/issues/20003)
- UnknownHostException not accepted as "resource not found" anymore \[SPR-15433] [#19994](https://togithub.com/spring-projects/spring-framework/issues/19994)
- ForwardedHeaderFilter.ForwardedHeaderRequestWrapper does not preserve ; \[SPR-15428] [#19989](https://togithub.com/spring-projects/spring-framework/issues/19989)
- ForwardedHeaderRequestWrapper should return a new StringBuffer instance on each invocation of the getRequestURL method \[SPR-15423] [#19984](https://togithub.com/spring-projects/spring-framework/issues/19984)
- ForwardedHeaderFilter.ForwardedHeaderRequestWrapper does not preserve encoding of requestURI \[SPR-15422] [#19983](https://togithub.com/spring-projects/spring-framework/issues/19983)
- UrlResource getFilename should not contain query parameters \[SPR-15411] [#19974](https://togithub.com/spring-projects/spring-framework/issues/19974)
- SettableListenableFuture setException is inconsistent with callbacks under race \[SPR-15409] [#19972](https://togithub.com/spring-projects/spring-framework/issues/19972)
- NullPointerException can happen in HttpRequestMethodNotSupportedException.getSupportedHttpMethods() \[SPR-15377] [#19941](https://togithub.com/spring-projects/spring-framework/issues/19941)
- VersionResourceResolver does not delegate path resolution to the chain \[SPR-15372] [#19936](https://togithub.com/spring-projects/spring-framework/issues/19936)
- PathMatchingResourcePatternResolver fails to work under Tomcat 8.0.41 with unpackWARs=false \[SPR-15332] [#19895](https://togithub.com/spring-projects/spring-framework/issues/19895)
#### :notebook_with_decorative_cover: Documentation
- Cache Abstraction: Improve unless condition with optional \[SPR-15449] [#20010](https://togithub.com/spring-projects/spring-framework/issues/20010)
- SpEL examples in chapter "Cache Abstraction" \[SPR-15448] [#20009](https://togithub.com/spring-projects/spring-framework/issues/20009)
- \[doc] Update `@ControllerAdvice` Javadoc to discuss ordering \[SPR-15432] [#19993](https://togithub.com/spring-projects/spring-framework/issues/19993)
### [`v4.3.7.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/tag/v4.3.7.RELEASE): 4.3.7 Release
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.3.6.RELEASE...v4.3.7.RELEASE)
#### :star: New Features
- Skip transaction/caching metadata retrieval for java.lang.Object methods \[SPR-15296] [#19861](https://togithub.com/spring-projects/spring-framework/issues/19861)
- MessageHeaderAccessor's MutableMessageHeaders should be serializable \[SPR-15262] [#19827](https://togithub.com/spring-projects/spring-framework/issues/19827)
- Consistently support CompletionStage next to CompletableFuture \[SPR-15258] [#19823](https://togithub.com/spring-projects/spring-framework/issues/19823)
- Database.SQL_SERVER should set more recent Hibernate dialect with Spring 4.3.x \[SPR-15255] [#19820](https://togithub.com/spring-projects/spring-framework/issues/19820)
- Allow configuring the ContentNegotiationManager in MockMVC standalone controller setup \[SPR-15248] [#19813](https://togithub.com/spring-projects/spring-framework/issues/19813)
- DefaultSubscriptionRegistry should prevent duplicate Subscriptions per subscription id \[SPR-15229] [#19794](https://togithub.com/spring-projects/spring-framework/issues/19794)
- Log failures to load PropertySources when ignoreResourceNotFound = true \[SPR-15218] [#19783](https://togithub.com/spring-projects/spring-framework/issues/19783)
- Support for read-only transactions with Oracle 12c JDBC driver \[SPR-15210] [#19774](https://togithub.com/spring-projects/spring-framework/issues/19774)
- TransactionSynchronizationManager - throw an Exception or log a warning if a Synchronization wants to add a Synchronization and afterCompletion is already called \[SPR-11590] [#16214](https://togithub.com/spring-projects/spring-framework/issues/16214)
#### :beetle: Bug Fixes
- `@Configuration` processing fails to handle AbstractFactoryBean.getObject() calls \[SPR-15275] [#19840](https://togithub.com/spring-projects/spring-framework/issues/19840)
- HEAD response has "Content-Length: 0" for `@RestController` `@GetMapping` methods \[SPR-15261] [#19826](https://togithub.com/spring-projects/spring-framework/issues/19826)
- RestTemplate with MockMvcClientHttpRequestFactory double encodes URIs \[SPR-15254] [#19819](https://togithub.com/spring-projects/spring-framework/issues/19819)
- RestTemplate with Netty produces two Content-Length headers \[SPR-15241] [#19806](https://togithub.com/spring-projects/spring-framework/issues/19806)
- MockHttpServletRequest.protocol default should be "HTTP/1.1", not "http" \[SPR-15232] [#19797](https://togithub.com/spring-projects/spring-framework/issues/19797)
- DispatcherServlet's multipart request parsing fails during Jetty error dispatch \[SPR-15231] [#19796](https://togithub.com/spring-projects/spring-framework/issues/19796)
- SettableListenableFuture may be successfully set with failureCallback executed and success callback ignored \[SPR-15216] [#19781](https://togithub.com/spring-projects/spring-framework/issues/19781)
- MockHttpServletRequest.getReader() returns null in case of no content \[SPR-15215] [#19780](https://togithub.com/spring-projects/spring-framework/issues/19780)
- Principal check in ServletRequestMethodArgumentResolver can result in type mismatches \[SPR-15214] [#19779](https://togithub.com/spring-projects/spring-framework/issues/19779)
- HTTP Response should not contain both Transfer-Encoding and Content-Length headers \[SPR-15212] [#19776](https://togithub.com/spring-projects/spring-framework/issues/19776)
- SettableListenableFuture may be both set and canceled successfully \[SPR-15202] [#19766](https://togithub.com/spring-projects/spring-framework/issues/19766)
- Spring does not clean up db connection registered in afterCompletion callback \[SPR-15194] [#19759](https://togithub.com/spring-projects/spring-framework/issues/19759)
- SpelCompiler VerifyError - Incompatible argument to function \[SPR-15192] [#19758](https://togithub.com/spring-projects/spring-framework/issues/19758)
- If backing Cache is down `@CacheResult` does not seamlessly call method (in contrast to `@Cacheable`) \[SPR-15188] [#19754](https://togithub.com/spring-projects/spring-framework/issues/19754)
- InterceptingClientHttpRequest replaces headers set in request factory instead of merging them \[SPR-15166] [#19732](https://togithub.com/spring-projects/spring-framework/issues/19732)
#### :notebook_with_decorative_cover: Documentation
- CronSequenceGenerator examples in documentation are incorrect \[SPR-15240] [#19805](https://togithub.com/spring-projects/spring-framework/issues/19805)
### [`v4.3.6.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/tag/v4.3.6.RELEASE): 4.3.6 Release
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.3.5.RELEASE...v4.3.6.RELEASE)
#### :star: New Features
- CookieLocaleResolver may disturb error rendering when locale cookie has a malformed value \[SPR-15182] [#19748](https://togithub.com/spring-projects/spring-framework/issues/19748)
- Tolerate null return from getNegotiatedExtensions (for Jetty 9.4.1 compatibility) \[SPR-15180] [#19746](https://togithub.com/spring-projects/spring-framework/issues/19746)
- DispatcherServet.checkMultipart() does not consider javax.servlet.error.exception that has a MultipartException cause \[SPR-15178] [#19744](https://togithub.com/spring-projects/spring-framework/issues/19744)
- Scheduled/JmsListenerAnnotationBeanPostProcessor free heap space \[SPR-15175] [#19741](https://togithub.com/spring-projects/spring-framework/issues/19741)
- MockRestServiceServer should allow for an expectation to never occur. \[SPR-15168] [#19734](https://togithub.com/spring-projects/spring-framework/issues/19734)
- MockSessionCookieConfig#maxAge defaults to 0 instead of -1 \[SPR-15142] [#19708](https://togithub.com/spring-projects/spring-framework/issues/19708)
- org.springframework.messaging.handler.invocation.InvocableHandlerMethod should not mention "controller" \[SPR-15139] [#19705](https://togithub.com/spring-projects/spring-framework/issues/19705)
- MockHttpServletRequestBuilder should support multiple locales \[SPR-15116] [#19683](https://togithub.com/spring-projects/spring-framework/issues/19683)
- Add MimeType and MediaType constants for RSS \[SPR-15109] [#19676](https://togithub.com/spring-projects/spring-framework/issues/19676)
- Update MySQLMaxValueIncrementer to not rely on MYISAM \[SPR-15107] [#19674](https://togithub.com/spring-projects/spring-framework/issues/19674)
- Netty4ClientHttpRequestFactory should use SNI for TLS connections \[SPR-15101] [#19668](https://togithub.com/spring-projects/spring-framework/issues/19668)
- Unable to specify factory bean in BeanDefinitionBuilder \[SPR-15098] [#19665](https://togithub.com/spring-projects/spring-framework/issues/19665)
- Clarify WebContentInterceptor path mappings and efficiently match them \[SPR-15096] [#19663](https://togithub.com/spring-projects/spring-framework/issues/19663)
- Improve performance of StringUtils.capitalize() \[SPR-15094] [#19661](https://togithub.com/spring-projects/spring-framework/issues/19661)
- Implement MessagingException.toString() \[SPR-15091] [#19657](https://togithub.com/spring-projects/spring-framework/issues/19657)
- GenericTableMetaDataProvider could use non standard named TableMeta-Schema if only one found \[SPR-15090] [#19656](https://togithub.com/spring-projects/spring-framework/issues/19656)
- Remove String#toCharArray from ScriptUtils \[SPR-15075] [#19641](https://togithub.com/spring-projects/spring-framework/issues/19641)
- Track bean dependencies for calls between `@Bean` methods within `@Configuration` classes \[SPR-15069] [#19635](https://togithub.com/spring-projects/spring-framework/issues/19635)
- xml websockets configuration does not mirror annotation configuration \[SPR-15068] [#19634](https://togithub.com/spring-projects/spring-framework/issues/19634)
- SchedulingConfigurer's ScheduledTaskRegistrar should reliably shut down before TaskScheduler \[SPR-15067] [#19633](https://togithub.com/spring-projects/spring-framework/issues/19633)
- Backport streamlined ClassPathBeanDefinitionScanner setup \[SPR-15061] [#19627](https://togithub.com/spring-projects/spring-framework/issues/19627)
- Remove unused Log object from MessageHeaderAccessor \[SPR-15045] [#19611](https://togithub.com/spring-projects/spring-framework/issues/19611)
- Backward compatibility: initDefaultStrategies() is no longer invoked on subclasses of "MessageListenerAdapter" \[SPR-15043] [#19609](https://togithub.com/spring-projects/spring-framework/issues/19609)
- `@Aspect` pointcut declarations do not support dynamically loaded classes \[SPR-15040] [#19606](https://togithub.com/spring-projects/spring-framework/issues/19606)
- Reactor2StompTcpClient should use a shared EventLoopGroup \[SPR-15035] [#19601](https://togithub.com/spring-projects/spring-framework/issues/19601)
- Consistent autowiring behavior for specifically typed injection points against loosely typed `@Bean` methods \[SPR-14960] [#19527](https://togithub.com/spring-projects/spring-framework/issues/19527)
- ContentCachingRequestWrapper can have maxContentLength to limit caching \[SPR-14829] [#19395](https://togithub.com/spring-projects/spring-framework/issues/19395)
- ScheduledAnnotationBeanPostProcessor should reliably apply after AnnotationAwareAspectJAutoProxyCreator \[SPR-14692] [#19256](https://togithub.com/spring-projects/spring-framework/issues/19256)
- Classes with abstract `@Lookup` methods not registered in case of classpath scanning \[SPR-14550] [#19118](https://togithub.com/spring-projects/spring-framework/issues/19118)
- Deterministic and JVM-independent `@Bean` registration order within Class-reflected configuration classes \[SPR-14505] [#19074](https://togithub.com/spring-projects/spring-framework/issues/19074)
- Allow configuring the message converter in HttpPutFormContentFilter \[SPR-14503] [#19072](https://togithub.com/spring-projects/spring-framework/issues/19072)
- getBeanNamesForType(ResolvableType) does not reliably work for beans with AOP proxies \[SPR-14097] [#18669](https://togithub.com/spring-projects/spring-framework/issues/18669)
#### :beetle: Bug Fixes
- InvocableHandlerMethod should call GenericTypeResolver with getBeanType() and only once \[SPR-15186] [#19752](https://togithub.com/spring-projects/spring-framework/issues/19752)
- HiddenHttpMethodFilter may disturb error rendering when handling malformed multipart request \[SPR-15179] [#19745](https://togithub.com/spring-projects/spring-framework/issues/19745)
- Collection autowiring does not resolve field-level type variable against containing class \[SPR-15160] [#19726](https://togithub.com/spring-projects/spring-framework/issues/19726)
- HeaderMethodArgumentResolver doesn't resolve Optional.empty() for non-existing header \[SPR-15151] [#19717](https://togithub.com/spring-projects/spring-framework/issues/19717)
- SimpleApplicationEventMulticaster should not rely on ClassCastException having a message \[SPR-15145] [#19711](https://togithub.com/spring-projects/spring-framework/issues/19711)
- Modification in AbstractAutowireCapableBeanFactory to prevent stackoverflow errors causes context not to load. \[SPR-15125] [#19692](https://togithub.com/spring-projects/spring-framework/issues/19692)
- Incorrect resolution of ResolvableAttributes when MessageSourceSupport#alwaysUseMessageFormat is true \[SPR-15123] [#19690](https://togithub.com/spring-projects/spring-framework/issues/19690)
- Can't autowire BiMap: container resolves non-matching Map of value beans \[SPR-15117] [#19684](https://togithub.com/spring-projects/spring-framework/issues/19684)
- DefaultRedirectStrategy.sendRedirect with relative URL and ForwardedHeaderFilter add contextpath to URL twice \[SPR-15088] [#19654](https://togithub.com/spring-projects/spring-framework/issues/19654)
- Spring validation crashes with Hibernate Validation 5 style list constraint violations \[SPR-15082] [#19648](https://togithub.com/spring-projects/spring-framework/issues/19648)
- Annotated method argument matching performance issue \[SPR-15060] [#19626](https://togithub.com/spring-projects/spring-framework/issues/19626)
- AutoProxyRegistrar throws NullPointer on `@kotlin`.Metadata Annotation \[SPR-15055] [#19621](https://togithub.com/spring-projects/spring-framework/issues/19621)
- Regression with poolTargetSource and scoped proxy \[SPR-15042] [#19608](https://togithub.com/spring-projects/spring-framework/issues/19608)
- Constant error 416 for a byte-range request with content type application/octet-stream \[SPR-15041] [#19607](https://togithub.com/spring-projects/spring-framework/issues/19607)
- ConcurrentModificationException in AbstractRequestExpectationManager \[SPR-15029] [#19596](https://togithub.com/spring-projects/spring-framework/issues/19596)
- LinkedCaseInsensitiveMap does not properly support Java 8's merge() and compute() methods \[SPR-15026] [#19593](https://togithub.com/spring-projects/spring-framework/issues/19593)
- Injecting bean in configurable class using load-time weaving broken when referenced on scoped-proxy class \[SPR-14892] [#19458](https://togithub.com/spring-projects/spring-framework/issues/19458)
#### :notebook_with_decorative_cover: Documentation
- Improve the logging documentation \[SPR-15170] [#19736](https://togithub.com/spring-projects/spring-framework/issues/19736)
- CookieLocaleResolver maxAge documentation wrong \[SPR-15155] [#19721](https://togithub.com/spring-projects/spring-framework/issues/19721)
### [`v4.3.5.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/tag/v4.3.5.RELEASE): 4.3.5 Release
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.3.4.RELEASE...v4.3.5.RELEASE)
#### :star: New Features
- ForwardedHeaderFilter should support sendRedirect \[SPR-15020] [#19587](https://togithub.com/spring-projects/spring-framework/issues/19587)
- JdbcTemplate should consistently delegate to getColumnMapRowMapper \[SPR-15018] [#19585](https://togithub.com/spring-projects/spring-framework/issues/19585)
- LocaleContextHolder default value should be customizable \[SPR-15017] [#19584](https://togithub.com/spring-projects/spring-framework/issues/19584)
- OkHttpClientHttpRequestFactory should allow POST requests without body \[SPR-15015] [#19582](https://togithub.com/spring-projects/spring-framework/issues/19582)
- getBeanNamesForType(ResolvableType) doesn't match generic factory method return type for yet-to-be-created bean \[SPR-15011] [#19578](https://togithub.com/spring-projects/spring-framework/issues/19578)
- Scoped EntityManager bean cannot get unwrapped to Session (with Hibernate 5.2) \[SPR-15010] [#19577](https://togithub.com/spring-projects/spring-framework/issues/19577)
- Cannot customize autoGrowCollectionLimit on `@InitBinder` method when set custom MessageCodesResolver to Spring MVC \[SPR-15009] [#19576](https://togithub.com/spring-projects/spring-framework/issues/19576)
- Support for java.util.Optional as a `@RequestBody` \[SPR-15007] [#19574](https://togithub.com/spring-projects/spring-framework/issues/19574)
- Provide a way to unregister a DataSource in SQLErrorCodesFactory \[SPR-15006] [#19573](https://togithub.com/spring-projects/spring-framework/issues/19573)
- Spring should tolerate zero-argument constructors with javax.inject.Inject \[SPR-15005] [#19572](https://togithub.com/spring-projects/spring-framework/issues/19572)
- Add request matchers for query parameters in MockRestRequestMatchers \[SPR-14995] [#19561](https://togithub.com/spring-projects/spring-framework/issues/19561)
- Update JdbcUtils to improve enum support \[SPR-14990] [#19556](https://togithub.com/spring-projects/spring-framework/issues/19556)
- `@GetMapping` method annotation uses consumes attribute from `@RequestMapping` class annotation \[SPR-14988] [#19554](https://togithub.com/spring-projects/spring-framework/issues/19554)
- MimeTypeUtils.parseMimeType should ignore an inner ";" inside a quoted value \[SPR-14986] [#19552](https://togithub.com/spring-projects/spring-framework/issues/19552)
- HttpInvokerClientInterceptor should not wrap client-side Error as RemoteAccessException \[SPR-14985] [#19551](https://togithub.com/spring-projects/spring-framework/issues/19551)
- `@DateTimeFormat`(iso = ISO.DATE_TIME) should use optimized formatter for LocalDateTime \[SPR-14958] [#19525](https://togithub.com/spring-projects/spring-framework/issues/19525)
- Shared DefaultConversionService instance e.g. for BeanPropertyRowMapper \[SPR-14948] [#19515](https://togithub.com/spring-projects/spring-framework/issues/19515)
- Normalize resource URL in ResourceServlet \[SPR-14946] [#19513](https://togithub.com/spring-projects/spring-framework/issues/19513)
- Include expression string in SpelParseException \[SPR-14942] [#19509](https://togithub.com/spring-projects/spring-framework/issues/19509)
- Support for Jetty 9.4 (and 9.3.15+) \[SPR-14940] [#19507](https://togithub.com/spring-projects/spring-framework/issues/19507)
- ResponseEntity builders should allow casting an empty body to any type \[SPR-14939] [#19506](https://togithub.com/spring-projects/spring-framework/issues/19506)
- Allow PayloadArgumentResolver to only apply to `@Payload` annotated parameters \[SPR-14937] [#19504](https://togithub.com/spring-projects/spring-framework/issues/19504)
- PathMatchingResourcePatternResolver finds duplicate resources for executable jars but not for executable wars \[SPR-14936] [#19503](https://togithub.com/spring-projects/spring-framework/issues/19503)
- Implement allocation-friendly method to get user count in SimpUserRegistry \[SPR-14930] [#19497](https://togithub.com/spring-projects/spring-framework/issues/19497)
- ResourceUrlEncodingFilter, ResourceUrlProvider should correctly resolve hash'ed resource paths \[SPR-14928] [#19495](https://togithub.com/spring-projects/spring-framework/issues/19495)
- Improve performance for conversions using a method parameter based type descriptor with annotations \[SPR-14926] [#19493](https://togithub.com/spring-projects/spring-framework/issues/19493)
- DefaultListableBeanFactory.copyConfigurationFrom should provide independent AutowireCandidateResolver instance \[SPR-14921] [#19488](https://togithub.com/spring-projects/spring-framework/issues/19488)
- HtmlUnitRequestBuilder ignores form encoding type \[SPR-14916] [#19483](https://togithub.com/spring-projects/spring-framework/issues/19483)
- Improve performance of STOMP message header encoding \[SPR-14901] [#19467](https://togithub.com/spring-projects/spring-framework/issues/19467)
- BeanPropertyRowMapper should be able to convert SQL timestamp to java.time.LocalDate/LocalTime \[SPR-14898] [#19464](https://togithub.com/spring-projects/spring-framework/issues/19464)
- getBeanDefinitionNames should not leak the frozenBeanDefinitionNames array \[SPR-14897] [#19463](https://togithub.com/spring-projects/spring-framework/issues/19463)
- Detect invalid configuration for autoGrowCollectionLimit on DataBinder \[SPR-14888] [#19454](https://togithub.com/spring-projects/spring-framework/issues/19454)
- Use String.intern() for Class reading \[SPR-14886] [#19452](https://togithub.com/spring-projects/spring-framework/issues/19452)
- Add PATCH HTTP operation to RestTemplate \[SPR-14857] [#19423](https://togithub.com/spring-projects/spring-framework/issues/19423)
- Spring WebSockets should support token-based authentication \[SPR-14690] [#19254](https://togithub.com/spring-projects/spring-framework/issues/19254)
- Add RedirectAttributesMethodArgumentResolver to the default argument resolvers in ExceptionHandlerExceptionResolver \[SPR-14651] [#19217](https://togithub.com/spring-projects/spring-framework/issues/19217)
- CommonsMultipartFile.getOriginalFilename() should be able to preserve header-specified filename as-is \[SPR-14613] [#19180](https://togithub.com/spring-projects/spring-framework/issues/19180)
#### :beetle: Bug Fixes
- MBeanExporter fails against null beans \[SPR-15031] [#19598](https://togithub.com/spring-projects/spring-framework/issues/19598)
- Pointcut evaluation fails against AbstractHandlerMethodMapping$MappingRegistry with AspectJ 1.8.10 \[SPR-15019] [#19586](https://togithub.com/spring-projects/spring-framework/issues/19586)
- Behaviour of field injection for List dependencies that are produced and consumed by the same configuration class has changed in 4.3.5 snapshots \[SPR-14996] [#19563](https://togithub.com/spring-projects/spring-framework/issues/19563)
- Concurrency problem in DeferredResult: potential double execution of handleResult \[SPR-14978] [#19544](https://togithub.com/spring-projects/spring-framework/issues/19544)
- ImportAware.setImportMetadata not invoked if import inherited from superclass with negative condition \[SPR-14972] [#19538](https://togithub.com/spring-projects/spring-framework/issues/19538)
- List-to-String conversion exception does not refer to element type \[SPR-14971] [#19537](https://togithub.com/spring-projects/spring-framework/issues/19537)
- Self reference fallback in 4.3 is not meant to apply to collection elements \[SPR-14965] [#19532](https://togithub.com/spring-projects/spring-framework/issues/19532)
- PathMatchingResourcePatternResolver provides duplicate resources with relative URL \[SPR-14934] [#19501](https://togithub.com/spring-projects/spring-framework/issues/19501)
- NPE in LoadTimeWeavingConfiguration: loadTimeWeaver() called too early \[SPR-14931] [#19498](https://togithub.com/spring-projects/spring-framework/issues/19498)
- ConversionService performance regression \[SPR-14929] [#19496](https://togithub.com/spring-projects/spring-framework/issues/19496)
- AbstractSockJsSession deadlock when tomcat WsSession is closing \[SPR-14917] [#19484](https://togithub.com/spring-projects/spring-framework/issues/19484)
- ExceptionHandlerExceptionResolver should not log propagated exceptions at warn level \[SPR-14907] [#19473](https://togithub.com/spring-projects/spring-framework/issues/19473)
- sse breaks with indenting serializer \[SPR-14899] [#19465](https://togithub.com/spring-projects/spring-framework/issues/19465)
- Content-based versions are not inserted into resource URLs in an error page \[SPR-14891] [#19457](https://togithub.com/spring-projects/spring-framework/issues/19457)
- Netty4ClientHttpRequestFactory should use SSL if port is 443 or scheme is https \[SPR-14889] [#19455](https://togithub.com/spring-projects/spring-framework/issues/19455)
- RestTemplate POST and PUT don't work with Netty4ClientHttpRequestFactory \[SPR-14860] [#19426](https://togithub.com/spring-projects/spring-framework/issues/19426)
#### :notebook_with_decorative_cover: Documentation
- SpEL and Date Literals \[SPR-14987] [#19553](https://togithub.com/spring-projects/spring-framework/issues/19553)
### [`v4.3.4.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/tag/v4.3.4.RELEASE): 4.3.4 Release
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.3.3.RELEASE...v4.3.4.RELEASE)
#### :star: New Features
- Improve exception when failing to create a specific bean due to a NoClassDefFoundError \[SPR-14883] [#19449](https://togithub.com/spring-projects/spring-framework/issues/19449)
- ApplicationListenerDetector should ignore non-managed bean instances \[SPR-14879] [#19445](https://togithub.com/spring-projects/spring-framework/issues/19445)
- Sockjs XHR Fallback on already existing WebSocketServerSockJsSession \[SPR-14867] [#19433](https://togithub.com/spring-projects/spring-framework/issues/19433)
- Use String.intern() for Annotation and Class scanning \[SPR-14862] [#19428](https://togithub.com/spring-projects/spring-framework/issues/19428)
- Log exception from `@ExceptionHandler` at higher level than debug \[SPR-14861] [#19427](https://togithub.com/spring-projects/spring-framework/issues/19427)
- Possibility to use org.springframework.cache.support.NoOpCacheManager.NoOpCache as public class as NoOpCacheManager \[SPR-14856] [#19422](https://togithub.com/spring-projects/spring-framework/issues/19422)
- TransactionStatus.flush() should trigger TransactionSynchronization.flush() when using DataSourceTransactionManager \[SPR-14847] [#19413](https://togithub.com/spring-projects/spring-framework/issues/19413)
- Make HttpComponentsAsyncClientHttpRequest abortable \[SPR-14845] [#19411](https://togithub.com/spring-projects/spring-framework/issues/19411)
- AnnotationFormatterFactory should support `@AliasFor` \[SPR-14844] [#19410](https://togithub.com/spring-projects/spring-framework/issues/19410)
- Type information not available on NoSuchBeanDefinitionException for collections \[SPR-14831] [#19397](https://togithub.com/spring-projects/spring-framework/issues/19397)
- Reso