spring-framework

Spring Framework

APACHE-2.0 License

Stars
55K
Committers
1K

Bot releases are hidden (Show)

spring-framework - https://github.com/spring-projects/spring-framework/releases/tag/v5.3.38 Latest Release

Published by spring-builds 2 months ago

⭐ New Features

  • Efficient handling of conditional HTTP requests #33378

🐞 Bug Fixes

  • Fix incorrect weak ETag validation #33377
  • SimpleEvaluationContext does not enforce read-only semantics #33320
  • ConversionService cannot convert primitive array to Object[] #33314
  • SpEL Indexer silently ignores failure to set property as index #33312
  • Mockito mock falsely initialized as CGLIB proxy with AspectJ aspect #33142
  • "file:." cannot be resolved to java.nio.file.Path (and plain "." value resolves to classpath root) #33140

πŸ“” Documentation

  • Typo in Annotation-driven Listener Endpoints section of Spring Framework documentation #33052
  • Container Extension Points section of Spring Framework documentation refers to the wrong property name #33039
  • Incorrect constructor details in the javadoc for ApplicationContextEvent #33034

πŸ”¨ Dependency Upgrades

  • Upgrade to Reactor 2020.0.47 #33322
spring-framework - https://github.com/spring-projects/spring-framework/releases/tag/v6.2.0-M6

Published by spring-builds 3 months ago

⭐ New Features

  • Initialize RequestPath on demand in AbstractServerHttpRequest #33227
  • Add support for making MapAccessor read-only #33222
  • DefaultPartHttpMessageReader should not instantiate Reactor Scheduler eagerly #33218
  • Change MIME type mapping for JavaScript to text/javascript #33197
  • Handle SimpleAsyncTaskExecutor in WebSocketMessageBrokerStats #33104
  • Support way to extract ConstraintViolation from HandlerMethodValidationException #33025

🐞 Bug Fixes

  • AssertJ support for multipart does not set property content type on the request #33232
  • MockMvc builders are not source and binary compatible with previous 6.x generations #33229
  • __BeanFactoryRegistrations generated file can be too large with a BeanFactory with lots of bean definitions #33126

❀️ Contributors

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

@quaff

spring-framework -

Published by spring-builds 3 months ago

⭐ New Features

  • Harmonize handling of current factory method in SimpleInstantiationStrategy #33192
  • Unwrap InvocationTargetException in SpEL's FunctionReference #33174
  • Support rendering multiple fragments #33162
  • Allow MessageHeaderAccessor to be created with existing headers #33153
  • Generalize message conversion for HTTP message content in AssertJ support #33148
  • Allow arbitrary packages to be scanned for Reflective usage #33132
  • Support external methods referenced by fully-qualified name in @TestBean #33125
  • Update Content-Type based on encoding in MVC FreeMarkerView #33119
  • Introduce SmartHttpMessageConverter #33118
  • Support property placeholders in @Sql script paths #33114
  • Reject ModelMap argument types in WebFlux #33109
  • Set output_encoding in FreeMarkerView implementations #33106
  • Allow encoding to be set with a Charset in FreeMarker support #33102
  • Let custom ObjectProvider implementations declare a single method only #33070
  • Add support for running assertions on resolved exception in MockMvcTester #33060
  • Add dedicated support for printing the MvcResult in MockMvcTester #33059
  • Provide a way to determine if a context is in the process of being closed #33058
  • MockHttpServletRequestBuilder should merge URI from the parent if necessary #33057
  • Fail fast if a @Bean method declares @Autowired as well #33051
  • Add dedicated async dispatch support for MockMvcTester #33040
  • Add dedicated multipart support for MockMvcTester #33027
  • spring-form JSP tags should escape HTML value based on response character encoding #33023
  • SimpleClientHttpResponse throws IOException when response body is empty and status code is >= 400 #33020
  • MockHttpServletResponse defaults to ISO-8859-1 for JSON while the rest of the framework defaults to UTF-8 #33019
  • Propagate context to message converters when streaming with Flux in Spring MVC #32813
  • Resolve URI to baseUrl in RestClient #32679
  • Constructor data binding support for List, Map and array arguments #32426
  • Implement Eclipse Jetty core HTTP handler adapter #32097
  • Add better control over generated files registration #31331
  • Provide more declarative control over reflection hint registration #29194
  • Replace @Nonnull(when = When.MAYBE) by @CheckForNull in @Nullable #27183
  • Add JSON support to Protobuf codecs #25457

