Skip to content

4.3 GA Release

Compare
Choose a tag to compare
@spring-projects-issues spring-projects-issues released this 17 Jan 14:22
· 17936 commits to main since this release

⭐ New Features

  • CorsConfiguration checkHeaders wildcard ALL should allow matching empty strings header [SPR-14617] #19184
  • AsyncRestTemplate changes in SPR-13413 made its harder to detect Client/Server errors [SPR-14353] #18925
  • Allow method inlining of ObjectUtils.nullSafeEquals() [SPR-14349] #18921
  • SpringHandlerInstantiator should support all HandlerInstantiator-provided factory methods [SPR-14347] #18919
  • Caching annotation on interface are ignored when cglib proxies are used [SPR-14343] #18915
  • FormHttpMessageConverter should use configured charset (by default UTF-8) for "text-plain" MIME part conversion as well [SPR-14338] #18910
  • Jackson2ObjectMapperBuilder/FactoryBean should accept deserializers by handled type as well [SPR-14337] #18909
  • Support for Hibernate ORM 5.2 [SPR-14327] #18899
  • Consistent Error handling in MessageChannel implementations [SPR-14323] #18895
  • Allow constructor injection at CompositeDatabasePopulator [SPR-14313] #18885
  • AcceptHeaderLocaleResolver should allow to define a default Locale [SPR-14312] #18884
  • Spring Web should process requests with empty/invalid mime type [SPR-14309] #18881
  • MockRestServiceServerBuilder cannot be cached [SPR-14306] #18878
  • negating specific media type in RequestMapping causes requests with no Accept header to fail [SPR-14299] #18871
  • All SockJS fallback options fail if request.getRemotePort() is not forwarded by proxy [SPR-14295] #18867
  • @ExceptionHandler should match cause as well (e.g. for exception thrown from argument formatter) [SPR-14291] #18863
  • Poor comparison for ContentRequestMatchers#bytes [SPR-14281] #18853
  • SimpleBrokerMessageHandler makes an assertion about the type of the MessageHeaderAccessor, but doesn't seem to care [SPR-14279] #18851
  • Apply @SafeVarargs at MockRestRequestMatchers#header [SPR-14278] #18850
  • ForwardedHeaderFilter could support X-Forwarded-Prefix as well [SPR-14270] #18842
  • JettyWebSocketSession.send*Message() can throw Jetty-specific WebSocketException instead of IOException [SPR-14267] #18839
  • MockMvcWebConnection should update cookie manager with MockHttpServletResponse cookies [SPR-14265] #18837
  • Add database product name for SAP HANA [SPR-14261] #18833
  • DefaultPersistenceUnitManager.determineDefaultPersistenceUnitRootUrl fails when run from a shaded jar [SPR-14246] #18819
  • Add option to log headers to AbstractRequestLoggingFilter [SPR-14245] #18818
  • BeanPropertyRowMapper should use ConversionService for date-time support [SPR-13888] #18461
  • SpEl does not support conjunction (&&) and disjunction (||) logic [SPR-7652] #12308

🪲 Bug Fixes

  • Different error codes on same formatter registered in different ways [SPR-14345] #18917
  • AllEncompassingFormHttpMessageConverter ignores JAXB XML when Jackson used for JSON [SPR-14336] #18908
  • Race condition in handling of @Lookup annotation [SPR-14333] #18905
  • EventListenerMethodProcessor resolves classes (by MethodIntrospector) of lazy beans causing NoClassDefFoundError [SPR-14330] #18902
  • After-completion callback not triggered for custom Throwable subclass [SPR-14329] #18901
  • Headers were lost when returning a null StreamingResponseBody within a ResponseEntity [SPR-14315] #18887
  • ConcurrentMapCacheManager's storeByValue does not pick up ClassLoader [SPR-14314] #18886
  • Cannot put tiles:definition inside tiles:putAttribute [SPR-14311] #18883
  • SettableListenableFuture.setException(Throwable) doesn't work for Error [SPR-14298] #18870
  • @MatrixVariable Map<String, String> params [SPR-14294] #18866
  • StringIndexOutOfBoundsException when calling BeanWrapperImpl.setPropertyValue("[']", "foobar") [SPR-14293] #18865
  • @Bean not detected in extended interface [SPR-14288] #18860
  • Scheduled tasks aren't cancelled on ScheduledTaskRegistrar destruction anymore [SPR-14286] #18858
  • markBeanAsCreated does not clear merged bean definition in a thread-safe fashion [SPR-14269] #18841
  • Memory leak on STOMP broker connections that fail before heartbeats start [SPR-14266] #18838
  • Meta-@Conditional lookup does not work consistently with ASM [SPR-14257] #18829

📔 Documentation

  • Doc: Constructor injection of arrays and collections [SPR-14332] #18904
  • Improve reference documentation for Task Execution and Scheduling about bean scopes [SPR-14167] #18739
  • Reference Documentation: Why does not exist an XML configuration version for @Async? [SPR-14164] #18736
  • Document composed annotations for @RequestMapping in the reference manual [SPR-13995] #18568
  • Document composed annotations for web scopes in the reference manual [SPR-13994] #18567
  • Doc: @RestController works only with RequestMappingHandlerAdapter [SPR-13945] #18517
  • Document TestContext bootstrap strategy in the reference manual [SPR-11683] #16306
  • MultipartFilter documentation [SPR-11373] #16000