v7.1.0-RC1
- Remove APIs marked as deprecated for removal in 7.1 #37455
- Consistently treat
0as no timeout inWebTestClient#37454 - Consistently treat
0as no timeout in MockMvc #37453 - Consistently treat
0as no timeout inRSocketServiceProxyFactory#37451 - Consistently treat
0as no timeout in HTTP client support #37425 - Update default settings in WebFlux multipart handling to align with Spring Boot and Tomcat #36928
- Apply proxy with system properties to the default client in ReactorClientHttpConnector #36654
- ProblemDetail instance field set from the current URL path, does not respect RFC #35969
- Support JsonUnit as an alternative to JSONassert for JSON comparison in test APIs #37490
- Add RetryState-aware overloads for
onRetrySuccessandonRetryFailure#37465 - Consistently treat
0as no timeout inAsyncServerResponse#37452 - Destroy all filters in
CompositeFilterdespite failures #37445 - Refine
DataAccessUtilsto improve null-safety #37438 - Omit zero
timeoutinDefaultRetryPolicy.toString()#37437 - Avoid splitting surrogate pairs in
StringUtils.truncate()#37435 - Support positive hexadecimal values in
NumberUtils#37434 - Support compilation of String concatenation with non-String operands in SpEL #37433
- Fix nullability in
LinkedCaseInsensitiveMap#37432 - Align parsing of
jdk.httpclient.allowRestrictedHeadersinJdkClientHttpRequestwith the JDK #37422 - Align restricted header handling in reactive
JdkClientHttpRequestwith non-reactiveJdkClientHttpRequest#37417 - Configure problem details rendering through WebMvcConfigurer #37416
- Fix missing
IDENTITY_FINISHcharacteristic inMergedAnnotationCollectors#37415 - Reject
@AliasForvalueandattributewhen both have length #37413 - Give ErrorResponse.Interceptor access to the current request #37410
- Honor
Map.equals()andMap.hashCode()contracts inCompositeMap#37401 - Support rendering problem details as views in
@ExceptionHandlermethods #37400 - Render exceptions not handled by ExceptionHandler methods as problem details #37398
- Further improve
AnnotationAttributes.toString()#37396 - Improve primitive array handling in
AnnotationAttributes.toString()#37395 - Exclude static methods from override check in
AnnotatedMethod#37390 - Include root cause when
MySQLMaxValueIncrementerfails to commit #37389 - Record MVC exceptions leading to HTTP 5xx as errors in observalibity stacks #37384
- Revise
getBeanNamesForTypecaching to coverResolvableType-based lookups as well #37382 - Support for Hibernate 8.0's BeanContainer SPI revision #37381
- Improve pre-bound JDBC Connection exception message #37356
- Reject Kotlin constructor default values in enhanced
@Configurationclasses #37350 - Rewrite CssLinkResourceTransformer for a single pass memory efficient parsing #37348
- Deprecate multi-batch
batchUpdatevariant inJdbcTemplate#37345 - Introduce entry-based DSL for
JdbcClientbatch updates #37341 - Honor
Collection.remove()contract inCompositeCollection#37332 - Exclude static methods from override check in
AnnotationsScanner#37319 - Support for JPA 4.0 package and module descriptor discovery #37316
- Set first batch arg once while executing batch with generated keys #37308
- Improve JdbcClient to align BatchSpec with StatementSpec #37307
- Include enum array attributes in
TypeNotPresentExceptionprobing #37153 - Misleading port number defaults when parsing "Forwarded for" and "Forwarded by" header information #37114
- Remove MatchableHandlerMapping #37093
- Optimize get for all values in ServletRequestHeadersAdapter and ServletResponseHeadersAdapter #37080
- RestClient.Builder.configureMessageConverters disables the implicit registration of default converters. #36747
- Avoid update to request "Content-Type" for characterEncoding in ServletServerHttpRequest #36426
- Remove code to set the ServletResponse contentType and characterEncoding properties from the "Content-Type" header #36352
- Avoid
intoverflow for largeDurationtimeouts inClientHttpRequestFactoryimplementations #37427 - Annotations are inherited from package-private method in superclass in different package #37408
- MVC MultipartParser requires Publisher on the classpath #37353
- Fix container detection in
RepeatableContainers.standardRepeatables()#37326
Thank you to all the contributors who worked on this release:
@EsmaeilChitgar, @cookie-meringue, @guanchengang, @itsmevichu, @junhyeong9812, @lejuho, @ngocnhan-tran1996, @quaff, @rene-schakmann, and @xoruddl
v7.0.10
- Align
DelegatingMessageSourcefallback implementation withAbstractMessageSource#37383 HttpEntity(T, MultiValueMap)stores anHttpHeadersunchecked, causingIncompatibleClassChangeErrorinsideRestTemplate#37358- Recognize relocated Mockito
MockAccessinterface inProxyProcessorSupport#37342 - Runtime compatibility with JPA 4.0 M7 and corresponding Hibernate 8.0 snapshots #37315
- Avoid Kotlin reflection in MethodParameter for non-suspending functions #37300
- Revise underscore naming fallback in SimplePropertyRowMapper #37297
- Avoid useless queue ops in
ConcurrentLruCache.clear()#37292 PathMatchingResourcePatternResolvermisses jars onjava.class.pathwhose path contains%#37280- Remove redundant whitespace in exception messages #37277
- OpenInView does no longer work with HibernateTransactionManager #37273
- Lazily handle setClientInfo/setNetworkTimeout in LazyConnectionDataSourceProxy #37261
- Avoid redundant filtering in FilteredMap.size() #37256
- Support NaN and inifinite float values in
toString()for synthesized annotations #37244 - Use
ArrayListinstead ofLinkedListinCompositeRetryListener#37231 redirectedUrl()argument inMockMvcResultMatchersshould be@Nullable#37230- Published Gradle module file is missing
javadocElementsandsourcesElements#37209 - Introduce a builder for
SpelParserConfiguration#37187 - Protobuf support classes all implement getMessageBuilder() #37147
- Allow null contextPath in ServerHttpRequest.Builder #37099
- Log broker availability events as String messages #36856
- Avoid unnecessary dependent-bean registration for autowire-by-type #37424
- Handle zero readTimeout in JdkClientHttpConnector #37412
- Race condition in PartGenerator.CreateFileState can lose the completion signal #37409
- Paused executor with late shutdown leaks its worker thread (and the closed context) after close #37406
- Fix hanging retries for Flux-returning methods with caching #37403
- Avoid serving stale values after failed refill in
AbstractIdentityColumnMaxValueIncrementer#37402 - Copy cookies in
RenderingResponse.from()#37378 - Avoid phantom keys in
LinkedCaseInsensitiveMap.computeIfAbsent#37351 - Fix single-value adaptation for primitive array types in
TypeMappedAnnotation#37349 - CssLinkResourceTransformer fails for invalid CSS links #37336
- Fix cached ID reuse after commit failure in MySQLMaxValueIncrementer #37322
- Fix connection leak in MySQLMaxValueIncrementer #37321
@CacheEvicttruncatesFluxresults to the first element #37309ConcurrentLruCache.clear()can miss entries added while it's running #37287- Enforce disk usage limit when spilling part to disk #37285
- Prevent double size decrement in
ConcurrentLruCache#37268 - LogAccessor.debug(CharSequence) eagerly renders LogMessage since spring-core 7 switched from spring-jcl to commons-logging #37266
- WebFlux loses empty multipart file when the file part is not last. #37264
- Complete empty Uni instances from the Mutiny reactive adapter #37259
- DefaultAsyncServerResponse.writeAsync() discards previously configured AsyncWebRequest timeout #37257
- Provide missing native image hints for proxied hibernate 8 query types #37251
- Provide missing native image hint for StatelessSession proxy created by SharedEntityManagerCreator. #37249
- Provide missing native image reflection hint for hibernate PersistenceUnitInfoDescriptor. #37247
- Sort duplicate key codes in
SQLErrorCodes#37235 - Handle zero readTimeout in JdkClientHttpRequestFactory #37234
- Wrong reconnection attempt count in ReactorNettyTcpClient #37223
- Stored procedure OUT parameter values are lost outside a transaction as of 7.0.9 #37221
- Avoid int overflow in expiration time calculations in MockMvc and FlashMap #37208
- ScheduledAnnotationBeanPostProcessor doesn't correctly support bean destruction #37207
- Normalize function return parameter lookup in
CallMetaDataContext#37206 - Fix out-of-bounds read for truncated percent-escape in opaque host #37203
- ClassFileTransformerAdapter deadlocks between two persistence units under load-time weaving #37199
- Fix Kotlin value class handling for suspending AOP methods #37191
- Update to NullAway 0.14.0 and fix new warnings #37188
- ProtobufJsonEncoder emits JSON array when media type is ndjson #37158
- streamingMediaTypes in ProtobufJsonEncoder not a subset of encodableMimeTypes #37154
- Align
DataBufferUtils$WriteCompletionHandlerexception handling with theread()side #37145 DataBufferUtils.read()with NettyDataBuffer on JDK 25 hangs indefinitely #37143- Release queued body token buffers on multipart cancel #37115
- Preserve async API version resolver order #37096
- ClientResponse.mutate() builder can modify originalResponse headers. #37086
- Custom reason is overwritten by i18n message in ResponseStatusException.updateAndGetBody() #36984
- Generate compilable code for non-finite floating-point values #36965
- Render parameter type names in ClassFileMethodMetadata #36919
- Honor
sourceStartoffset inAbstractXMLStreamReader#getTextCharacters#36914 - Fix reserveMethodNames to reserve each supplied name #36912
- Replace thread-unsafe SimpleDateFormat with DateTimeFormatter in AbstractMockHttpServletRequestBuilder #36772
MockHttpServletRequest.isRequestedSessionIdValid()does not follow Servlet 6.1 Javadoc #36631- Map version from
@HttpExchangeto RequestMappingInfo #36602 - Ensure that ConversionService.canConvert(Enum) no longer throws an exception #34532
- Fix incorrect class names in WebFlux and MVC docs #37467
- Document the XXE threat model of SourceHttpMessageConverter #37407
- Update instructions for importing projects into Eclipse IDE #37397
- Fix syntax errors in the reference manual #37392
- Fix Kotlin example in Spring MVC test docs #37388
- Document usage of
typeattribute in JSP<form:input>tag #37376 - Make
CONTRIBUTING.mdself-contained and addAGENTS.md#37372 - Clarify ConcurrentReferenceHashMap reference semantics #37357
- Add missing enclosing single quotes in Javadoc #37338
- Fix MockMvc async requests example in documentation #37318
- Add closing braces to examples #37305
- Fix typos in Javadoc #37229
- Further updates to Data Binding Content in Web Sections of Documentation #37228
- Add missing closing parenthesis in WebFlux config reference example #37163
- Use
<<id,text>>instead ofxref:for local links in reference docs #37161 - Fix broken internal xref links in reference docs #37152
- Fix Kotlin examples in the reference manual #37101
- Document combining
@Retryablewith proxy-based features #37005 - Update recommendations for web data binding #36789
Thank you to all the contributors who worked on this release:
@Gabriel-Gerhardt, @Gimini-3, @SebTardif, @a-kogun, @cj848, @cookie-meringue, @dmitrysulman, @garvit-joshi, @geonheeryu, @guanchengang, @hunseonglee, @jhan0121, @junhyeong9812, @kodacme, @lejuho, @moonfruit, @msridhar, @ngocnhan-tran1996, @noojung, @renatomameli, @rene-schakmann, @shaggyinsomniac, @timtebeek, and @xoruddl
v4.2.0-RC1
- Apply the readAllBytes() optimization to deflated nested jar entries #52285
- Improve uber jar performance by looking up classes and resources directly in nested jars #52246
- Support RABBITMQ_DEFAULT_VHOST in Docker Compose RabbitMQ integration #51940
- Support random root passwords in MariaDB and MySQL Docker Compose integration #51938
- Improve auto-configuration sorting performance #51867
- Allow properties migrator to fail application startup #51855
- Add property to enable Caffeine async cache mode #51844
- Check resource existence once when looking for deleted files #51841
- Avoid parsing nested jar URLs for cached resource lookups #51827
- Support provided-scope libraries when extracting an executable war #51372
- Switch to ubuntu-resolute-builder as the default builder #51249
- Provide a callback for customizing Tomcat's Server #50259
- JarUrlClassLoader rejects valid class names since #52271 #52284
- Resources containing spaces cannot be read from executable jars after #52246 #52280
- gRPC client 'grpc' load balancing fails to bind with a NullPointerException when no child policies are configured #52269
- OriginTrackedResource does not implement equals correctly #52268
- OriginTrackedPropertiesLoader drops properties whose name starts with # or ! #52266
- Logback ColorConverter unnecessarily parses its options for every log event #52262
- JWTs are rejected when issuer-uri is empty and jwk-set-uri is set #52261
- Package manifest attributes are missing for nested jars without directory entries #52259
- Empty system property in TestPropertyValues is cleared instead of being restored to its empty value #52209
- Graceful shutdown of Tomcat or Jetty may call back with REQUESTS_ACTIVE when stop is called immediately after shutDownGracefully on an idle server #52199
- NettyWebServer stop may hang when called immediately after shutDownGracefully #52198
- Prevent gRPC client properties from overriding user customizations #52194
- MongoDB fails to connect when credentials contain a space #52169
- Authentication fails when password configured in spring.elasticsearch.uris contains a colon #52167
- Logging can be lost when a context is paused by the test context framework #52089
- Fractions of a second are handled incorrectly when configuring gRPC service config durations #52087
- Docker Compose support for MongoDB fails to connect when credentials contain a character that requires URL encoding #52085
- Jersey does not use the endpoint ObjectMapper when Actuator is running on a separate port #51983
- Configuration property descriptions may be lost when building incrementally with Gradle #51926
- BasicJsonParser mishandles escaped characters in nested lists and maps #51909
- Zero week value conversion fails with 'intValue cannot be extracted from WEEKS' exception #51895
- App fails to start when using DevTools and manually configuring JDBC or R2DBC without spring-boot-jdbc or spring-boot-r2dbc #51891
- Docker Compose support incorrectly recognizes MARIADB_ALLOW_EMPTY_PASSWORD instead of MARIADB_ALLOW_EMPTY_ROOT_PASSWORD #51889
- Auto-configured Kotlinx Serialization JSON codec customization is not applied #51878
- Unavoidable warning when using ubuntu-resolute-builder with tiny run image #51851
- Fix typo in gRPC testing documentation #52188
- Fix Gradle example for servlet-based gRPC servers #52086
- Fix actuator endpoint property names in Javadoc #51887
- Document InetAddressFilter limitations with respect to proxy servers #51864
- Upgrade to Byte Buddy 1.18.15 #52215
- Upgrade to Caffeine 3.3.1 #52185
- Upgrade to Cassandra Driver 4.19.4 #52263
- Upgrade to Classmate 1.8.0 #52186
- Upgrade to Commons Lang3 3.21.0 #52058
- Upgrade to Couchbase Client 3.13.0 #52216
- Upgrade to Elasticsearch Client 9.5.5 #52217
- Upgrade to Groovy 5.1.3 #52059
- Upgrade to Grpc Java 1.84.1 #52176
- Upgrade to H2 2.5.252 #52060
- Upgrade to Hibernate 7.4.13.Final #52144
- Upgrade to Hibernate Validator 9.1.5.Final #52218
- Upgrade to HtmlUnit 5.6.0 #52145
- Upgrade to HttpClient5 5.6.5 #52146
- Upgrade to HttpCore5 5.4.4 #52063
- Upgrade to Infinispan 16.3.0 #52064
- Upgrade to Jackson 2 Bom 2.21.7 #52065
- Upgrade to Jackson Bom 3.1.7 #52066
- Upgrade to Jakarta Json Bind 3.0.4 #52220
- Upgrade to Jaybird 6.0.7 #52147
- Upgrade to Jedis 8.0.2 #52221
- Upgrade to Jersey 4.0.3 #52067
- Upgrade to Jetty 12.1.14 #52068
- Upgrade to jOOQ 3.21.9 #52069
- Upgrade to Kafka 4.4.0 #52247
- Upgrade to Kotlin 2.4.21 #52231
- Upgrade to Lettuce 7.8.0.RELEASE #52104
- Upgrade to Logback 1.6.5 #52070
- Upgrade to Micrometer 1.18.0-RC1 #52100
- Upgrade to Micrometer Tracing 1.8.0-RC1 #52138
- Upgrade to Mockito 5.24.0 #52071
- Upgrade to MongoDB 5.13.0 #52200
- Upgrade to MSSQL JDBC 13.6.1.jre11 #52232
- Upgrade to MySQL 26.7.0 #52230
- Upgrade to Neo4j Java Driver 6.3.0 #52105
- Upgrade to Netty 4.2.19.Final #52072
- Upgrade to OpenTelemetry 1.67.0 #52248
- Upgrade to Postgresql 42.7.14 #52110
- Upgrade to Prometheus Client 1.10.0 #52264
- Upgrade to Protobuf Java 4.36.2 #52177
- Upgrade to Protobuf Maven Plugin 5.1.11 #52073
- Upgrade to Pulsar 4.2.5 #52074
- Upgrade to Qpid ProtonJ2 1.4.0 #52149
- Upgrade to R2DBC MSSQL 1.0.7.RELEASE #52075
- Upgrade to R2DBC Postgresql 1.1.3.RELEASE #52076
- Upgrade to R2DBC Proxy 1.1.7.RELEASE #52223
- Upgrade to RabbitMQ AMQP Client 1.6.0 #52150
- Upgrade to RabbitMQ Client 5.37.0 #52077
- Upgrade to RabbitMQ Stream Client 1.12.0 #52151
- Upgrade to Reactor Bom 2026.0.0-RC1 #51973
- Upgrade to Selenium 4.51.0 #52152
- Upgrade to Selenium HtmlUnit 4.51.0 #52153
- Upgrade to SLF4J 2.0.20 #52079
- Upgrade to Spring AMQP 4.2.0-RC1 #51974
- Upgrade to Spring Batch 6.1.0-RC1 #52139
- Upgrade to Spring Data Bom 2026.1.0-RC1 #51981
- Upgrade to Spring Framework 7.1.0-RC1 #51975
- Upgrade to Spring GraphQL 2.1.0-RC1 #52101
- Upgrade to Spring gRPC 1.1.2 #51976
- Upgrade to Spring HATEOAS 3.2.0-RC1 #52102
- Upgrade to Spring Integration 7.2.0-RC1 #51977
- Upgrade to Spring Kafka 4.2.0-RC1 #51978
- Upgrade to Spring LDAP 4.2.0-RC1 #52140
- Upgrade to Spring Pulsar 2.0.8 #52103
- Upgrade to Spring RESTDocs 4.1.0-RC1 #51979
- Upgrade to Spring Security 7.2.0-RC1 #52141
- Upgrade to Spring Session 4.2.0-RC1 #52142
- Upgrade to Spring WS 5.1.0-RC1 #51980
- Upgrade to Tomcat 11.0.27 #52187
- Upgrade to Versions Maven Plugin 2.23.0 #52154
- Upgrade to WebJars Locator Lite 1.1.5 #52080
- Upgrade to XmlUnit2 2.14.0 #52081
Thank you to all the contributors who worked on this release:
@CCCLL, @LindseyZ1205, @MycroCosmo, @NotAFlightRisk, @aalsanie, @anthonydahanne, @challa, @crapxxi, @dmitrysulman, @galenzo17, @geonheeryu, @hunseonglee, @janwaleed09, @khopland, @ksky8864, @lavinhoque33, @move-hoon, @ngocnhan-tran1996, @noojung, @ohchanKyu, @padosol, @rvullriede, @ryujungkyun, @scordio, @sharanrenukeshbharmshetty, @skdas20, @timtebeek, @xoruddl, and @zhoubiao188
v4.0.9
- Add TWENTY_SEVEN to JavaVersion enum #51422
- JWTs are rejected when issuer-uri is empty and jwk-set-uri is set #52249
- Package manifest attributes are missing for nested jars without directory entries #52244
- OriginTrackedPropertiesLoader drops properties whose name starts with # or ! #52207
- OriginTrackedResource does not implement equals correctly #52205
- Graceful shutdown of Tomcat or Jetty may call back with REQUESTS_ACTIVE when stop is called immediately after shutDownGracefully on an idle server #52195
- Empty system property in TestPropertyValues is cleared instead of being restored to its empty value #52125
- MongoDB fails to connect when credentials contain a space #52121
- NettyWebServer stop may hang when called immediately after shutDownGracefully #52119
- Authentication fails when password configured in spring.elasticsearch.uris contains a colon #52047
- Logging can be lost when a context is paused by the test context framework #51959
- Docker Compose support for MongoDB fails to connect when credentials contain a character that requires URL encoding #51939
- Jersey does not use the endpoint ObjectMapper when Actuator is running on a separate port #51937
- BasicJsonParser mishandles escaped characters in nested lists and maps #51907
- Zero week value conversion fails with 'intValue cannot be extracted from WEEKS' exception #51892
- App fails to start when using DevTools and manually configuring JDBC or R2DBC without spring-boot-jdbc or spring-boot-r2dbc #51872
- Docker Compose support incorrectly recognizes MARIADB_ALLOW_EMPTY_PASSWORD instead of MARIADB_ALLOW_EMPTY_ROOT_PASSWORD #51870
- Auto-configured Kotlinx Serialization JSON codec customization is not applied #51842
- NullPointerException can be thrown when using uber jars due to a race condition in NestedJarFileResources #51744
- DevTools does not detect a reactive web environment #51708
- Connection fails when rabbitmq Docker Compose service is configured to use SSL #51666
- When server.reactive.session.cookie.same-site is not set, session cookies have no SameSite attribute #51636
- OAuth2 resource server ignores authorities-claim-delimiter when set on its own #51619
- In a reactive web application, Cloud Foundry security integration returns a 500 rather than a 503 when the cloud controller URL is unavailable #51613
- Some assertion messages name the wrong parameter #51568
- SBOM-related manifest attributes are missing from Maven-packaged wars #51551
- Docker Compose integration for RabbitMQ skips credential fallbacks when an environment variable has no value #51546
- jarmode tools commands print stacktrace instead of an error message #51540
- Layer temp file is not deleted when layer creation fails #51519
- NestedByteChannel.read(ByteBuffer) incorrectly returns 0 when buffer could not be filled #51515
- Customizer null checks in HTTP client builders assert the wrong attribute #51509
- developmentOnly and testAndDevelopmentOnly configurations do not specify any attributes causing potential resolution problems #51492
- SQL Server Docker Compose integration may duplicate the JDBC URL's encrypt parameter #51467
- SSL host config customizations may be lost during Tomcat initialization #51466
- OAuth2ClientProperties are not available when a user-defined ClientRegistrationRepository bean is provided #51447
- Source is not closed consistently by all JSON marshal testers #51417
- JmsHealthIndicator leaks watchdog threads if start fails immediately #51412
- File handle in SpringBootJoranConfigurator should be closed #51398
- Validation of deprecated io.buildpacks.stack.id is too aggressive #51390
- SSL host config customizations are lost when reloading SSL bundles #51290
- Docker Compose ProcessRunner can hang or leave orphan processes #50963
- Configuration property descriptions may be lost when building incrementally with Gradle #50489
- Fix actuator endpoint property names in Javadoc #51869
- Fix broken links from reference documentation to external Javadoc #51815
- Remove reference to AppOptics in the reference guide as it has retired #51807
- Fix broken links #51791
- Update Spring Framework reference links #51750
- Maven plugin documentation incorrectly references remote restart property #51743
- Update testcontainers javadoc links #51739
- Fix documented default of spring.test.database.replace #51709
- Correct Jackson 3 Javadoc links #51660
- Fix typo in deprecated Pushgateway base-url property metadata #51627
- Remove references to Spring Data Geode #51563
- Fix typos in service containers javadoc and reference documentation #51431
- Document support for Java 27 #51424
- Document SAML2 back-off in WebFlux security documentation #51421
- Remove reference to removed SpringBootWebSecurityConfiguration #51411
- Upgrade to Build Helper Maven Plugin 3.6.2 #51984
- Upgrade to Cassandra Driver 4.19.4 #52273
- Upgrade to Couchbase Client 3.9.3 #51985
- Upgrade to FreeMarker 2.3.35 #51986
- Upgrade to GraphQL Java 25.1 #52106
- Upgrade to Hibernate 7.2.25.Final #51987
- Upgrade to Hibernate Validator 9.0.2.Final #52212
- Upgrade to Jackson 2 Bom 2.21.7 #51988
- Upgrade to Jackson Bom 3.1.7 #51989
- Upgrade to Jakarta Json Bind 3.0.4 #52213
- Upgrade to Jaybird 6.0.7 #52155
- Upgrade to Jersey 4.0.3 #51992
- Upgrade to Jetty 12.1.14 #51993
- Upgrade to jOOQ 3.19.39 #51994
- Upgrade to Liquibase 5.0.4 #51995
- Upgrade to Lombok 1.18.48 #51996
- Upgrade to Micrometer 1.16.8 #52093
- Upgrade to Micrometer Tracing 1.6.8 #52130
- Upgrade to Netty 4.2.19.Final #51997
- Upgrade to Postgresql 42.7.14 #52107
- Upgrade to R2DBC MariaDB 1.3.2 #51998
- Upgrade to R2DBC MSSQL 1.0.7.RELEASE #51999
- Upgrade to R2DBC Postgresql 1.1.3.RELEASE #52000
- Upgrade to R2DBC Proxy 1.1.7.RELEASE #52214
- Upgrade to Reactor Bom 2025.0.8 #51949
- Upgrade to SLF4J 2.0.20 #52001
- Upgrade to Spring AMQP 4.0.6 #51950
- Upgrade to Spring Batch 6.0.6 #52131
- Upgrade to Spring Data Bom 2025.1.8 #51955
- Upgrade to Spring Framework 7.0.10 #51951
- Upgrade to Spring GraphQL 2.0.6 #52094
- Upgrade to Spring HATEOAS 3.0.6 #52132
- Upgrade to Spring Integration 7.0.7 #52095
- Upgrade to Spring Kafka 4.0.8 #51952
- Upgrade to Spring LDAP 4.0.6 #52210
- Upgrade to Spring Pulsar 2.0.8 #52096
- Upgrade to Spring RESTDocs 4.0.2 #51953
- Upgrade to Spring Security 7.0.8 #52133
- Upgrade to Spring WS 5.0.3 #51954
- Upgrade to Tomcat 11.0.27 #52183
- Upgrade to WebJars Locator Lite 1.1.5 #52003
- Upgrade to XML Maven Plugin 1.2.2 #52004
Thank you to all the contributors who worked on this release:
@2heunxun, @CCCLL, @CHISANW, @COBI-98, @DevJunz, @JunggiKim, @LindseyZ1205, @MacAlsandair, @SebTardif, @dlwldn30, @dmitrysulman, @fabio-grassi, @galenzo17, @icikle, @janwaleed09, @kdomo, @khopland, @ksky8864, @lavinhoque33, @msridhar, @ngocnhan-tran1996, @noojung, @ohchanKyu, @padosol, @piyushrajyadav, @rvullriede, @ryujungkyun, @scordio, @scottfrederick, @timtebeek, @vlsi, @xoruddl, @xxxxxxjun, @yyuneu, and @zhoubiao188
Nightly
- [py] use local self-signed certificate for tests by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/18148
- [build] scope RBE internet access to the tests that exercise Selenium Manager by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/18147
- [rb] Do not pass a bare --proxy to Selenium Manager by @Mochxd in https://github.com/SeleniumHQ/selenium/pull/18150
- [rb] deprecate current behavior of ignoring Grid certificates on HTTPS connections by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/18153
- [py] Install web extensions from the driver by @AutomatedTester in https://github.com/SeleniumHQ/selenium/pull/17970
- [bazel] Use MRI on RBE (rebased #17622) by @aguspe in https://github.com/SeleniumHQ/selenium/pull/18123
- [build] drop RBE flags that Bazel 9 no longer honours and the misdirected cc autodetect override by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/18156
- [rb] support serving test pages over HTTPS for certificate and cookie tests by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/18152
- [rust] stop resolving a Java runtime on --grid so the jar lookup no longer depends on a JRE download by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/18157
- [build] automatically generate Qodo reviews from PRs by committers by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/18159
- [java] put third-party jars under lib/ in dist zips again by matching prefixes on canonical labels by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/18165
- [build] bump rules_jvm_external to 7.2 so repinning skips artifacts without a sources jar by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/18167
- [java] tag os-sensitive browser tests per file and run them on Windows and macOS by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/18163
- [java] add test to ensure shipped bytecode supports Java 11 by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/18166
- [rb] generate version.rb from the root version.bzl so tests do not read the version by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/18164
- [build] remove unused and redundant Maven artifacts and a stale Renovate rule by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/18170
- [java] add a se-manager DriverFinder test that runs unpinned through Selenium Manager by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/18169
- chore: bump to bazel 9.3.0 by @shs96c in https://github.com/SeleniumHQ/selenium/pull/18173
- chore: enable cdc in the bazel builds by @shs96c in https://github.com/SeleniumHQ/selenium/pull/18178
- chore: update all bazel deps by @shs96c in https://github.com/SeleniumHQ/selenium/pull/18174
- [py] Adopt all Ruff FURB rules by @goldpanth3r in https://github.com/SeleniumHQ/selenium/pull/18168
- [py] Adopt ruff PYI041 and G201 from the new default rule set by @dmitgush in https://github.com/SeleniumHQ/selenium/pull/18154
- [py] cleanup for ruff rule sim102 . part of the tranche 3 stage by @iampopovich in https://github.com/SeleniumHQ/selenium/pull/18034
- [java] Add BiDi generator tests by @pujagani in https://github.com/SeleniumHQ/selenium/pull/18162
- [rb] fix atoms outside Bazel and add local_dev for using a local checkout by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/18183
- [build] run unit tests in parallel while keeping browser tests serial by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/18191
- [rb] type vendor-declared BiDi fields instead of making extended types extensible by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/18190
- [build] carry CDDL numeric bounds into the BiDi schema by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/18194
- [rb] check each BiDi list element against its declared type by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/18196
- [build] update open bot PRs in place through a shared workflow so fixes pushed to them survive the next run by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/18197
- [rb] hold BiDi numbers to their declared ranges by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/18198
- [rust] Update Selenium Manager dependencies by @bonigarcia in https://github.com/SeleniumHQ/selenium/pull/18202
- [rust] Remove fs2 crate and use standard mechanism for file lock by @bonigarcia in https://github.com/SeleniumHQ/selenium/pull/18203
- [rust] Use sevenz_rust2 create instead of sevenz_rust (unmaintained) by @bonigarcia in https://github.com/SeleniumHQ/selenium/pull/18204
- [java] Make selenium.debug/webdriver.verbose configure the real logger (Mechanism Only) by @MohabMohie in https://github.com/SeleniumHQ/selenium/pull/17841
- [rb] declare development dependencies in the Gemfile instead of the gemspec by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/18207
- [rb] wait for exactly the finished downloads in the remote driver spec by @AutomatedTester in https://github.com/SeleniumHQ/selenium/pull/18188
- [js] only track the page request in the BiDi 'can request cookies' test by @AutomatedTester in https://github.com/SeleniumHQ/selenium/pull/18186
- [java] use reserved hostnames in tests instead of public domains by @yashp676 in https://github.com/SeleniumHQ/selenium/pull/18134
- [grid] Throw ConfigException for a null stereotype in node configs by @yashp676 in https://github.com/SeleniumHQ/selenium/pull/18185
- [py] ignore NoSuchWindowException while waiting for the title after a link click by @AutomatedTester in https://github.com/SeleniumHQ/selenium/pull/18187
- [java] stop delivering BiDi events to a listener once it is cleared by @AutomatedTester in https://github.com/SeleniumHQ/selenium/pull/18189
- [js] fix locator edge cases in find_elements atom (#18177) by @sagarithm in https://github.com/SeleniumHQ/selenium/pull/18179
- [rust] return the cached artifact once the lock is held instead of re-downloading by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/18206
- [build] delete a PR's head branch when the PR is closed without merging by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/18199
- [build] patch rules_jvm to fix the 5s hostname lookup deadlock in JUnit 5 tests by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/18210
- [java] stop shipping annotation-only jars as POM dependencies by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/18212
- [js] port the atoms Appium uses from Closure to TypeScript by @AutomatedTester in https://github.com/SeleniumHQ/selenium/pull/18175
- [py] bound Service.start() by time so Windows fails fast by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/18213
- [build] bump certifi and webpki trust roots for eMudhra CA distrust by @AutomatedTester in https://github.com/SeleniumHQ/selenium/pull/18218
- [dotnet] [test] Intoduce unit level testing by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/18219
- [rust] Validate TLS certificates in Selenium Manager HTTP client by @bonigarcia in https://github.com/SeleniumHQ/selenium/pull/18220
- @goldpanth3r made their first contribution in https://github.com/SeleniumHQ/selenium/pull/18168
- @dmitgush made their first contribution in https://github.com/SeleniumHQ/selenium/pull/18154
- @sagarithm made their first contribution in https://github.com/SeleniumHQ/selenium/pull/18179
Full Changelog: https://github.com/SeleniumHQ/selenium/compare/selenium-4.51.0...nightly