4.1.1 Release
·
24200 commits
to main
since this release
⭐ New Features
- Allow configuring custom executor with WebSocket message broker [SPR-12272] #16877
- Clarify the single class restriction with
@JsonView
for a response body advice [SPR-12270] #16875 - PreparedStatement#setBlob(int, InputStream) is not supported in DefaultLobCreator [SPR-12265] #16870
- Update default SockJS CDN [SPR-12254] #16868
- Message broker thread pools should be set up in allowCoreThreadTimeOut mode [SPR-12249] #16863
- Consistent Environment access in XML bean definition parsing code [SPR-12248] #16862
- Create builder for Jackson ObjectMapper [SPR-12243] #16857
- Data binding with java.util.Optional: traversal of nested paths, detection of empty holders [SPR-12241] #16855
- INSERT SELECT of large CLOB causes ORA-01461 on setString [SPR-12240] #16854
- LocalSessionFactoryBean doesn't support JPA 2.1 auto-apply
@Converter
on Hibernate 4.3 [SPR-12234] #16849 - Expose
@Bean
method metadata in the BeanDefinition [SPR-12232] #16847 - Provide subclassing hooks in PathMatchingResourcePatternResolver [SPR-12231] #16846
- Explicitly release rolled-back database savepoints during (long-running) transaction [SPR-12228] #16843
- Further optimize ReflectionUtils.isCglibRenamedMethod [SPR-12227] #16842
- Support Jackson based XML serialization in RestTemplate [SPR-12225] #16840
- Improve performance of MapPropertySource.containsProperty [SPR-12224] #16839
- JndiLocatorDelegate.isDefaultJndiEnvironmentAvailable() should apply stronger checks [SPR-12223] #16838
- Support ordering of conditions [SPR-12219] #16833
- Allow configuring custom HandlerMethodArgumentResolver and HandlerMethodReturnValueHandler [SPR-12217] #16831
- DISCONNECT messages created in StompSubProtocolHandler do not contain user information [SPR-12215] #16829
- Add JavaConfig equivalent of tx:jta-transaction-manager [SPR-12197] #16811
- Spring HTTP clients do not enforce RFC 6265 (cookies in a single header) [SPR-12196] #16810
- Add spring macros support for Groovy Markup Templates [SPR-12193] #16807
- Scheduled/JmsListenerAnnotationBeanPostProcessor needlessly scans every scoped instance [SPR-12189] #16803
- Access to propertySources in CompositePropertySource [SPR-12182] #16796
- Set Jackson DEFAULT_VIEW_INCLUSION property to false by default [SPR-12179] #16793
- Using websocket scope in application event listener [SPR-12172] #16786
- Consistent support for java.util.Optional for all applicable handler method arguments [SPR-12171] #16785
- XML bean singleton attribute silently ignored [SPR-12167] #16781
- Log warning for single optional constructor when no default constructor to fall back to [SPR-12161] #16775
- SessionDisconnectEvent should extend AbstractSubProtocolEvent [SPR-12156] #16770
- Use DEBUG log level for broken WebSocket client connections or write failures [SPR-12155] #16769
- ResponseBodyAdvice to accept null values? [SPR-12152] #16766
- FormHttpMessageConverter writes ASCII encoded so that a multipart form data can not contain filenames with German Umlaute [SPR-12108] #16724
- Set Jackson FAIL_ON_UNKNOWN_PROPERTIES property to false by default [SPR-11891] #16510
- please let context:component-scan base-package eval placeholder then split by comma [SPR-10425] #15058
- make context:exclude-filter expression supports placeholder like context:component-scan base-package [SPR-10424] #15057
- Improve
@RequestParam
defaultValue's value JavaDoc [SPR-9967] #14601 - Section 15.3.2 - example description not matching example code [SPR-8025] #12680
🪲 Bug Fixes
- Java 8 introspection causes breakage with FreeMarker Configuration bean [SPR-12448] #17053
- Duplicate entries in ResolvableType cache [SPR-12275] #16880
- MethodReference isn't thread-safe [SPR-12269] #16874
- Spring 4.1 with WebMvcConfigurationSupport enabled does not register a default view resolver [SPR-12267] #16872
- Web Async responses force concurrentResult.toString() call [SPR-12253] #16867
- org.springframework.context.support.LiveBeansView.generateJson(Set) generates invalid JSON when resources already double-quoted [SPR-12252] #16866
- Sending message in ApplicationListener results in ERROR level logging [SPR-12247] #16861
- PropertySource overrides do not work with more than one classpath file [SPR-12244] #16858
- Regression: HttpEntityMethodProcessor does not support HttpEntity subclasses anymore [SPR-12242] #16856
- WebSocketMessageBrokerConfigurationSupport requiring JDK 7+ due to setRemoveOnCancelPolicy [SPR-12238] #16852
- Regression in
@Condition
exclusion [SPR-12233] #16848 - Protobuf support for Spring MVC 4.1 doesn't work with default settings [SPR-12229] #16844
- Exception in "inboundClientChannel" interceptor for DISCONNECT prevents broker from learning about it [SPR-12218] #16832
- Unexpected override order for
@Configuration
based property sources [SPR-12198] #16812 - NoUniqueBeanDefinitionException when autowiring static nested class that extends its containing class [SPR-12195] #16809
- Java 8 bridge method handling can lead to false positive detection of autowired annotations [SPR-12187] #16801
- Regression: Slow TypeDescriptor lookups in CachedIntrospectionResults on IBM JVM 6 [SPR-12185] #16799
- Message listener container does not apply proper recovery anymore [SPR-12183] #16797
- Enum to String conversion broken for subclasses [SPR-12181] #16795
- Race condition in ReloadableResourceBundleMessageSource since 4.1.0 [SPR-12177] #16791
- JDBC conversion exception for enum types on MySQL [SPR-12174] #16788
- SocketUtils should not be an abstract class [SPR-12169] #16783
- Fix ResourceUrlProvider path check in getForRequestUrl [SPR-12158] #16772
- getObject(index, requiredType) fails for BigInteger on Derby [SPR-12157] #16771
- FrameworkServlet not Servlet 2.5 compatible unless publishEvents=false [SPR-12151] #16765
- memory leak in class org.springframework.core.ResolvableType [SPR-11394] #16021
- URI template with wildcards and variable gives invalid PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE request attribute value [SPR-10515] #15146
📔 Documentation
- condition vs. conditional typo in
@Cacheable
reference documenation [SPR-12273] #16878 - Escape single quotes nested in double quotes in the reference manual [SPR-12246] #16860
- file URL has wrong syntax in chapter 4 [SPR-7735] #12391
- ContextLoaderServlet is mentioned in doc, but does not exist [SPR-7725] #12381
- reference doc chapter 1: list order is bad [SPR-7689] #12345