Skip to content

4.1.1 Release

Compare
Choose a tag to compare
@spring-projects-issues spring-projects-issues released this 17 Jan 14:33
· 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