Release Notes - Spring Framework - Version 4.2 RC1 - HTML format

Sub-task

  • [SPR-2779] - HTTP caching should be decoupled from WebContentGenerator
  • [SPR-6834] - Add support for no-transform cache control header
  • [SPR-7129] - Add support for public/private Cache-Control HTTP header
  • [SPR-8550] - Provide controller method level alternative to WebContentInterceptor
  • [SPR-9543] - Use same pragma settings in WebContentGenerator as in AbstractView
  • [SPR-10464] - Allow must-revalidate to be suppressed in ResourceHttpRequestHandler
  • [SPR-11324] - ServletWebRequest can't validate Etag and Last-Modified together.
  • [SPR-12672] - Add documentation for Server-Sent Events support
  • [SPR-12814] - [doc] Update reference for STOMP client
  • [SPR-12885] - DefaultCorsProcessor relies on Servlet 3 specific methods
  • [SPR-12931] - CorsConfiguration should not be registered for handler methods without @CrossOrigin
  • [SPR-12933] - Add global CORS configuration capabilities
  • [SPR-12939] - Add onTimeout() and onCompletion() callbacks to ResponseBodyEmitter

Bug

  • [SPR-10417] - Collection selection and the use of #this
  • [SPR-11199] - Error while using HttpComponentsStreamingClientHttpRequest
  • [SPR-11841] - DefaultMessageListenerContainer#doShutdown hangs
  • [SPR-12035] - SpEL Collection Selection: "selectionExpression" with method invocation pushes root object as active context instead of current item
  • [SPR-12577] - Regression in TransactionAspectSupport.determineTransactionManager(…)
  • [SPR-12589] - ObjectToOptionalConverter should use Optional.ofNullable(…) instead of Optional.of(…)
  • [SPR-12592] - ResourceUrlProvider should initialize only once
  • [SPR-12607] - Default value of <mvc:redirect-view-controller> context-relative attribute is not "true"
  • [SPR-12613] - Handle exceptions properly in SpringJUnit4ClassRunner
  • [SPR-12616] - Exception with JSON serialization in ResponseBodyAdviceChain when debug logging is on
  • [SPR-12623] - Netty4ClientHttpRequestFactory always allocates "maxRequestSize" bytes for each request
  • [SPR-12624] - PathResourceResolver.isResourceUnderLocation does not handle relative paths correctly
  • [SPR-12632] - CssLinkResourceTransformer throws Exception on links that start with //
  • [SPR-12641] - During startup scheduled tasks are driven earlier than before causing problems with Spring Batch
  • [SPR-12647] - ResourceUrlProvider does not keep resource handlers ordered
  • [SPR-12660] - AbstractSockJsService.checkAndAddCorsHeaders fails for same origin requests when setAllowedOrigins is set
  • [SPR-12665] - ConcurrentModificationException in SimpleBrokerMessageHandler
  • [SPR-12688] - ConcurrentModificationException thrown while iterating over bean definition names in DefaultListableBeanFactory#getBeansWithAnnotation(Class<? extends Annotation> annotationType)
  • [SPR-12693] - ClassCastException in ResponseBodyEmitterReturnValueHandler.supportsReturnType(…)
  • [SPR-12694] - Conditions on an overriding bean method effectively get ignored
  • [SPR-12709] - @Scheduled no longer works in case of multiple proxied target classes implementing the same interface
  • [SPR-12712] - RestTemplate cannot handle GZIP response since 4.1.3
  • [SPR-12716] - WebSocketTransportHandler passes Collections.<String, Object>emptyMap() to HandshakeHandler
  • [SPR-12723] - ServletUriComponentsBuilder#initFromRequest can cause NPE
  • [SPR-12727] - Unhandled websocket error when unsolicited pong frame with zero length payload received from IE11
  • [SPR-12728] - Stomp error when PongMessage is passed to StompSubProtocolHandler
  • [SPR-12735] - MockMvc PrintResultHandler asserts before result is set
  • [SPR-12738] - AnnotatedElementUtils fails to find annotations on abstract, bridge, or interface methods
  • [SPR-12739] - Deadlock publishing event while creating listener bean
  • [SPR-12744] - Regression in 4.1.5: Alternative @Bean declarations with same primary bean name do not work anymore
  • [SPR-12747] - Specified MVC resource at root level not considered "under location"
  • [SPR-12749] - Favor more locally declared composed annotations over inherited annotations in the TestContext framework
  • [SPR-12752] - ScriptUtils and ScriptStatementFailedException confuse lines and statements
  • [SPR-12767] - EncodedResource does not include charset in equals() implementation
  • [SPR-12768] - XML config isn't fully supported for web integration tests if Groovy is on the classpath
  • [SPR-12769] - GroovyBeanDefinitionReader does not fully support XML config files
  • [SPR-12771] - Regression in 4.1.5: UriComponentsBuilder.fromHttpRequest sets port to 80 i.s.o nothing/443
  • [SPR-12774] - @JmsListener cannot be a scoped proxy
  • [SPR-12776] - LoadTimeWeavingConfiguration should not rely on private field injection
  • [SPR-12779] - Netty4ClientHttpRequest ignores query parameters
  • [SPR-12785] - ObjectToOptionalConverter wraps a source Optional<?> to the new one
  • [SPR-12786] - Regression in 4.1: UnsatisfiedDependencyException because a prototype-scoped FactoryBean is unexpectedly instantiated by getTypeForFactoryBean()
  • [SPR-12788] - CompositePropertySource doesn't fulfil EnumerablePropertySource
  • [SPR-12795] - StandardMultipartHttpServletRequest.StandardMultipartFile not serializable
  • [SPR-12797] - Exception not thrown by OnFailure() when using ListenableFutureCallback
  • [SPR-12810] - Not reusable input stream in ContentCachingRequestWrapper
  • [SPR-12813] - X-Forwarded-Port with Comma Separated List Not Able to be Parsed in Spring 4.1.x
  • [SPR-12816] - X-Forwarded-Proto with comma separated list causes incorrect scheme
  • [SPR-12830] - DefaultManagedAwareThreadFactory's non-JNDI fallback leads to StackOverflowError
  • [SPR-12832] - Thread contention in HandlerMethod due to unnecessary BeanFactory.getType call
  • [SPR-12836] - There is no spring-beans.dtd file inside of the spring-beans-4.1.5.RELEASE jar
  • [SPR-12838] - ConcurrentModificationException in ConfigurationClassParser.processDeferredImportSelectors
  • [SPR-12842] - CacheLoader is ignored as of Guava 11
  • [SPR-12846] - BeanFactoryUtils.beanNamesForTypeIncludingAncestors(factory, RepositoryFactoryInformation.class, false, false) doesn't find beans that are found in 4.1
  • [SPR-12850] - Exception cache resolver shouldn't be mandatory
  • [SPR-12860] - Contract of @RequestPart(required=false) not obeyed
  • [SPR-12861] - HttpEntity controller method arguments should allow null body
  • [SPR-12866] - Incorrect value in InvalidPropertyException message from BeanWrapperImpl.setPropertyValue
  • [SPR-12871] - CronSequenceGenerator constructor goes into infinite loop with invalid increments
  • [SPR-12874] - client-library-url in sockjs config is not working
  • [SPR-12880] - MockHttpServletRequestBuilder should not decode query string
  • [SPR-12887] - HttpClientErrorException missing response body if callback is registered
  • [SPR-12890] - Regression in handling of String passed as Types.OTHER to JdbcTemplate
  • [SPR-12892] - CachingResourceResolver + GzipResourceResolver caches different results depending on what is requested first
  • [SPR-12895] - Async Execution Aspect compiler error when using ListenableFuture
  • [SPR-12910] - ResponseEntity's #equals fails symmetric property.
  • [SPR-12915] - ConfigurationClassEnhancer.enhanceFactoryBean is not transparent for method calls other than getObject()
  • [SPR-12928] - Regression: DLL handled as classpath resource
  • [SPR-12941] - AnnotationUtils does not support arbitrary levels of meta-annotations on methods
  • [SPR-12944] - AnnotatedElementUtils fails to find type-level annotations on interfaces
  • [SPR-12971] - PatternMatchUtils infinite loop bug
  • [SPR-12975] - RequestMapping maps root-controller handler methods with double slashes
  • [SPR-12977] - MvcUriComponentsBuilder does not support bridged methods
  • [SPR-12998] - AntPathMatcher should throw an IllegalArgumentException if patterns cannot be combined
  • [SPR-13010] - CustomBooleanEditor may run into NPE when configured with allowEmpty=false
  • [SPR-13016] - NPE for alias resolved to null in SimpleAliasRegistry
  • [SPR-13018] - StringIndexOutOfBoundsException in ResourceUrlEncodingFilter
  • [SPR-13019] - Validation of frame content in org.springframework.web.socket.sockjs.frame.SockJsFrame is a NoOp
  • [SPR-13023] - NPE in PropertyOrFieldReference due to concurrency issue when caching SpelExpression objects
  • [SPR-13033] - Wrong URL with MvcUriComponentsBuilder::fromMethodCall in case of inheritance
  • [SPR-13052] - Remoting over JMS with receiveTimeout blocks service forever
  • [SPR-13055] - In SPEL projection expression, #this as the same value as #root
  • [SPR-13056] - ByteBuffer corrupted by ByteBufferConverter when passed through Spring
  • [SPR-13057] - SynthesizedAnnotation must be public
  • [SPR-13107] - An exception is thrown when validation fails on public nested fields