🐞 Bug Fixes

  • AntPathPatternMatcher hardcoded "/" separator in variables matching and comparator #33085
  • AOT generates a raw type for a generic type with nested unresolved generics #33069
  • Unwrap Kotlin inline value classes return values #33026
  • Kotlin Serialization support does not take null-safety into account #33016

πŸ“” Documentation

  • Move Testing below other framework concerns in the reference documentation TOC #33083
  • Move Servlet HTTP Message Conversion to its own section #33063
  • Document AssertJ support for MockMvc #32454

πŸ”¨ Dependency Upgrades

  • Upgrade to HtmlUnit 4.2.0 #33081
  • Upgrade to Kotlin Coroutines 1.8.1 #33176
  • Upgrade to Micrometer 1.14.0-M1 #33170
  • Upgrade to Reactor 2024.0.0-M4 #33171

❀️ Contributors

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

@gregw, @stonio, and @tafjwr

spring-framework - https://github.com/spring-projects/spring-framework/releases/tag/v6.1.11

Published by spring-builds 3 months ago

⭐ New Features

  • Ensure varargs component type for MethodHandle is not null in SpEL's ReflectionHelper #33193
  • Confusing WebClient exception message in case of Reactor-Netty PrematureCloseException during response #33127
  • Include the bean name in the exception when an invalid factoryBeanObjectType attribute is found #33117
  • Use error handler for reactive cache aspect #33073
  • getTypeForFactoryMethod should catch NoClassDefFoundError #33075

🐞 Bug Fixes

  • SpEL cannot invoke varargs MethodHandle function with an array #33191
  • SpEL cannot invoke varargs MethodHandle function with zero variable arguments #33190
  • Nested bean instance supplier invocation does not retain previous factory method #33180
  • DefaultErrorResponseBuilder does not implement headers(Consumer) #33156
  • Fix adaptation of violations on Set method parameter #33150
  • Web controller call with invalid body resulting in 500 instead of 400 when using kotlinx-serialization #33138
  • "file:." cannot be resolved to java.nio.file.Path (and plain "." value resolves to classpath root) #33124
  • Mockito mock falsely initialized as CGLIB proxy with AspectJ aspect #33113
  • Fix ClassCastException from return value validation with proxy when adaptConstraintViolations=true #33105
  • Spring coroutines AOP is not compatible with @Transactional #33095
  • ReactorClientHttpConnector creates new HttpClient for every request #33093
  • Trace and Span IDs are no longer propagated RequestBodyAdvice beans #33091
  • Early LocalContainerEntityManagerFactoryBean initialization fails in case of null bean definition #33082
  • ReactorNettyClientRequest.convertException should include original exception if cause is null #33080
  • SpEL incorrectly splits string arguments by comma for Object... varargs method #33013
  • ProtobufMessageConverter fails to parse JSON payload if byte array is used #27408

πŸ“” Documentation

  • Harmonize phrasing in URI Encoding section #33166
  • Document that ModelMap is not a supported argument type in WebFlux #33107
  • Example in Method Injection section of Spring Framework documentation refers to wrong bean names #33096
  • Resource writer doesn't consider subclasses of InputStreamResource for content length bypass #33089
  • Improve documentation regarding encoding in FreeMarker support #33071
  • Exception for validation failure in WebFlux does not match the documentation #33061

πŸ”¨ Dependency Upgrades

  • Upgrade to Kotlin 1.9.24 #33177
  • Upgrade to Kotlin Serialization 1.6.3 #33175
  • Upgrade to Micrometer 1.12.8 #33168
  • Upgrade to Reactor 2023.0.8 #33169

❀️ Contributors

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

@TAKETODAY, @hunhee98, @imvtsl, @snussbaumer, and @zizare

spring-framework - v6.1.10

Published by spring-builds 4 months ago

