spring-projects/spring-framework
### [`v4.1.9.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/v4.1.9.RELEASE)
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.1.8.RELEASE...v4.1.9.RELEASE)
#### :star: New Features
- Allow setting custom ClassPathBeanDefinitionScanner on AnnotationConfigWebApplicationContext \[SPR-9324] [#13962](https://togithub.com/spring-projects/spring-framework/issues/13962)
- Skip Content-Disposition header when status != 2xx \[SPR-13588] [#18165](https://togithub.com/spring-projects/spring-framework/issues/18165)
- Avoid NPE for anonymous SqlParameter in CallMetaDataContext \[SPR-13628] [#18206](https://togithub.com/spring-projects/spring-framework/issues/18206)
- Content-Disposition with fixed file name "f.txt" causes confusion \[SPR-13643] [#18220](https://togithub.com/spring-projects/spring-framework/issues/18220)
- Revisit BeansException warn logging after startup failure \[SPR-13663] [#18238](https://togithub.com/spring-projects/spring-framework/issues/18238)
- Implement containsKey for HttpHeaders returned from ServletServerHttpResponse \[SPR-13668] [#18243](https://togithub.com/spring-projects/spring-framework/issues/18243)
- BeanFactoryAnnotationUtils.qualifiedBeanOfType should not instantiate all beans of given type before checking qualifier \[SPR-13741] [#18314](https://togithub.com/spring-projects/spring-framework/issues/18314)
- Configure view controllers with the ApplicationContext \[SPR-13762] [#18335](https://togithub.com/spring-projects/spring-framework/issues/18335)
- AbstractRequestLoggingFilter with startAsync: unwrap request to find ContentCachingRequestWrapper \[SPR-13764] [#18338](https://togithub.com/spring-projects/spring-framework/issues/18338)
- Support for Microsoft SQL Server driver version 4 and above \[SPR-13772] [#18346](https://togithub.com/spring-projects/spring-framework/issues/18346)
- Allow for setting TTL on a response sent by `@JmsListener` \[SPR-13774] [#18348](https://togithub.com/spring-projects/spring-framework/issues/18348)
- Defensive error reporting when ConfigurationClassParser introspects declared methods via StandardAnnotationMetadata \[SPR-13791] [#18364](https://togithub.com/spring-projects/spring-framework/issues/18364)
#### :beetle: Bug Fixes
- SpEL compiler creating bad byte code for some values that are added together via OpPlus \[SPR-12426] [#17032](https://togithub.com/spring-projects/spring-framework/issues/17032)
- does not reliably find declared ContentNegotiationManager \[SPR-13559] [#18135](https://togithub.com/spring-projects/spring-framework/issues/18135)
- Content-Disposition header causes download in browser for Spring Boot Actuator endpoints \[SPR-13587] [#18164](https://togithub.com/spring-projects/spring-framework/issues/18164)
- AbstractJdbcCall's compiled variable should be declared as volatile \[SPR-13617] [#18195](https://togithub.com/spring-projects/spring-framework/issues/18195)
- webjars resource handling may run into NPE in JarURLInputStream \[SPR-13620] [#18198](https://togithub.com/spring-projects/spring-framework/issues/18198)
- Content-Disposition added for `@ResponseBody` methods explicitly mapped to ".html" or other extensions \[SPR-13629] [#18207](https://togithub.com/spring-projects/spring-framework/issues/18207)
- SerializableTypeWrapper.MethodInvokeTypeProvider can be exploited for unsafe deserialization \[SPR-13656] [#18232](https://togithub.com/spring-projects/spring-framework/issues/18232)
- CommonsMultipartFile.getOriginalFilename() does not strip file path properly \[SPR-13662] [#18237](https://togithub.com/spring-projects/spring-framework/issues/18237)
- AbstractApplicationContext.isRunning throws IllegalStateException when called too early \[SPR-13667] [#18242](https://togithub.com/spring-projects/spring-framework/issues/18242)
- SimpAnnotationMethodMessageHandler fails when no applicationDestinationPrefixes configured or Rabbit endpoint present \[SPR-13704] [#18279](https://togithub.com/spring-projects/spring-framework/issues/18279)
- CssLinkResourceTransformer is incompatible with FixedVersionStrategy VersionResourceResolver \[SPR-13727] [#18300](https://togithub.com/spring-projects/spring-framework/issues/18300)
- SubProtocolWebSocketHandler does not update lastSessionCheckTime \[SPR-13745] [#18318](https://togithub.com/spring-projects/spring-framework/issues/18318)
- The URL content negotiation "format" parameter values are case sensitive and only lowercase values are accepted \[SPR-13747] [#18320](https://togithub.com/spring-projects/spring-framework/issues/18320)
- MockHttpServletResponse.setIntHeader throws exception for 'Content-Length' header \[SPR-13752] [#18325](https://togithub.com/spring-projects/spring-framework/issues/18325)
- Second call to MVC handler method with Optional parameter fails with argument type mismatch \[SPR-13755] [#18328](https://togithub.com/spring-projects/spring-framework/issues/18328)
- ResourceUrlEncodingFilter improperly encodes URLs on root page \[SPR-13757] [#18330](https://togithub.com/spring-projects/spring-framework/issues/18330)
- ControllerAdviceBean javadoc is inconsistent with its implementation \[SPR-13759] [#18332](https://togithub.com/spring-projects/spring-framework/issues/18332)
- allowed-origins are not resolved from properties variables \[SPR-13760] [#18333](https://togithub.com/spring-projects/spring-framework/issues/18333)
- Inefficient and inconsistent setAllowedOrigins collection types in AbstractSockJsService/OriginHandshakeInterceptor \[SPR-13761] [#18334](https://togithub.com/spring-projects/spring-framework/issues/18334)
- MessagingMessageListenerAdapter provides a BytesMessage that has already been read \[SPR-13769] [#18343](https://togithub.com/spring-projects/spring-framework/issues/18343)
- VerifyError when trying to compile constructor invocation with SpEL \[SPR-13781] [#18355](https://togithub.com/spring-projects/spring-framework/issues/18355)
- Jdbc4SqlXmlHandler should return null as documented (instead of throwing NPE) \[SPR-13782] [#18356](https://togithub.com/spring-projects/spring-framework/issues/18356)
- VersionResourceResolver's versionStrategyMap should keep insertion order \[SPR-13798] [#18371](https://togithub.com/spring-projects/spring-framework/issues/18371)
#### :notebook_with_decorative_cover: Documentation
- Fix cron trigger example in reference documentation \[SPR-10474] [#15107](https://togithub.com/spring-projects/spring-framework/issues/15107)
- Revisit remaining XmlBeanFactory usage in reference documentation \[SPR-13485] [#18064](https://togithub.com/spring-projects/spring-framework/issues/18064)
- Error in RequestEntity's javadoc \[SPR-13666] [#18241](https://togithub.com/spring-projects/spring-framework/issues/18241)
- Cacheable#key should define the available arguments \[SPR-13746] [#18319](https://togithub.com/spring-projects/spring-framework/issues/18319)
- Documentation is missing for sendTimeLimit bufferSizeLimit for ConcurrentWebSocketSessionDecorator \[SPR-13753] [#18326](https://togithub.com/spring-projects/spring-framework/issues/18326)
### [`v4.1.8.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/v4.1.8.RELEASE)
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.1.7.RELEASE...v4.1.8.RELEASE)
#### :star: New Features
- Make AbstractFallbackTransactionAttributeSource.computeTransactionAttribute(…) protected \[SPR-13246] [#17837](https://togithub.com/spring-projects/spring-framework/issues/17837)
- Avoid ambiguous property warning for setter methods with multiple parameters \[SPR-13349] [#17933](https://togithub.com/spring-projects/spring-framework/issues/17933)
- Support for last-modified resolution in Tomcat's unpackwar=false mode \[SPR-13393] [#17434](https://togithub.com/spring-projects/spring-framework/issues/17434)
- ClasspathXmlApplicationContext cannot be closed twice \[SPR-13425] [#18004](https://togithub.com/spring-projects/spring-framework/issues/18004)
- Protect against RFD exploits \[SPR-13548] [#18124](https://togithub.com/spring-projects/spring-framework/issues/18124)
- Compatibility with GlassFish 4.1.1 / Tyrus 1.12 \[SPR-13566] [#18142](https://togithub.com/spring-projects/spring-framework/issues/18142)
#### :beetle: Bug Fixes
- ConcurrentModificationException when doing a merge on AbstractEnvironment \[SPR-13213] [#17805](https://togithub.com/spring-projects/spring-framework/issues/17805)
- PathResourceResolver should not resolve "/" as a JAR resource \[SPR-13241] [#17832](https://togithub.com/spring-projects/spring-framework/issues/17832)
- PropertyOrFieldReference throws ClassCastException \[SPR-13247] [#17838](https://togithub.com/spring-projects/spring-framework/issues/17838)
- Race condition when inbound message handling fails and StompSubProtocolHandler sends ERROR frame \[SPR-13326] [#17911](https://togithub.com/spring-projects/spring-framework/issues/17911)
- Regression: SpringHandlerInstantiator breaks stand-alone support in the MVC Test framework \[SPR-13375] [#17957](https://togithub.com/spring-projects/spring-framework/issues/17957)
- ScopedProxyMode resolution for custom scope meta-annotation not working with `@Bean` methods (with ASM-based scanning) \[SPR-13394] [#17974](https://togithub.com/spring-projects/spring-framework/issues/17974)
- StompDecoder fails for partial headers containing escape sequence \[SPR-13416] [#17995](https://togithub.com/spring-projects/spring-framework/issues/17995)
- ConcurrentModificationException in SingleConnectionFactory$AggregatedExceptionListener \[SPR-13421] [#18000](https://togithub.com/spring-projects/spring-framework/issues/18000)
- MessagingException should not provide empty description String to NestedRuntimeException \[SPR-13447] [#18027](https://togithub.com/spring-projects/spring-framework/issues/18027)
- DeferredResult not thread-safe for isSetOrExpired call \[SPR-13451] [#18031](https://togithub.com/spring-projects/spring-framework/issues/18031)
- ConcurrentMapCache.putIfAbsent doesn't support null values \[SPR-13458] [#18038](https://togithub.com/spring-projects/spring-framework/issues/18038)
- AbstractEmbeddedDatabaseConfigurer.shutdown does not close JDBC resources \[SPR-13474] [#18053](https://togithub.com/spring-projects/spring-framework/issues/18053)
- YamlProcessor subclasses can no longer instantiate StrictMapAppenderConstructor \[SPR-13504] [#18082](https://togithub.com/spring-projects/spring-framework/issues/18082)
- Null Pointer when receiving an invalid transport type during SockJS request \[SPR-13545] [#18121](https://togithub.com/spring-projects/spring-framework/issues/18121)
- Consistently detect spring-beans.dtd reference \[SPR-13549] [#18125](https://togithub.com/spring-projects/spring-framework/issues/18125)
- JCacheCache doesn't recognize null values in other JVMs \[SPR-13553] [#18129](https://togithub.com/spring-projects/spring-framework/issues/18129)
- DefaultSubscriptionRegistry loses track of subscribers in its cache \[SPR-13555] [#18131](https://togithub.com/spring-projects/spring-framework/issues/18131)
- Close processing triggered by shutdown hook isn't thread safe \[SPR-13556] [#18132](https://togithub.com/spring-projects/spring-framework/issues/18132)
- Clarify whether HttpInputMessage.getBody() is allowed to return null \[SPR-13563] [#18139](https://togithub.com/spring-projects/spring-framework/issues/18139)
- NullPointerException in DefaultSubscriptionRegistry.removeSubscription \[SPR-13205] [#17797](https://togithub.com/spring-projects/spring-framework/issues/17797)
- Wrong assertion message in ShallowEtagHeaderFilter \[SPR-13194] [#17786](https://togithub.com/spring-projects/spring-framework/issues/17786)
- STOMP CONNECT ignored ("No session for...") when using \[SPR-13190] [#17782](https://togithub.com/spring-projects/spring-framework/issues/17782)
- ConcurrentModificationException when calling SimpMessagingTemplate.convertAndSend \[SPR-13185] [#17777](https://togithub.com/spring-projects/spring-framework/issues/17777)
#### :notebook_with_decorative_cover: Documentation
- Misleading note on readonly and disabled flags in spring-form.tld \[SPR-13397] [#17977](https://togithub.com/spring-projects/spring-framework/issues/17977)
- Documentation for Portlet MVC does not refer to Portlet 2.0 spec (JSR-286) \[SPR-13513] [#18090](https://togithub.com/spring-projects/spring-framework/issues/18090)
- Dispel the myth that Spring MVC Test only works with JUnit \[SPR-13552] [#18128](https://togithub.com/spring-projects/spring-framework/issues/18128)
### [`v4.1.7.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/v4.1.7.RELEASE)
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.1.6.RELEASE...v4.1.7.RELEASE)
#### :star: New Features
- Avoid reflection for creating StandardServletAsyncWebRequest \[SPR-13112] [#17703](https://togithub.com/spring-projects/spring-framework/issues/17703)
- Provide means to opt out of default annotation based transaction management by bean \[SPR-13109] [#17700](https://togithub.com/spring-projects/spring-framework/issues/17700)
- Make PropertyMatches public \[SPR-13054] [#17646](https://togithub.com/spring-projects/spring-framework/issues/17646)
- does not handles directories well \[SPR-12999] [#17591](https://togithub.com/spring-projects/spring-framework/issues/17591)
- Same Origin check in both AbstractSockJSService and OriginHandshakeInterceptor is not working with Tyrus client \[SPR-12956] [#17548](https://togithub.com/spring-projects/spring-framework/issues/17548)
- MethodJmsListenerEndpoint does not set the DestinationResolver on the MessagingMessageListenerAdapter \[SPR-12927] [#17520](https://togithub.com/spring-projects/spring-framework/issues/17520)
- Use higher log level in InvocableHandlerMethod.getMethodArgumentValues() \[SPR-12925] [#17518](https://togithub.com/spring-projects/spring-framework/issues/17518)
- Spring logs FactoryBean type check warning in case of factory method with arguments \[SPR-12900] [#17499](https://togithub.com/spring-projects/spring-framework/issues/17499)
- AnnotatedElementUtils should leniently ignore TypeNotPresentExceptions (just like AnnotationUtils) \[SPR-12889] [#17487](https://togithub.com/spring-projects/spring-framework/issues/17487)
- Support package private annotations with AnnotationUtils \[SPR-12858] [#17456](https://togithub.com/spring-projects/spring-framework/issues/17456)
- `@Aspect` aspect not correctly applied to Java 8 lambda-defined `@Beans` \[SPR-11807] [#16427](https://togithub.com/spring-projects/spring-framework/issues/16427)
#### :beetle: Bug Fixes
- YAML Processor leaves StreamDecoder open \[SPR-13173] [#17765](https://togithub.com/spring-projects/spring-framework/issues/17765)
- GzipResourceResolver has NullPointerException when used with VersionResourceResolver \[SPR-13149] [#17740](https://togithub.com/spring-projects/spring-framework/issues/17740)
- AntPathMatcher throws StringIndexOutOfBoundsException \[SPR-13139] [#17730](https://togithub.com/spring-projects/spring-framework/issues/17730)
- XML input vulnerability based on DTD declaration \[SPR-13136] [#17727](https://togithub.com/spring-projects/spring-framework/issues/17727)
- ObjenesisCglibAopProxy's fallback mode triggers duplicate class definition error \[SPR-13131] [#17722](https://togithub.com/spring-projects/spring-framework/issues/17722)
- FileNotFoundException when implementing a nested interface with groovy closure in a `@Component` \[SPR-13115] [#17706](https://togithub.com/spring-projects/spring-framework/issues/17706)
- When use a `@args` as pointcut, there is case that occur a NPE at calling the unrelated method \[SPR-13102] [#17693](https://togithub.com/spring-projects/spring-framework/issues/17693)
- Configuration class parsing may trigger NoClassDefFoundError for nested classes \[SPR-13091] [#17682](https://togithub.com/spring-projects/spring-framework/issues/17682)
- H4 SpringSessionSynchronization#beforeCompletion leaves irreparably broken state if exception thrown in session.disconnect() \[SPR-13089] [#17680](https://togithub.com/spring-projects/spring-framework/issues/17680)
- Wrong IllegalStateException for `@Cacheable` without a cache name \[SPR-13081] [#17672](https://togithub.com/spring-projects/spring-framework/issues/17672)
- DefaultMockMvcBuilder combined with `@ContextHierarchy` registers wrong context as ROOT \[SPR-13075] [#17667](https://togithub.com/spring-projects/spring-framework/issues/17667)
- ByteBuffer corrupted by ByteBufferConverter when passed through Spring \[SPR-13056] [#17648](https://togithub.com/spring-projects/spring-framework/issues/17648)
- Remoting over JMS with receiveTimeout blocks service forever \[SPR-13052] [#17644](https://togithub.com/spring-projects/spring-framework/issues/17644)
- NPE in PropertyOrFieldReference due to concurrency issue when caching SpelExpression objects \[SPR-13023] [#17614](https://togithub.com/spring-projects/spring-framework/issues/17614)
- Validation of frame content in org.springframework.web.socket.sockjs.frame.SockJsFrame is a NoOp \[SPR-13019] [#17610](https://togithub.com/spring-projects/spring-framework/issues/17610)
- StringIndexOutOfBoundsException in ResourceUrlEncodingFilter \[SPR-13018] [#17609](https://togithub.com/spring-projects/spring-framework/issues/17609)
- NPE for alias resolved to null in SimpleAliasRegistry \[SPR-13016] [#17607](https://togithub.com/spring-projects/spring-framework/issues/17607)
- Commons FileUpload failed after Spring framework upgrade \[SPR-13014] [#17605](https://togithub.com/spring-projects/spring-framework/issues/17605)
- CustomBooleanEditor may run into NPE when configured with allowEmpty=false \[SPR-13010] [#17601](https://togithub.com/spring-projects/spring-framework/issues/17601)
- ContentCachingResponseWrapper should NOT sendError() before write body \[SPR-13004] [#17596](https://togithub.com/spring-projects/spring-framework/issues/17596)
- RequestMapping maps root-controller handler methods with double slashes \[SPR-12975] [#17566](https://togithub.com/spring-projects/spring-framework/issues/17566)
- PatternMatchUtils infinite loop bug \[SPR-12971] [#17563](https://togithub.com/spring-projects/spring-framework/issues/17563)
- Regression: DLL handled as classpath resource \[SPR-12928] [#17521](https://togithub.com/spring-projects/spring-framework/issues/17521)
- ResponseEntity's #equals fails symmetric property. \[SPR-12910] [#17509](https://togithub.com/spring-projects/spring-framework/issues/17509)
- Async Execution Aspect compiler error when using ListenableFuture \[SPR-12895] [#17494](https://togithub.com/spring-projects/spring-framework/issues/17494)
- CachingResourceResolver + GzipResourceResolver caches different results depending on what is requested first \[SPR-12892] [#17491](https://togithub.com/spring-projects/spring-framework/issues/17491)
- Regression in handling of String passed as Types.OTHER to JdbcTemplate \[SPR-12890] [#17488](https://togithub.com/spring-projects/spring-framework/issues/17488)
- client-library-url in sockjs config is not working \[SPR-12874] [#17472](https://togithub.com/spring-projects/spring-framework/issues/17472)
- CronSequenceGenerator constructor goes into infinite loop with invalid increments \[SPR-12871] [#17469](https://togithub.com/spring-projects/spring-framework/issues/17469)
- Incorrect value in InvalidPropertyException message from BeanWrapperImpl.setPropertyValue \[SPR-12866] [#17464](https://togithub.com/spring-projects/spring-framework/issues/17464)
- Netty4ClientHttpRequest ignores query parameters \[SPR-12779] [#17377](https://togithub.com/spring-projects/spring-framework/issues/17377)
#### :notebook_with_decorative_cover: Documentation
- A wrong description of CGLIB proxying in reference document ? \[SPR-13103] [#17694](https://togithub.com/spring-projects/spring-framework/issues/17694)
- Sample code of "Jackson JSON Views support" is wrong ? \[SPR-12994] [#17586](https://togithub.com/spring-projects/spring-framework/issues/17586)
### [`v4.1.6.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/v4.1.6.RELEASE)
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.1.5.RELEASE...v4.1.6.RELEASE)
#### :star: New Features
- TcpConnection should extend java.io.Closeable \[SPR-12849] [#17447](https://togithub.com/spring-projects/spring-framework/issues/17447)
- Ignore null in HeadersBuilder#headers \[SPR-12792] [#17389](https://togithub.com/spring-projects/spring-framework/issues/17389)
- RestTemplate logging for 404 status code \[SPR-12760] [#17357](https://togithub.com/spring-projects/spring-framework/issues/17357)
- Support `@NumberFormat` as a meta-annotation \[SPR-12743] [#17340](https://togithub.com/spring-projects/spring-framework/issues/17340)
#### :beetle: Bug Fixes
- Exception cache resolver shouldn't be mandatory \[SPR-12850] [#17448](https://togithub.com/spring-projects/spring-framework/issues/17448)
- CacheLoader is ignored as of Guava 11 \[SPR-12842] [#17440](https://togithub.com/spring-projects/spring-framework/issues/17440)
- ConcurrentModificationException in ConfigurationClassParser.processDeferredImportSelectors \[SPR-12838] [#17436](https://togithub.com/spring-projects/spring-framework/issues/17436)
- There is no spring-beans.dtd file inside of the spring-beans-4.1.5.RELEASE jar \[SPR-12836] [#17433](https://togithub.com/spring-projects/spring-framework/issues/17433)
- Thread contention in HandlerMethod due to unnecessary BeanFactory.getType call \[SPR-12832] [#17429](https://togithub.com/spring-projects/spring-framework/issues/17429)
- DefaultManagedAwareThreadFactory's non-JNDI fallback leads to StackOverflowError \[SPR-12830] [#17427](https://togithub.com/spring-projects/spring-framework/issues/17427)
- X-Forwarded-Proto with comma separated list causes incorrect scheme \[SPR-12816] [#17413](https://togithub.com/spring-projects/spring-framework/issues/17413)
- X-Forwarded-Port with Comma Separated List Not Able to be Parsed in Spring 4.1.x \[SPR-12813] [#17410](https://togithub.com/spring-projects/spring-framework/issues/17410)
- Not reusable input stream in ContentCachingRequestWrapper \[SPR-12810] [#17407](https://togithub.com/spring-projects/spring-framework/issues/17407)
- Exception not thrown by OnFailure() when using ListenableFutureCallback \[SPR-12797] [#17394](https://togithub.com/spring-projects/spring-framework/issues/17394)
- StandardMultipartHttpServletRequest.StandardMultipartFile not serializable \[SPR-12795] [#17392](https://togithub.com/spring-projects/spring-framework/issues/17392)
- Regression in 4.1: UnsatisfiedDependencyException because a prototype-scoped FactoryBean is unexpectedly instantiated by getTypeForFactoryBean() \[SPR-12786] [#17383](https://togithub.com/spring-projects/spring-framework/issues/17383)
- ObjectToOptionalConverter wraps a source Optional\> to the new one \[SPR-12785] [#17382](https://togithub.com/spring-projects/spring-framework/issues/17382)
- LoadTimeWeavingConfiguration should not rely on private field injection \[SPR-12776] [#17374](https://togithub.com/spring-projects/spring-framework/issues/17374)
- Regression in 4.1.5: UriComponentsBuilder.fromHttpRequest sets port to 80 i.s.o nothing/443 \[SPR-12771] [#17368](https://togithub.com/spring-projects/spring-framework/issues/17368)
- GroovyBeanDefinitionReader does not fully support XML config files \[SPR-12769] [#17366](https://togithub.com/spring-projects/spring-framework/issues/17366)
- XML config isn't fully supported for web integration tests if Groovy is on the classpath \[SPR-12768] [#17365](https://togithub.com/spring-projects/spring-framework/issues/17365)
- EncodedResource does not include charset in equals() implementation \[SPR-12767] [#17364](https://togithub.com/spring-projects/spring-framework/issues/17364)
- ScriptUtils and ScriptStatementFailedException confuse lines and statements \[SPR-12752] [#17349](https://togithub.com/spring-projects/spring-framework/issues/17349)
- Specified MVC resource at root level not considered "under location" \[SPR-12747] [#17344](https://togithub.com/spring-projects/spring-framework/issues/17344)
- Regression in 4.1.5: Alternative `@Bean` declarations with same primary bean name do not work anymore \[SPR-12744] [#17341](https://togithub.com/spring-projects/spring-framework/issues/17341)
- Deadlock publishing event while creating listener bean \[SPR-12739] [#17336](https://togithub.com/spring-projects/spring-framework/issues/17336)
- MockMvc PrintResultHandler asserts before result is set \[SPR-12735] [#17332](https://togithub.com/spring-projects/spring-framework/issues/17332)
#### :notebook_with_decorative_cover: Documentation
- Consider rewording ack modes on the listener container javadocs \[SPR-12705] [#17302](https://togithub.com/spring-projects/spring-framework/issues/17302)
### [`v4.1.5.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/v4.1.5.RELEASE)
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.1.4.RELEASE...v4.1.5.RELEASE)
#### :star: New Features
- MessageHeaderAccessor.getContentType() should get deal with String value too, rather than rely only casting to MimeType \[SPR-12730] [#17327](https://togithub.com/spring-projects/spring-framework/issues/17327)
- Add possibility to set supportedMimeTypes in MappingJackson2MessageConverter \[SPR-12724] [#17321](https://togithub.com/spring-projects/spring-framework/issues/17321)
- Open up TestPropertySourceUtils for public consumption \[SPR-12721] [#17318](https://togithub.com/spring-projects/spring-framework/issues/17318)
- Preserve ordering of inlined properties in `@TestPropertySource` \[SPR-12710] [#17307](https://togithub.com/spring-projects/spring-framework/issues/17307)
- BeanWrapper should auto-grow arrays on indexed set attempt as well \[SPR-12706] [#17303](https://togithub.com/spring-projects/spring-framework/issues/17303)
- Add same origin support to SockJS and WebSocket \[SPR-12697] [#17294](https://togithub.com/spring-projects/spring-framework/issues/17294)
- Allow MBeanExporter's excludedBeans to be configured additively \[SPR-12686] [#17285](https://togithub.com/spring-projects/spring-framework/issues/17285)
- Change SockJS default to allowing same origin only \[SPR-12685] [#17284](https://togithub.com/spring-projects/spring-framework/issues/17284)
- Allow YamlProcessor subclasses to provide the Yaml instance that's used \[SPR-12671] [#17270](https://togithub.com/spring-projects/spring-framework/issues/17270)
- Support `@Configuration` as a meta-annotation in the TestContext framework \[SPR-12659] [#17259](https://togithub.com/spring-projects/spring-framework/issues/17259)
- Use UUID.randomUUID() for session id's in SockJsClient \[SPR-12658] [#17258](https://togithub.com/spring-projects/spring-framework/issues/17258)
- Add the ability to turn off automatic derivation of Aliases for custom parsers. \[SPR-12643] [#17244](https://togithub.com/spring-projects/spring-framework/issues/17244)
- Allow Jackson2ObjectMapperBuilder configuration to override the well-known modules' configuration \[SPR-12634] [#17235](https://togithub.com/spring-projects/spring-framework/issues/17235)
- ResourceUrlEncodingFilter fails when Thymeleaf and the "/\*\*" resource pattern is used \[SPR-12630] [#17231](https://togithub.com/spring-projects/spring-framework/issues/17231)
- Enable reuse of DefaultActiveProfilesResolver \[SPR-12611] [#17212](https://togithub.com/spring-projects/spring-framework/issues/17212)
- Consider caching the compiled pattern in OperatorMatches \[SPR-12610] [#17211](https://togithub.com/spring-projects/spring-framework/issues/17211)
- AbstractRequestLoggingFilter and CommonsRequestLoggingFilter log level checks \[SPR-12609] [#17210](https://togithub.com/spring-projects/spring-framework/issues/17210)
- Don't use Exception for normal behavior in org.springframework.core.annotation.AnnotationUtils.getValue \[SPR-12604] [#17205](https://togithub.com/spring-projects/spring-framework/issues/17205)
- Support specifying TimeZone in Jackson2ObjectMapperFactoryBean \[SPR-12594] [#17195](https://togithub.com/spring-projects/spring-framework/issues/17195)
- RestTemplate - support response mapping to entity with potentially empty response body. \[SPR-8016] [#12671](https://togithub.com/spring-projects/spring-framework/issues/12671)
- AbstractRequestLoggingFilter should log actual body even after consuming request parameters on Tomcat 6 \[SPR-7913] [#12568](https://togithub.com/spring-projects/spring-framework/issues/12568)
#### :beetle: Bug Fixes
- Stomp error when PongMessage is passed to StompSubProtocolHandler \[SPR-12728] [#17325](https://togithub.com/spring-projects/spring-framework/issues/17325)
- Unhandled websocket error when unsolicited pong frame with zero length payload received from IE11 \[SPR-12727] [#17324](https://togithub.com/spring-projects/spring-framework/issues/17324)
- ServletUriComponentsBuilder#initFromRequest can cause NPE \[SPR-12723] [#17320](https://togithub.com/spring-projects/spring-framework/issues/17320)
- WebSocketTransportHandler passes Collections.\emptyMap() to HandshakeHandler \[SPR-12716] [#17313](https://togithub.com/spring-projects/spring-framework/issues/17313)
- `@Scheduled` no longer works in case of multiple proxied target classes implementing the same interface \[SPR-12709] [#17306](https://togithub.com/spring-projects/spring-framework/issues/17306)
- Conditions on an overriding bean method effectively get ignored \[SPR-12694] [#17292](https://togithub.com/spring-projects/spring-framework/issues/17292)
- ConcurrentModificationException thrown while iterating over bean definition names in DefaultListableBeanFactory#getBeansWithAnnotation(Class\ extends Annotation> annotationType) \[SPR-12688] [#17286](https://togithub.com/spring-projects/spring-framework/issues/17286)
- ConcurrentModificationException in SimpleBrokerMessageHandler \[SPR-12665] [#17264](https://togithub.com/spring-projects/spring-framework/issues/17264)
- AbstractSockJsService.checkAndAddCorsHeaders fails for same origin requests when setAllowedOrigins is set \[SPR-12660] [#17260](https://togithub.com/spring-projects/spring-framework/issues/17260)
- ResourceUrlProvider does not keep resource handlers ordered \[SPR-12647] [#17248](https://togithub.com/spring-projects/spring-framework/issues/17248)
- During startup scheduled tasks are driven earlier than before causing problems with Spring Batch \[SPR-12641] [#17242](https://togithub.com/spring-projects/spring-framework/issues/17242)
- CssLinkResourceTransformer throws Exception on links that start with // \[SPR-12632] [#17233](https://togithub.com/spring-projects/spring-framework/issues/17233)
- PathResourceResolver.isResourceUnderLocation does not handle relative paths correctly \[SPR-12624] [#17225](https://togithub.com/spring-projects/spring-framework/issues/17225)
- Netty4ClientHttpRequestFactory always allocates "maxRequestSize" bytes for each request \[SPR-12623] [#17224](https://togithub.com/spring-projects/spring-framework/issues/17224)
- Exception with JSON serialization in ResponseBodyAdviceChain when debug logging is on \[SPR-12616] [#17217](https://togithub.com/spring-projects/spring-framework/issues/17217)
- Handle exceptions properly in SpringJUnit4ClassRunner \[SPR-12613] [#17214](https://togithub.com/spring-projects/spring-framework/issues/17214)
- Default value of context-relative attribute is not "true" \[SPR-12607] [#17208](https://togithub.com/spring-projects/spring-framework/issues/17208)
- ResourceUrlProvider should initialize only once \[SPR-12592] [#17193](https://togithub.com/spring-projects/spring-framework/issues/17193)
- ObjectToOptionalConverter should use Optional.ofNullable(…) instead of Optional.of(…) \[SPR-12589] [#17190](https://togithub.com/spring-projects/spring-framework/issues/17190)
- Regression in TransactionAspectSupport.determineTransactionManager(…) \[SPR-12577] [#17178](https://togithub.com/spring-projects/spring-framework/issues/17178)
#### :notebook_with_decorative_cover: Documentation
- Documentation error in "SimpleJdbcInsert" section \[SPR-12639] [#17240](https://togithub.com/spring-projects/spring-framework/issues/17240)
### [`v4.1.4.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/v4.1.4.RELEASE)
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.1.3.RELEASE...v4.1.4.RELEASE)
#### :star: New Features
- Spring's JMX support can rely on native MXBean detection on Java 6+ \[SPR-12574] [#17175](https://togithub.com/spring-projects/spring-framework/issues/17175)
- Improve diagnostics when AnnotationJmxAttributeSource triggers an ArrayStoreException from Class.getAnnotation \[SPR-12572] [#17173](https://togithub.com/spring-projects/spring-framework/issues/17173)
- org.springframework.cache.aspectj.JCacheCacheAspect is missing from META-INF/aop.xml in spring-aspects \[SPR-12571] [#17172](https://togithub.com/spring-projects/spring-framework/issues/17172)
- PayloadArgumentResolver enforces Validator unnecessarily \[SPR-12567] [#17168](https://togithub.com/spring-projects/spring-framework/issues/17168)
- MockMvcBuilders should populate ServletContextAttribute WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE to enable view technologies use WebApplicationContextUtils.getRequiredWebApplicationContext(…) \[SPR-12553] [#17155](https://togithub.com/spring-projects/spring-framework/issues/17155)
- Configured RequestConfig in HttpClient gets overwritten by default \[SPR-12540] [#17144](https://togithub.com/spring-projects/spring-framework/issues/17144)
- Better implementation of showSql for EclipseLinkJpaVendorAdapter \[SPR-12528] [#17133](https://togithub.com/spring-projects/spring-framework/issues/17133)
- CacheAspectSupport 's generateKey method should not concatenate Strings \[SPR-12527] [#17132](https://togithub.com/spring-projects/spring-framework/issues/17132)
- Add DEBUG/INFO logging in AbstractBeanFactory.registerScope() \[SPR-12519] [#17124](https://togithub.com/spring-projects/spring-framework/issues/17124)
- Allow sending of binary WebSocket messages in StompSubProtocolHandler \[SPR-12475] [#17081](https://togithub.com/spring-projects/spring-framework/issues/17081)
- Improve Constructor Resolver Diagnostics \[SPR-12543] [#16975](https://togithub.com/spring-projects/spring-framework/issues/16975)
- Upgrade HttpComponentsHttpInvokerRequestExecutor to require Apache HttpComponents 4.3 \[SPR-11113] [#15739](https://togithub.com/spring-projects/spring-framework/issues/15739)
#### :beetle: Bug Fixes
- Wrong TransactionManager selected when mixing `@Transactional` with and w/o qualifier \[SPR-12606] [#17207](https://togithub.com/spring-projects/spring-framework/issues/17207)
- Duplicated interceptors in HandlerExecutionChain after intermediate getInterceptors() call \[SPR-12566] [#17167](https://togithub.com/spring-projects/spring-framework/issues/17167)
- VerifyError for compiled SpEL expression with primitive/reference type mix when using == \[SPR-12557] [#17159](https://togithub.com/spring-projects/spring-framework/issues/17159)
- AbstractApplicationEventMulticaster "lost" application listener \[SPR-12545] [#17148](https://togithub.com/spring-projects/spring-framework/issues/17148)
- `@SessionAttributes` not populated when going directly to POST and redirecting while ignoreDefaultModelOnRedirect=true \[SPR-12542] [#17146](https://togithub.com/spring-projects/spring-framework/issues/17146)
- `@Transactional` qualifier is ignored by TransactionAspectSupport if default transaction manager is set \[SPR-12541] [#17145](https://togithub.com/spring-projects/spring-framework/issues/17145)
- Performance - hashCode method of AbstractFallbackTransactionAttributeSource.DefaultCacheKey doesn't take targetClass into account \[SPR-12536] [#17141](https://togithub.com/spring-projects/spring-framework/issues/17141)
- CollectionFactory should create empty EnumSets and EnumMaps \[SPR-12533] [#17138](https://togithub.com/spring-projects/spring-framework/issues/17138)
- `@EnableMBeanExport` exposes scoped proxies and their targets \[SPR-12529] [#17134](https://togithub.com/spring-projects/spring-framework/issues/17134)
- Prototype with changing bean class does not get populated with dependencies after type switch \[SPR-12526] [#17131](https://togithub.com/spring-projects/spring-framework/issues/17131)
- Regression: SpEL expression with Arrays.asList and empty array \[SPR-12522] [#17127](https://togithub.com/spring-projects/spring-framework/issues/17127)
- AnnotationTransactionAspect retains reference to JpaTransactionManager from closed context \[SPR-12518] [#17123](https://togithub.com/spring-projects/spring-framework/issues/17123)
- HttpComponentsClientHttpRequestFactory does not set connection request timeout on request config \[SPR-12166] [#16780](https://togithub.com/spring-projects/spring-framework/issues/16780)
#### :notebook_with_decorative_cover: Documentation
- Add TimeZone and ZoneId to list of supported method arguments \[SPR-12575] [#17176](https://togithub.com/spring-projects/spring-framework/issues/17176)
- Update documentation after SPR-3542 \[SPR-12570] [#17171](https://togithub.com/spring-projects/spring-framework/issues/17171)
- Add note to reference material about difference between XML destroy-method and `@Bean` destroyMethod behavior \[SPR-12534] [#17139](https://togithub.com/spring-projects/spring-framework/issues/17139)
- I can use ';' and EOL for delimiter of base-package attribute(component scan) \[SPR-12523] [#17128](https://togithub.com/spring-projects/spring-framework/issues/17128)
- Names of Maven Dependencies \[SPR-12517] [#17122](https://togithub.com/spring-projects/spring-framework/issues/17122)
### [`v4.1.3.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/v4.1.3.RELEASE)
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.1.2.RELEASE...v4.1.3.RELEASE)
#### :star: New Features
- Please add static unprocessableEntity() builder method to ResponseEntity \[SPR-12515] [#17120](https://togithub.com/spring-projects/spring-framework/issues/17120)
- Support for X-Forwarded-Prefix in ServletUriComponentsBuilder \[SPR-12500] [#17105](https://togithub.com/spring-projects/spring-framework/issues/17105)
- Allow YamlProcessor subclasses to build the flattened map \[SPR-12499] [#17104](https://togithub.com/spring-projects/spring-framework/issues/17104)
- Check the user for a SockJS request \[SPR-12497] [#17103](https://togithub.com/spring-projects/spring-framework/issues/17103)
- Consistent bridge method handling in annotation post-processors \[SPR-12495] [#17101](https://togithub.com/spring-projects/spring-framework/issues/17101)
- Add UriComponentsBuilder.clone() \[SPR-12494] [#17100](https://togithub.com/spring-projects/spring-framework/issues/17100)
- `@Scope` and other common bean annotations on nested `@Component` classes \[SPR-12486] [#17092](https://togithub.com/spring-projects/spring-framework/issues/17092)
- Allow overriding InvocableHandlerMethod.invoke and/or ServletInvocableHandlerMethod.invokeAndHandle in subclasses \[SPR-12484] [#17090](https://togithub.com/spring-projects/spring-framework/issues/17090)
- Default conversion support for EnumSet / EnumMap \[SPR-12483] [#17089](https://togithub.com/spring-projects/spring-framework/issues/17089)
- Update SqlRowSet interface with JDBC 4.x ResultSet additions \[SPR-12480] [#17086](https://togithub.com/spring-projects/spring-framework/issues/17086)
- Enrich the message for "connected" events with Principal \[SPR-12479] [#17085](https://togithub.com/spring-projects/spring-framework/issues/17085)
- Extract ContentCachingRequestWrapper and ContentCachingResponseWrapper for custom use outside of Spring's filters \[SPR-12477] [#17083](https://togithub.com/spring-projects/spring-framework/issues/17083)
- NotReadablePropertyException should take causing exception as constructor argument \[SPR-12467] [#17073](https://togithub.com/spring-projects/spring-framework/issues/17073)
- SimpleJdbcInsert should take Map\ as arg instead of Map\ \[SPR-12462] [#17067](https://togithub.com/spring-projects/spring-framework/issues/17067)
- PersistenceAnnotationBeanPostProcessor.findPersistenceMetadata(PersistenceAnnotationBeanPostProcessor.java:392) too aggressive, resulting in NoClassDefFoundError \[SPR-12461] [#17066](https://togithub.com/spring-projects/spring-framework/issues/17066)
- Making it easier to replace "RequestMappingHandlerAdapter.handleInternal" \[SPR-12460] [#17065](https://togithub.com/spring-projects/spring-framework/issues/17065)
- Registering an HttpMessageConverter while preserving default converters \[SPR-12450] [#17055](https://togithub.com/spring-projects/spring-framework/issues/17055)
- BeanMethodInterceptor doesn't forward user-provided arguments to getBean(name, args) \[SPR-12443] [#17048](https://togithub.com/spring-projects/spring-framework/issues/17048)
- GenericGroovyApplicationContext propagates BeanDefinitionParsingException only when context file is named 'beans.groovy' \[SPR-12435] [#17040](https://togithub.com/spring-projects/spring-framework/issues/17040)
- MessageHeaderAccessor copyHeaders... tuning \[SPR-12431] [#17037](https://togithub.com/spring-projects/spring-framework/issues/17037)
- Concurrent registration/iteration in PropertySourcesPropertyResolver \[SPR-12428] [#17034](https://togithub.com/spring-projects/spring-framework/issues/17034)
- Allow custom `@Validated` annotations for handler method parameters \[SPR-12406] [#17014](https://togithub.com/spring-projects/spring-framework/issues/17014)
- Use Jackson ObjectMapper improved default properties outside spring-web \[SPR-12293] [#16898](https://togithub.com/spring-projects/spring-framework/issues/16898)
- Support for Undertow 1.1 / WildFly 8.2 \[SPR-12302] [#16836](https://togithub.com/spring-projects/spring-framework/issues/16836)
- `@Configuration` should respect `@DependsOn` on imported or nested classes as well \[SPR-11883] [#16502](https://togithub.com/spring-projects/spring-framework/issues/16502)
- Spring dependency injection for Jackson serializers \[SPR-10768] [#15394](https://togithub.com/spring-projects/spring-framework/issues/15394)
- `@Validated` should allow ElementType.METHOD target \[SPR-9174] [#13812](https://togithub.com/spring-projects/spring-framework/issues/13812)
#### :beetle: Bug Fixes
- Synchronize message sending in HTTP SockJS sessions with request initialization \[SPR-12516] [#17121](https://togithub.com/spring-projects/spring-framework/issues/17121)
- SpEL compilation problem for payload concatenation use case in Spring Integration \[SPR-12514] [#17119](https://togithub.com/spring-projects/spring-framework/issues/17119)
- `@SendTo` annotation not found on Jms listener with JDK proxy \[SPR-12513] [#17118](https://togithub.com/spring-projects/spring-framework/issues/17118)
- `@ControllerAdvice`(basePackageClasses) do the prefix search by package name. \[SPR-12509] [#17114](https://togithub.com/spring-projects/spring-framework/issues/17114)
- Base packages referenced from `@ControllerAdvice` must contain at least one Controller \[SPR-12506] [#17111](https://togithub.com/spring-projects/spring-framework/issues/17111)
- SpEL: problem with static methods conflicting with instance methods \[SPR-12502] [#17107](https://togithub.com/spring-projects/spring-framework/issues/17107)
- AnnotationAttributesReadingVisitor.doVisitEnd doesn't handle possible null return from AnnotationUtils.getAnnotations \[SPR-12493] [#17099](https://togithub.com/spring-projects/spring-framework/issues/17099)
- `@Resource` injection broken under spring-framework > 4.1.0 \[SPR-12490] [#17096](https://togithub.com/spring-projects/spring-framework/issues/17096)
- be more defensive looking up javax.annotation.Priority (jdk6 compatibility) \[SPR-12489] [#17095](https://togithub.com/spring-projects/spring-framework/issues/17095)
- SPR-12443 breaks Spring Security's AuthenticationConfiguration \[SPR-12488] [#17094](https://togithub.com/spring-projects/spring-framework/issues/17094)
- Need a defensive close() in YamlProcessor \[SPR-12487] [#17093](https://togithub.com/spring-projects/spring-framework/issues/17093)
- Cache busting does not work when context path is different from / \[SPR-12459] [#17064](https://togithub.com/spring-projects/spring-framework/issues/17064)
- Unable to initialize WebAsyncTask with executorName \[SPR-12457] [#17062](https://togithub.com/spring-projects/spring-framework/issues/17062)
- NPE in org.springframework.core.MethodParameter.getParameterName (possible race condition) \[SPR-12453] [#17058](https://togithub.com/spring-projects/spring-framework/issues/17058)
- Early initialization of `@Configuration` class may lead to unwanted call to setBeanFactory \[SPR-12445] [#17050](https://togithub.com/spring-projects/spring-framework/issues/17050)
- Not able to send message specific to user using STOMP over WebSocket \[SPR-12444] [#17049](https://togithub.com/spring-projects/spring-framework/issues/17049)
- Introspection with BeanUtils started failing against java.awt.Window \[SPR-12434] [#17039](https://togithub.com/spring-projects/spring-framework/issues/17039)
- webjar stops working \[SPR-12432] [#17038](https://togithub.com/spring-projects/spring-framework/issues/17038)
- Using TransactionManagementConfigurer causes StackOverflowError that results in NoClassDefFoundError for FatalBeanException \[SPR-10787] [#15413](https://togithub.com/spring-projects/spring-framework/issues/15413)
#### :notebook_with_decorative_cover: Documentation
- Missing Id in Jms Endpoint \[SPR-12425] [#22187](https://togithub.com/spring-projects/spring-framework/issues/22187)
- Misleading documentation for SqlRowSet \[SPR-12476] [#17082](https://togithub.com/spring-projects/spring-framework/issues/17082)
- Star character interpreted as bold expression in generated documentation \[SPR-12456] [#17061](https://togithub.com/spring-projects/spring-framework/issues/17061)
### [`v4.1.2.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/v4.1.2.RELEASE)
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.1.1.RELEASE...v4.1.2.RELEASE)
#### :star: New Features
- Straight JmsMessagingTemplate setup based on JMS ConnectionFactory \[SPR-12413] [#17021](https://togithub.com/spring-projects/spring-framework/issues/17021)
- Log context cache statistics in the TestContext framework \[SPR-12409] [#17017](https://togithub.com/spring-projects/spring-framework/issues/17017)
- Enhance MockHttpServletRequestBuilder with contentType(String) method \[SPR-12405] [#17013](https://togithub.com/spring-projects/spring-framework/issues/17013)
- DefaultListableBeanFactory should allow efficient access to current bean names \[SPR-12404] [#17012](https://togithub.com/spring-projects/spring-framework/issues/17012)
- Auto exported lazy `@ManagedResources` should at least log errors if they can't be initialized \[SPR-12399] [#17007](https://togithub.com/spring-projects/spring-framework/issues/17007)
- Mybatis config error leads to endless loop, and no std error output \[SPR-12397] [#17005](https://togithub.com/spring-projects/spring-framework/issues/17005)
- Configuration class parsing should reuse metadata from AnnotatedBeanDefinition as far as possible \[SPR-12394] [#17002](https://togithub.com/spring-projects/spring-framework/issues/17002)
- Improve diagnostics when AnnotationAttributesReadingVisitor triggers an ArrayStoreException from Class.getAnnotations() \[SPR-12387] [#16995](https://togithub.com/spring-projects/spring-framework/issues/16995)
- Improvement of CharacterEditor.setAsText() and setAsUnicode() \[SPR-12386] [#16994](https://togithub.com/spring-projects/spring-framework/issues/16994)
- In, AutowireUtils.sortConstructors(), Using valueOf is faster than using constructor \[SPR-12385] [#16993](https://togithub.com/spring-projects/spring-framework/issues/16993)
- org.springframework.oxm.xmlbeans.XmlOptionsFactoryBean.setOptions(Map) makes inefficient use of keySet iterator \[SPR-12383] [#16991](https://togithub.com/spring-projects/spring-framework/issues/16991)
- String comparison using .equals() in ASM ClassReader \[SPR-12382] [#16990](https://togithub.com/spring-projects/spring-framework/issues/16990)
- Support Netty as the underlying HTTP client for the RestTemplate \[SPR-12381] [#16989](https://togithub.com/spring-projects/spring-framework/issues/16989)
- Improvement of BeanWrapperImpl.getPropertyValue(PropertyTokenHolder tokens) \[SPR-12378] [#16985](https://togithub.com/spring-projects/spring-framework/issues/16985)
- PropertyDescriptor in PropertyValue needs to be transient to avoid serialization failure \[SPR-12377] [#16984](https://togithub.com/spring-projects/spring-framework/issues/16984)
- Update Documentation about `@RequestMapping`'s defaults \[SPR-12375] [#16982](https://togithub.com/spring-projects/spring-framework/issues/16982)
- Add an option to use include instead of forward mode in Tiles support \[SPR-12374] [#16981](https://togithub.com/spring-projects/spring-framework/issues/16981)
- MappingJackson2XmlHttpMessageConverter should support text/xml and application/\*-xml \[SPR-12366] [#16972](https://togithub.com/spring-projects/spring-framework/issues/16972)
- Inefficient new Byte, Integer, Character constructor calls in ASM ClassReader \[SPR-12365] [#16970](https://togithub.com/spring-projects/spring-framework/issues/16970)
- org.springframework.ui.ModelMap.mergeAttributes(Map) makes inefficient use of keySet iterator \[SPR-12363] [#16968](https://togithub.com/spring-projects/spring-framework/issues/16968)
- Add support for DELETE with body to RestTemplate through exchange method \[SPR-12361] [#16966](https://togithub.com/spring-projects/spring-framework/issues/16966)
- Improve diagnostics when OrderUtils.getPriority encounters an ArrayStoreException during annotation introspection \[SPR-12357] [#16962](https://togithub.com/spring-projects/spring-framework/issues/16962)
- BeanFactoryAnnotationUtils,qualifiedBeanOfType, Inefficient use of keySet iterator. \[SPR-12356] [#16961](https://togithub.com/spring-projects/spring-framework/issues/16961)
- Favor more locally declared composed annotations over interface annotations in AnnotationUtils \[SPR-12355] [#16960](https://togithub.com/spring-projects/spring-framework/issues/16960)
- Add Object type to Comparable for removing raw type warning in StandardTypeComparator \[SPR-12353] [#16958](https://togithub.com/spring-projects/spring-framework/issues/16958)
- Delete unused import in HttpSessionHandshakeInterceptor class \[SPR-12352] [#16957](https://togithub.com/spring-projects/spring-framework/issues/16957)
- ExposeInvocationInterceptor doesn't make a best effort to be first in execution order \[SPR-12351] [#16956](https://togithub.com/spring-projects/spring-framework/issues/16956)
- Allow for using the response encoding when escaping HTML characters \[SPR-12350] [#16955](https://togithub.com/spring-projects/spring-framework/issues/16955)
- HibernateTransactionManager should allow holdability of ResultSet into the View layer \[SPR-12349] [#16954](https://togithub.com/spring-projects/spring-framework/issues/16954)
- Improve Reference documentation `@PathVariable`, `@RequestHeader` & `@RequestParam` using Map\ \[SPR-12347] [#16952](https://togithub.com/spring-projects/spring-framework/issues/16952)
- JdbcTemplate does not apply values of zero for setMaxRows, setFetchSize and setQueryTimeout \[SPR-12338] [#16943](https://togithub.com/spring-projects/spring-framework/issues/16943)
- OpenJpaDialect does not support declarative transaction isolation \[SPR-12333] [#16938](https://togithub.com/spring-projects/spring-framework/issues/16938)
- Extend SpEL compiler for few more constructs: inline lists, string concatenation and varargs invocation \[SPR-12328] [#16933](https://togithub.com/spring-projects/spring-framework/issues/16933)
- SqlServerMaxValueIncrementer may cause table lock \[SPR-12327] [#16932](https://togithub.com/spring-projects/spring-framework/issues/16932)
- AnnotationUtils provides poor diagnostics if getDeclaredAnnotations throws an exception \[SPR-12325] [#16930](https://togithub.com/spring-projects/spring-framework/issues/16930)
- Add a new ResponseEntity$HeadersBuilder method \[SPR-12324] [#16929](https://togithub.com/spring-projects/spring-framework/issues/16929)
- Allow clientInboundChannel interceptors to take advantage of message mutability \[SPR-12321] [#16926](https://togithub.com/spring-projects/spring-framework/issues/16926)
- EclipseLinkJpaDialect does not support declarative transaction isolation \[SPR-12319] [#16924](https://togithub.com/spring-projects/spring-framework/issues/16924)
- Better error reporting for circular dependencies between JavaConfig classes \[SPR-12317] [#16922](https://togithub.com/spring-projects/spring-framework/issues/16922)
- Allow access to underlying WebSocketSession with WebSocketMessageBroker config \[SPR-12314] [#16919](https://togithub.com/spring-projects/spring-framework/issues/16919)
- Add serializerByType() deserializerByType() and mixIn() to Jackson2ObjectMapperBuilder \[SPR-12313] [#16918](https://togithub.com/spring-projects/spring-framework/issues/16918)
- WebSocketSession should extend java.io.Closeable \[SPR-12311] [#16916](https://togithub.com/spring-projects/spring-framework/issues/16916)
- Allow binary WebSocket messages in StompSubProtocolHandler \[SPR-12301] [#16907](https://togithub.com/spring-projects/spring-framework/issues/16907)
- Upgrade optional JsonPath dependency from 0.9.0 to 1.1.0 \[SPR-12299] [#16905](https://togithub.com/spring-projects/spring-framework/issues/16905)
- JavaMailSender.doSend() should more aggressively catch exceptions \[SPR-12298] [#16904](https://togithub.com/spring-projects/spring-framework/issues/16904)
- JavaMailSenderImpl - Set empty String params to null for setUsername and setPassword \[SPR-12294] [#16899](https://togithub.com/spring-projects/spring-framework/issues/16899)
- CompositePropertySource should extend EnumerablePropertySource \[SPR-12292] [#16897](https://togithub.com/spring-projects/spring-framework/issues/16897)
- Return sensible defaults in MockServletContext's Servlet and Filter registration get methods \[SPR-12290] [#16895](https://togithub.com/spring-projects/spring-framework/issues/16895)
- Allow server-side code to send DISCONNECT messages to the broker \[SPR-12288] [#16893](https://togithub.com/spring-projects/spring-framework/issues/16893)
- Allow to define the sort order of media types to produce \[SPR-12286] [#16891](https://togithub.com/spring-projects/spring-framework/issues/16891)
- Enable parallel loading in DecoratingClassLoader and subclasses on JDK 7+ \[SPR-12285] [#16890](https://togithub.com/spring-projects/spring-framework/issues/16890)
- Further locking optimizations for the retrieval of non-singleton beans \[SPR-12250] [#16864](https://togithub.com/spring-projects/spring-framework/issues/16864)
- Make MockRestServiceServer error messages more descriptive \[SPR-12230] [#16845](https://togithub.com/spring-projects/spring-framework/issues/16845)
- HttpHeaders should accept empty Content-Type header \[SPR-12173] [#16787](https://togithub.com/spring-projects/spring-framework/issues/16787)
- Support jackson mix-in classes in Jackson2ObjectMapperFactoryBean \[SPR-12144] [#16758](https://togithub.com/spring-projects/spring-framework/issues/16758)
- Create a new UndertowXhrTransport \[SPR-12008] [#16624](https://togithub.com/spring-projects/spring-framework/issues/16624)
- SpEL's arithmetic operations should explicitly detect BigInteger/Short/Byte and fall back to double handling for unknown Number subtypes \[SPR-9913] [#14546](https://togithub.com/spring-projects/spring-framework/i
This PR contains the following updates:
4.0.5.RELEASE
->4.1.9.RELEASE
By merging this PR, the below issues will be automatically resolved and closed:
Release Notes
spring-projects/spring-framework
### [`v4.1.9.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/v4.1.9.RELEASE) [Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.1.8.RELEASE...v4.1.9.RELEASE) #### :star: New Features - Allow setting custom ClassPathBeanDefinitionScanner on AnnotationConfigWebApplicationContext \[SPR-9324] [#13962](https://togithub.com/spring-projects/spring-framework/issues/13962) - Skip Content-Disposition header when status != 2xx \[SPR-13588] [#18165](https://togithub.com/spring-projects/spring-framework/issues/18165) - Avoid NPE for anonymous SqlParameter in CallMetaDataContext \[SPR-13628] [#18206](https://togithub.com/spring-projects/spring-framework/issues/18206) - Content-Disposition with fixed file name "f.txt" causes confusion \[SPR-13643] [#18220](https://togithub.com/spring-projects/spring-framework/issues/18220) - Revisit BeansException warn logging after startup failure \[SPR-13663] [#18238](https://togithub.com/spring-projects/spring-framework/issues/18238) - Implement containsKey for HttpHeaders returned from ServletServerHttpResponse \[SPR-13668] [#18243](https://togithub.com/spring-projects/spring-framework/issues/18243) - BeanFactoryAnnotationUtils.qualifiedBeanOfType should not instantiate all beans of given type before checking qualifier \[SPR-13741] [#18314](https://togithub.com/spring-projects/spring-framework/issues/18314) - Configure view controllers with the ApplicationContext \[SPR-13762] [#18335](https://togithub.com/spring-projects/spring-framework/issues/18335) - AbstractRequestLoggingFilter with startAsync: unwrap request to find ContentCachingRequestWrapper \[SPR-13764] [#18338](https://togithub.com/spring-projects/spring-framework/issues/18338) - Support for Microsoft SQL Server driver version 4 and above \[SPR-13772] [#18346](https://togithub.com/spring-projects/spring-framework/issues/18346) - Allow for setting TTL on a response sent by `@JmsListener` \[SPR-13774] [#18348](https://togithub.com/spring-projects/spring-framework/issues/18348) - Defensive error reporting when ConfigurationClassParser introspects declared methods via StandardAnnotationMetadata \[SPR-13791] [#18364](https://togithub.com/spring-projects/spring-framework/issues/18364) #### :beetle: Bug Fixes - SpEL compiler creating bad byte code for some values that are added together via OpPlus \[SPR-12426] [#17032](https://togithub.com/spring-projects/spring-framework/issues/17032) -