New Feature

  • [SPR-5215] - ScriptFactory for JSR-223
  • [SPR-7731] - Provide @Rule alternative to SpringJUnit4ClassRunner
  • [SPR-7773] - Provide a formatter registry capability local to a controller
  • [SPR-9278] - CORS support
  • [SPR-10919] - @Bean on Java 8 default methods in interfaces
  • [SPR-10954] - Heartbeat in Messaging SimpleBroker
  • [SPR-11512] - Introduce unified support for declaring and looking up annotation attribute aliases
  • [SPR-11513] - Introduce support for explicit annotation attribute overrides
  • [SPR-11588] - STOMP client support
  • [SPR-11622] - ApplicationListener-like annotation for consuming application events
  • [SPR-11694] - Support for Hibernate ORM 5.0
  • [SPR-11803] - Support standard javax.transaction.Transactional in AspectJ
  • [SPR-12080] - Add support for transaction bound application events
  • [SPR-12147] - Add generics / parameterized type support to ListableBeanFactory getBeanNamesForType/getBeansOfType methods
  • [SPR-12175] - Default conversion from and to java.util.stream.Stream
  • [SPR-12209] - Support for JSR-354 Money & Currency
  • [SPR-12212] - HTTP Streaming and Server-Sent Events (SSE)
  • [SPR-12266] - Support JavaScript Templating
  • [SPR-12296] - Custom @RequestMapping annotations
  • [SPR-12323] - Ability to use webjar with spring without specifying version info in HTML/jsp file
  • [SPR-12501] - Jackson @JsonView deserialization support for request bodies
  • [SPR-12741] - Allow use of @JsonView on @MessageMapping methods
  • [SPR-12758] - Support for Hibernate Validator 5.2
  • [SPR-12801] - Support for named parameters in SimpleJdbcCall
  • [SPR-12831] - HTTP Streaming Directly to the OutputStream
  • [SPR-12876] - Support injecting resource as Reader
  • [SPR-12884] - Support 'selector' header for subscriptions with SimpleBrokerMessageHandler
  • [SPR-12893] - OkHttp implementations of ClientHttpRequestFactory / AsyncClientHttpRequestFactory
  • [SPR-13005] - Introduce AopTestUtils in spring-test