⭐ 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

spring-framework - v6.2.0-M4

Published by spring-builds 4 months ago

⭐ 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

spring-framework - v6.1.9

Published by spring-builds 4 months ago

⭐ 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

spring-framework - v6.0.22

Published by spring-builds 4 months ago

⭐ 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
spring-framework - v5.3.37

Published by spring-builds 4 months ago

⭐ 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
spring-framework - v6.2.0-M3

Published by spring-builds 5 months ago

⭐ 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
spring-framework - v6.1.8

Published by spring-builds 5 months ago

⭐ 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

spring-framework - v6.0.21

Published by spring-builds 5 months ago

⭐ 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
spring-framework - v5.3.36

Published by spring-builds 5 months ago

🐞 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
spring-framework - v6.2.0-M2

Published by spring-builds 5 months ago

⭐ 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

spring-framework - v6.1.7

Published by spring-builds 5 months ago

⭐ New Features

  • ResponseEntity is not reliably closed with InputStreamResource #32802
  • Accept ajc-compiled @Aspect classes for Spring AOP proxy usage #32793
  • Failure to process a bean definition ahead-of-time with an instance supplier should provide more contextual information #32775
  • Provide methods to unambiguously send form data with MockMvc #32757
  • Introduce NoOp implementation for ResponseErrorHandler #32750
  • Support varargs invocations in SpEL for varargs array subtype #32704
  • StreamUtils.copyRange overreads source stream in some cases #32695
  • Modify error message when timeout is less than TIMEOUT_DEFAULT #32635
  • Jetty HttpConnections not closed with SSE on Jetty 12.0.7+ when clients close the connection #32629
  • Prevent duplicate subscription ID's in destinationCache of DefaultSubscriptionRegistry #32625
  • When retrieval of a LoadTimeWeaverAware bean fails the resulting exception message may not indicate why it was being created #32470

🐞 Bug Fixes

  • Do not send Cookie header in reactive JdkClientHttpRequest if no cookies added #32799
  • Inconsistent use of cleaned URLs in PathMatchingResourcePatternResolver #32828
  • DeferredQueryInvocationHandler fails to unwrap QuerySqmImpl class outside of transaction #32766
  • BindingReflectionHintsRegistrar#registerReflectionHints can be invoked with a null type #32753
  • AnnotationConfigWebApplicationContext should propagate ApplicationStartup to BeanFactory #32747
  • Ignore non-String keys in PropertiesPropertySource.getPropertyNames() #32742
  • MergedAnnotations search does not find container for repeatable annotation #32731
  • "multiple subscribers not supported" when using WebClient exchange #32727
  • ConfigurationClassEnhancer should consistently trigger FastClass creation at build-time #32682
  • HttpComponentsClientHttpRequestFactory does not set Content-Length: 0 #32678
  • Wrong proxy generation order during AOT for classes with ScopedProxyMode.TARGET\_CLASS and advisors #32669
  • Unhandled JMS listener exceptions are not propagated #32666
  • beanFactory#getBean with arguments ignore them if an Instance supplier is defined #32657
  • Incorrect AsyncRequestTimeoutException handling in ResponseEntityExceptionHandler #32644
  • Include actual cause's message in various parsing exception messages #32636
  • Configuration class with Bean factory method on an interface generates wrong target with AOT #32609
  • RestClient observations are stopped before ResponseSpec calls #32575
  • MvcUriComponentsBuilder.fromMethodName does not pick the annotated method transparently #32553
  • Deadlock/Stall in ConcurrentWebSocketSessionDecorator with Undertow 2.3.10 #32445
  • RSocket setup payload can cause Netty ByteBuf leak #32424
  • WebFlux temporary file not always deleted with parallel uploads. #31217

