github spring-projects/spring-framework v5.0.0.RC1
5.0 RC1 Release

latest releases: v6.2.0, v6.1.15, v6.2.0-RC3...
5 years ago

⭐ New Features

  • Consider adding originalMessage to ErrorMessage [SPR-15459] #22193
  • Unable to emulate upload filename browser behaviour with RestTemplate [SPR-15538] #20097
  • Cache spring.factories loads [SPR-15509] #20068
  • Improve 500 error handling and reporting in WebFlux [SPR-15506] #20065
  • WebTestClient Support WebFilter only [SPR-15499] #20058
  • WebTestClient should support custom HandlerMethodArgumentResolver [SPR-15495] #20055
  • Support resolving Mono & Mono [SPR-15494] #20054
  • Revisit handling of 4xx and 5xx status codes in WebClient [SPR-15486] #20046
  • Expose Jackson2CodecSupport mime types for custom override [SPR-15474] #20034
  • Support RequestMappingHandlerMapping registrations in the StandaloneMockMvcBuilder setup [SPR-15472] #20032
  • Align WebMvcConfigurer with WebFluxConfigurer in terms of default methods [SPR-15465] #20025
  • WebFlux should support Flux<?> and Flux rendering [SPR-15464] #20024
  • Configure default settings for Servlet async request timeout for WebFlux [SPR-15463] #20023
  • Add body(Object) method to ServerResponse.BodyBuilder [SPR-15461] #20021
  • Move RxNetty support in test scope [SPR-15444] #20005
  • Use ClientCodecConfigurer in ExchangeStrategies [SPR-15435] #19996
  • Add "use" in Spring API documentation (Javadoc) [SPR-15427] #19988
  • Add Consumer response body asssertions to WebTestClient [SPR-15421] #19982
  • Add JSON content and JsonPath options to WebTestClient [SPR-15420] #19981
  • Allow for single-pass matching in PathPattern [SPR-15419] #19980
  • Functional bean dependencies tracking [SPR-15417] #19979
  • JmsListener should allow delivery mode on response [SPR-15408] #19971
  • Consider error handling strategy and support for WebClient [SPR-15403] #19966
  • Deprecate AsyncRestTemplate in favour of WebClient [SPR-15399] #19962
  • Refactor WebClient to not allow request body for GET/HEAD/etc [SPR-15394] #19957
  • Support for @Order on nested configuration classes [SPR-15384] #19947
  • Support server-side HttpMessage[Reader|Writer] in WebFlux fn [SPR-15370] #19934
  • Resolve async attributes in View hierarchy instead of ViewResolutionResultHandler [SPR-15368] #19932
  • Improve support for fixed content type in ContentNegotiationManager [SPR-15367] #19931
  • Support for reactive types in return values from Spring MVC controllers [SPR-15365] #19929
  • Documentation for WebFlux fn [SPR-15362] #19925
  • Return 5xx/4xx status code and print the reason in logs for CodecException [SPR-15355] #19918
  • Simplify creating ServerWebExchange for testing [SPR-15350] #19913
  • WebTestClient Support WebFilter [SPR-15349] #19912
  • Support testing WebFilterChain [SPR-15348] #19911
  • Support ResponseStatusException in WebFlux functional [SPR-15344] #19907
  • Make SpringExtension.getApplicationContext() public [SPR-15340] #19903
  • Add PathPattern method that gives remaining path given a match [SPR-15336] #19899
  • Cannot test finite SSE because converters are registered in a funny order [SPR-15331] #19894
  • Improve error reporting on method arguments that don't support reactive types [SPR-15297] #19862
  • Simplify access to request/response object in WebClient [SPR-15294] #19860
  • Introduce ServerResponse Kotlin extensions [SPR-15293] #19859
  • Polish Kotlin routing DSL [SPR-15292] #19858
  • Use Java 8 getDeclaredAnnotation method in AnnotationUtils [SPR-15287] #19853
  • Reliably detect @Cacheable declarations on interface methods [SPR-15271] #19836
  • Add option for trailing separator matching in PathPatternParser [SPR-15260] #19825
  • WebTestClient support for initializing the MockServerHttpRequest [SPR-15250] #19815
  • Customizable Jackson ObjectMapper in WebFluxConfigurationSupport [SPR-15247] #19812
  • Avoid creating thread pool in WebSocket Java config when SockJS not used [SPR-15233] #19798
  • Update Cookie headers in MockHttpServletRequest and Response [SPR-15225] #19790
  • Controller API for HTML rendering in WebFlux [SPR-15211] #19775
  • Mock MVC / RequestBuilder should handle Accept-Language header appropriately [SPR-15209] #19773
  • Data binding with immutable objects (Kotlin / Lombok / @ConstructorProperties) [SPR-15199] #19763
  • Print session attributes in PrintingResultHandler in Spring MVC Test [SPR-15189] #19755
  • MockMvcClientHttpRequestFactory should implement AsyncClientHttpRequestFactory as well [SPR-15181] #19747
  • Support for @ControllerAdvice on the reactive side [SPR-15132] #19698
  • Cglib proxy not working with @Async if there is another interceptor [SPR-14949] #19516
  • Support for Jackson 2.9 [SPR-14925] #19492
  • Support for JSON Binding API (JSON-B) [SPR-14923] #19490
  • Reactive type support in org.springframework.core.Conventions [SPR-14915] #19482
  • Reactive multipart request support [SPR-14546] #19114
  • CGLIB proxies should still consider @Transactional annotations on interface methods [SPR-14322] #18894

    🪲 Bug Fixes

    • NPE thrown by WriteResultPublisher$State$2.publishComplete caused by a thread-safety issue [SPR-15418] #22192
    • ISE is thrown when the client disconnects while the server is still sending the response [SPR-15412] #22191
    • ResponseStatusException should allow to construct an instance without a reason [SPR-15524] #20083
    • ResponseEntity<Flux<?>> causes Jackson binding exception [SPR-15478] #20038
    • ServerResponse.BodyBuilder.body(Object) shadows body(Publisher) in Kotlin ServerResponseExtensions [SPR-15467] #20027
    • Spel Expressions leaks classes [SPR-15460] #20020
    • Spring MVC @ResponseBody handling of Flux<?> inconsistent when type of result is unknown [SPR-15456] #20017
    • Fix writing serialized JSON with WebClient and WebTestClient [SPR-15443] #20004
    • AbstractGenericHttpMessageConverter.canWrite(Type, Class, MediaType) doesn't call canWrite(Class, MediaType) anymore [SPR-15434] #19995
    • Use ServerCodecConfigurer in HandlerStrategies [SPR-15415] #19977
    • Awkward binary incompatibility in ResponseBodyEmitterReturnValueHandler [SPR-15410] #19973
    • NPE thrown by AbstractListenerWriteFlushProcessor.cancel [SPR-15393] #19956
    • CharSequenceEncoder should support all media types [SPR-15374] #19938
    • Regression: CssLinkResourceTransformer is now incompatible with relative links [SPR-15369] #19933
    • ResourceRegionHttpMessageWriter should not use the response content-type [SPR-15358] #19921
    • Content-type resolution issue in EncoderHttpMessageWriter [SPR-15357] #19920
    • Undertow ZeroCopyHttpOutputMessage exception [SPR-15343] #19906
    • WebFlux SSE controller does not detect disconnected client [SPR-15306] #18523

    📔 Documentation

    • Typo in WebFlux Manual Bootstrapping [SPR-15321] #19884
    • Move to pure Asciidoctor for documentation [SPR-14997] #19564

Don't miss a new spring-framework release

NewReleases is sending notifications on new releases.