github spring-projects/spring-framework v4.0.3.RELEASE
4.0.3 Release

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

⭐ New Features

  • ResizableByteArrayOutputStream and ByteArrayOutputStream capacities [SPR-11594] #16218
  • Target Cache gets checked twice for every cache hit [SPR-11592] #16216
  • MessageMethodArgumentResolver does not handle payload type and sub classes [SPR-11584] #16208
  • Remove default use of SimpleAsyncTaskExecutor in WebSocketClient implementations [SPR-11580] #16204
  • Add ApplicationEvents for WebSocket connection and disconnection [SPR-11578] #16202
  • Support configuring WebSocket message buffer size [SPR-11575] #16199
  • H2EmbeddedDatabaseConfigurer should set DB_CLOSE_ON_EXIT=false [SPR-11573] #16197
  • @ControllerAdvice not detected from parent contexts (even though @Controller is) [SPR-11570] #16194
  • Pass WebSocket session attributes in HandshakeInterceptor and expose them to MessageMapping methods [SPR-11566] #16190
  • Introduce SQL script exception hierarchy [SPR-11564] #16188
  • Refine BrokerAvailabilityEvent behavior in spring-messaging [SPR-11563] #16187
  • Improve StAX<->SAX bridge [SPR-11549] #16174
  • MVC handler method detection should ignore scopedTarget.x in favor of corresponding proxy bean [SPR-11548] #16173
  • Optimize locking mechanism around storing flash attributes [SPR-11538] #16163
  • relay-port type in xsd should be string [SPR-11537] #16162
  • Improve exception message for failed property access in SpEL [SPR-11535] #16160
  • Support receiving fragmented STOMP frames [SPR-11527] #16152
  • @PropertySource ignoreResourceNotFound throws exception for unresolved placeholder values [SPR-11524] #16149
  • Treat empty log config refresh interval as infinite interval in Log4jWebConfigurer [SPR-11507] #16132
  • Skip eager bean creation of ApplicationListener's if they are not type-compatible with the given event [SPR-11501] #16126
  • Clarify the use of exception in the conversion API [SPR-11500] #16125
  • Improve MockHttpServletRequest's compatibility with Servlet 3.1 [SPR-11492] #16117
  • Jaxb2RootElementHttpMessageConverter doesn't allow for customizing Marshaller/Unmarshaller [SPR-11488] #16113
  • Expose path-related request mapping settings in the MVC Java config [SPR-11486] #16111
  • String method for PatternsRequestCondition#getMatchingCondition [SPR-11484] #16109
  • Avoid unnecessary inspection of meta-annotations on Java annotations [SPR-11483] #16108
  • CollectionToCollectionConverter.convert() improvement for untyped collections [SPR-11479] #16104
  • Favor more locally declared composed annotations over inherited annotations in AnnotationUtils [SPR-11475] #16100
  • MetaAnnotationUtils should support arbitrary levels of meta-annotations [SPR-11470] #16095
  • AbstractMessageConverter.supportsMimeType() should facilitate more restrictive matching strategies [SPR-11463] #16089
  • CompositeMessageConverter should allow MessageConverters to use different ContentTypeResolvers [SPR-11462] #16088
  • DefaultContentTypeResolver should support String-based "contentType" header values [SPR-11461] #16087
  • EntityManager should explicitly get closed for non-executed Query objects [SPR-11451] #16077
  • AnnotationUtils.findAnnotation() should support arbitrary levels of meta-annotations [SPR-11448] #16074
  • MockMvc needs to accept prepared URI with encoded URI path variables [SPR-11441] #16067
  • Logs fill with unnecessary stack traces when using SockJS streaming transports [SPR-11438] #16064
  • NumberUtils.convertNumberToTargetClass does not report overflow when converting BigInteger to Long [SPR-11434] #16060
  • Improve configurability of EmbeddedDatabaseBuilder [SPR-11410] #16037
  • Multi-message frames over STOMP. [SPR-11328] #15952
  • Upgrade embedded ASM version to 5.0.1 [SPR-11239] #15864
  • MethodInvokingFactoryBean not well-suited for non-factory methods [SPR-11196] #15822
  • java.lang.ArrayStoreException: sun.reflect.annotation.TypeNotPresentExceptionProxy exception when annotation config not found needs to specify what class is not found [SPR-10441] #15074
  • Support multi-line SQL comments in ResourceDatabasePopulator and JdbcTestUtils [SPR-9531] #14165
  • ServletContextResourceLoader performance problem: creates a lot of MalformedURLExceptions ("no protocol") in normal operation [SPR-8283] #12931
  • ShallowEtagHeaderFilter should make use of specified content length [SPR-8271] #12919