πŸ“” Documentation

  • Replace RFC 7807 by RFC 9457 in documentation #32806
  • Links to Framework and Servlet Javadoc from Framework's Kotlin API documentation are broken #32797
  • Fix incorrect class reference syntax in Kotlin code sample #32733
  • Improve documentation advising against use of HandlerInterceptor for security #32729
  • Inconsistent behaviour on transactional async method #32709
  • Document that getBean with arguments is not recommended with AOT #32690
  • Provide an example of custom request URL with RestClient in the reference guide #32685
  • Correct documentation on streaming with MockMvcWebTestClient #32687
  • Document limitations of CGLIB proxy class generation in JPMS module setups #32671
  • Update links to HttpOnly documentation at OWASP in ResponseCookie #32663
  • Document that RestTemplate may not return a body for certain exceptions #32641
  • Document that DataIntegrityViolationException can also be thrown on read-only queries #32631
  • Update documentation to explain streaming vs collecting and error handling with Flux<T> return values #32630
  • Revise "The IoC Container" section to be more relevant for modern Spring applications #32429
  • XML bean definition with factory-method does not always determine correct target type #32091
  • Document @Order behavior on types, bean methods, and config classes #30177
  • Clarify recommendation on self-injection for legitimate use cases (e.g. @Transactional re-entrant calls) #28299

πŸ”¨ Dependency Upgrades

  • Upgrade to Micrometer 1.12.6 #32810
  • Upgrade to Reactor 2023.0.6 #32786

❀️ Contributors

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

@LeMikaelF, @Seungpang, @izeye, @m4tt30c91, @remeio, and @yhao3

spring-framework - v6.0.20

Published by spring-builds 5 months ago

⭐ New Features

  • Accept ajc-compiled @Aspect classes for Spring AOP proxy usage #32817

🐞 Bug Fixes

  • Do not send Cookie header in reactive JdkClientHttpRequest if no cookies added #32831
  • Incorrect AsyncRequestTimeoutException handling in ResponseEntityExceptionHandler #32808
  • DeferredQueryInvocationHandler fails to unwrap QuerySqmImpl class outside of transaction #32769
  • MergedAnnotations search does not find container for repeatable annotation #32752
  • AnnotationConfigWebApplicationContext should propagate ApplicationStartup to BeanFactory #32748
  • Ignore non-String keys in PropertiesPropertySource.getPropertyNames() #32743
  • "multiple subscribers not supported" when using WebClient exchange #32732
  • Wrong proxy generation order during AOT for classes with ScopedProxyMode.TARGET\_CLASS and advisors #32701
  • Deadlock/Stall in ConcurrentWebSocketSessionDecorator with Undertow 2.3.10 #32697
  • ConfigurationClassEnhancer should consistently trigger FastClass creation at build-time #32683
  • WebFlux temporary file not always deleted with parallel uploads. #32638

πŸ“” Documentation

  • Improve documentation advising against use of HandlerInterceptor for security #32809
  • Links to Framework's Java API documentation from its Kotlin API documentation are broken #32801
  • Correct documentation on streaming with MockMvcWebTestClient #32722
  • Document that DataIntegrityViolationException can also be thrown on read-only queries #32686
  • Update links to HttpOnly documentation at OWASP in ResponseCookie #32667

πŸ”¨ Dependency Upgrades

  • Upgrade to Reactor 2022.0.19 #32787
spring-framework - v5.3.35

Published by spring-builds 5 months ago

⭐ New Features

  • Accept ajc-compiled @Aspect classes for Spring AOP proxy usage #32818

🐞 Bug Fixes

  • DeferredQueryInvocationHandler fails to unwrap QuerySqmImpl class outside of transaction #32770
  • MergedAnnotations search does not find container for repeatable annotation #32751
  • AnnotationConfigWebApplicationContext should propagate ApplicationStartup to BeanFactory #32749
  • Ignore non-String keys in PropertiesPropertySource.getPropertyNames() #32744
  • "multiple subscribers not supported" when using WebClient exchange #32728
  • Deadlock/Stall in ConcurrentWebSocketSessionDecorator with Undertow 2.3.10 #32698

πŸ“” Documentation

  • Correct documentation on streaming with MockMvcWebTestClient #32723
  • Update links to HttpOnly documentation at OWASP in ResponseCookie #32668

πŸ”¨ Dependency Upgrades

  • Upgrade to Reactor 2020.0.44 #32788
spring-framework - v6.2.0-M1

Published by spring-builds 6 months ago

