7.1.0-M1
- Add nullability contract to
PasswordEncoder#encode#18334 - Create Jackson Mixin for OneTimeTokenAuthenticationToken #18096
- Fix javadoc warnings for spring-security-oauth2-client #18483
- Fix spring-security-oauth2-core compiler warnings #18482
- Replacing use of deprecated 'check' in authorization documentation #18471
- Update to JDK 25 (release = 17) #18512
- Use DefaultParameterNameDiscoverer#getSharedInstance #18484
- Add Missing
@NullMarked#18514 - Broken OAuth2AuthorizationRequestRedirectFilter constructor tests #18507
- Fix duplicated use-authorization-manager in docs #18478
- Fix Nullability on Collections/Arrays #18511
- Bump ch.qos.logback:logback-classic from 1.5.24 to 1.5.25 #18521
- Bump io.projectreactor:reactor-bom from 2025.0.1 to 2025.0.2 #18494
- Bump io.spring.nullability:io.spring.nullability.gradle.plugin from 0.0.6 to 0.0.9 #18371
- Bump org.springframework.data:spring-data-bom from 2025.1.1 to 2025.1.2 #18520
- Bump org.springframework:spring-framework-bom from 7.0.3-SNAPSHOT to 7.0.3 #18515
- Update jococo 0.8.14 #18508
- Update to Gradle 9.2.1 #18510
- Update to Kotlin 2.3.0 #18509
Thank you to all the contributors who worked on this release:
@dasog94, @marcusdacoregio, @paulvas, @qkrrlgus114, and @scordio
Release v4.7.4
Release v4.7.4
Selenium 4.40.0
Java |
Python |
DotNet |
Ruby |
JavaScript
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_depsrule 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.rbby @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16709 - [java][BiDi] implement
emulation.setScreenOrientationOverrideby @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
WebDriverby @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_closureand 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.setNetworkConditionsby @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_conditionsby @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.jsonby @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()toorg.openqa.selenium.remote.Browserby @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_connectablefor 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
- @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
Release v4.7.3
Release v4.7.3
Release v4.7.2
Release v4.7.2
Nightly
- 23aeeaf: [build] update workflow versions (Titus Fortner)
- 506bb8d: [build] do not run workflow commands with dynamic references (Titus Fortner)
- 46f7085: [build] fix workflow input variables (Titus Fortner)
- 745f2fa: [build] fix set-output usage in workflow (Titus Fortner)
- 7a0ec14: [build] use actionlint to validate workflows (Titus Fortner)
- 7a00c0a: [build] reference the correct action name (Titus Fortner)
- d1c2e2f: [build] fix shellcheck issues (Titus Fortner)
- eaa543b: [build] add shellcheck to run with actionlint locally (Titus Fortner)
- 9a6d9bb: build js docs with bazel (#16922) (Titus Fortner) #16922
- 950d737: [rb] add a //rb:steep run target (#16925) (Titus Fortner) #16925
- 1a68412: [build] fix the check bazel targets script (Titus Fortner)
- 5e257fe: [build] update pre release workflow (Titus Fortner)
- f847236: [py]: use
is_url_connectablefor driver status check (#16881) (Navin Chandra) #16881 - 40c17ed: [build] fix cargo pinning (Titus Fortner)
- 0ae0885: [build] add console output to rake tasks (Titus Fortner)
- 11de414: [java] create fewer objects while parsing JSON (#16926) (joerg1985) #16926
- 96a86cb: [build] implement bazel rule for pushing nuget packages (#16920) (Titus Fortner) #16920
- ad238dd: [build] release selenium via workflow (#16937) (Titus Fortner) #16937
- bb84614: [java] preserve original file's modification time when uploading to Grid (#16935) (Andrei Solntsev) #16935
- 28e523c: [java] fix logging in Selenium own tests (#16933) (Andrei Solntsev) #16933
- 96a10e5: [java] Stabilize flaky tests related to mouse movement (#16906) (Andrei Solntsev) #16906
- 3fa5015: [java] Automatically save screenshots & page sources for failed tests (#16904) (Andrei Solntsev) #16904
- 06edd77: [build] fix check-bazel-targets performance to prevent timeouts (Titus Fortner)