4.0 RC1 Release
spring-projects-issues
released this
17 Jan 14:34
·
23653 commits
to main
since this release
⭐ 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