⭐ New Features

  • Remove unnecessary method.isAccessible() invocation #32548
  • Improve names of classes generated by the SpEL compiler #32497
  • Refine null-safety with NullAway build-time checks #32475
  • Consistent handling of undeclared checked exceptions in CGLIB proxies #32469
  • Resolve property-dependent parameter names for exception messages #32462
  • Consistent ErrorHandler support in TaskScheduler variants #32460
  • Add CBOR support to AllEncompassingFormHttpMessageConverter #32428
  • Reject null return value from MethodReplacer for primitive return type #32412
  • Make SpEL's OptimalPropertyAccessor private #32410
  • NPE when using pathExtension predicate for routes that have no file extensions #32404
  • Use Map#computeIfAbsent in SpEL support classes #32385
  • Use ELContext instead of deprecated VariableResolver API in JspPropertyAccessor #32383
  • Add web support for YAML via Jackson #32345
  • Add DataSource configuration/exposure to LocalEntityManagerFactoryBean #32344
  • ServletResponseHttpHeaders ignores content type in ServletResponse #32339
  • Use ConcurrentHashMap.newKeySet where feasible #32294
  • Avoid resizing of fixed-size HashSet/LinkedHashSet variants #32291
  • Support backticks for quoted identifiers in spring-r2dbc #32285
  • Avoid internal lifecycle synchronization for SingleConnectionFactory and SingleConnectionDataSource #32284
  • DefaultMessageListenerContainer should be able to scale down using default config #32260
  • Revise DefaultMessageListenerContainer for first-class virtual thread support #32252
  • Optimize Request Predicate attribute merging #32245
  • Add ThreadLocalAccessor for LocaleContext and RequestAttributes #32243
  • Avoid ASYNC dispatch if possible in DefaultAsyncServerResponse #32223
  • Deprecate LobHandler and SqlXmlHandler abstractions (including SqlLobValue and related support classes) #32179
  • Revisit default lifecycle phases and timeouts (e.g. for ThreadPoolTaskScheduler) #32152
  • Harmonize ChannelRegistration to use Executor rather than TaskExecutor #32129
  • Deprecate HttpHeaders.writableHttpHeaders #32116
  • JsonPathAssertions methods that take a type used as a lambda should be ordered consistently #32062
  • Deprecate local variable support in SpEL's internal ExpressionState #32004
  • Support sending large STOMP messages as fragmented frames on WebSocketStompClient #31970
  • NamedParameterJdbcTemplate does not support backticks for quoted identifiers #31944
  • Use UTF-8 by default for JSON multipart content in ContentRequestMatchers #31924
  • Add interception of RFC-7807 responses #31822
  • Provide more control over charset parameter when writing form data #31781
  • Enhance WebTestClient to support JSONPath decoding to higher level objects #31653
  • Enhance JsonPathExpectationsHelper to allow use of JSONPath Configuration #31651
  • Support "--" end of options in SimpleCommandLineArgsParser #31513
  • Make use of bean definition overriding more visible #31288
  • Initial support for Servlet 6.1 #31159
  • Initial support for JPA 3.2 #31157
  • Support to propagate a savepoint operation via TransactionSynchronization #30509
  • Resolve type variable recursively in GenericTypeResolver #30079
  • Propagate WebClient attributes into underlying HTTP client request where possible #29958
  • Provide a safe way to override and mock beans in the TestContext framework #29917
  • Invoke methods via public interface/superclass in compiled SpEL expressions #29857
  • Introduce null-safe index operator in SpEL #29847
  • @Valid annotation can't establish dependency relationship between beans #29730
  • Optimize constructor dependency injection performance for parameter name matches #28122
  • Efficient webjars version resolution natively in Spring #27619
  • Throw Exception when two primary beans are present in one factory #26612
  • Allow creation of Beans that cannot be autowired by type unless qualified #26528
  • Introduce IndexAccessor SPI to customize the SpEL Indexer #26478
  • Introduce support for non-@Primary fallback beans #26241
  • Optimize ConfigurationClassPostProcessor#enhanceConfigurationClasses method to shorten startup time #25738
  • Inherited @Transactional methods should be able to use class-level TransactionManager qualifier from concrete class #24291
  • TaskScheduler does not work with TaskDecorator #23755
  • Synchronization during singleton creation may result in deadlock #23501
  • Allow global default for @Transactional rollback behavior on checked exceptions #23473
  • Add support for resolving multiple bounds in type variables #22902
  • @Transactional annotation can't establish dependency relationship between beans #22526
  • Asynchronous EntityManagerFactory bootstrapping to complete on context refresh completion [SPR-17334] #21868
  • Provide a mechanism to be notified that a bean has been created [SPR-16822] #21362
  • Reduce the effect of different base package configuration on component scanning performance and make the effect more intuitive [SPR-16649] #21190
  • Support AssertJ variant in MockMvc [SPR-16637] #21178
  • Support configuration of connection URL via EmbeddedDatabaseBuilder [SPR-16619] #21160
  • Revisit storage of null attributes in AbstractFallbackTransaction/CacheAttributeSource [SPR-15513] #20072
  • Asynchronous initialization of beans during startup [SPR-14920] #19487
  • Autowiring with @Autowired/@Inject get much slower than with @Resource as the number of classes increases [SPR-13086] #17677
  • Parallel bean initialization during startup [SPR-8767] #13410
  • Support escaping prefix and separator in property placeholders [SPR-4953] #9628

