Skip to content

Releases: spring-projects/spring-framework

v6.1.10

19 Jun 16:14
Compare
Choose a tag to compare

⭐ New Features

  • Defensive PersistenceExceptionTranslator bean retrieval in PersistenceExceptionTranslationInterceptor on shutdown #33067
  • Support all "connection reset" exception phrases in DisconnectedClientHelper #33064

🐞 Bug Fixes

  • Duplicate observations recorded with RestClient #33068
  • WebFlux validation requires Servlet API since Spring Framework 6.1.3 #33043
  • No qualifying bean of type 'java.lang.String' in case of accidental @Autowired @Bean method with @Value parameter #33030
  • ConfigurationClassEnhancer doesn't not use correct ClassLoader when called multiple times #33024

πŸ“” Documentation

  • Typo in Annotation-driven Listener Endpoints section of Spring Framework documentation #33050
  • Container Extension Points section of Spring Framework documentation refer to the wrong property name #33037
  • Fix typo in comment #33036
  • Incorrect constructor details in the javadoc for ApplicationContextEvent #33032

❀️ Contributors

Thank you to all the contributors who worked on this release:

@tafjwr

v6.2.0-M4

13 Jun 12:12
Compare
Choose a tag to compare
v6.2.0-M4 Pre-release
Pre-release

⭐ New Features

  • Add support for converting the whole JSON document without using JSONPath #33018
  • Support Protobuf 4.x #33011
  • Do not swallow exceptions on failing to release a savepoint #32992
  • Being able to provide extended timeouts for specific phases in the DefaultLifecycleProcessor #32985
  • Allow json content to be converted using AssertJ's AssertFactory #32953
  • Add support for BeanPostProcessor defined in Kotlin companion object #32946
  • Support @TestBean factory methods defined in interfaces #32943
  • Add a way to set the timeout to reactive jdk client #32941
  • Revise convention-based semantics for @TestBean factory methods #32940
  • Support field name as fallback qualifier for @TestBean, MockitoBean, and MockitoSpyBean #32939
  • Use getMessageSource internally in RequestContext #32926
  • MockMvc no longer needs methods that take a String httpMethod for custom methods #32914
  • Allow MockMvcTester to prepare the query without the need of static imports #32913
  • Rework Bean Overriding feature to better behave with TCF Context Caching #32884
  • Introduce API to initialize BeanFactory before singleton instantiation #32836
  • Introduce static MultiValueMap factory methods #32832
  • Make use of JSONAssert in public API optional #32791
  • Refine exception handling in AOT process to provide additional context #32777
  • Handle ResponseStatusException thrown by MVC functional endpoints #32689
  • Support data binding from request headers #32676
  • Ignore trailing semicolons when parsing Accept-Language header #32259
  • Introduce request attributes in RestClient #32027
  • Make WebSocketMessageBrokerStats optionally export stats to micrometer #31604
  • Add Partitioned cookie attribute support for reactive servers #31454
  • Add execution metadata to scheduled tasks #24560

🐞 Bug Fixes

  • Exception that prevents component scan with REGISTER_BEAN conditions should provide the affected configuration class #32998
  • Bean override with REPLACE_OR_CREATE_DEFINITION and byType lookup fails if no match is found #32990
  • Bean override factory post processing doesn't work with FactoryBean #32971
  • @TestBean factory method not found in multi-level @Nested hierarchy #32951
  • Support queries in opaque URLs #32920
  • AbstractJsonContentAssert should allow satistfies to run on the json content, not the raw string #32894
  • Content negotiation for exception handling fails with WebFlux #32878

πŸ“” Documentation

  • Fix typo in WebTestClient expectedXml #32969

πŸ”¨ Dependency Upgrades

  • Upgrade to Micrometer 1.13.1 #33000
  • Upgrade to Reactor 2024.0.0-M3 #33006

❀️ Contributors

Thank you to all the contributors who worked on this release:

@AlexejTimonin, @andreblanke, @ccorbacho, @earlgrey02, @izeye, @m4tt30c91, and @schnapster

v6.1.9

13 Jun 11:24
Compare
Choose a tag to compare

⭐ New Features

  • CRaC: ignore checkpointOnRefresh afterRestore #32978
  • Add missing hints for Hibernate @TenantId #32967
  • AnnotationUtils performance degrades with deep stacks #32921
  • Missing hints for Hibernate generators #32842
  • AbstractAutoProxyCreator#determineBeanType can trigger bean initialization at build time for aspects implementing Ordered #32230

