Skip to content

Release 35.0.0

Choose a tag to compare

@sbabcoc sbabcoc released this 07 Jun 01:33
· 59 commits to main since this release

Major Refactoring: Extract Grid Management to selenium-grid-manager

This release extracts all local Selenium Grid management functionality into the new selenium-grid-manager project. selenium-foundation retains its role as a pure automation framework with no runtime dependency on local Grid management.

Removed (migrated to selenium-grid-manager)

  • LocalSeleniumGrid (s3 and s4)
  • ServerProcessKiller (s3 and s4)
  • AbstractAppiumPlugin (s3 and s4)
  • All browser plugins: ChromePlugin, EdgePlugin, FirefoxPlugin, SafariPlugin, HtmlUnitPlugin, InternetExplorerPlugin (s3 and s4)
  • RemoteWebDriverPlugin, EspressoPlugin, Mac2Plugin, UiAutomator2Plugin, WindowsPlugin, XCUITestPlugin
  • GridServerLaunchFailedException

Added

  • IGridServer interface — common contract for hub and node server objects
  • GridManagerPlugin — ServiceLoader interface enabling selenium-grid-manager to register Grid factories without compile-time dependency
  • GridWatcher — JUnit runner watcher that triggers Grid startup at suite initialization
  • DriverManager.onStart() — pre-suite Grid startup hook
  • SeleniumSettings.SETTINGS_PATH — configurable settings file path via system property selenium.settings.path

Updated

  • SeleniumGrid.create() — delegates local Grid creation to registered factory from selenium-grid-manager
  • SeleniumGrid — add registerLocalGridFactory() and registerGridServerFactory() for selenium-grid-manager integration
  • GridUtility.getDriver() — restore lazy Grid activation when hub is local and inactive
  • DriverListener.onStart() — trigger Grid startup for TestNG test suites
  • TargetType — replace compile-time plugin class references with string class names
  • DriverPlugin — trim to client-side methods only (Grid management methods moved to ManagedDriverPlugin in selenium-grid-manager)
  • Build files updated to consume selenium-bom for dependency version management