Releases: spring-projects/spring-framework
Releases · spring-projects/spring-framework
5.1.1 Release
⭐ New Features
- Set BEST_MATCHING_HANDLER_ATTRIBUTE in WebFlux.fn [SPR-17367] #21900
- How does DeferredResult get the value after the timeout [SPR-17364] #21897
- Replace context by provider() in Kotlin bean DSL [SPR-17352] #21886
- ServerWebInputException is throw each time Http request with mandatory request parameters is handled. [SPR-17338] #21872
- MonoToListenableFutureAdapter.cancel problems [SPR-17336] #21870
- ClassUtils could use long form of Class.forName [SPR-17333] #21867
- HeaderResultMatchers susceptible to slight variations in the date format [SPR-17330] #21864
- BasicAuthorizationInterceptor should add its header conditionally [SPR-17326] #21860
- Quartz job bean can't have constructor with injected parameters [SPR-17323] #21857
- Sanity checks for HTTP range requests [SPR-17318] #21851
- Unnecessary sort in AbstractApplicationEventMulticaster [SPR-17307] #21840
- Support for removeHeader in MockHttpServletRequest [SPR-17295] #21828
- Improve WebFlux performance for header management [SPR-17250] #21783
- WebTestClient.bindToRouterFunction(...) with exception handler not working [SPR-17239] #21772
- Add autowiring support to SpringBeanJobFactory [SPR-14471] #19040
- Convenient programmatic bean retrieval with qualifiers [SPR-8891] #13532
🪲 Bug Fixes
- MethodValidationPostProcessor validates FactoryBean methods for which validation is not applicable [SPR-17374] #21907
- MockHttpServletRequest doesn't reset InputStream/Reader on setContent [SPR-17373] #21906
- "This feature requires ASM7" on JDK11 on nested classes [SPR-17371] #21904
- WebTestClient throws IllegalArgumentException for invalid Parameters [SPR-17363] #21896
- Comparators.nullsLow creates wrong kind of NullSafeComparator [SPR-17357] #21891
- BeanFactory.getBeanProvider stream does not include beans from parent context [SPR-17356] #21890
- MockAsyncContext not found. Did request wrapper not delegate startAsync? [SPR-17353] #21887
- Nested DeferredImportSelector are not detected properly anymore [SPR-17351] #21885
- AnnotationMetadata.getAnnotationAttributes inconsistency for empty array in ASM implementation [SPR-17347] #21881
- Integer overflow while uploading big files (> 2.1 GB) using webflux [SPR-17345] #21879
- SpringBeanContainer should use returned instance from BeanFactory after initializing [SPR-17332] #21866
- ApplicationListener is missing from Collection returned by getApplicationListeners() if it was added after the multicaster was initialised [SPR-17324] #21858
- MockCookie parsing fails if cookie does not include attributes [SPR-17321] #21854
- HTTP 404 for static resources with last modified = 0L (breaks Docker images build with Jib) [SPR-17320] #21853
- Required attribute 'RouterFunctions.request' is missing [SPR-17304] #21837
- java.lang.AbstractMethodError: org.apache.commons.logging.LogFactory.setAttribute(..) [SPR-17302] #21835
- MockHttpServletResponse doesn't propagate Content-Language response header [SPR-17284] #21817
- Cyclic bean methods cause IllegalArgumentException instead of BeanCurrentlyInCreationException [SPR-17358] #19778
📔 Documentation
- Misleading description in Autowired javadoc [SPR-17299] #21832
5.0.10 Release
⭐ New Features
- DataBufferUtils does not release DataBuffer on error cases [SPR-16782] #21322
- Support for removeHeader in MockHttpServletRequest [SPR-17295] #21828
- Unnecessary sort in AbstractApplicationEventMulticaster [SPR-17307] #21840
- Sanity checks for HTTP range requests [SPR-17318] #21851
- HeaderResultMatchers susceptible to slight variations in the date format [SPR-17330] #21864
- ServerWebInputException is throw each time Http request with mandatory request parameters is handled. [SPR-17338] #21872
🪲 Bug Fixes
- UriComponentsBuilder.uriComponents doesn't properly clone unmodifiable queryParams [SPR-17256] #21789
- MockHttpServletResponse doesn't propagate Content-Language response header [SPR-17284] #21817
- Concurrency Exception during bean configuration related to not thread safe getBeanPostProcessor access [SPR-17286] #21819
- HTTP 404 for static resources with last modified = 0L (breaks Docker images build with Jib) [SPR-17320] #21853
- ApplicationListener is missing from Collection returned by getApplicationListeners() if it was added after the multicaster was initialised [SPR-17324] #21858
- Integer overflow while uploading big files (> 2.1 GB) using webflux [SPR-17345] #21879
- AnnotationMetadata.getAnnotationAttributes inconsistency for empty array in ASM implementation [SPR-17347] #21881
- MockAsyncContext not found. Did request wrapper not delegate startAsync? [SPR-17353] #21887
- Comparators.nullsLow creates wrong kind of NullSafeComparator [SPR-17357] #21891
- MethodValidationPostProcessor validates FactoryBean methods for which validation is not applicable [SPR-17374] #21907
- DataBufferUtils#join could leak buffers in case of error from the source [SPR-17025] #21563
📔 Documentation
4.3.20 Release
⭐ New Features
- Support for removeHeader in MockHttpServletRequest [SPR-17295] #21828
- Sanity checks for HTTP range requests [SPR-17318] #21851
🪲 Bug Fixes
- HTTP 404 for static resources with last modified = 0L (breaks Docker images build with Jib) [SPR-17320] #21853
- MockAsyncContext not found. Did request wrapper not delegate startAsync? [SPR-17353] #21887
- MethodValidationPostProcessor validates FactoryBean methods for which validation is not applicable [SPR-17374] #21907
📔 Documentation
5.1 GA Release
⭐ New Features
- GenericApplicationContext.registerBean should support non-default constructors [SPR-17292] #21825
- Expose more AbstractBeanDefinition methods in BeanDefinition [SPR-17275] #21808
- Add a BeanFactory#getBeanProvider Kotlin extension [SPR-17274] #21807
- BeanValidationPostProcessor(afterInitialization=true) fails for cglib proxied bean [SPR-17273] #21806
- Ordered list access for BeanFactory.getBeanProvider(), superseding ObjectProvider [SPR-17272] #21805
- Truncate large response bodies when logging in RequestResponseBodyMethodProcessor [SPR-17254] #21787
- Use doOnDiscard to free internally queued data buffers [SPR-17246] #21779
- Bean definition DSL does not generate unique bean names [SPR-17242] #21775
- Autowiring inconsistency:
@Qualifier
works with HashMap but not with Map [SPR-17197] #21731 - Expose the remote IP in ServerHttpRequest and WebSocketSession [SPR-17192] #21727
- Provide matched pattern information in WebFlux fn [SPR-17098] #21635
- Initial GraalVM native images (Substrate VM) support [SPR-16991] #21529
- SchedulerFactoryBean should not override explicit "org.quartz.scheduler.instanceName" setting with bean name [SPR-16884] #21423
- DataBufferUtils does not release DataBuffer on error cases [SPR-16782] #21322
- Allow configuration for DEFAULT_FRAME_MAX_SIZE of WebSocketSession on WebFlux with Netty [SPR-16228] #20776
🪲 Bug Fixes
- Concurrency Exception during bean configuration related to not thread safe getBeanPostProcessor access [SPR-17286] #21819
- getBean(Class) lookup performance degredation [SPR-17282] #21815
- Proper way to dispose of Response [SPR-17268] #21801
- UriComponentsBuilder.uriComponents doesn't properly clone unmodifiable queryParams [SPR-17256] #21789
- PathPatternPredicate still changes variables after failed AndPredicate [SPR-17210] #21743
- JUnit Jupiter
@Nested
class cannot share enclosing class's ApplicationContext if nested class is deemed to be a configuration candidate [SPR-16595] #21136
📔 Documentation
5.1 RC3 Release
⭐ New Features
- Add support for empty router in RouterFunctionDsl [SPR-17247] #21780
- Externally managed mode for ReactorResourceFactory [SPR-17243] #21776
- Polish capitalisation of units on DataSize and javadoc of DataUnit [SPR-17240] #21773
- HibernateTransactionManager should lazily acquire JDBC Connection (like HibernateJpaDialect) [SPR-17216] #21749
- Prevent instantiation of NamedParameterBatchUpdateUtils [SPR-17215] #21748
- Optimize for Flux to/from Mono conversions by Reactor [SPR-17203] #21736
- Be more defensive in UrlResource about cleaning the path [SPR-17198] #21732
- Test instances should not be proxied in the TestContext framework [SPR-9478] #14113
🪲 Bug Fixes
- Kotlin DSL (RouterFunctionDsl) doesn't support RenderingResponse in router function [SPR-17244] #21777
- ReactorHttpResources should clear HttpResources in global mode [SPR-17199] #21733
- Java 10: "Illegal method name" when test functions in Kotlin contain spaces in name [SPR-17137] #21674
- Spring internal configuration classes can no longer use
@EventListener
[SPR-17160] #19660
📔 Documentation
5.0.9 Release
⭐ New Features
- Usage of ClassLoader.loadClass() in ConfigurationClassParser [SPR-17253] #21786
- Spring WebSocket Stomp tomcat cluster with user destinations sends message to wrong subscriber. [SPR-17228] #21761
- Support both filters and views in AbstractJackson2HttpMessageConverter [SPR-17209] #21742
- WebFlux JSON request body garbled under heavy load [SPR-17193] #21728
- Consistent warn logging for handled exceptions [SPR-17178] #21714
- ClassUtils optimization for less expensive static initialization [SPR-17169] #21705
- BindingAwareConcurrentModel should properly react to null value [SPR-17141] #21678
- DataBufferUtils#takeUntilByteCount checks one extra buffer but does not release it [SPR-17118] #21655
- Initialize pre-filled HashMaps with large enough capacity (e.g. in HttpMethod) [SPR-17105] #21642
- Avoid unnecessary synthesizable annotation processing [SPR-16933] #21472
🪲 Bug Fixes
- 'ListBasedXMLEventReader.getElementText()' doesn't work [SPR-17233] #21766
- EL1072 when evaluating compiled expression using method SpelExpression.getValue(Object rootObject, Class expectedResultType) [SPR-17229] #21762
- Kotlin inner class nested configuration causes IndexOutOfBoundsException [SPR-17222] #21755
- WebClient does not write Mono.empty() request body [SPR-17220] #21753
- Compiled elvis operator does not work correctly when default value is a complex expression [SPR-17214] #21747
- HeaderAssertions.lastModified/expires takes an int value but it should be long [SPR-17194] #21729
- SimpleAliasRegistry.hasAlias does not properly resolve multiple chained aliases [SPR-17191] #21726
- UriComponentsBuilder does not encode "$" properly [SPR-17168] #21704
@Scheduled
task runs twice on bean with target-class scoped proxy (when injected) [SPR-17166] #21702- CheckboxTag incorrectly processing hidden field through RequestDataValueProcessor [SPR-17147] #21684
- Annotations on generic superclass methods not found by AnnotationUtils [SPR-17146] #21683
- ContextPathCompositeHandler returns 200 when no path found [SPR-17144] #21681
- SchedulerAccessor needs to catch primary key violation on reschedule (due to Quartz race condition) [SPR-17114] #21651
- WebTestClient ignores WebSessionManager bean [SPR-17094] #21631
- Classification of ClassCastExceptions doesn't work in JDK 11 (OpenJDK) [SPR-17093] #21630
- Inconsistent handling of dependent lifecycle beans in DefaultLifecycleProcessor [SPR-16901] #21440
📔 Documentation
- Removed Jackson view property "renderedAttributes" still mentioned in Spring Framework docs [SPR-17182] #21718
- Rewrite 1.10.8. PDF, Excel paragraph in Spring Framework Documentation [SPR-17180] #21716
- Fix broken links and address warnings for JavaDoc [SPR-17174] #21710
- Generate "Use" pages in aggregated Spring API documentation (Javadoc) [SPR-17173] #21709
- Incorrect CORS code fragment in Spring Framework Documentation [SPR-17167] #21703
- Preserve-publish-order is mentioned in documentation of 5.0.x [SPR-17106] #21643
- Incorrect query param code fragment in Spring Framework Documentation [SPR-17104] #21641
- Revise BeanFactory vs ApplicationContext section in reference docs [SPR-17095] #21632
4.3.19 Release
⭐ New Features
- Consistent warn logging for handled exceptions [SPR-17178] #21714
- Support both filters and views in AbstractJackson2HttpMessageConverter [SPR-17209] #21742
🪲 Bug Fixes
- AbstractJackson2HttpMessageConverter incorrectly logs at WARN level after upgrading to Jackson 2.9 [SPR-16947] #21486
- ConcurrentReferenceHashMap does not enforce visibility of cached EntrySet [SPR-16994] #21532
- Map injection fails to find bean produced with
@Bean
when additional method with same name exists [SPR-16999] #21537 - AOP and use of redirect view can lead to unbounded caching in AbstractAutoProxyCreator [SPR-17045] #21583
- Classification of ClassCastExceptions doesn't work in JDK 11 (OpenJDK) [SPR-17093] #21630
- SchedulerAccessor needs to catch primary key violation on reschedule (due to Quartz race condition) [SPR-17114] #21651
- CheckboxTag incorrectly processing hidden field through RequestDataValueProcessor [SPR-17147] #21684
@Scheduled
task runs twice on bean with target-class scoped proxy (when injected) [SPR-17166] #21702- SimpleAliasRegistry.hasAlias does not properly resolve multiple chained aliases [SPR-17191] #21726
- Compiled elvis operator does not work correctly when default value is a complex expression [SPR-17214] #21747
- EL1072 when evaluating compiled expression using method SpelExpression.getValue(Object rootObject, Class expectedResultType) [SPR-17229] #21762
📔 Documentation
- Doc: AsyncConfigurer causes dependencies to be created early [SPR-16945] #21484
- Update documentation references to Number/Currency/PercentStyleFormatter [SPR-17022] #21560
- Incorrect Class reference in documentation [SPR-17042] #21580
- Revise BeanFactory vs ApplicationContext section in reference docs [SPR-17095] #21632
- Removed Jackson view property "renderedAttributes" still mentioned in Spring Framework docs [SPR-17182] #21718
5.1 RC2 Release
⭐ New Features
- SmartLifecycle should provide default methods [SPR-17188] #21723
- SimpleClientHttpResponse.close() does not call close() on URLConnection.getInputStream() if SimpleClientHttpResponse.getBody() was not called before [SPR-17181] #21717
- Add JettyResourceFactory [SPR-17179] #21715
- Avoid argument resolution overhead for no-arg factory methods [SPR-17171] #21707
- Use default methods on Smart/GenericApplicationListener [SPR-17163] #21699
- Introduce DataSize type [SPR-17154] #21691
- BeanFactoryUtils.transformedBeanName() creates a lot of GC pressure [SPR-17151] #21688
- Exception hierarchy under WebClientResponseException for the WebClient [SPR-17145] #21682
- More easily set the order on DefaultSimpUserRegistry [SPR-17142] #21679
- limitExceeded is never reset in ConcurrentWebSocketSessionDecorator [SPR-17140] #21677
- Detect GraalVM with system property in SerializableTypeWrapper [SPR-17136] #21673
- BeanDefinition-aware BeanPostProcessors should clear cache in case of bean definition reset [SPR-17126] #21663
- ScriptUtils.containsSqlScriptDelimiters does not take into account escaped quotes [SPR-17120] #21657
- SharedEntityManagerCreator should support deferred access to StoredProcedureQuery output parameters [SPR-17115] #21652
- Add support for adding cookies as headers in MockHttpServletResponse [SPR-17110] #21647
- MockHttpSession doesn't publish session binding event for replaced attributes [SPR-17109] #21646
- Override JsonPathAssertions "equals" method to fail always [SPR-17091] #21628
- Improve/unify debug logging at BeanDefinitionReader and BeanFactory level [SPR-17090] #21627
- Minor performance improvements for 5.1 [SPR-17074] #21612
- CookieWebSessionIdResolver doesn't recognise https scheme when used with ForwardedHeaderFilter [SPR-17072] #21610
- Support a custom CorsConfigurationSource [SPR-17067] #21605
- Relax explicit TestContextBootstrapper resolution [SPR-17006] #21544
- Add ExchangeFilterFunction that enforces limit on the response size [SPR-16989] #21527
- Make it easier to tidy up the resources used by a WebClient [SPR-16963] #21501
- Make it possible to disable Scheduled job via cron expression [SPR-16858] #21397
- Check scheme in WebUtils#isSameOrigin [SPR-16362] #20909
- Exception hierarchy under HttpClientException and HttpServerException for the RestTemplate [SPR-15404] #19967
- ResponseEntity factory method inferring FOUND / NOT_FOUND from Optional [SPR-13281] #17871
🪲 Bug Fixes
- LocalVariableTableParameterNameDiscoverer runs into UnsupportedOperationException in ClassVisitor.visitNestMemberExperimental() [SPR-17103] #21640
- Classpath scanning on inner classes fails against JDK 11 bytecode level [SPR-17096] #21633
📔 Documentation
5.1 RC1 Release
⭐ New Features
- Introduce ResolvableType.toClass() shortcut [SPR-17086] #21623
- Programmatic ObjectProvider retrieval through BeanFactory API [SPR-17075] #21613
- Avoid repeated factory class introspection in AbstractAutowireCapableBeanFactory [SPR-17071] #21609
- Revise ResolvableType.as for introspection performance (limiting serializability) [SPR-17070] #21608
- Support running Kotlin Spring apps without kotlin-reflect.jar [SPR-17069] #21607
- Use available type information in functional bean definitions for resolving FactoryBean type [SPR-17063] #21601
- Support for null bean in functional bean registration [SPR-17057] #21595
- WebSession/WebSessionStore API are silent on saving a session that may have been invalidated [SPR-17051] #21589
- Hibernate 5: restore ability to inject "cacheRegionFactory" of LocalSessionFactoryBean [SPR-17043] #21581
- Support stricter encoding of URI variables in UriComponents [SPR-17039] #21577
- Consistent non-exposure of null beans in the BeanFactory API [SPR-17034] #21572
- Publicly expose ResolvableType in RootBeanDefinition [SPR-17028] #21566
- Evaluate
@Cacheable
(condition) once per method invocation only [SPR-17024] #21562 - Revise ClassUtils.isPresent for exposing resolution exceptions in jlinked modules [SPR-17018] #21556
- Add ServerResponse extensions for json, xml and html [SPR-17017] #21555
- HibernateJpaDialect cannot translate JDBCException to custom DataAccessException [SPR-17015] #21553
- Avoid ServerResponse static imports in WebFlux router DSL [SPR-17009] #21547
- RestTemplate (and probably server side as well) should be able to bootstrap itself if com.sun.org.apache.xalan.* is not available [SPR-17007] #21545
- DefaultParameterNameDiscoverer should automatically adapt to Graal constraints [SPR-17005] #21543
- LocalSessionFactoryBean and HibernateTransactionManager for JPA EntityManagerFactory setup [SPR-17002] #21540
- Perform explicit class checks in ReactiveAdapterRegistry [SPR-17000] #21538
- Create HttpHeaders.setBearerAuth(String) [SPR-16997] #21535
- Support platforms where Class is not Serializable in SerializableTypeWrapper [SPR-16992] #21530
- Add MockClientHttpRequest.getBodyAsString [SPR-16988] #21526
- AspectJ aspect for
@javax
.transaction.Transactional is not initialised by default [SPR-16987] #21525 - Throw a specific exception when an attempt to override a bean definition is rejected [SPR-16982] #21520
- Provide more control for setting the secure flag on the session cookie [SPR-16980] #21518
- Spring context indexer is not designed for the Java 9 module path [SPR-16979] #21517
- CachedIntrospectionResults should build complete descriptor for setter/getter across interface hierarchy [SPR-16978] #21516
- StandardServletMultipartResolver should support also HTTP PUT method [SPR-16975] #21513
- Resolved ApplicationListener event type should get cached [SPR-16970] #21508
- SpringClassRule does not support the Arquillian MethodRuleChain [SPR-16967] #21505
- Propagate read-only status to Hibernate Session through setDefaultReadOnly [SPR-16956] #21494
- Create DSL for RouterFunction and RouterFunctions [SPR-16953] #21491
- Improve logging for development (DEBUG vs TRACE) [SPR-16946] #21485
- LinkedCaseInsensitiveMap should explicitly implement putIfAbsent and computeIfAbsent [SPR-16926] #21465
- FilePart.transferTo should accept java.nio.file.Path [SPR-16925] #21464
- Provide getter to expose the DispatcherServlet instance used in MockMvc [SPR-16924] #21463
- Optimize AbstractAutowireCapableBeanFactory.populateBean(String, RootBeanDefinition, BeanWrapper) to avoid redundant Java Bean introspection [SPR-16918] #21457
- Create HttpHeaders.setBasicAuth(String username, String password) [SPR-16913] #21452
- Improve generic warnings when implementing BodyExtractor [SPR-16909] #21448
- Introduce Stream support in PropertySources and PropertyValues [SPR-16894] #21433
- Enable use of both
@SendTo
and@SendToUser
on the same method [SPR-16891] #21430 - MethodParameter needs to apply tighter assertions [SPR-16889] #21428
- Revisit PropertyResolver Kotlin extensions [SPR-16883] #21422
- Subclass-resolved generic return type declarations for handler methods [SPR-16877] #21416
- Support for form parameters with HTTP DELETE [SPR-16874] #21413
- WebClient.Builder option to customize every request [SPR-16873] #21412
- Process X-Forwarded-Ssl headers properly [SPR-16863] #21402
- Make FormHttpMessageWriter easier to extend [SPR-16855] #21395
- No type-based error code used by immutable form class when type conversion error occurs [SPR-16854] #21394
- Java 9: Avoid illegal reflective access warning for SpEL method reference [SPR-16845] #21385
- Validation failure not exposed next to binding failure for immutable form class [SPR-16841] #21381
@DateTimeFormat
annotations are necessary both on field and constructor parameter in the immutable form class [SPR-16840] #21380- A lite configuration class's member classes are processed when it's imported but not when it's registered directly [SPR-16839] #21379
- PathMatchingResourcePatternResolver should enforce OS-independent sorting of directory content [SPR-16838] #21378
- Extending ScheduledTaskRegistrar functionality [SPR-16834] #21374
- java.nio.file.Path support in FileSystemResource (with regular createRelative behavior, superseding PathResource) [SPR-16833] #21373
- ClassPathResource.isReadable() returns true for directory in runnable jar result in download empty file [SPR-16832] #21372
- Apply Hibernate Integrator through LocalSessionFactoryBean [SPR-16828] #21368
- Improve handling of unknown status codes by WebClient [SPR-16819] #21359
- Support use of MultipartFile as input to RestTemplate or WebClient [SPR-16808] #21348
- Improve UnsupportedMediaTypeEx...
5.0.8 Release
⭐ New Features
- Spring-context optimization: LinkedMultiValueMap and ArrayList should be initialized with specified capacity for preventing collections from resizing [SPR-17079] #21616
- Cache order result per Class in OrderUtils (for AnnotationAwareOrderComparator) [SPR-17064] #21602
- Add setter for order for DefaultSimpUserRegistry [SPR-17023] #21561
- InMemoryWebSessionStore could leak memory if sessions created but never used [SPR-17020] #21558
- Reduce the impact on startup time of adding Reactor to the classpath [SPR-16981] #21519
- Lazily initialize SecureRandom in MimeTypeUtils [SPR-16974] #21512
- StringUtils.cleanPath should not strip off the entire path for
file:./
[SPR-16908] #21447 - InMemoryWebSessionStore method to access map of sessions [SPR-16713] #21254
- Revise StringUtils.parseLocale(String) for proper handling of corner cases [SPR-16651] #21192
- Warn about use of SimpleAsyncTaskExecutor for async requests [SPR-16203] #20751
- Annotations on generic interface methods not found by AnnotationUtils [SPR-16060] #20609
- Content-Length should be set in the request when using reactive WebClient [SPR-16949] #19562
- StringUtils#parseLocaleString(String) with Variant when no Country [SPR-7598] #12254
🪲 Bug Fixes
- ResponseEntityResultHandler does not overwrite existing response headers [SPR-17082] #21619
- MVC not rendering response headers for ResponseEntity<Flux> [SPR-17076] #21614
- spring-webflux ModelAttributeMethodArgumentResolver validateIfApplicable [SPR-17073] #21611
@RequestParam
throwsjava.lang.NullPointerException: The mapper returned a null value.
[SPR-17050] #21588- AnnotationMetadataReadingVisitor.getMetaAnnotationTypes(String) may return null but it is not marked
@Nullable
[SPR-17046] #21584 - AOP and use of redirect view can lead to unbounded caching in AbstractAutoProxyCreator [SPR-17045] #21583
- Boundary info in Content-Type multipart request header not parsed correctly because of charset [SPR-17030] #21568
- HtmlUnitRequestBuilder decodes plus sign in query parameter [SPR-17027] #21565
- Spring 5.x DataSource proxying does not work with Oracle UCP on JDK 9+ [SPR-17003] #21541
- Map injection fails to find bean produced with
@Bean
when additional method with same name exists [SPR-16999] #21537 - ConcurrentReferenceHashMap does not enforce visibility of cached EntrySet [SPR-16994] #21532
- The WebHttpHandlerBuilder copy constructor does not copy the applicationcontext [SPR-16972] #21510
- Share ByteBufferPool between UndertowWebSocketClient connections (avoiding risk of memory leaks) [SPR-16957] #21495
- spring.ftl does not support turning off escaping for some macros on Spring 5 [SPR-16951] #21489
- AbstractJackson2HttpMessageConverter incorrectly logs at WARN level after upgrading to Jackson 2.9 [SPR-16947] #21486
- ResponseCookie prints incorrect max-age and expires values [SPR-16940] #21479
- Problem with passing null parameter to MapSqlParameterSource [SPR-16843] #21383