🐞 Bug Fixes

  • Behaviour change in ScheduledAnnotationBeanPostProcessor: canceling scheduled tasks on ContextClosedEvent v6.0 -> v6.1 #33009
  • ContentCachingRequestWrapper may allocate too much memory #32987
  • Support canEncode() for JAXBElement in Jaxb2XmlEncoder #32977
  • AspectJ CTW aspects executed twice #32970
  • @Valid annotations on container elements for handler argument validation not supported #32964
  • Add support for double backslashes to StringUtils#cleanPath #32962
  • @CacheEvict condition uses wrapper comparison instead of actual objects #32960
  • ConcurrentHashMap.computeIfAbsent used in AdvisedSupport can cause virtual thread pinning #32958
  • Exception mapping does not work as expected when plugging in ReactorNettyClientRequestFactory into RestTemplate and RestClient #32952
  • ReactorResourceFactory not working with CRaC onRefresh checkpoint #32945
  • SpEL compilation fails when indexing into an array or list with an Integer #32908
  • SpEL compilation fails when indexing into a Map with a primitive #32903
  • BeanUtils.copyProperties no longer copies generic type properties from a base class that has been enhanced #32888
  • Application not starting with @EnableTransactionManagement(mode = AdviceMode.ASPECTJ) #32882
  • ReactorNettyClientResponse should not throw exception if no body is available #32805
  • Observation in ServerHttpObservationFilter is never stopped for asynchronous requests #32730

πŸ“” Documentation

  • Fix typo in the Simple Broker section of the reference documentation #32993
  • Remove outdated copyright from index.adoc #32983
  • Use HttpStatusCode consistently in reference guide #32966
  • Entity name in MappingSqlQuery example of reference guide is wrong #32957
  • Fix RegisterReflectionForBinding Javadoc #32947
  • Reference documentation sample for MethodValidationPostProcessor is missing a static keyword #32929
  • Fix typo in Jakarta validation documentation #32928
  • Refine KotlinDetector.isKotlinType documentation for Kotlin 2.x lambdas #32905
  • Complete Kotlin example for HTTP message codecs in reference doc #32877
  • Use Threadlocal.remove() instead of .set(null) in documentation #32874
  • Unexpected bean override / inject behavior #32825
  • Document why complex object structure are not supported as paremeters or properties by AOT #32273

πŸ”¨ Dependency Upgrades

  • Upgrade to Micrometer 1.12.7 #33001
  • Upgrade to Reactor 2023.0.7 #33007

❀️ Contributors

Thank you to all the contributors who worked on this release:

@Attacktive, @Seungpang, @deblockt, @hlmg, @ozooxo, @soglad, and @ypyf

v6.0.22

13 Jun 09:49
Compare
Choose a tag to compare

⭐ New Features

  • AnnotationUtils performance degrades with deep stacks #32922

🐞 Bug Fixes

  • Observation in ServerHttpObservationFilter is never stopped for asynchronous requests #32986
  • AspectJ CTW aspects executed twice #32973
  • SpEL compilation fails when indexing into a Map with a primitive #32912
  • SpEL compilation fails when indexing into an array or list with an Integer #32910
  • Application not starting with @EnableTransactionManagement(mode = AdviceMode.ASPECTJ) #32883

πŸ“” Documentation

  • Remove outdated copyright from index.adoc #32984

πŸ”¨ Dependency Upgrades

  • Upgrade to Reactor 2022.0.20 #33008

v5.3.37

13 Jun 09:06
Compare
Choose a tag to compare

⭐ New Features

  • AnnotationUtils performance degrades with deep stacks #32923

🐞 Bug Fixes

  • AspectJ CTW aspects executed twice #32974
  • SpEL compilation fails when indexing into a Map with a primitive #32911
  • SpEL compilation fails when indexing into an array or list with an Integer #32909
  • Application not starting with @EnableTransactionManagement(mode = AdviceMode.ASPECTJ) #32885

πŸ”¨ Dependency Upgrades

  • Upgrade to Reactor 2020.0.45 #33010

v6.2.0-M3

22 May 18:28
Compare
Choose a tag to compare
v6.2.0-M3 Pre-release
Pre-release

⭐ New Features

  • Lazily register DynamicValuesPropertySource in the TestContext framework #32871
  • Introduce getRequest and getResponse on MvcTestResult #32846
  • Add support for qualifiers in test bean overriding and consider improving by-type matching #32822
  • Support Content Negotiation and view rendering in ResponseEntityExceptionHandler #31936

🐞 Bug Fixes

  • Change default phase for STOMP message handling components to be ahead of Boot's WebServerStartStopLifecycle default phase #27519

v6.1.8

22 May 17:15
Compare
Choose a tag to compare

⭐ New Features

  • Avoid creation of SAXParserFactory for every read operation in Jaxb2Marshaller and co #32851
  • Suppress deprecation warning for AOT-generated code that refers to a deprecated bean type #32850

🐞 Bug Fixes

  • Overridden aspect method runs twice #32865
  • @DateTimeFormat(iso = DateTimeFormat.ISO.DATE\_TIME) cannot convert UTC without milliseconds to java.util.Date #32856
  • Spring AOP fails against registered @Configurable aspect #32838
  • MockHttpServletRequest should not use a shared reader when no content is available #32820

πŸ“” Documentation

  • Modernize Antora Build #32864
  • Modernize Antora Build #32863
  • Refine CDS documentation #32843
  • Revisit validation documentation to better explain when method validation is invoked #32807

❀️ Contributors

Thank you to all the contributors who worked on this release:

@rwinch

v6.0.21

22 May 16:27
Compare
Choose a tag to compare

