You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Targets the recently released Appium 4 beta (4.0.0-beta.1). Bumps the
appium peer dependency and all lockstep @appium/* packages to their
Appium 4 beta releases, and updates driver code for the resulting API
removals/changes described in the Appium 3-to-4 migration guide
(appium/appium#22790).
- @appium/strongbox, @appium/types, @appium/docutils, @appium/oxc-config,
@appium/semantic-release-config, @appium/tsconfig bumped to their
Appium 4 lockstep beta releases (engine/ESM-only bumps, verified
byte-identical source vs. master where diffable, not API changes)
- Removed the driverData mechanism and the legacy 4-argument
createSession override (both removed upstream); createSession now
takes the single w3cCapabilities argument
- Removed the already-deprecated reset API (driver.reset() /
POST /session/:sessionId/appium/app/reset), which only ever threw a
deprecation error
- Fixed a real regression in the W3C timeouts command: BaseDriver's
generic timeouts() handler no longer dispatches through
scriptTimeoutW3C/pageLoadTimeoutW3C/implicitWaitW3C - it now calls
setScriptTimeout/setPageLoadTimeout/setImplicitWait directly for both
the legacy and W3C timeout forms. Renamed setAsyncScriptTimeout to
setScriptTimeout to match, dropped the now-unreachable W3C/MJSONWP
wrapper methods, and made sure BaseDriver's own scriptTimeoutMs/
pageLoadTimeoutMs stay in sync too, since GET /timeouts now reports
them on Appium 4 (it never did on Appium 3)
- Replaced the Location type (removed from @appium/types along with the
legacy geolocation endpoint) with a local LocationWithAltitude
interface
- Narrowed fs.glob()'s now-widened overloaded return type at the
handful of call sites that don't use its withFileTypes/lazy options
- Made getStrings's language parameter optional in its type signature,
matching its actual (always-optional) runtime/wire behavior - caught
by the new compile-time execute-method-map param checking
- Bridged two known upstream typing lags (appium-webdriveragent and
appium-ios-simulator still resolve AppiumLogger from pre-Appium4
@appium/types copies) with documented `as any` casts; confirmed
neither package's compiled output actually calls the removed
errorAndThrow, so this is a type-only gap, not a runtime one
- Dropped @colors/colors and the local isEmpty/escapeRegExp/
isPlainObject/truncateString/memoize shims in lib/utils, now that the
appium peerDependency bump makes their appium/support equivalents
available (both were carrying "replace once this driver declares
that minimum" TODOs)
- Replaced the pem devDependency in the Safari SSL e2e test with a
direct `openssl req -x509` invocation
- Bumped commander to v15
BREAKING CHANGE: requires Appium >=4.0.0-beta.0 and drops Node 20
support (minimum is now ^22.22.2 || ^24.15.0 || >=26.0.0), matching
Appium 4's own minimum supported Node engine. The appium/app/reset
endpoint is also gone; use the corresponding 'mobile:' extensions to
manage app state instead.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
0 commit comments