🪲 Bug Fixes

  • Referencing static field of class that extends Map in expression language causes class cast exception [SPR-11609] #16232
  • ConversionService should remain capable of converting multidimensional array. [SPR-11608] #16231
  • AbstractApplicationEventMulticaster can leak classes [SPR-11606] #16229
  • Annotations on superclasses are detected by StandardAnnotationMetadata [SPR-11595] #16219
  • Log Forging in DispatcherServlet via requestURI [SPR-11591] #16215
  • BufferedImageHttpMessageConverter fails if JAI is installed [SPR-11581] #16205
  • PayloadArgumentResolver does not honour Payload#required() [SPR-11577] #16201
  • Support meta-annotation attribute overrides in ASM-based annotation processing [SPR-11574] #16198
  • Custom HandshakeHandler not set when using particular xml configuration [SPR-11568] #16192
  • Cache.get(key, type) doesn't work in case of null value found in cache [SPR-11567] #16191
  • SQL Scripts with newline separators no longer work [SPR-11560] #16184
  • Support Class meta-annotation attributes with ASM-based annotation processing [SPR-11557] #16181
  • Connection to STOMP broker is retried in a tight loop if an AMQP port is specified [SPR-11554] #16178
  • Providing unique names to prototype inner beans causes excessive memory and CPU use [SPR-11545] #16170
  • Memory leak related to TCP connection management with use of STOMP broker relay [SPR-11531] #16156
  • Autowiring unable to find generic dependency [SPR-11529] #16154
  • Negative content-length causes NegativeArraySizeException when using SockJS on IE8 [SPR-11528] #16153
  • Autowiring of Generic Types - StackOverflowError ResolvableType.isAssignableFrom(ResolvableType.java:259) [SPR-11522] #16147
  • Memory leak when using annotation based auto-wiring in child context [SPR-11520] #16145
  • ConstructorResolver will generate NPE in case of no factory method found when there are explicit args [SPR-11517] #16142
  • Spring MVC Test can fail to obtain async result due to timing issue [SPR-11516] #16141
  • Default KeyGenerator doesn't work for methods with arguments of array types [SPR-11505] #16130
  • Unable to retrieve FlashMap when target parameters are encoded [SPR-11504] #16129
  • SpringBeanELResolver - setValue throws PropertyNotWritableException [SPR-11502] #16127
  • array varargs conversion error in SpEL expression [SPR-11494] #16119
  • NPE in AbstractDispatcherServletInitializer when two Filter's are of the same type [SPR-11493] #16118
  • XmlValidationModeDetector: length of a string is always greater than index of any of its characters [SPR-11477] #16102
  • Autowiring unable to find generic dependency in case of nested unresolved type variable [SPR-11471] #16096
  • ActiveProfilesResolver is supplied composed annotation class instead of test class [SPR-11467] #16093
  • ContextLoader is supplied composed annotation class instead of test class for default resource detection [SPR-11455] #16081
  • double evaluation of method arguments in SpEL [SPR-11445] #16071
  • CORS for websocket breaks existing CORS Filter [SPR-11443] #16069
  • RestTemplate's connection/read timeout settings not applied when using Apache HttpClient [SPR-11442] #16068

📔 Documentation

  • Document that @Conditional on @Configuration affects component scanning [SPR-11579] #16203
  • Fix "Configuring the WebSocket Engine" documentation [SPR-11565] #16189
  • Provide guidance on using X-Frame-Options with SockJS iframe transports [SPR-11496] #16121
  • Missing documentation on how to set up JSR-303 method validation [SPR-11473] #16098
  • Update reference manual to favor constructor injection [SPR-11459] #16085
  • Document use of the reactor-tcp dependency [SPR-11449] #16075
  • Undocumented auto CORS for websocket endpoint breaking existing CORS code [SPR-11437] #16063
  • Improve documentation on the use of login/passcode headers for STOMP clients [SPR-11436] #16062
  • Document how to convert Collections with ConversionService [SPR-11432] #16058

Don't miss a new spring-framework release

NewReleases is sending notifications on new releases.