diff --git a/dotnet/CHANGELOG b/dotnet/CHANGELOG index eb9e3a2b85fcd..ed8d86054e1ec 100644 --- a/dotnet/CHANGELOG +++ b/dotnet/CHANGELOG @@ -1,3 +1,49 @@ +v4.30.0 +====== +* Fix dev environment to run tests on Windows/MacOS (#15303) +* Fix sporadic build issue with selenium manager in msbuild +* Increment `WebDriver` towards nullability (#15228) +* Do not warn when passing in null driver paths to driver service (#15328) +* Add `SystemClock` singleton (#15285) +* Remove obsoleted members/types for 4.30 (#15342) +* Parse response before deserialization (#15268) +* Address some nullability warnings in driver options +* Make internal console writer more flexible via taking TextWriter only (#15346) +* Annotate nullability on most remaining types (#15257) +* Annotate CDP as AOT-unsafe (#14637) +* Fix placement of obsolete argument in ConsoleLogHandler +* Annotate nullability on more of `WebElement` (#15230) +* Annotate nullable reference types on CDP-generated code (#15255) +* Simplify and nullable annotate `DriverFinder` (#15232) +* Annotate nullability on `WebDriver.SessionId` (#15350) +* Enable nullability on remote file download APIs (#15351) +* Annotate nullability on elements and `WebDriver` (#15352) +* Annotate nullability on capabilities types (#15353) +* Enable Nullable Reference Types (#15354) +* Trim away CDP when publishing AOT apps (#15217) +* [bidi] Order command properties in json to simplify logs reading +* [bidi] Add SetFiles command in Input module (#15392) +* [bidi] Added UnhandledPromptBehavior for new session capability (#15391) +* [bidi] Encapsulate transport inside `Broker` (#15423) +* [bidi] Align `Scipt.LocalValue.Map` with spec (#15395) +* [bidi] Make `DisposeAsyncCore` protected +* [bidi] Make `LocalValue` types not nested (#15428) +* [bidi] Migrate RemoteValue to separate types (#15426) +* [bidi] Reuse RegExpValue in script Local/Remote values +* [bidi] Make `PartitionDescriptor` as not nested (#15435) +* [bidi] Make `UrlPattern` as not nested (#15434) +* [bidi] Make script `Target` as not nested (#15436) +* [bidi] Make `LogEntry` as not nested (#15432) +* [cdp] add support for 134 and remove 131 +* [cdp] remove support for v85 since no longer required by Firefox +* [bidi] Make `BytesValue` not nested (#15433) +* [bidi] Make input `Actions` as not nested (#15437) +* [bidi] Make `ProxyConfiguration` as not nested (#15438) +* [bidi] Make `Locator` types as not nested (#15429) +* [bidi] Make `ClipRectangle` as not nested (#15431) +* [bidi] Make `RealmInfo` as not nested (#15444) +* [bidi] Make input `Origin` as not nested (#15445) + v4.29.0 ====== * Add CDP for Chrome 133 and remove 130 diff --git a/dotnet/selenium-dotnet-version.bzl b/dotnet/selenium-dotnet-version.bzl index 44efffcffd53e..9d83b182605db 100644 --- a/dotnet/selenium-dotnet-version.bzl +++ b/dotnet/selenium-dotnet-version.bzl @@ -1,6 +1,6 @@ # BUILD FILE SYNTAX: STARLARK -SE_VERSION = "4.30.0-nightly202502201302" +SE_VERSION = "4.30.0" ASSEMBLY_VERSION = "4.0.0.0" SUPPORTED_NET_STANDARD_VERSIONS = ["netstandard2.0"] diff --git a/java/CHANGELOG b/java/CHANGELOG index 9f19cbbb45ca1..7fcae3d72dfb1 100644 --- a/java/CHANGELOG +++ b/java/CHANGELOG @@ -1,3 +1,15 @@ +v4.30.0 +====== +* [grid] remove firefox devtools leftovers #15323 +* [grid] remove indirection in cache structures +* [grid] remove not reachable code +* [grid] Add traces for event stop session in Node (#15348) +* [grid] Allow longer startup time through docker (#15345) +* remove usage of deprecated SemanticAttributes class #15384 +* [cdp] add support for 134 and remove 131 +* [cdp] remove support for v85 since no longer required by Firefox +* [bidi] Add Permissions Module commands (#15294) + v4.29.0 ====== * Add CDP for Chrome 133 and remove 130 diff --git a/java/version.bzl b/java/version.bzl index 0e1038e7201ad..f78135a4f0271 100644 --- a/java/version.bzl +++ b/java/version.bzl @@ -1,2 +1,2 @@ -SE_VERSION = "4.30.0-SNAPSHOT" +SE_VERSION = "4.30.0" TOOLS_JAVA_VERSION = "17" diff --git a/javascript/node/selenium-webdriver/BUILD.bazel b/javascript/node/selenium-webdriver/BUILD.bazel index 766dbf02d7953..721f9f841d389 100644 --- a/javascript/node/selenium-webdriver/BUILD.bazel +++ b/javascript/node/selenium-webdriver/BUILD.bazel @@ -11,7 +11,7 @@ load("//javascript/private:browsers.bzl", "BROWSERS") npm_link_all_packages(name = "node_modules") -VERSION = "4.30.0-nightly202502201302" +VERSION = "4.30.0" BROWSER_VERSIONS = [ "v134", diff --git a/javascript/node/selenium-webdriver/CHANGES.md b/javascript/node/selenium-webdriver/CHANGES.md index 8a5bc8a28bf29..d5992b7e31f43 100644 --- a/javascript/node/selenium-webdriver/CHANGES.md +++ b/javascript/node/selenium-webdriver/CHANGES.md @@ -1,3 +1,10 @@ +## 4.30.0 + +- [bidi] fix chrome and firefox test for CI RBE (#15405) +- [cdp] add support for 134 and remove 131 +- [cdp] remove support for v85 since no longer required by Firefox +- [bidi] implement permissions module commands in JS (#15304) + ## 4.29.0 - Add CDP for Chrome 133 and remove 130 diff --git a/javascript/node/selenium-webdriver/package.json b/javascript/node/selenium-webdriver/package.json index cff0501b11583..537cae188574e 100644 --- a/javascript/node/selenium-webdriver/package.json +++ b/javascript/node/selenium-webdriver/package.json @@ -1,6 +1,6 @@ { "name": "selenium-webdriver", - "version": "4.30.0-nightly202502201302", + "version": "4.30.0", "description": "The official WebDriver JavaScript bindings from the Selenium project", "license": "Apache-2.0", "keywords": [ diff --git a/py/BUILD.bazel b/py/BUILD.bazel index a6800d4181d0f..7ee1f85b05c9f 100644 --- a/py/BUILD.bazel +++ b/py/BUILD.bazel @@ -62,7 +62,7 @@ compile_pip_requirements( ], ) -SE_VERSION = "4.30.0.202502201302" +SE_VERSION = "4.30.0" BROWSER_VERSIONS = [ "v134", diff --git a/py/CHANGES b/py/CHANGES index 41e57a77d3f79..f345107355d90 100644 --- a/py/CHANGES +++ b/py/CHANGES @@ -1,3 +1,10 @@ +Selenium 4.30.0 +* Add CDP for Chrome 134 and remove 131 +* Remove support for v85 since no longer required by Firefox +* expected_conditions: correct type annotation (#15337) +* use `By` class attributes instead of strings in locator converter (#15402) +* fix invalid selector bug for mutation observation + Selenium 4.29.0 * Add CDP for Chrome 133 and remove 130 * [py] Disable strict time stamps in Firefox profile (#15141) diff --git a/py/docs/source/conf.py b/py/docs/source/conf.py index ce8b34a8c6d92..9da7e801458ba 100644 --- a/py/docs/source/conf.py +++ b/py/docs/source/conf.py @@ -58,7 +58,7 @@ # The short X.Y version. version = '4.30' # The full version, including alpha/beta/rc tags. -release = '4.30.0.202502201302' +release = '4.30.0' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/py/pyproject.toml b/py/pyproject.toml index 0196b7a6162e8..3742aa2e4d550 100644 --- a/py/pyproject.toml +++ b/py/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "selenium" -version = "4.30.0.202502201302" +version = "4.30.0" license = { text = "Apache 2.0" } description = "Official Python bindings for Selenium WebDriver." readme = "README.rst" diff --git a/py/selenium/__init__.py b/py/selenium/__init__.py index 801704838fdf3..377d050784476 100644 --- a/py/selenium/__init__.py +++ b/py/selenium/__init__.py @@ -16,4 +16,4 @@ # under the License. -__version__ = "4.30.0.202502201302" +__version__ = "4.30.0" diff --git a/py/selenium/webdriver/__init__.py b/py/selenium/webdriver/__init__.py index d87cc5ccc0a7a..c0a835bdcffa0 100644 --- a/py/selenium/webdriver/__init__.py +++ b/py/selenium/webdriver/__init__.py @@ -44,7 +44,7 @@ from .wpewebkit.service import Service as WPEWebKitService # noqa from .wpewebkit.webdriver import WebDriver as WPEWebKit # noqa -__version__ = "4.30.0.202502201302" +__version__ = "4.30.0" # We need an explicit __all__ because the above won't otherwise be exported. __all__ = [ diff --git a/rb/CHANGES b/rb/CHANGES index a80e233e1ab98..8235939ae9296 100644 --- a/rb/CHANGES +++ b/rb/CHANGES @@ -1,3 +1,21 @@ +4.30.0 (2025-03-20) +========================= +Ruby: +* Raise error when trying to delete a cookie without a name (#15386) +* Remove deprecated html 5 web storage features +* Remove deprecated script alias for execute_script +* Add debug message for location of screenshot + +BiDi: +* Add set viewport for browsing context (#15290) +* Add support for handling user prompt (#15291) +* Add Browser context activate command (#15365) + +DevTools: +* Add support for 134 and remove 131 +* Remove support for v85 since no longer required by Firefox +* Add support for additional target types (#15416) + 4.29.1 (2025-02-22) ========================= * [rb] Fix "no anonymous block parameter" in ruby 3.1 (#15315) diff --git a/rb/Gemfile.lock b/rb/Gemfile.lock index 86c4c931a4098..ae26c741ccab9 100644 --- a/rb/Gemfile.lock +++ b/rb/Gemfile.lock @@ -3,7 +3,7 @@ PATH specs: selenium-devtools (0.134.0) selenium-webdriver (~> 4.2) - selenium-webdriver (4.30.0.nightly) + selenium-webdriver (4.30.0) base64 (~> 0.2) logger (~> 1.4) rexml (~> 3.2, >= 3.2.5) @@ -27,7 +27,7 @@ GEM tzinfo (~> 2.0, >= 2.0.5) addressable (2.8.7) public_suffix (>= 2.0.2, < 7.0) - ast (2.4.2) + ast (2.4.3) base64 (0.2.0) benchmark (0.4.0) bigdecimal (3.1.9) @@ -37,7 +37,7 @@ GEM crack (1.0.0) bigdecimal rexml - csv (3.3.2) + csv (3.3.3) curb (1.0.9) date (3.4.1) date (3.4.1-java) @@ -66,17 +66,17 @@ GEM rdoc (>= 4.0.0) reline (>= 0.4.2) jar-dependencies (0.5.5) - json (2.10.1) - json (2.10.1-java) + json (2.10.2) + json (2.10.2-java) language_server-protocol (3.17.0.4) lint_roller (1.1.0) listen (3.9.0) rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) logger (1.6.6) - minitest (5.25.4) + minitest (5.25.5) parallel (1.26.3) - parser (3.3.7.1) + parser (3.3.7.2) ast (~> 2.4.1) racc pp (0.6.2) @@ -91,13 +91,13 @@ GEM public_suffix (6.0.1) racc (1.8.1) racc (1.8.1-java) - rack (2.2.11) + rack (2.2.13) rainbow (3.1.1) rake (13.2.1) rb-fsevent (0.11.2) rb-inotify (0.11.1) ffi (~> 1.0) - rbs (3.8.1) + rbs (3.9.0) logger rchardet (1.9.0) rdoc (6.12.0) @@ -119,7 +119,7 @@ GEM diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) rspec-support (3.13.2) - rubocop (1.72.2) + rubocop (1.74.0) json (~> 2.3) language_server-protocol (~> 3.17.0.2) lint_roller (~> 1.1.0) @@ -130,12 +130,14 @@ GEM rubocop-ast (>= 1.38.0, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 4.0) - rubocop-ast (1.38.0) - parser (>= 3.3.1.0) - rubocop-capybara (2.21.0) - rubocop (~> 1.41) - rubocop-factory_bot (2.26.1) - rubocop (~> 1.61) + rubocop-ast (1.41.0) + parser (>= 3.3.7.2) + rubocop-capybara (2.22.1) + lint_roller (~> 1.1) + rubocop (~> 1.72, >= 1.72.1) + rubocop-factory_bot (2.27.1) + lint_roller (~> 1.1) + rubocop (~> 1.72, >= 1.72.1) rubocop-performance (1.24.0) lint_roller (~> 1.1) rubocop (>= 1.72.1, < 2.0) @@ -167,7 +169,7 @@ GEM securerandom (>= 0.1) strscan (>= 1.0.0) terminal-table (>= 2, < 4) - stringio (3.1.4) + stringio (3.1.5) strscan (3.1.2) strscan (3.1.2-java) terminal-table (3.0.2) @@ -175,7 +177,7 @@ GEM tzinfo (2.0.6) concurrent-ruby (~> 1.0) unicode-display_width (2.6.0) - webmock (3.25.0) + webmock (3.25.1) addressable (>= 2.8.0) crack (>= 0.3.2) hashdiff (>= 0.4.0, < 2.0.0) diff --git a/rb/lib/selenium/webdriver/version.rb b/rb/lib/selenium/webdriver/version.rb index 1c205cdf9d4ab..122c68c55478d 100644 --- a/rb/lib/selenium/webdriver/version.rb +++ b/rb/lib/selenium/webdriver/version.rb @@ -19,6 +19,6 @@ module Selenium module WebDriver - VERSION = '4.30.0.nightly' + VERSION = '4.30.0' end # WebDriver end # Selenium diff --git a/rust/BUILD.bazel b/rust/BUILD.bazel index 0a29911e1b9fc..4a9446ab9bbe7 100644 --- a/rust/BUILD.bazel +++ b/rust/BUILD.bazel @@ -77,7 +77,7 @@ rust_binary( name = "selenium-manager", srcs = ["src/main.rs"], edition = "2021", - version = "0.4.30-nightly", + version = "0.4.30", visibility = ["//visibility:public"], deps = [ ":selenium_manager", diff --git a/rust/CHANGELOG.md b/rust/CHANGELOG.md index f5ba6a31116ea..2adebbbd9cfa7 100644 --- a/rust/CHANGELOG.md +++ b/rust/CHANGELOG.md @@ -1,3 +1,12 @@ +0.4.30 +====== +* Remove check for old metadata file +* Check lock folder at the end of SM execution and clear it if required +* Store reference to lock file to clear folder when necessary +* Read PROCESSOR_ARCHITECTURE env in Windows to determine architecture +* Selenium Manager support nightly Grid (#13384) (#15366) +* Support snap packages (Firefox, Chromium) in Selenium Manager + 0.4.29 ====== diff --git a/rust/Cargo.Bazel.lock b/rust/Cargo.Bazel.lock index 5263a285f252a..1cc3854a3f09f 100644 --- a/rust/Cargo.Bazel.lock +++ b/rust/Cargo.Bazel.lock @@ -1,5 +1,5 @@ { - "checksum": "43f8d713a4de9e9c1e143977d049749c834f33040e85efcad02d5d8c1419146c", + "checksum": "b7581214ce2fdae724fb5be8ecbd62e69e0591c930bd4545a374ddc009fe1c59", "crates": { "addr2line 0.21.0": { "name": "addr2line", @@ -2031,79 +2031,16 @@ "id": "jobserver 0.1.31", "target": "jobserver" }, + { + "id": "libc 0.2.168", + "target": "libc" + }, { "id": "shlex 1.3.0", "target": "shlex" } ], - "selects": { - "aarch64-apple-darwin": [ - { - "id": "libc 0.2.168", - "target": "libc" - } - ], - "aarch64-unknown-linux-gnu": [ - { - "id": "libc 0.2.168", - "target": "libc" - } - ], - "aarch64-unknown-nixos-gnu": [ - { - "id": "libc 0.2.168", - "target": "libc" - } - ], - "arm-unknown-linux-gnueabi": [ - { - "id": "libc 0.2.168", - "target": "libc" - } - ], - "i686-unknown-linux-gnu": [ - { - "id": "libc 0.2.168", - "target": "libc" - } - ], - "powerpc-unknown-linux-gnu": [ - { - "id": "libc 0.2.168", - "target": "libc" - } - ], - "s390x-unknown-linux-gnu": [ - { - "id": "libc 0.2.168", - "target": "libc" - } - ], - "x86_64-apple-darwin": [ - { - "id": "libc 0.2.168", - "target": "libc" - } - ], - "x86_64-unknown-freebsd": [ - { - "id": "libc 0.2.168", - "target": "libc" - } - ], - "x86_64-unknown-linux-gnu": [ - { - "id": "libc 0.2.168", - "target": "libc" - } - ], - "x86_64-unknown-nixos-gnu": [ - { - "id": "libc 0.2.168", - "target": "libc" - } - ] - } + "selects": {} }, "edition": "2018", "version": "1.1.30" @@ -13419,9 +13356,9 @@ ], "license_file": "LICENSE" }, - "selenium-manager 0.4.30-nightly": { + "selenium-manager 0.4.30": { "name": "selenium-manager", - "version": "0.4.30-nightly", + "version": "0.4.30", "package_url": "https://github.com/SeleniumHQ/selenium", "repository": null, "targets": [ @@ -13570,7 +13507,7 @@ "selects": {} }, "edition": "2021", - "version": "0.4.30-nightly" + "version": "0.4.30" }, "license": "Apache-2.0", "license_ids": [ @@ -21459,7 +21396,7 @@ }, "binary_crates": [], "workspace_members": { - "selenium-manager 0.4.30-nightly": "rust" + "selenium-manager 0.4.30": "rust" }, "conditions": { "aarch64-apple-darwin": [ diff --git a/rust/Cargo.lock b/rust/Cargo.lock index a639354880b0b..12476f35b93ff 100644 --- a/rust/Cargo.lock +++ b/rust/Cargo.lock @@ -1837,7 +1837,7 @@ dependencies = [ [[package]] name = "selenium-manager" -version = "0.4.30-nightly" +version = "0.4.30" dependencies = [ "anyhow", "apple-flat-package", diff --git a/rust/Cargo.toml b/rust/Cargo.toml index 51acaaa625769..8d62ae6b9f7e3 100644 --- a/rust/Cargo.toml +++ b/rust/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "selenium-manager" -version = "0.4.30-nightly" # don't forget to update rust/BUILD.bazel +version = "0.4.30" # don't forget to update rust/BUILD.bazel edition = "2021" authors = ["Selenium