🐞 Bug Fixes

  • Transactional event listener invoked like standard event listener if @EnableTransactionManagement not active #32319
  • Stop overriding thread name prefix for externally configured Executor in ChannelRegistration #32132
  • WebClient and RestClient's defaultRequest(..) is not invoked early enough #32053
  • Alias resolution in SimpleAliasRegistry depends on hash codes of alias values #32024
  • Fix DefaultDataBuffer#getNativeBuffer() to set correct limit #32009
  • DefaultDataBuffer#setNativeBuffer violates contract of DataBuffer #30984
  • The method getNativeBuffer() in DefaultDataBuffer returns misconfigured ByteBuffer #30967
  • ApplicationContext caches are not cleared as expected when beans are lazy initialized #30954
  • A configuration class superclass that is skipped due to register bean phase conditions is ignored when another configuration class that extends it is processed #28676
  • Configuration class parsing registers bean in parent class if overridden @Bean method defines an alternative name #28286
  • Conditions to determine if @ComponentScan should be applied can be chosen from the wrong class #27077
  • Fallback with placeholder is evaluated even if the fallback is not required #26268
  • Name of scanned @Configuration class affects @Import to work or fail #24643
  • Reject conditional @ComponentScan declarations that rely on the REGISTER_BEAN phase #23206
  • Initialization blocked by multi-threaded event publishing [SPR-16357] #20904
  • Invalid instance injected for generic type in case of partial type variable [SPR-16179] #20727

πŸ“” Documentation

  • Polish Bean Overriding in Tests section of the reference guide #32411
  • Improve Javadoc for substituteNamedParameters() in NamedParameterUtils regarding empty lists #32380
  • StringUtils.uriDecode decodes strings with non-ASCII characters incorrectly #32360
  • Improve documentation for SpEL indexing support #32355
  • Document when the JPA infrastructure is ready for use #26153
  • Refactor configuration code samples to be more relevant for modern Spring applications #22171

πŸ”¨ Dependency Upgrades

  • Upgrade to HtmlUnit 3.11.0 #30392
  • Upgrade to Micrometer 1.13.0-RC1 #32595
  • Upgrade to Reactor 2024.0.0-M1 #32591

❀️ Contributors

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

@FelixDes, @Flamme1004K, @LeMikaelF, @PhilKes, @Trympyrym, @ZeroCyan, @alidandach, @andrea-mauro, @azdanov, @deejay1, @injae-kim, @izeye, @jackmiking, @kilink, @nullzl, @quaff, @ttddyy, and @yuhangbin

spring-framework - v6.1.6

Published by spring-builds 6 months ago