⭐ New Features

  • Avoid creation of SAXParserFactory for every read operation in Jaxb2Marshaller and co #32855

🐞 Bug Fixes

  • Overridden aspect method runs twice #32867
  • @DateTimeFormat(iso = DateTimeFormat.ISO.DATE\_TIME) cannot convert UTC without milliseconds to java.util.Date #32859
  • MockHttpServletRequest should not use a shared reader when no content is available #32848
  • Spring AOP fails against registered @Configurable aspect #32839

v5.3.36

22 May 15:49
Compare
Choose a tag to compare

🐞 Bug Fixes

  • Overridden aspect method runs twice #32868
  • @DateTimeFormat(iso = DateTimeFormat.ISO.DATE\_TIME) cannot convert UTC without milliseconds to java.util.Date #32860
  • Spring AOP fails against registered @Configurable aspect #32840

v6.2.0-M2

16 May 10:16
Compare
Choose a tag to compare
v6.2.0-M2 Pre-release
Pre-release

⭐ New Features

  • Make it easier to register reflection hints on interface hierarchies #32824
  • Support varargs invocations in SpEL for varargs array subtype in compiled expressions #32804
  • Align StandaloneMockMvcBuilder with trailing slash defaults #32796
  • Use lambda expressions consistently #32765
  • Bean overriding in tests should use by-type semantic if no name is specified #32761
  • Add ServerRequest.pathVariableOrNull Kotlin extension #32738
  • Throw an exception for suspending factory methods #32719
  • Introduce ReflectiveIndexAccessor convenience class in SpEL #32714
  • Add BodyInserters.fromValue(T, ParameterizedTypeReference<T>) and related APIs #32713
  • Rename AssertableMockMvc to MvcTester and review assertions structure #32712
  • Introduce generateCodeForArgument() in CodeFlow #32708
  • Make SpelNode compilation aware #32707
  • Add a requiredBody() extension to RestClient.ResponseSpec #32703
  • Add IndexAccessor support to SpEL's SimpleEvaluationContext #32702
  • Support compilation of array and list indexing with Integer in SpEL #32694
  • Avoid unnecessary compilation attempts in SpEL's Indexer #32677
  • Adds support for qualifying columns with table. #32653
  • Omit empty resource description in DeprecatedBeanWarner's log message #32647
  • Introduce getName() in SpEL's BeanReference #32640
  • Validate that private JUnit Jupiter lifecycle methods are not annotated with @Autowired #32627
  • Ensure removal of Content-Type header if body Publisher is empty #32622
  • Introduce CompilableIndexAccessor SPI in SpEL #32613
  • AbstractJackson2Decoder doesn't support decoding NDJSON arrays into Flux #32579
  • Handle DataBufferLimitException as HTTP 413 responses #32558
  • Introduce URL parser based on algorithm provided in Living URL standard #32513
  • JettyClientHttpRequestFactory should set request/response timeout #32330
  • Remove Hibernate substitutions and deprecated properties usage #32314
  • Register DynamicPropertyRegistry as a singleton bean in a test's ApplicationContext #32271
  • Allow for AbstractUrlHandlerMapping to add/remove handlers at runtime #32064
  • Make it possible for Spring Security to align with Spring MVC without HandlerMappingIntrospector #31823
  • Create Filter to handle URLs with trailing slashes #31366
  • Add testing support for WebMvc.fn #30477
  • Use URL and HTTP method in DefaultResponseErrorHandler #28958
  • CacheAspectSupport initialization failure should throw dedicated exceptions, rather than IllegalStateException #22442
  • Clear AspectJExpressionPointcut cache when it is no longer used #12334

🐞 Bug Fixes

  • MediaTypeAssert risk false negative with isNotEqual assertion #32756
  • IndexAccessor cannot support custom Collection target type #32736
  • Custom IndexAccessor cannot support String index type #32706
  • HttpHeaders should reject negative ContentLength values #32660

πŸ“” Documentation

  • Improve wording in Spring Framework Overview documentation #32829
  • Clarify supported targets for annotations in the TestContext framework #32772
  • Modernize the lazy-initialized beans refdoc section #32767
  • Document SpEL IndexAccessor support in the reference manual #32735
  • Use lowercase package name in code snippets #32734
  • Fix class name typo in reference documentation #32664
  • Introduce configuration code includes and tabs in the Integration section #32600
  • Document bean override support in the TestContext framework in the reference manual #32490

πŸ”¨ Dependency Upgrades

  • Upgrade to HtmlUnit 4.1.0 #32740
  • Upgrade to Micrometer 1.13.0 #32811
  • Upgrade to Reactor 2024.0.0-M2 #32785
  • Upgrade to webjars-locator-lite 1.0.0 #32564

❀️ Contributors

Thank you to all the contributors who worked on this release:

@Donghh0221, @GeorgePap-719, @LeMikaelF, @MichaelKunze, @NadChel, @SharadK10, @attermann, @awmeinema, @dukbong, @earlgrey02, @evan-mc, @jerzykrlk, @laterlaugh, @mysend12, @onjik, and @quaff