Task

  • [SPR-10661] - Install jmxremote_optional.jar in Java 8 JVM used for Spring performance builds
  • [SPR-11895] - Delete deprecated SimpleJdbc* classes
  • [SPR-11934] - Upgrade build to Gradle 2.2.1
  • [SPR-12214] - Deprecate Tiles 2 support
  • [SPR-12309] - Modularize Asciidoc
  • [SPR-12549] - Compatibility with JDK 9 Jigsaw Builds
  • [SPR-12551] - Document how to prevent a JNDI DataSource retrieved using JavaConfig to be removed on shutdown of the context
  • [SPR-12578] - Remove pre-3.2 deprecated classes and methods
  • [SPR-12582] - ExtendedBeanInfo test fails on JDK 8u40 Build b19
  • [SPR-12585] - General compatibility with JDK 8u40
  • [SPR-12596] - Document type safety limitations of the CollectionFactory API
  • [SPR-12599] - Upgrade to Reactor 2
  • [SPR-12601] - Review MBean related performance tests
  • [SPR-12615] - Supporting method in SimpleBrokerMessageHandlerTests not asserting anything
  • [SPR-12618] - Fix broken schedulerWithHsqlDataSource() test in QuartzSupportTests
  • [SPR-12639] - Documentation error in "SimpleJdbcInsert" section
  • [SPR-12650] - Document how MultiPartFile.transferTo works with Servlet 3
  • [SPR-12655] - Javadoc for ModelAttributeMethodProcessor.validateIfApplicable is misleading
  • [SPR-12700] - Define explicitly in the documentation when @Cacheable annotations can be used
  • [SPR-12702] - Document event infrastructure improvements
  • [SPR-12705] - Consider rewording ack modes on the listener container javadocs
  • [SPR-12720] - Document how HandlerInterceptor can hook into async request timedout
  • [SPR-12754] - Consider lowering EventListenerMethodProcessor log levels
  • [SPR-12759] - Improve RedirectAttributes reference documentation
  • [SPR-12766] - Harmonize resource and code split
  • [SPR-12772] - Upgrade build to Gradle 2.4
  • [SPR-12773] - Documentation the limitation of injecting components in @Configuration classes
  • [SPR-12775] - Upgrade to animal sniffer 1.14
  • [SPR-12780] - Document null input requirements in Converter
  • [SPR-12791] - Documentation regression: some TIP and NOTE wrongly displayed
  • [SPR-12794] - PropertyResourceConfigurerTests class throwing exception during build in 4 test methods
  • [SPR-12821] - Doc: MutablePersistenceUnitInfo.addManagedPackage() not triggering a package scan
  • [SPR-12847] - Compatibility with EhCache 3.0 (as a JCache provider)
  • [SPR-12855] - Doc: Lifecycle (not SmartLifecycle) beans not started at refresh() time
  • [SPR-12908] - Document connection handling in ScriptUtils.executeSqlScript() methods
  • [SPR-12940] - Document meta-annotation support in AnnotationUtils
  • [SPR-12957] - Tracking ASM 5.0.4 development (final)
  • [SPR-12962] - Documention error for Stomp application destination prefix
  • [SPR-12969] - Upgrade JsonPath dependency to 2.0.0
  • [SPR-12979] - Update documentation for the resultsMapCaseInsensitive flag in JdbcTemplate
  • [SPR-12980] - Reference manual should not refer to deprecated ParameterizedBeanPropertyRowMapper
  • [SPR-12981] - Bad grammar in reference document
  • [SPR-12985] - Improve description of DefaultLobHandler in reference manual
  • [SPR-12987] - Remove descriptions of classic API of ORM(JDO/JPA)
  • [SPR-12988] - JpaDialect description replace to EclipseLink from TopLink
  • [SPR-12990] - OXM exception hierarchy image is not displayed in reference manual
  • [SPR-12992] - Remove the RemoteAccountService(sample code for JAX-RPC) from the reference document
  • [SPR-12993] - Modify typo in the reference document
  • [SPR-12994] - Sample code of "Jackson JSON Views support" is wrong ?
  • [SPR-13000] - Improve description of shutting down the IoC container in reference document
  • [SPR-13013] - Fix maven dependency scope conflicts in Gradle build
  • [SPR-13021] - Improve JavaDoc for ApplicationEvent constructor
  • [SPR-13038] - Add xsd description for default handling of autowire and lazy-init attributes
  • [SPR-13043] - Documentation typo in mvcUrl example - class/method name