⭐ New Features

  • Log column type for limited support message in JdbcUtils.getResultSetValue #32601
  • Consistent support for generic FactoryBean type matching when using getBeanProvider #32590
  • @RequestParam binding does not support params with an empty array "[]" suffix #32577
  • Maximum Request Size handling support for Undertow in StandardMultipartHttpServletRequest #32549
  • Introduce common support for is-null-safe checks in SpEL nodes #32516
  • Avoid additional unnecessary Annotation array cloning in TypeDescriptor #32476
  • Avoid cloning empty Annotation array in TypeDescriptor #32405

🐞 Bug Fixes

  • Refine scheme, userinfo, host and port parsing in UriComponentsBuilder #32616
  • "GET must not have a request body" exception with OkhttpClient and BufferingClientHttpRequestFactory #32612
  • JMSTemplate.sendAndReceive does not propagate tracer over the wire #32606
  • Calling Kotlin suspend functions in non-reactive application crashes due to unresolvable class #32599
  • MethodIntrospector.selectMethods() fails to detect bridge methods across ApplicationContexts #32586
  • Fix handling value class with private constructor on proxy #32536
  • ReactorNettyClientResponse should not dispose connection #32528
  • CompoundExpression omits null-safe syntax in AST string representation of null-safe selection/projection in SpEL #32515
  • Generic Kotlin controllers got broken in 6.1.5 #32510
  • WebFlux Blocking controller runs on non-blocking thread when request input data present #32502
  • Generic interface on FactoryBean class not autowired in case of targetType mismatch #32489
  • HeaderContentNegotiationStrategy.resolveMediaTypes() throws unexpected InvalidMimeTypeException #32483
  • JmsUtils.commitIfNecessary catches and ignores JMS IllegalStateException, losing message with ActiveMQ Artemis #32473
  • Missing bean class in native image with a Kotlin nested class #32472
  • Spring MVC re-creates form data from request params and re-encoding can change the content-length #32471
  • Unhandled JMS exceptions are not always recorded as observation errors #32458
  • Consistently apply TaskDecorator to ManagedExecutorService as well #32455

πŸ“” Documentation

  • SimpleAsyncTaskScheduler: Returned ScheduledFuture does not track provided task execution #32589
  • Remove link to unrelated method in javadoc of AnnotatedBeanDefinitionReader #32560
  • Fix typos and improve wording in reference documentation #32557
  • Document that active profiles are set at build time with AOT #32543
  • Fix broken link to vavr in the reference guide #32494
  • Document AOT limitations related to Kotlin identifiers with backticks #32487
  • Add Javadoc since to AbstractClientHttpRequestFactoryWrapper.getDelegate() #32474
  • Default strategy for ProblemDetail error codes wrongly document how "detail" is supported #32446

πŸ”¨ Dependency Upgrades

  • Upgrade to Micrometer 1.12.5 #32596
  • Upgrade to Reactor 2023.0.5 #32592

❀️ Contributors

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

@Banuelorigni, @LinorDolev, @T45K, @izeye, @kilink, @quaff, and @qww1552

spring-framework - v6.0.19

Published by spring-builds 6 months ago

⭐ New Features

  • Log column type for limited support message in JdbcUtils.getResultSetValue #32602
  • Avoid additional unnecessary Annotation array cloning in TypeDescriptor #32478
  • Avoid cloning empty Annotation array in TypeDescriptor #32465

🐞 Bug Fixes

  • Refine scheme, userinfo, host and port parsing in UriComponentsBuilder #32617
  • MethodIntrospector.selectMethods() fails to detect bridge methods across ApplicationContexts #32587
  • Generic interface on FactoryBean class not autowired in case of targetType mismatch #32585
  • HeaderContentNegotiationStrategy.resolveMediaTypes() throws unexpected InvalidMimeTypeException #32484
  • JmsUtils.commitIfNecessary catches and ignores JMS IllegalStateException, losing message with ActiveMQ Artemis #32479
  • Consistently apply TaskDecorator to ManagedExecutorService as well #32456

πŸ“” Documentation

  • Fix broken link to vavr in the reference guide #32495

πŸ”¨ Dependency Upgrades

  • Upgrade to Reactor 2022.0.18 #32593
Package Rankings
Top 0.24% on Repo1.maven.org
Top 3.57% on Proxy.golang.org
Badges
Extracted from project README's
Build Status Revved up by Develocity