Download Latest Version selenium-dotnet-4.41.0.zip (20.9 MB)
Email in envelope

Get an email when there's a new version of Selenium

Home / selenium-4.40.0
Name Modified Size InfoDownloads / Week
Parent folder
selenium-dotnet-4.40.0.zip 2026-01-18 19.2 MB
selenium-dotnet-strongnamed-4.40.0.zip 2026-01-18 19.2 MB
selenium-java-4.40.0.zip 2026-01-18 37.1 MB
selenium-server-4.40.0.jar 2026-01-18 44.3 MB
selenium-server-4.40.0.zip 2026-01-18 107.9 MB
README.md 2026-01-18 20.8 kB
Selenium 4.40.0 source code.tar.gz 2026-01-18 43.5 MB
Selenium 4.40.0 source code.zip 2026-01-18 47.2 MB
Totals: 8 Items   318.5 MB 7

Detailed Changelogs by Component

Java     |     Python     |     DotNet     |     Ruby     |     JavaScript

What's Changed

Click to see all the changes included in this release * [dotnet] Modernize `EnvironmentManager`, standardize assembly teardown by @RenderMichael in https://github.com/SeleniumHQ/selenium/pull/15551 * [java] Refactor tests by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16684 * [ci]: bump cargo lockfile by @navin772 in https://github.com/SeleniumHQ/selenium/pull/16698 * [java][BiDi] change emulation commands return type to void by @Delta456 in https://github.com/SeleniumHQ/selenium/pull/16699 * [java] simplify strings processing by @iampopovich in https://github.com/SeleniumHQ/selenium/pull/15309 * Fix few more flaky ruby tests by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16695 * [bazel] Switch to custom `closure_js_deps` rule by @shs96c in https://github.com/SeleniumHQ/selenium/pull/16571 * [dotnet] [bidi] Support SetScreenSettingsOverrideAsync method in Emulation module by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16704 * [dotnet] Modernize code patterns in test suites by @RenderMichael in https://github.com/SeleniumHQ/selenium/pull/16701 * use proper AssertJ asserts that generate a useful error message by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16707 * fix Java language level in IDEA by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16708 * [py] Properly verify Selenium Manager exists by @cgoldberg in https://github.com/SeleniumHQ/selenium/pull/16711 * fix flaky Ruby test `element_spec.rb` by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16709 * [java][BiDi] implement `emulation.setScreenOrientationOverride` by @Delta456 in https://github.com/SeleniumHQ/selenium/pull/16705 * [rb] add synchronization and error handling for socket interactions by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16487 * [rb] mark low level bidi implementation as private api by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16475 * [rb] ensure driver process is always stopped by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/15635 * [rb] create user-friendly method for enabling bidi by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/14284 * [dotnet] [bidi] Added missing Script.RemoteReference LocaclValue type by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16717 * [dotnet] Standardize `IEquatable<T>` implementations across types overriding Equals by @RenderMichael in https://github.com/SeleniumHQ/selenium/pull/16665 * [dotnet] Fix nullability warnings in `WebDriver` by @RenderMichael in https://github.com/SeleniumHQ/selenium/pull/16662 * [py] Don't compare object identity in conftest by @cgoldberg in https://github.com/SeleniumHQ/selenium/pull/16723 * [#16720] avoid failing because of temporary Chrome internal files by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16722 * [rb] Add force encoding to remove warnings caused by json 3.0 by @aguspe in https://github.com/SeleniumHQ/selenium/pull/16728 * [py] Remove deprecated FTP proxy support by @cgoldberg in https://github.com/SeleniumHQ/selenium/pull/16721 * [py] Bump ruff and mypy versions by @cgoldberg in https://github.com/SeleniumHQ/selenium/pull/16737 * Create target directories before copying file by @MohabMohie in https://github.com/SeleniumHQ/selenium/pull/16739 * [bazel+closure]: Vendor the version of closure library we use by @shs96c in https://github.com/SeleniumHQ/selenium/pull/16742 * [closure] Fix failing `//javascript/atoms:test-*` targets by @shs96c in https://github.com/SeleniumHQ/selenium/pull/16749 * Avoid sleep in tests by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16713 * [bazel] Bump `rules_closure` and google closure libary to latest release by @shs96c in https://github.com/SeleniumHQ/selenium/pull/16755 * [refactor] call WebDriverException constructor instead of using reflection by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16763 * [build] Pin Browsers in Bazel by default by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16743 * [build] build selenium manager for tests by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16736 * [refactor] replace JUnit assertions by AssertJ by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16765 * [py] Add LocalWebDriver base class by @cgoldberg in https://github.com/SeleniumHQ/selenium/pull/16730 * Fix bug in FileHandler: it always failed on MacOS by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16771 * [java] add missing bazel artifacts by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16773 * [bazel+js]: Wrap grid-ui tests with bazel by @shs96c in https://github.com/SeleniumHQ/selenium/pull/16758 * Add missing build file by @shs96c in https://github.com/SeleniumHQ/selenium/pull/16779 * [bazel] Flag fixes for the RBE by @shs96c in https://github.com/SeleniumHQ/selenium/pull/16785 * [bazel+js]: Avoid shadowing directory with test name by @shs96c in https://github.com/SeleniumHQ/selenium/pull/16784 * [py] Add type hints for WebElement.find_element(s) by @pixelsapphire in https://github.com/SeleniumHQ/selenium/pull/16772 * [build] add explicit permissions to github workflows by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16774 * [dotnet] Hide driver service window by default by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16782 * [rb] Fix steep issues by @aguspe in https://github.com/SeleniumHQ/selenium/pull/16752 * [py][build]: consolidate Python CI tests by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16766 * [dotnet] [bidi] Fix context aware event handlers by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16787 * [java] [#16753] workaround for JDK bug JDK-8228970 by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16793 * [java][BiDi] implement `emulation.setNetworkConditions` by @Delta456 in https://github.com/SeleniumHQ/selenium/pull/16794 * [java] [refactor] replace most of Guava collections by Java built-in collections by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16776 * [build] fix issue trying to guard actions run on forks by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16800 * [py] Add/fix type hints for find_element/find_elements by @cgoldberg in https://github.com/SeleniumHQ/selenium/pull/16786 * [ci] Use macos-latest instead of macos-13 in Rust workflow by @bonigarcia in https://github.com/SeleniumHQ/selenium/pull/16803 * [py][bidi]: improve tests to use local no-proxy server by @navin772 in https://github.com/SeleniumHQ/selenium/pull/16747 * [py][bidi]: add emulation command `set_network_conditions` by @navin772 in https://github.com/SeleniumHQ/selenium/pull/16702 * [dotnet][java][py][rb][rust] Only use External Cache for GitHub Actions by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16788 * [py] Add new ruff lint rules, fix violations and type annotations by @cgoldberg in https://github.com/SeleniumHQ/selenium/pull/16789 * [java] Be more tolerant to remote responses by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16797 * [py] pin python versions to specific patches by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16795 * [java] Fix asserts for maps and sets by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16808 * [js] fix JS tests on RBE by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16777 * [py] Remove deprecated FirefoxBinary class by @cgoldberg in https://github.com/SeleniumHQ/selenium/pull/16811 * [build] limit what check job pulls in by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16815 * [rust] fix support for Edge beta versions on Windows by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16806 * [py] Bump versions and remove unnecessary dev/test dependencies by @cgoldberg in https://github.com/SeleniumHQ/selenium/pull/16820 * remove docker deploy code by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16822 * [py] Fix type annotations, make docstrings consistent, centralize dependencies by @cgoldberg in https://github.com/SeleniumHQ/selenium/pull/16821 * [java] several packages marks jspecify nullmarked by @iampopovich in https://github.com/SeleniumHQ/selenium/pull/16802 * Update copyright to 2026 by @cgoldberg in https://github.com/SeleniumHQ/selenium/pull/16830 * [rust] ignore force download for Safari by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16825 * [dotnet] [bidi] Properly return shared buffer when disposing websocket by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16804 * [java] fix NPE in FirefoxOptions by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16833 * [py] Fix remaining mypy errors and enable CI for type checking by @cgoldberg in https://github.com/SeleniumHQ/selenium/pull/16837 * [java] Mark obsolete variables deprecated in DriverCommand and W3CHttpCommandCodec by @iampopovich in https://github.com/SeleniumHQ/selenium/pull/16013 * [java] remove usages of Guava collections (sets and maps) by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16835 * [java] simplify several statements with isEmpty function call by @iampopovich in https://github.com/SeleniumHQ/selenium/pull/16836 * [java] JSpecify annotations for `org.openqa.selenium.json` by @mk868 in https://github.com/SeleniumHQ/selenium/pull/16799 * [java][rb][py][dotnet][js] use SE_DEBUG to enable debugging by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16816 * [java] Allow downloading files from old Grid server by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16839 * [build] fix lint problems automatically by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16780 * [java] Speed up tests, improve test logging and build script by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16843 * [rb] ensure the grid is properly restarted in tests when there is a problem by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16842 * [build] get chrome-driver tests passing on RBE by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16807 * [Java] add lint job by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16846 * [java] rework downloading files from Grid by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16844 * [java] configurable timeout for BiDi commands by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16796 * [java] Unify error message format for all Expected Conditions & add tests by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16831 * [java][py][rb][js][dotnet] rerun failing tests when requested by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16840 * [build] remove ruby tests from skipped tests files by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16859 * [node] Add asMap function to Header class and corresponding tests by @iampopovich in https://github.com/SeleniumHQ/selenium/pull/16832 * [java] Fix flaky tests by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16862 * [java] fixes for running on windows by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16852 * [js]: Get the chrome-driver tests passing by @shs96c in https://github.com/SeleniumHQ/selenium/pull/16856 * [js] Migrate javascript/atoms tests from Closure to QUnit by @shs96c in https://github.com/SeleniumHQ/selenium/pull/16855 * [rb] should not need long client timeout in tests by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16847 * [py] Reduce traceback output on test failures by @cgoldberg in https://github.com/SeleniumHQ/selenium/pull/16854 * [py] Bump minimum dependency versions because of CVE by @cgoldberg in https://github.com/SeleniumHQ/selenium/pull/16867 * [js] Delete tests and files which are not run any more by @shs96c in https://github.com/SeleniumHQ/selenium/pull/16871 * Migrate remaining Google Closure jsunit tests to qunit by @shs96c in https://github.com/SeleniumHQ/selenium/pull/16870 * [py] improve how tests are run against the grid server by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16851 * Java chrome beta by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16860 * add readable `toString()` to `org.openqa.selenium.remote.Browser` by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16873 * [java] restore ClientConfig constructor used by Appium (for backward compatibility) by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16874 * Remove outdated CodeTour files by @cgoldberg in https://github.com/SeleniumHQ/selenium/pull/16872 * [dotnet] get tests working on windows with bazel by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16853 * [py] Add type annotations to bidi network module by @mzyndul in https://github.com/SeleniumHQ/selenium/pull/16875 * [dotnet] Stabilize ShouldTimeoutIfAPageTakesTooLongToRefresh test by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16880 * [dotnet] [bidi] Context aware network collector by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16866 * [dotnet] [bidi] Rent and return buffer to shared pool per remote message by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16838 * [build][rb] remove unnecessary log output from windows runs by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16876 * [build] save bazel cache to GitHub only from trunk by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16890 * [py] Add type annotations by @mzyndul in https://github.com/SeleniumHQ/selenium/pull/16883 * [rb] update ruby versions by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16891 * [java] update what java test targets are generated by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16886 * [java] update browser tests to match test suite conventions by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16888 * [rb][py][dotnet][java][js] move logic for reruns and collecting logs into separate scripts by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16879 * [java] deprecate unused logging implementation by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16889 * [py] rerun tests with debugging by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16892 * create FakeWebDriver only if "browser=selenium-test" by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16898 * [java] update how unit tests are declared and run by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16887 * [dotnet] [bidi] Allow consumer to combine input actions via identifier by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16885 * [build][rb][py] use arm binaries for mac by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16897 * [rb] wait for grid to actually be ready when starting server by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16896 * [java] rerun tests with debugging by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16893 * [rust] only collect stats on stamped builds by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16826 * [rb] Set Ruby tests to rerun when failing by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16858 * [rb] check driver status endpoint rather than socket connection by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16877 * [java] remove Apache Commons dependency by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16865 * [py] have SE_DEBUG output driver logs as well by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16902 * [build] rerun the RBE tests with debugging enabled by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16905 * [java] SE_DEBUG dumps all log output to stderr by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16900 * [py] Update development dependencies by @cgoldberg in https://github.com/SeleniumHQ/selenium/pull/16908 * [java] Use ClientConfig provided by user instead of the default one by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16882 * [rust] Replace fs::rename by file::move_file for Grid artifacts by @bonigarcia in https://github.com/SeleniumHQ/selenium/pull/16911 * [dotnet] [bidi] Expose New session command by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16907 * [build] automate the new java release publish by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16509 * [py] Find grid in tests if not using bazel by @cgoldberg in https://github.com/SeleniumHQ/selenium/pull/16912 * build python docs with bazel by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16919 * [build] generate dotnet docs with bazel by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16921 * [bazel] Prevent duplicate directory warnings from python builds by @shs96c in https://github.com/SeleniumHQ/selenium/pull/16923 * [grid] Improve Node handling concurrent sessions creation by @VietND96 in https://github.com/SeleniumHQ/selenium/pull/16913 * [java] Change BiDi "internalId" type from Long to String by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16918 * [build] update ruby gems with bazel by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16924 * build js docs with bazel by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16922 * [rb] add a //rb:steep run target by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16925 * [py]: use `is_url_connectable` for driver status check by @navin772 in https://github.com/SeleniumHQ/selenium/pull/16881 * [java] create fewer objects while parsing JSON by @joerg1985 in https://github.com/SeleniumHQ/selenium/pull/16926 * [build] implement bazel rule for pushing nuget packages by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16920 * [build] release selenium via workflow by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16937 * [java] preserve original file's modification time when uploading to Grid by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16935 * [java] fix logging in Selenium own tests by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16933 * [java] Stabilize flaky tests related to mouse movement by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16906 * [java] Automatically save screenshots & page sources for failed tests by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16904 * [grid] Improve race conditions in Grid session distribution by @VietND96 in https://github.com/SeleniumHQ/selenium/pull/16939 * [dotnet] [bidi] FileDialogOpened event in Input module by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16934 * [dotnet] [bidi] Expose Input module in root BiDi class by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16940 * [build] use rulesets to restrict and unrestrict trunk during release window by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16941 ## New Contributors * @pixelsapphire made their first contribution in https://github.com/SeleniumHQ/selenium/pull/16772 * @mzyndul made their first contribution in https://github.com/SeleniumHQ/selenium/pull/16875

Full Changelog: https://github.com/SeleniumHQ/selenium/compare/selenium-4.39.0...selenium-4.40.0

Source: README.md, updated 2026-01-18