Improvement

  • [SPR-6069] - No way to register Formatter instances by field on DataBinder
  • [SPR-6792] - Support setting and getting static fields in ReflectionTestUtils
  • [SPR-6898] - Support for XSSFWorkbook and SXSSFWorkbook (xmlx format; POI 3.9+)
  • [SPR-7607] - When a bean definition is overridden, detect whether the definition has changed and log accordingly
  • [SPR-7913] - AbstractRequestLoggingFilter should log actual body even after consuming request parameters on Tomcat 6
  • [SPR-7964] - AnnotationTransactionAspect retains reference to closed BeanFactory
  • [SPR-8016] - RestTemplate - support response mapping to entity with potentially empty response body.
  • [SPR-8201] - ApplicationEvent should take generics into account when dispatching events
  • [SPR-8849] - Introduce support for generating unique names for embedded databases
  • [SPR-9567] - Beans defined by @ComponentScan are skipped in @Configuration override
  • [SPR-9682] - ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForModelMethod should take into account the allowBeanDefinitionOverride settings
  • [SPR-10153] - TypeMismatchException for @RequestParam does not contain parameter name
  • [SPR-10805] - Add support for http byte-range requests
  • [SPR-11514] - Document and test status quo for AnnotatedElementUtils
  • [SPR-11541] - Provide public methods to register and un-register handler method mappings
  • [SPR-11598] - Favor more locally declared composed annotations over inherited annotations
  • [SPR-11620] - Support user destinations with multiple WebSocket servers
  • [SPR-11654] - Within Cache abstraction, log when a value was found for a key, and when not.
  • [SPR-11740] - Java based config should support class-only component declarations through @Import
  • [SPR-11783] - SpEL should not restrict 'NEW' identificator as 'new' token for constructor
  • [SPR-11792] - Server-side HTTP caching improvements
  • [SPR-11886] - Improve HTTP support and update with new HTTP RFCs
  • [SPR-12003] - StringUtils.commaDelimitedListToSet and removeDuplicateStrings should preserve original order
  • [SPR-12029] - Expose information about STOMP/WebSocket connections and subscriptions
  • [SPR-12081] - ShallowEtagHeaderFilter should use a more efficiently dynamically resizing buffer than ResizableByteArrayOutputStream
  • [SPR-12168] - Support ListenableFuture as return value in @MessageMapping handlers
  • [SPR-12170] - Support destination variable placeholders in @SendTo and @SendToUser for STOMP endpoints
  • [SPR-12206] - DirectFieldAccessor should support collections
  • [SPR-12207] - Support CompletableFuture as return value in @MessageMapping handlers
  • [SPR-12369] - Make use of response encoding when HTML escaping the default
  • [SPR-12372] - Two trailing slashes and the default servlet cannot resolve to a controller
  • [SPR-12410] - Support @Order on ApplicationListeners
  • [SPR-12429] - Introduce BEFORE_METHOD and BEFORE_CLASS modes for @DirtiesContext
  • [SPR-12430] - Support org.springframework.context.ApplicationContextInitializer usage programmatically (in Servlet 3.0+ environments)
  • [SPR-12469] - Support for Undertow 1.2 / WildFly 9.0
  • [SPR-12520] - Make BeanWrapperImpl use BeanUtils
  • [SPR-12532] - Support for apache commons-pool2
  • [SPR-12562] - ResourceHttpRequestHandler serves all files with must-revalidate cache header, should not do that when using a content versioning strategy
  • [SPR-12569] - Flash attributes not working with spaces in query parameters
  • [SPR-12583] - Merge default request config with local customizations
  • [SPR-12586] - Support Jackson @JsonFilter
  • [SPR-12594] - Support specifying TimeZone in Jackson2ObjectMapperFactoryBean
  • [SPR-12597] - Support CompletableFuture as alternative to DeferredResult in MVC
  • [SPR-12600] - Log warning for Isolation.READ_UNCOMMITTED with Propagation.NOT_SUPPORTED
  • [SPR-12602] - Explicit failure if multiple @BootstrapWith annotations are used on the same test
  • [SPR-12604] - Don't use Exception for normal behavior in org.springframework.core.annotation.AnnotationUtils.getValue
  • [SPR-12605] - Provide access to the target HandlerMethod from @ExceptionHandler methods
  • [SPR-12608] - Document how HandlerInterceptor should differentiate an ASYNC dispatch
  • [SPR-12609] - AbstractRequestLoggingFilter and CommonsRequestLoggingFilter log level checks
  • [SPR-12610] - Consider caching the compiled pattern in OperatorMatches
  • [SPR-12611] - Enable reuse of DefaultActiveProfilesResolver
  • [SPR-12612] - Allow readTimeout / connectTimeout in Netty4ClientHttpRequestFactory
  • [SPR-12617] - Allow customizing "base" path in MvcUriComponentsBuilder (e.g. path prefix for locale)
  • [SPR-12619] - task:annotation-driven does not process exception-handler with mode aspectj
  • [SPR-12621] - Configuration of path mapping options for websockets via XML
  • [SPR-12622] - Provide reusable parts of Cache implementation for others
  • [SPR-12630] - ResourceUrlEncodingFilter fails when Thymeleaf and the "/**" resource pattern is used
  • [SPR-12634] - Allow Jackson2ObjectMapperBuilder configuration to override the well-known modules' configuration
  • [SPR-12636] - @Order should get detected in case of proxyTargetClass=false as well
  • [SPR-12643] - Add the ability to turn off automatic derivation of Aliases for custom parsers.
  • [SPR-12644] - Support for java.util.Optional as a @RequestPart
  • [SPR-12653] - TransactionAwareCacheDecorator method clear not synchronised with transaction
  • [SPR-12654] - Add support for @Lazy on @Resource injection points
  • [SPR-12657] - context register @Configuration doesn't respect @Order
  • [SPR-12658] - Use UUID.randomUUID() for session id's in SockJsClient
  • [SPR-12659] - Support @Configuration as a meta-annotation in the TestContext framework
  • [SPR-12666] - ResourceBundleMessageSource should allow for custom PropertyResourceBundle subclass
  • [SPR-12671] - Allow YamlProcessor subclasses to provide the Yaml instance that's used
  • [SPR-12673] - Unable to explicitly order WebRequestInterceptors via addInterceptors method
  • [SPR-12677] - Improve charset parsing in MockHttpServletRequest and Response
  • [SPR-12682] - Make resolveContextLoader() method in AbstractTestContextBootstrapper protected
  • [SPR-12683] - Improve extensibility of TestContext bootstrap and context caching mechanisms
  • [SPR-12686] - Allow MBeanExporter's excludedBeans to be configured additively
  • [SPR-12691] - Cache aspect should also clear expression caches on shutdown
  • [SPR-12696] - Support global @MessageExceptionHandler
  • [SPR-12697] - Add same origin support to SockJS and WebSocket
  • [SPR-12701] - ResolvableType.getType() should reflect the set up type correctly
  • [SPR-12706] - BeanWrapper should auto-grow arrays on indexed set attempt as well
  • [SPR-12710] - Preserve ordering of inlined properties in @TestPropertySource
  • [SPR-12715] - All HttpMessageConverters should support StreamingHttpOutputMessage
  • [SPR-12721] - Open up TestPropertySourceUtils for public consumption
  • [SPR-12724] - Add possibility to set supportedMimeTypes in MappingJackson2MessageConverter
  • [SPR-12726] - MessageConverter implementation that marshals from/to XML
  • [SPR-12730] - MessageHeaderAccessor.getContentType() should get deal with String value too, rather than rely only casting to MimeType
  • [SPR-12731] - Add TimeoutException to JmsInvokerClientInterceptor
  • [SPR-12732] - Customize STOMP ERROR frame
  • [SPR-12733] - Collections returned from @EventListener methods should result in each element being published as an individual event
  • [SPR-12742] - MvcUriComponentsBuilder drops trailing slash from @RequestMapping
  • [SPR-12743] - Support @NumberFormat as a meta-annotation
  • [SPR-12746] - Allow easier use of custom RequestMappingHandlerMapping in WebMvcConfigurationSupport
  • [SPR-12748] - Allowing access to scheduled tasks in the ScheduledTaskRegistrar
  • [SPR-12750] - Provide option in RestTemplate to encode slash in URI variables
  • [SPR-12751] - Support @ControllerAdvice registrations in the MockMvcBuilders standalone setup
  • [SPR-12755] - ProxyFactory should not discard objenesis cache, thereby enabling efficient proxy instantiation
  • [SPR-12757] - FlashMap's cannot be easily serialized by means other than java serialization
  • [SPR-12760] - RestTemplate logging for 404 status code
  • [SPR-12761] - ProxyAsyncConfiguration is eagerly loaded due to AsyncAnnotationBeanPostProcessor
  • [SPR-12778] - Re-allow handling empty request body
  • [SPR-12782] - UrlTag mishandles foreign root context URIs
  • [SPR-12789] - SpEL: reduce restrictions on compiling mathematical expressions
  • [SPR-12792] - Ignore null in HeadersBuilder#headers
  • [SPR-12793] - TypeDescriptor should support arbitrary levels of meta-annotations
  • [SPR-12799] - Support for Transport connectivity check in JavaMailSender
  • [SPR-12800] - Allow use of MvcUriComponentsBuilder independent of Servlet request lifecycle
  • [SPR-12805] - Make initDirectFieldAccess work with array, List and Map
  • [SPR-12806] - @Order annotations not consistently honored within DispatcherServlet and other parts of the framework
  • [SPR-12808] - SpEL's ReflectiveMethodResolver should use distance computation by default
  • [SPR-12812] - SubProtocolWebSocketHandler should check is session is open before adding it to its map
  • [SPR-12817] - Support SpEL in bean class names
  • [SPR-12818] - Provide an option for trailing slash for AbstractUrlHandlerMapping like RequestMappingHandlerMapping
  • [SPR-12819] - Support a customizable FieldError creation at SpringValidatorAdapter
  • [SPR-12820] - On CONNECT and external broker is not available, StompBrokerRelayMessageHandler should return ERROR frame
  • [SPR-12822] - Make ReflectionUtils.doWithMethods work on Java 8 default interface methods
  • [SPR-12824] - Add setAutoStartup(boolean) to AbstractJmsListenerContainerFactory
  • [SPR-12826] - HttpComponentsClientHttpRequestFactory should not depend on CloseableHttpClient
  • [SPR-12834] - Allow <jdbc:embedded-database /> to be declared as an anonymous bean
  • [SPR-12835] - Introduce database-name attribute in <jdbc:embedded-database />
  • [SPR-12840] - HttpSessionHandshakeInterceptor's getSession(request)
  • [SPR-12843] - add support of xlsx format to JasperReportsMultiFormatView
  • [SPR-12845] - Provide Access to Spring WebSocket's Configured PathMatcher
  • [SPR-12849] - TcpConnection should extend java.io.Closeable
  • [SPR-12854] - Indeterministic UnsatisfiedServletRequestParameterException#paramConditions
  • [SPR-12858] - Support package private annotations with AnnotationUtils
  • [SPR-12863] - MethodValidationPostProcessor could be more open to extension
  • [SPR-12865] - CookieGenerator.removeCookie doesnt support secure field
  • [SPR-12870] - Improve handling of JDK dynamic proxies in DefaultAopProxyFactory.
  • [SPR-12888] - Better exception message for missing @RequestBody method parameter
  • [SPR-12889] - AnnotatedElementUtils should leniently ignore TypeNotPresentExceptions (just like AnnotationUtils)
  • [SPR-12894] - ResourceHttpMessageConverter always returns "application/octet-stream" Content-Type
  • [SPR-12898] - Improve exception message in case of incomplete Caching configuration.
  • [SPR-12899] - Support expression in @SendTo for JMS endpoints
  • [SPR-12900] - Spring logs FactoryBean type check warning in case of factory method with arguments
  • [SPR-12902] - Revisit "ApplicationEventMulticaster not initialized" behavior for early event publication scenarios
  • [SPR-12903] - MVC should respect @ResponseStatus on exceptions during mapping
  • [SPR-12905] - @Configuration enhancer does not throw proper exception in case of mismatched @Bean method
  • [SPR-12911] - Configure reply type via JmsListenerContainerFactory
  • [SPR-12912] - Allow for marshalling the messaging Message<T> payload with an user defined marshaller
  • [SPR-12925] - Use higher log level in InvocableHandlerMethod.getMethodArgumentValues()
  • [SPR-12926] - Spring Performance Optimization, Comparing Classes
  • [SPR-12927] - MethodJmsListenerEndpoint does not set the DestinationResolver on the MessagingMessageListenerAdapter
  • [SPR-12932] - Autowiring against a closed ApplicationContext should consistently fail
  • [SPR-12945] - Default RequestPostProcessor should be executed first
  • [SPR-12955] - Using StandardWebSocketClient it's not possible to customize ClientEndpointConfig before it's passed to WebSocketContainer.connectToServer method
  • [SPR-12956] - Same Origin check in both AbstractSockJSService and OriginHandshakeInterceptor is not working with Tyrus client
  • [SPR-12960] - ShallowEtagHeaderFilter breaks SockJS and HTTP streaming async responses
  • [SPR-12983] - Automatically register Jackson's JDK 8 module when available
  • [SPR-12989] - Eliminate inspection of meta-annotations on Java annotations
  • [SPR-12999] - <mvc:resources> does not handles directories well
  • [SPR-13007] - Avoid eager error message formatting in pre-condition checks
  • [SPR-13020] - Harmonize default converters with available editors
  • [SPR-13022] - Destroy callback cannot be disabled for AutoCloseable beans
  • [SPR-13024] - Provide access to the return type in MethodMetadata
  • [SPR-13030] - Document "present" terminology in AnnotationUtils
  • [SPR-13032] - LocaleChangeInterceptor not protected against CSRF
  • [SPR-13035] - Ability to prefix each RestTemplate request using some kind of UriPrefixingClientHttpRequestFactory
  • [SPR-13042] - DataBinder should use ConversionService if PropertyEditor cannot produce required type
  • [SPR-13045] - mvcUrl is always rendering scheme+host+port, that should be optional only when absolute link is needed
  • [SPR-13053] - No possible matches for invalid field access in DirectFieldAccessor
  • [SPR-13054] - Make PropertyMatches public
  • [SPR-13060] - Introduce putIfAbsent() in AnnotationAttributes
  • [SPR-13064] - Implement toString() for synthesized annotations
  • [SPR-13065] - Implement equals() for synthesized annotations
  • [SPR-13066] - Implement hashCode() for synthesized annotations
  • [SPR-13124] - @SendTo does not get converter applied when returning Message<T>

Edit/Copy Release Notes

The text area below allows the project release notes to be edited and copied to another document.