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