github spring-projects/spring-framework v4.0.0.RC1
4.0 RC1 Release

latest releases: v6.2.0-M3, v6.1.8, v6.0.21...
5 years ago

⭐ New Features

  • Support class-level mappings via @MessageMapping or @SubscribeEvent [SPR-11024] #15652
  • ScriptExecutor for JSR-223 [SPR-11007] #15635
  • Update json-path dependency to 0.9.0 [SPR-10990] #15618
  • Add support for resolving message header based arguments [SPR-10985] #15613
  • Introduce ResolvableType Class [SPR-10973] #15601
  • Provide option to configure "host" header in CONNECT frames to STOMP message brokers [SPR-10955] #15583
  • Support @PathVariable in annotated message handling methods [SPR-10949] #15577
  • SpEL: Make EvaluationException more informative with Expression [SPR-10938] #15566
  • Add "ignoreResourceNotFound" attribute to the @PropertySource [SPR-10932] #15560
  • Add IssueManagement declaration to POMs [SPR-10929] #15557
  • PersistenceExceptionTranslationPostProcessor.setBeanFactory(BeanFactory) causes unwanted early initialization [SPR-10894] #15522
  • Potential out-of-memory in AbstractSockJsService [SPR-10893] #15521
  • Validate if body is allowed in StompMessageConverter for the given command [SPR-10890] #15518
  • Provide support for using multiple MessageConverters depending on the Content-Type of a STOMP message [SPR-10889] #15517
  • Use ListenableFuture as the return value in WebSocketClient methods [SPR-10888] #15516
  • Make conversion framework extensible for non-Java classes [SPR-10887] #15515
  • ThreadPoolTaskScheduler setPoolSize() unable to change the pool size at runtime [SPR-10883] #15510
  • oxm:jibx-marshaller lacks support for "target-package" annotation [SPR-10882] #15509
  • Switch to Jetty's @WebSocket (from WebSocketListener) [SPR-10877] #15504
  • Add STOMP heartbeat support [SPR-10845] #15472
  • Add support for extensions during WebSocket handshake [SPR-10843] #15470
  • Compatibility problems with Hibernate 4.3.0.Beta1 and newer [SPR-10839] #15465
  • Hibernate 4 Multi Tenancy Feature Support [SPR-10823] #15449
  • Enhance Stomp support to handle frames with NULL octets in the body [SPR-10818] #15444
  • Provide support for pattern matching in MockMvcResultMatchers.redirectedUrl() [SPR-10789] #15415
  • Use Tomcat 8's new instrumentable WebappClassLoader [SPR-10788] #15414
  • add support for MockRestServiceServer to verify that a header does not exist [SPR-10771] #15397
  • Add ability to create proxy around classes that has no default constructor [SPR-10594] #15223
  • FilterType enum should have ASPECTJ, REGEX constants for AspectJTypeFilter, RegexPatternTypeFilter [SPR-10593] #15222
  • RestTemplate does not support IPv6 raw address (as opposed to hostname) [SPR-10539] #15169
  • MVC DispatcherServlet throw exception in noHandlerFound [SPR-10481] #15114
  • enhance Jackson2ObjectMapperFactoryBean to allow setting of (De)SerializerModifiers [SPR-10429] #15062
  • Off by one error in StringUtils.parseLocaleString [SPR-10364] #14996
  • Allow @ControllerAdvice to be cofigured with a join point to target a subset of controller [SPR-10222] #14855
  • ShallowEtagHeaderFilter should deal with the If-Match HTTP Header [SPR-10164] #14797
  • Autowiring of generic types [SPR-9965] #14599
  • Provide mechanism for creating links to controllers and controller methods [SPR-8826] #13468
  • Add @PropertySources annotation and support ignoreResourceNotFound [SPR-8371] #13018
  • Support Servlet 3.1 (JSR-340) [SPR-8193] #12842
  • Provide meta-annotation support for test-related annotations [SPR-7827] #12483
  • Convert TestContext to interface and introduce default implementation [SPR-7692] #12348
  • Migrate Grails BeanBuilder into Spring Core [SPR-7123] #11783
  • Create CGLIB proxy instances honoring tags [SPR-3150] #7836
  • Spring i18n needs TimeZone resolution as well as Locale resolution. [SPR-1528] #6227

🪲 Bug Fixes

  • HttpComponentsClientHttpRequestFactory method signature changes prevent user code from supporting Spring 3 and Spring 4 simultaneously [SPR-11053] #15680
  • GenericTypeResolver.resolveTypeArguments(…) returns Object for raw types [SPR-11052] #15679
  • Spring web depends on a beta release of Apache HTTP Client [SPR-11050] #15677
  • NPE in MatchAlwaysTransactionAttributeSource [SPR-11048] #15675
  • Unable to autowire concrete classes when java config methods return interface [SPR-11046] #15673
  • ResolvableType can throw NPE when resolving Generic Arrays [SPR-11044] #15672
  • NPE in ResolvableType.hasUnresolvableGenerics [SPR-11034] #15662
  • Potential NPE on result of GenericTypeResolver.resolveTypeArguments [SPR-11030] #15658
  • groovy-all should not be a mandatory dependency [SPR-11028] #15656
  • "Illegal instant due to time zone offset transition" when binding with LocalDate (joda) in Controller handler [SPR-11014] #15642
  • TypeDescriptor can no longer be programatically created with null generics [SPR-11006] #15634
  • Autowiring of types narrows with generics does not work [SPR-11004] #15632
  • Generic autowiring should support wiring of components with unresolved type variables [SPR-10993] #15621
  • Regression with detecting nested components [SPR-10970] #15598
  • HttpInvokerClientInterceptor.convertHttpInvokerAccessException implementation throws the RemoteAccessException instead of return it [SPR-10965] #15593
  • Keep "cookie_needed" property in SockJS service enabled by default [SPR-10939] #15567
  • Server sends SEND stomp frames back to the client instead of MESSAGE frames [SPR-10930] #15558
  • getSockJsPath() method in org.springframework.web.socket.sockjs.support.AbstractSockJsService returns wrong path [SPR-10923] #15551
  • RequestMappingHandlerAdapter.createDataBinderFactory has a return type of ServletRequestDataBinderFactory [SPR-10920] #15548
  • @RestController causing errors [SPR-10905] #15533
  • StompEndpointRegistry depends on reactor.util [SPR-10880] #15507
  • Cache KeyGenerators treat var-args as a single array [SPR-10870] #15497
  • @Component within @Configuration class cannot @Autowire Regression [SPR-10865] #15492
  • SockJS: fallback to http-streaming fails after 128K of data [SPR-10854] #15481
  • After Returning Advice is executed even if the return type doesn't match [SPR-10834] #15460
  • Unable to Autowire FactoryBean reference [SPR-11045] #15402
  • Spring's support for javax.servlet.http.Part vs. MultipartFile incomplete, inconsistent [SPR-10591] #15220
  • MockMvc returns status from @ResponseStatus ingoring sendError() [SPR-10414] #15047
  • MapToMapConverter cannot distinguish MultiValueMap in target [SPR-9499] #14133
  • Application event listeners not removed from listener registry on listener destroy [SPR-7856] #12513

📔 Documentation

  • Add Spring-AMQP to Remoting Chapter [SPR-10501] #15134

Don't miss a new spring-framework release

NewReleases is sending notifications on new releases.