All Versions
53
Latest Version
Avg Release Cycle
33 days
Latest Release
836 days ago
Changelog History
Page 1
Changelog History
Page 1
-
v5.3.2 Changes
December 09, 2020π± β New Features
- π§ Refine ConfigurationClassPostProcessor behavior in native images #26236
- π² Ability to correlate ByteBuf leak records to log messages for a specific request #26230
- π§ Avoid CGLIB proxies in websocket/messaging configuration #26227
- ContentCachingResponseWrapper should not add βContent-Lengthβ when βTransfer-Encodingβ is present #26182
- π Allow customization of file extension to media type map for WebFlux static resources #26170
- π§ Register bean definition dependencies when used via configuration class injected fields #26167
- π Print helpful information in RSocket MetadataExtractor #26130
- β Add ResponseSpec#toEntityFlux overload that accepts BodyExtractor #26114
- Wildcard is a valid Access-Control-Expose-Headers value #26113
- β¬οΈ Reduce overhead of char[] creation #26101
- EntityManagerFactory startup failure in deferred mode is only available on first use #26093
- β
@DynamicPropertySource
is not supported via@NestedTestConfiguration
semantics #26091 - Introduce and() methods in MethodFilter and FieldFilter for composite filters #26063
- Kotlin extensions for WebClient.ResponseSpec #26030
- β
Validate that JUnit Jupiter test methods and lifecycle methods are not annotated with
@Autowired
#25966 - β Add support for SSE to WebMvc.fn #25920
- Template URI Variables with newline %0A or %0D are not matched #23252
π± π Bug Fixes
- AsyncServerResponse interoperability issue with path variables #26239
- β Remove duplicate "property" in PropertyCacheKey.toString() #26237
- DataBuffer Leak in Server Response #26232
- Wrong HttpServletMapping used on INCLUDE in UrlPathHelper.skipServletPathDetermination #26216
- π€‘ MockMvc ignores MultipartFile registrations when both files and parts are registered #26166
- cannot resolve
ServerRequest::pathVariable
in nestedRequestPredicate
#26163 - ConcurrentModificationException in NativeMessageHeaderAccessor#copyHeaders #26155
- AbstractServerHttpRequest constructor breaks binary compatibility between 5.2.x and 5.3.x #26151
- π Refine kotlinx.serialization support #26147
- MimeType is no longer actually serializable #26127
- β Resttemplate throws NPE with spring-boot-starter-log4j2 within tests #26120
- β‘οΈ Update default for favorPathExtension to match Javadoc and as intended for 5.3 #26119
- β¬οΈ Spring Boot 2.4 upgrade breaks injection of Principal #26117
- NoSuchMethodError in UrlPathHelper.skipServletPathDetermination #26112
- π Support allowedOriginPatterns in SockJS config #26108
- PathMatchingResourcePatternResolver fails to resolve resources from JAR located in path with '#' on JDK 11+ #26104
@Transactional
causes casting error for suspending function on Spring MVC #26092- π UrlPathHelper#removeJsessionid doesn't remove the jsessionid from the URL #26079
- β‘οΈ NamedParameterJdbcTemplate.batchUpdate does not individually apply the SQL type from each SqlParameterSource argument #26071
- Missing error status handling for
toEntityFlux
methods inWebClient
#26069 - π DataBufferUtils#join may release a DataBuffer more than necessary #26060
- π» FlightRecorderApplicationStartup exception on processing Http Request #26057
- WebMvc.fn: ServerResponse.async does not handle exceptions as expected #25931
- Non-compliant Content-Type header for multipart media types #25885
- π ResponseEntity Exception Handling Issues #25490
π Documentation
- Clarify intended advice execution behavior in Spring version 5.2.7+ #26202
- 0οΈβ£ DateTimeFormat ISO.DATE_TIME javadoc contains misleading default note #26134
- Spring EntityManager proxy is incompatible with Hibernate Search <5.11.6 (FullTextEntityManager instantiation fails with ClassCastException) #26090
- Null passed in required
@RequestParam
now fails #26088 - π Mention security consideration in ForwardedHeaderFilter javadoc #26081
- β Add cron expression documentation #26067
- β‘οΈ Update javax.mail reference to jakarta.mail #25855
- Mechanism to access request bound objects in WebClient filter in servlet env #25710
- Document that
@Transactional
does not propagate to new threads #25439
β¬οΈ π¨ Dependency Upgrades
- β¬οΈ Upgrade to Kotlin Coroutines 1.4.2 #26226
- β¬οΈ Upgrade to Reactor 2020.0.2 #26176
- β¬οΈ Upgrade to Kotlin 1.4.21 #26132
π± β€οΈ Contributors
π We'd like to thank all the contributors who worked on this release!
-
v5.3.1 Changes
November 10, 2020π± β New Features
- π¦ Expose a public method "isClosed" to indicate whether the connection has been closed in WebSocketSession (WebFlux) #26043
- WebFlux missing programmatic handling of MappingJacksonValue #26035
- β‘οΈ Optimize locking in AspectJProxyFactory for concurrent aspect instantiation #26034
- β‘οΈ Upgrade SpelCompiler bytecode level to 1.8 and optimize for concurrent access #26033
- π MergedAnnotationCollectors.toAnnotationSet() should not create intermediate ArrayList #26031
- SpEL doesn't work nicely with records #26029
- π StompSubProtocolHandler logs failed authentication with error stack trace #26026
- π¦ Expose toEntityFlux methods in WebClient.ResponseSpec #26023
- π Improve AdvisedSupport.getAdvisors() #26017
- π Improve URI/query strings sanitization #26012
- 0οΈβ£ DefaultSimpUserRegistry prevents event from being published if original SimpMessageHeaderAccessor cannot be found #26010
- 0οΈβ£ DefaultWebClientBuilder copies references #25992
- Inefficient request handling inside ServletRequestDataBinder #25986
- Avoid multiple volatile reads/writes in a row where only one is enough #25899
- π Allows Jackson2 encoders to log Throwable reason for not being able to serialize or deserialize #25892
- Mechanism to access request bound objects in WebClient filter in servlet env #25710
π± π Bug Fixes
- Cannot be cast to class Publisher error with non suspending
@Transactional
functions #26052 - π Fix wrong reference in UrlPathHelper.removeSemicolonContentInternal() #26050
- β± setTaskScheduler in StompBrokerRelayRegistration breaks chaining #26049
- β Add FullyQualifiedAnnotationBeanNameGenerator.INSTANCE #26025
- Autowiring does not work reliably in case of dynamically changing prototype bean class #26019
- β Order of profiles in tests is not preserved #26004
- βͺ
@Transactional
on suspending function returning a value always rollbacks #25998 - π SseEmitter: connection closed after first event #25987
@Nonnull
annotation breaks ServletRequestMethodArgumentResolver for Principal #25981- Spring MVC's locale resolver can no longer be customized in parent context #25290
π Documentation
- π Fix kotlin example code which does not compile #26016
- π Fix a broken Asciidoctor syntax in core-resources.adoc #25999
π± β€οΈ Contributors
π We'd like to thank all the contributors who worked on this release!
-
v5.3.0 Changes
October 27, 2020π± β New Features
- π Allow cache eviction for ConcurrentLruCache #25963
- π Support Optional for query parameters in UriBuilder and UriComponentsBuilder #25951
- π Deprecate
StringUtils.isEmpty(Object)
and replace remaining usage (e.g. withObjectUtils.isEmpty
) #25945 - Introduce RouterFunction attributes #25938
- β
Discover
@Sql
,@SqlConfig
,@SqlGroup
, &@SqlMergeMode
on enclosing class for nested test class #25913 - π Support Propagation.NEVER for disabling test-managed transactions #25909
- Extensible invocation of TcpClient in ReactorNettyTcpClient #25889
- π Ignore duplicate configuration metadata for cache key in the TestContext framework #25800
- Avoid use of String's for ContentDisposition type #25647
- π¦ Expose access to STOMP SimpleMessageBroker sessions user Principal #25191
- π Allow programmatic registration of completion and error callbacks to transactional event listeners #24163
- π Support suspending functions annotated with
@Transactional
#23575 - StompBrokerRelay doesn't send heartbeats to broker when
@MessageMapping
handles received messages #22822
π± π Bug Fixes
- β
@NestedTestConfiguration
should not be discovered on enclosing class for nested interface #25917 - UriComponentsBuilder controller method argument has no path #25822
- π Support multiple matchers in MockMvc Kotlin DSL #24103
π Documentation
- β
Document
@NestedTestConfiguration
support #25912 - π Improve R2DBC DatabaseClient documentation regarding array/Collection-like bind parameters #25860
- Document
@DynamicPropertySource
use cases that require@DirtiesContext
#25850 - π Use lowercase property names in SpEL examples #25538
β¬οΈ π¨ Dependency Upgrades
- β¬οΈ Upgrade to Kotlin Coroutines 1.4.0 #25969
- β¬οΈ Upgrade to RSocket 1.1.0 #25956
- β¬οΈ Upgrade to Reactor 2020.0.0 #25947
- β¬οΈ Upgrade to Gradle 6.7 #25918
π± β€οΈ Contributors
π We'd like to thank all the contributors who worked on this release!
-
v5.3.0-RC2 Changes
October 13, 2020π± β New Features
- Compatibility with Jackson 2.12 #25907
- π Loggers apparently constructed on a per HTTP request basis in reactive web code cause CPU overhead #25900
@ControllerAdvice
order defined via@Order
on a@Bean
method is not applied #25872- β Add missing awaitBodilessEntity and createExceptionAndAwait ClientResponse extensions #25866
- β Add Dependencies Manifest Entry to spring-core #25852
- Subclasses of UrlBasedViewResolver could avoid reflection when creating instances of View #25847
- β Add option to disable Last-Modified handling when serving static resources #25845
- FormHttpMessageConverter to preserve parameters from the input MediaType #25839
- Request data binding fails for params with an empty array "[]" suffix #25836
- π Support for an async determination of status and headers with a WebMvc HandlerFunction #25828
- π Deprecate LiveBeansView #25820
- π» MultipartFile[] required controller param, not throwing exception #25819
- β‘οΈ Optimize StringUtils trimLeading/Trailing methods #25810
- Set the sameSite cookie attribute in ClientHttpResponse implementations #25785
- β± Unable to change Clock for spring framework scheduling #25782
- Resolve Principal argument only when not annotated #25780
- π Use the function endpoint, filter the handler function, and find that remoteAddress is null, params is empty #25776
- β Add kotlinx.serialization JSON support to Spring WebFlux #25771
- π Make path pattern optional in router functions #25752
- π Deprecate WebClient#exchange() and provide safer alternatives #25751
- 0οΈβ£ Easing the application of CORS default settings through the WebMvcConfigurer#corsConfigurer method #25716
- Empty or blank required UUID header validation results in 200 response status #23939
- π Support suspending handler methods in Spring MVC #23611
- Introduce Converter.andThen(...) #23379
- β Remove inefficiency in HttpStatus.series() #22366
- π Provide Gson/JSON-B MessageConverter for spring-messaging (aligned with spring-web) #21496
- π§ Discover test configuration on enclosing class for nested test class [SPR-15366] #19930
π± π Bug Fixes
- β WebTestClient no longer captures the URI template #25854
- Webflux Routing DSL's onError filters execute in unexpected order #25541
- TransactionalOperator.executeAndAwait returns value too early #25007
π Documentation
- 0οΈβ£ Document DefaultPartHttpMessageReader #25827
- π Update WebFlux documentation with regards to logging appenders #25547
- β¬οΈ Upgrade to Asciidoctor Gradle plugin 3.x #24991
β¬οΈ π¨ Dependency Upgrades
- β¬οΈ Upgrade to Kotlin Coroutines 1.4.0-M1 #25914
- β¬οΈ Upgrade to RSocket 1.1.0-RC1 #25898
- β¬οΈ Upgrade to Reactor 2020.0.0-RC2 #25884
- β¬οΈ Upgrade to Kotlin 1.4.10 #25779
π± β€οΈ Contributors
π We'd like to thank all the contributors who worked on this release!
-
v5.3.0-RC1 Changes
September 15, 2020π± β New Features
- 0οΈβ£ MimeMessageHelper should not encode attachment filenames by default #25770
- A beforeCommit chain failure invariably results in a 500 response #25753
- π Improve performance of JdkDynamicAopProxy.getProxy(ClassLoader) #25660
- β Add URI variables to request context in AbstractUrlHandlerMapping (reactive) #25648
- Public method in RSocketMessageHandler to register any handler method #25639
- π Allow early decoration of request and response in WebFlux #25633
- β Spring Test: Methods should allow supertypes of Matcher using lower bounded wildcards #25610
- π§ WebSocket configuration doesn't work properly with the buffer size limitation #25581
- π Declare interfaces as
@FunctionalInterface
where feasible #25580 - Call StartupStep.end in finally block #25572
- π Support filename hint for client side use of ResourceDecoder #25516
- β± No way to set timeout for the requests when using Jetty reactive httpclient #25493
- Mime type "application/*" is not compatible with "application/vnd+json" #25350
- π Avoid resizing of fixed-size HashMap #25349
- π Support RSocket Load Balancing #25333
- β± WebClient HTTP Request Timeout #25115
- π Support a
RowMapper<T>
for Java record classes #24695 - Data binding for Java record classes #24391
- Failure to bind a component of a form backing object using constructor binding causes the object to be null #24372
- π Concurrent access to ParsedSql cache in NamedParameterJdbcTemplate #24197
- WebClient: wrap connection exceptions #23842
- Extract MimeTypeUtils.ConcurrentLruCache and make it public #22789
- π WebSocket support with
@EnableWebFlux
#22587 - β Add kotlinx.serialization JSON support to Spring MVC #21188
- β Common API for MockMvc tests and for real HTTP tests #19647
π± π Bug Fixes
- β¬οΈ Upgrading from Boot 2.3.3 or 2.4-M1 to Boot 2.4-M2 uses 125mb heap in BitsCronField #25687
- Copy httpHandlerDecorator in copy constructor for WebHttpHandlerBuilder #25656
- π€‘ MockMvc does not correctly initialize the request for non-file mock Part uploads #25602
- WebFlux application server add server.forward- Headers - Strategy = Framework RouterFunction endpoint 404 #25270
π Documentation
- π Fix typo in Regular Expression Pointcuts docs #25767
- π Fix typo regarding Ordered interface in core-aop.adoc #25759
- π Fix typo in websocket.adoc #25630
- Eliminate unnecessary word in core-bean.adoc that causes repetition #25585
- π Publish documentation under reference/html folder #25071
β¬οΈ π¨ Dependency Upgrades
- β¬οΈ Upgrade to RSocket 1.1 M2 #25729
- β¬οΈ Upgrade to Reactor 2020 RC1 #25728
- β¬οΈ Upgrade to Kotlin 1.4.0 #25617
- β¬οΈ Upgrade to Gradle 6.6 #25578
- β¬οΈ Upgrade to JUnit 5.7 #25527
π± β€οΈ Contributors
π We'd like to thank all the contributors who worked on this release!
-
v5.3.0-M2 Changes
August 11, 2020π± β New Features
- Introduce getBeanProvider variants with allowEagerInit flag #25559
- π Allow to access the underlying ConnectionFactory from DatabaseClient #25521
- β‘οΈ Optimize DefaultLifecycleProcessor::startBeans #25506
- π¨ Refactoring opportunity in HandlerExecutionChain #25500
- π Support macros in crontab expressions #25471
- Introduce CronExpression #25464
- π Use System.currentTimeMillis() in AbstractSockJsService #25447
- Simplified return statement #25415
- π Improve UriComponents.sanitizeSource() #25401
- π Use Math.min() in ExponentialBackOff #25381
- π Allow auto grow for entries without default constructor in SpEL #25367
- β Remove redundant Character.toLowerCase() in BeanPropertyRowMapper #25361
- Leverage spring.ignore.xml flag to avoid XmlBeanDefinitionReader #25338
- Leverage spring.ignore.xml flag to avoid SQLErrorCodeSQLExceptionTranslator #25335
- Check for valid IPv6 host in UriComponentsBuilder.fromUriString #25334
- π Support use of RSocketClient #25332
- β¨ Enhance HandlerMappingIntrospector to cache parsed patterns #25312
- 0οΈβ£ DefaultSubscriptionRegistry: Reduced thread contention #25298
- π Support multiple Content-Language header values in MockHttpServletResponse #25281
- β added possibility to extend ModelAttributeMethodArgumentResolver #25265
- π WebSocketMessage's methods
fromMessage
andtoFrames
ignore Netty WebSocketFrame metadata #25099 - π Support for pattern based origin cors configuration #25016
- Collect metrics during application context startup #24878
- Sort detected PersistenceExceptionTranslator beans #24644
- π Constructor based bean binding should support url path variables, not only request parameters #24107
- π Feature request: provide support for JSR 310 types in CronTrigger #23496
- RouterFunction does not respect path matching set in WebFluxConfigurer #23236
- Turn MethodArgumentNotValidException into subclass of BindException #23107
- π Support for direct path lookups in WebFlux #22961
- π ExceptionHandlerExceptionResolver should support exceptions from any handler #22619
- β±
@Scheduled
(cron = "0 0 0 ? * 5#3") is not supported #22436 - β‘οΈ Consider updating the default Hibernate dialect for MySQL databases #22326
- Spring MVC - Kotlin: Cannot bind MultipartFile in constructor [SPR-17640] #22169
- π Support JSON streaming formats besides application/stream+json #21283
- π Support raising exception with a custom HTTP status code #20336
- π Support for the last day in month cron expression [SPR-15547] #20106
- Cron Expression validation [SPR-14933] #19500
- π Cron expression with fixed weekday and fixed date may or may not lead to IllegalStateException (runaway search for next trigger) [SPR-8981] #13621
π± π Bug Fixes
- β‘οΈ MockHttpServletResponse's setCharacterEncoding() does not update contentType property #25536
- Bean overriding for 'taskExecutor' alias is not detected #25430
- π€‘ Creating ServerRequest from MockHttpServletRequest changed behaviour 5.3.0-M1 #25353
- π CaffeineCache does not support LoadingCache consistently #25173
- CronSequenceGenerator - Friday 13th issue [SPR-17036] #21574
π Documentation
- π Use Groovy syntax highlighting in reference manual #25554
- π Fix comment syntax in xml examples #25537
- π Fix links in Javadoc #25448
- π Fix typo in javadoc #25396
- β Add logging reference documentation [SPR-17626] #22158
β¬οΈ π¨ Dependency Upgrades
- β¬οΈ Upgrade to Jackson 2.11.2 #25398
- β¬οΈ Upgrade to Reactor 2020.0.0-M2 #25373
- β¬οΈ Upgrade to RSocket 1.1 M1 #25331
- β¬οΈ Upgrade to ASM 9.0 #24872
- β¬οΈ Upgrade to Kotlin 1.4 RC #24171
π± β€οΈ Contributors
π We'd like to thank all the contributors who worked on this release!
-
v5.3.0-M1 Changes
June 25, 2020π± β New Features
- π Use @SafeVarargs in Jackson builder and factory #25311
- π Use JDBC 4 API for connection validation #25305
- β¬οΈ Reduce String creation in BeanPropertyRowMapper #25301
- 0οΈβ£ Align DispatcherServlet defaults for Java and XML #25260
- π Make DispatcherServlet.properties loading lazy #25257
- βͺ Rollback reactive transaction on cancel #25256
- π Support multi-value X-Forwarded-Prefix headers #25254
- π¨ Refactor method name dispatching to switch statements in AutowireUtils #25199
- π Disable and remove unsupported features from native images #25179
- π¨ Refactor method name dispatching to switch statements #25170
- π¨ Refactor method name dispatching to switch statements #25163
- π Provide a flag to disable SpEL support #25153
- π Provide a flag to disable XML support #25151
- π Allow customization of JPA EntityManager before use #25125
- π Make use of HttpServletMapping when available #25100
- β Add support for R2DBC #25065
- π Support configurable timeout in @transactional #25052
- 0οΈβ£ Use same default ClassLoader in SpringFactoriesLoader #24992
- SpringFactoriesLoader should filter out duplicates #24985
- 0οΈβ£ DefaultResourceLoader's default constructor makes it easy to introduce a ClassLoader leak #24957
- Reject "/path/**/other" patterns in PathPatternParser #24952
- π Support for PathPatternParser in Spring MVC #24945
- β Introduce ClientHttpConnector test suite #24941
- β Add file parameters as request parts in HtmlUnitRequestBuilder #24926
- BeanNameAutoProxyCreator proxies the wrong beans when custom TargetSourceCreator specified #24915
- π¦ Expose multipart data in ServerRequest #24909
- π VersionResourceResolver should use weak ETags to allow for HTTP compression #24898
- Extend transaction attributes with labels #24890
- Avoid using regex matching for static patterns #24887
- β Align TransactionManagementConfigurer support in TestContext framework with production #24869
- β Add Encoder and Decoder for Netty ByteBuf #24866
- π Allow setting SerializationInclusion with JsonInclude.Value #24824
- π» ObjectProvider.ifAvailable throws exception for scoped bean without an active scope #24822
- Wrap XMLStreamException in DecodingException #24778
- π Improve MediaType parsing performance #24769
- β Add BeanPostProcessors in bulk #24756
- β Integrate Apache Http client with WebClient #24700
- π Improve performance of AbstractAutowireCapableBeanFactory#predictBeanType #24681
- π Improve efficiency of mutating of ClientHttpResponse and ServerHttpRequest #24680
- π Support user-defined key type in JDBC KeyHolder #24655
- PartsHttpMessageWriter introduced #24535
- π Support URI templates in RequestEntity #24406
- π Allow re-initialization of DataBinder to and from direct field or bean property access #24347
- β Add support for metadata push to RSocketRequester #24322
- π Support setting spring.test.constructor.autowire.mode via junit-platform.properties file #24285
- Honor generic type information in BeanUtils.copyProperties() #24281
- π Fix behavior in ExceptionHandlerExceptionResolver.setResponseBodyAdvice #24204
- π Support for RxJava 3 #24170
- β Add Nullable to Joinpoint and MethodInterceptor #24117
- DataSourceTransactionManager does not consider SQLExceptionTranslator on commit #24064
- 0οΈβ£ Turn off useSuffixPatternMatching by default #23915
- π Support matching against multiple header values in HeaderAssertions #23878
- π€‘ Multipart request support in MockRestServiceServer #23772
- β¨ Enhanced form data request support in MockRestServiceServer #23671
- β Add support for X-Forwarded-For and Forwarded for #23582
- @ExceptionHandler to keep nesting beyond the first cause #23380
- π Support separate annotation introspectors in Jackson2ObjectMapperBuilder #23017
- π Improve GraalVM native support #22968
- Provide access to the WebSocket close status in WebFlux #22079
- π Make WebFlux multipart support fully Reactive [SPR-17122] #21659
- β Add iterable JDBC template to process large amount of data [SPR-13900] #18474
π± π Bug fixes
- 0οΈβ£ AllEncompassingFormHttpMessageConverter now uses both JAXB and Jackson by default #25291
- π Align @RequestPart support in WebFlux with Spring MVC #22973
π Documentation
- π Fix obsolete link in Kotlin docs #25192
- Switch to googlecode theme for syntax highlighting in reference manual #24865
- π fix WebRequest.checkNotModified docs #1035
β¬οΈ π¨ Dependency upgrades
- β¬οΈ Upgrade to Gradle 6.5 #25180
- β¬οΈ Upgrade to Reactor 2020.0.0 M1 #25085
- β¬οΈ Upgrade to Dom4j 2.1.3 and Jaxen 1.2.0 #25078
- β¬οΈ Upgrade to Gradle 6.4 #25020
- β¬οΈ Upgrade to ASM 8.1 #24872
- β¬οΈ Upgrade to TestNG 7.1.0 #24298
- β¬οΈ Upgrade to Groovy 3.0 #24215
- β¬οΈ Upgrade to JUnit 4.13 #22894
π± β€οΈ Contributors
π Weβd like to thank all the contributors who worked on our current release!
- @eiselems
- @parviz-93
- @LinkedList
- @ijliym
- @eXsio
- @igor-suhorukov
- @marschall
- @vpavic
- @izeye
- @midumitrescu
- @thenx-wei
- @YooInKeun
- @Syquel
- @dreis2211
- @kamilszymanski
- @quaff
- @kobaeugenea
- @encircled
- @stqp
- @kpkunal1406
- @martin-tarjanyi
- @jjohannes
- @97e57e
- @molassar
- @rweisleder
- @spac-valentin
- @yanghuai2020
- @rohitp27
- @mp911de
- @dilsonnn
- @chenqimiao
- @kptfh
- @mdeinum
- @stsypanov
-
v5.2.12.RELEASE Changes
December 09, 2020π± β New Features
- ContentCachingResponseWrapper should not add βContent-Lengthβ when βTransfer-Encodingβ is present #26191
- π§ Register bean definition dependencies when used via configuration class injected fields #26168
- Wildcard is a valid Access-Control-Expose-Headers value #26115
- EntityManagerFactory startup failure in deferred mode is only available on first use #26094
π± π Bug Fixes
- π» AbstractJackson2HttpMessageConverter writes partial data when exception occurs during write #26246
- β Remove duplicate "property" in PropertyCacheKey.toString() #26242
- DataBuffer Leak in Server Response #26234
- GenericConversionService$Converters.getMatchableConverters throws ConcurrentModificationException on Java 9+ #26184
- ConcurrentModificationException in NativeMessageHeaderAccessor#copyHeaders #26158
- MimeType is no longer actually serializable #26128
- PathMatchingResourcePatternResolver fails to resolve resources from JAR located in path with '#' on JDK 11+ #26105
- π UrlPathHelper#removeJsessionid doesn't remove the jsessionid from the URL #26083
- β‘οΈ NamedParameterJdbcTemplate.batchUpdate does not individually apply the SQL type from each SqlParameterSource argument #26073
- π DataBufferUtils#join may release a DataBuffer more than necessary #26061
π Documentation
- Clarify intended advice execution behavior in Spring version 5.2.7+ #26204
- 0οΈβ£ DateTimeFormat ISO.DATE_TIME javadoc contains misleading default note #26135
- Document that
@Transactional
does not propagate to new threads #26102
β¬οΈ π¨ Dependency Upgrades
- β¬οΈ Upgrade to Reactor Dysprosium-SR15 #26175
-
v5.2.11.RELEASE Changes
November 10, 2020π± β New Features
- π StompSubProtocolHandler logs failed authentication with error stack trace #26037
- π MergedAnnotationCollectors.toAnnotationSet() should not create intermediate ArrayList #26036
- 0οΈβ£ DefaultSimpUserRegistry prevents event from being published if original SimpMessageHeaderAccessor cannot be found #26013
- 0οΈβ£ DefaultWebClientBuilder copies references #25993
- Inefficient request handling inside ServletRequestDataBinder #25990
π± π Bug Fixes
- β Add FullyQualifiedAnnotationBeanNameGenerator.INSTANCE #26027
- Autowiring does not work reliably in case of dynamically changing prototype bean class #26020
- β Order of profiles in tests is not preserved #26008
- π SseEmitter: connection closed after first event #25989
π Documentation
- π Fix a broken Asciidoctor syntax in core-resources.adoc #26000
-
v5.2.10.RELEASE Changes
October 27, 2020π± β New Features
- β‘οΈ Optimize Jackson resource management in codecs #25910
- Avoid creation of unused logger instance in AbstractMediaTypeExpression #25901
- Native Hibernate 5 bootstrapping with JTA transaction manager requires hibernate.transaction.coordinator_class=jta to be set #25858
- β
Cannot test
@RequestPart
multipart controllers with Servlet MockPart #25829 - β Add MariaDB to the supported database products for procedures and functions #25811
- β‘οΈ Optimize String argument resolution in MessageTag #25809
- Avoid repeated Charset resolution in MimeType #25808
π± π Bug Fixes
- Incorrect http response for a request using the Range header for pre-compressed resources #25976
@ActiveProfiles
with same profiles but different order results in duplicate ApplicationContext #25973- π LinkedMultiValueMap downstream issue with MultiValueMapAdapter package private base class #25960
- π DataBufferUtils.CompositeMatcher causes poor performance when one or more matchers does not match #25915
- HttpSeverOperations overrides content-length to 0 on HTTP HEAD #25908
- π jsessionid breaks request mappings when removeSemicolonContent is turned off #25864
- JettyClientHttpConnector triggers early cancellation #25849
- Race condition in DataBufferUtils.readAsynchronousFileChannel resulting in FD leak (Channel remains open) #25831
- π SimpMessagingTemplate.convertAndSend results in UnsupportedOperationException when Spring Cloud Sleuth is present #25821
- ClassCastException when wiring bean using method injection (NullBean instead of 'null') #25806
- Thread-scoped bean creation freezes if dependent bean is retrieved before dependency bean #25801
- π Sending an event as part of the EMF lock triggers a deadlock #25799
- Wrong type inference in Kotlin while overriding RequestMappingHandlerMapping#getMappingForMethod #25657
- π SseEmitter (ResponseBodyEmitter) keeps collecting messages if not initialized #25442
π Documentation
- Correct DispatcherServlet initialization sample webmvc.adoc #25965
- Document that TransactionalEventListener only works with non-reactive transactions #25805
- π Published reference documentation contains unnecessary folders and files #25783
- Incorrect example in javadocs of Assert.notNull(object, messageSupplier) #25774
β¬οΈ π¨ Dependency Upgrades