Compare commits

..
Author SHA1 Message Date
Jonathan Lipps 171c6e6fa3 chore: publish
- appium@3.0.1
 - @appium/base-plugin@3.0.1
 - @appium/docutils@2.0.1
 - @appium/driver-test-support@1.0.1
 - @appium/eslint-config-appium-ts@2.0.1
 - @appium/fake-plugin@4.0.1
2025-08-20 11:11:54 -07:00
Edgars Eglītis 48c2a89c7d docs: add links to AppiumConf archives (#21499) 2025-08-20 17:30:16 +03:00
Jonathan Lippsanditkhanz 2eb2306a19 docs: update conflict CTAs (#21496)
* docs: stand with palestine

* docs: update global conflict CTAs

---------

Co-authored-by: itkhanz <itkhanz@gmail.com>
2025-08-20 07:01:55 -07:00
github-actions[bot]andmykola-mokhnach 502a9df97b docs(appium): Update documentation translations (#21497)
Co-authored-by: mykola-mokhnach <7767781+mykola-mokhnach@users.noreply.github.com>
2025-08-20 00:21:28 -07:00
Edgars Eglītis 46a2b70f65 docs: update various miscellaneous documents for Appium 3 (#21495)
* docs: update miscellaneous docs for Appium 3

* docs: update more docs

* docs: linebreak
2025-08-19 23:36:35 +03:00
Marco Beltempo 7b74ef96a0 chore(docutils): set dependency diff to v8.0.2 (#21494)
* chore(docutils): set dependency diff to v8.0.2

* chore(package-lock): fix diff version to 8.0.2
2025-08-19 21:24:55 +03:00
renovate[bot] f8199177f3 chore(eslint-config-appium-ts): update dependency typescript-eslint to v8.40.0 (#21492)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-19 09:39:22 +00:00
renovate[bot] 3988168f8e chore(driver-test-support): update dependency chai to v5.3.1 (#21490)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-18 18:36:10 +00:00
Jonathan Lipps 284da50353 chore: publish
- appium@3.0.0
 - @appium/base-driver@10.0.0
 - @appium/base-plugin@3.0.0
 - @appium/docutils@2.0.0
 - @appium/driver-test-support@1.0.0
 - @appium/eslint-config-appium-ts@2.0.0
 - @appium/execute-driver-plugin@5.0.0
 - @appium/fake-driver@6.0.0
 - @appium/fake-plugin@4.0.0
 - @appium/images-plugin@4.0.0
 - @appium/logger@2.0.0
 - @appium/opencv@4.0.0
 - @appium/plugin-test-support@1.0.0
 - @appium/relaxed-caps-plugin@2.0.0
 - @appium/schema@1.0.0
 - @appium/storage-plugin@1.0.0
 - @appium/strongbox@1.0.0
 - @appium/support@7.0.0
 - @appium/test-support@4.0.0
 - @appium/tsconfig@1.0.0
 - @appium/types@1.0.0
 - @appium/universal-xml-plugin@2.0.0
2025-08-18 11:28:40 -07:00
Jonathan Lipps 9678952f89 chore: remove rc tags in prep for appium 3 gm publish (#21491) 2025-08-18 11:25:38 -07:00
github-actions[bot]andmykola-mokhnach fd5ac8d7a2 docs(appium): Update documentation translations (#21488)
Co-authored-by: mykola-mokhnach <7767781+mykola-mokhnach@users.noreply.github.com>
2025-08-17 10:52:53 +09:00
renovate[bot] 0761fd35c4 chore(support): update dependency teen_process to v3 (#21487)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-16 20:52:58 +09:00
07881ce897 docs: add Appium3 announcement blog (#21472)
* Added blog on appium3

Co-authored-by: SrinivasanTarget <srinivasan.sekar1990@gmail.com>

* fixup: make appium 3 blog more simple and generic

---------

Co-authored-by: Sai Krishna V <saikrishna321@yahoo.com>
Co-authored-by: SrinivasanTarget <srinivasan.sekar1990@gmail.com>
2025-08-16 20:12:45 +09:00
renovate[bot] 193dbeb750 chore(docutils): update dependency mkdocs-material to v9.6.17 (#21486)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-16 08:32:27 +00:00
renovate[bot] 2da283f599 chore(deps): update dependency @types/node to v22.17.2 (#21484)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-15 13:39:54 +00:00
74 changed files with 805 additions and 408 deletions
+2 -2
View File
@@ -5,7 +5,7 @@ most of which have their own changelogs. Links to these individual changelogs ar
## Main Appium Module
* ### [Appium 2 Changelog](packages/appium/CHANGELOG.md)
* ### [Appium Changelog](packages/appium/CHANGELOG.md)
* [Appium 1.x Changelog](https://github.com/appium/appium/blob/1.x/CHANGELOG.md)
## Drivers / Clients
@@ -16,6 +16,7 @@ to driver/client documentation
* [execute-driver-plugin](packages/execute-driver-plugin/CHANGELOG.md)
* [images-plugin](packages/images-plugin/CHANGELOG.md)
* [relaxed-caps-plugin](packages/relaxed-caps-plugin/CHANGELOG.md)
* [storage-plugin](packages/storage-plugin/CHANGELOG.md)
* [universal-xml-plugin](packages/universal-xml-plugin/CHANGELOG.md)
## Other Modules
@@ -30,7 +31,6 @@ to driver/client documentation
* [opencv](packages/opencv/CHANGELOG.md)
* [plugin-test-support](packages/plugin-test-support/CHANGELOG.md)
* [schema](packages/schema/CHANGELOG.md)
* [storage-plugin](packages/storage-plugin/CHANGELOG.md)
* [strongbox](packages/strongbox/CHANGELOG.md)
* [support](packages/support/CHANGELOG.md)
* [test-support](packages/test-support/CHANGELOG.md)
+6 -12
View File
@@ -1,5 +1,3 @@
[![Stand With Ukraine](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/banner2-direct.svg)](https://vshymanskyy.github.io/StandWithUkraine/)
<p align="center">
<a href="https://appium.io/">
<img alt="Appium" src="https://raw.githubusercontent.com/appium/appium/master/packages/appium/docs/overrides/assets/images/appium-logo-horiz.png" width="500">
@@ -15,6 +13,7 @@
[![Monthly Downloads](https://img.shields.io/npm/dm/appium.svg)](https://npmjs.org/package/appium)
[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Fappium%2Fappium.svg?type=shield)](https://app.fossa.io/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Fappium%2Fappium?ref=badge_shield)
[![StandWithUkraine](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/badges/StandWithUkraine.svg)](https://github.com/vshymanskyy/StandWithUkraine/)
[![CeasefireInGaza](https://img.shields.io/badge/Ceasefire_Now-%F0%9F%87%B5%F0%9F%87%B8-red?style=flat)](https://www.unrwa.org/)
</div>
@@ -39,18 +38,13 @@ programming languages, which means there is an entire ecosystem of related softw
* [__Clients__](#clients) allow writing Appium tests in your programming language of choice
* [__Plugins__](#plugins) allow to further extend Appium functionality
## Migrating From Appium 1 to Appium 2
## Upgrading From Older Versions
As of January 1st, 2022, the Appium team no longer maintains or supports Appium 1. All officially
supported platform drivers are only compatible with Appium 2.
The Appium team only provides support for the most recent version of Appium. If you wish to upgrade from
an older major Appium version, please refer to the migration guides:
__[Please read the Migration Guide](https://appium.io/docs/en/latest/guides/migrating-1-to-2/) if you
are still using Appium 1.__
> [!WARNING]
> If you use Appium Desktop or Appium Server GUI, you will not be able to upgrade to Appium 2, as
both of these tools have been deprecated. Please use [Appium Inspector](https://github.com/appium/appium-inspector)
in combination with a standalone Appium 2 server.
* [Appium v2 to v3](https://appium.io/docs/en/latest/guides/migrating-2-to-3/)
* [Appium v1 to v2](https://appium.io/docs/en/latest/guides/migrating-1-to-2/)
## Installation
+1 -1
View File
@@ -3,4 +3,4 @@
The old Appium 1.x docs used to be in this directory. Now, they are available only on the [1.x
branch](https://github.com/appium/appium/tree/1.x/docs).
Appium 2.x docs are located in [packages/appium/docs](../packages/appium/docs) in this repo.
Current Appium docs are located in [packages/appium/docs](../packages/appium/docs) in this repo.
+233 -233
View File
@@ -32,7 +32,7 @@
"@types/mocha": "10.0.10",
"@types/mv": "2.1.4",
"@types/ncp": "2.0.8",
"@types/node": "22.17.1",
"@types/node": "22.17.2",
"@types/pluralize": "0.0.33",
"@types/semver": "7.7.0",
"@types/serve-favicon": "2.5.7",
@@ -49,7 +49,7 @@
"@types/xmldom": "0.1.34",
"@types/yargs": "17.0.33",
"asyncbox": "3.0.0",
"chai": "5.2.1",
"chai": "5.3.1",
"chai-as-promised": "8.0.1",
"conventional-changelog-conventionalcommits": "7.0.2",
"cpy-cli": "6.0.0",
@@ -76,11 +76,11 @@
"serve-static": "2.2.0",
"sinon": "21.0.0",
"sync-monorepo-packages": "1.0.2",
"teen_process": "2.3.3",
"teen_process": "3.0.0",
"ts-node": "10.9.2",
"tsd": "0.33.0",
"typescript": "5.9.2",
"typescript-eslint": "8.39.1",
"typescript-eslint": "8.40.0",
"webdriverio": "9.19.1",
"ws": "8.18.3",
"yaml-js": "0.3.1"
@@ -3082,9 +3082,9 @@
}
},
"node_modules/@types/node": {
"version": "22.17.1",
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.17.1.tgz",
"integrity": "sha512-y3tBaz+rjspDTylNjAX37jEC3TETEFGNJL6uQDxwF9/8GLLIjW1rvVHlynyuUKMnMr1Roq8jOv3vkopBjC4/VA==",
"version": "22.17.2",
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.17.2.tgz",
"integrity": "sha512-gL6z5N9Jm9mhY+U2KXZpteb+09zyffliRkZyZOHODGATyC5B1Jt/7TzuuiLkFsSUMLbS1OLmlj/E+/3KF4Q/4w==",
"license": "MIT",
"dependencies": {
"undici-types": "~6.21.0"
@@ -3289,16 +3289,16 @@
}
},
"node_modules/@typescript-eslint/eslint-plugin": {
"version": "8.39.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.39.1.tgz",
"integrity": "sha512-yYegZ5n3Yr6eOcqgj2nJH8cH/ZZgF+l0YIdKILSDjYFRjgYQMgv/lRjV5Z7Up04b9VYUondt8EPMqg7kTWgJ2g==",
"version": "8.40.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.40.0.tgz",
"integrity": "sha512-w/EboPlBwnmOBtRbiOvzjD+wdiZdgFeo17lkltrtn7X37vagKKWJABvyfsJXTlHe6XBzugmYgd4A4nW+k8Mixw==",
"license": "MIT",
"dependencies": {
"@eslint-community/regexpp": "^4.10.0",
"@typescript-eslint/scope-manager": "8.39.1",
"@typescript-eslint/type-utils": "8.39.1",
"@typescript-eslint/utils": "8.39.1",
"@typescript-eslint/visitor-keys": "8.39.1",
"@typescript-eslint/scope-manager": "8.40.0",
"@typescript-eslint/type-utils": "8.40.0",
"@typescript-eslint/utils": "8.40.0",
"@typescript-eslint/visitor-keys": "8.40.0",
"graphemer": "^1.4.0",
"ignore": "^7.0.0",
"natural-compare": "^1.4.0",
@@ -3312,7 +3312,7 @@
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
"@typescript-eslint/parser": "^8.39.1",
"@typescript-eslint/parser": "^8.40.0",
"eslint": "^8.57.0 || ^9.0.0",
"typescript": ">=4.8.4 <6.0.0"
}
@@ -3327,15 +3327,15 @@
}
},
"node_modules/@typescript-eslint/parser": {
"version": "8.39.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.39.1.tgz",
"integrity": "sha512-pUXGCuHnnKw6PyYq93lLRiZm3vjuslIy7tus1lIQTYVK9bL8XBgJnCWm8a0KcTtHC84Yya1Q6rtll+duSMj0dg==",
"version": "8.40.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.40.0.tgz",
"integrity": "sha512-jCNyAuXx8dr5KJMkecGmZ8KI61KBUhkCob+SD+C+I5+Y1FWI2Y3QmY4/cxMCC5WAsZqoEtEETVhUiUMIGCf6Bw==",
"license": "MIT",
"dependencies": {
"@typescript-eslint/scope-manager": "8.39.1",
"@typescript-eslint/types": "8.39.1",
"@typescript-eslint/typescript-estree": "8.39.1",
"@typescript-eslint/visitor-keys": "8.39.1",
"@typescript-eslint/scope-manager": "8.40.0",
"@typescript-eslint/types": "8.40.0",
"@typescript-eslint/typescript-estree": "8.40.0",
"@typescript-eslint/visitor-keys": "8.40.0",
"debug": "^4.3.4"
},
"engines": {
@@ -3351,13 +3351,13 @@
}
},
"node_modules/@typescript-eslint/project-service": {
"version": "8.39.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.39.1.tgz",
"integrity": "sha512-8fZxek3ONTwBu9ptw5nCKqZOSkXshZB7uAxuFF0J/wTMkKydjXCzqqga7MlFMpHi9DoG4BadhmTkITBcg8Aybw==",
"version": "8.40.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.40.0.tgz",
"integrity": "sha512-/A89vz7Wf5DEXsGVvcGdYKbVM9F7DyFXj52lNYUDS1L9yJfqjW/fIp5PgMuEJL/KeqVTe2QSbXAGUZljDUpArw==",
"license": "MIT",
"dependencies": {
"@typescript-eslint/tsconfig-utils": "^8.39.1",
"@typescript-eslint/types": "^8.39.1",
"@typescript-eslint/tsconfig-utils": "^8.40.0",
"@typescript-eslint/types": "^8.40.0",
"debug": "^4.3.4"
},
"engines": {
@@ -3372,13 +3372,13 @@
}
},
"node_modules/@typescript-eslint/scope-manager": {
"version": "8.39.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.39.1.tgz",
"integrity": "sha512-RkBKGBrjgskFGWuyUGz/EtD8AF/GW49S21J8dvMzpJitOF1slLEbbHnNEtAHtnDAnx8qDEdRrULRnWVx27wGBw==",
"version": "8.40.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.40.0.tgz",
"integrity": "sha512-y9ObStCcdCiZKzwqsE8CcpyuVMwRouJbbSrNuThDpv16dFAj429IkM6LNb1dZ2m7hK5fHyzNcErZf7CEeKXR4w==",
"license": "MIT",
"dependencies": {
"@typescript-eslint/types": "8.39.1",
"@typescript-eslint/visitor-keys": "8.39.1"
"@typescript-eslint/types": "8.40.0",
"@typescript-eslint/visitor-keys": "8.40.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -3389,9 +3389,9 @@
}
},
"node_modules/@typescript-eslint/tsconfig-utils": {
"version": "8.39.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.39.1.tgz",
"integrity": "sha512-ePUPGVtTMR8XMU2Hee8kD0Pu4NDE1CN9Q1sxGSGd/mbOtGZDM7pnhXNJnzW63zk/q+Z54zVzj44HtwXln5CvHA==",
"version": "8.40.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.40.0.tgz",
"integrity": "sha512-jtMytmUaG9d/9kqSl/W3E3xaWESo4hFDxAIHGVW/WKKtQhesnRIJSAJO6XckluuJ6KDB5woD1EiqknriCtAmcw==",
"license": "MIT",
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -3405,14 +3405,14 @@
}
},
"node_modules/@typescript-eslint/type-utils": {
"version": "8.39.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.39.1.tgz",
"integrity": "sha512-gu9/ahyatyAdQbKeHnhT4R+y3YLtqqHyvkfDxaBYk97EcbfChSJXyaJnIL3ygUv7OuZatePHmQvuH5ru0lnVeA==",
"version": "8.40.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.40.0.tgz",
"integrity": "sha512-eE60cK4KzAc6ZrzlJnflXdrMqOBaugeukWICO2rB0KNvwdIMaEaYiywwHMzA1qFpTxrLhN9Lp4E/00EgWcD3Ow==",
"license": "MIT",
"dependencies": {
"@typescript-eslint/types": "8.39.1",
"@typescript-eslint/typescript-estree": "8.39.1",
"@typescript-eslint/utils": "8.39.1",
"@typescript-eslint/types": "8.40.0",
"@typescript-eslint/typescript-estree": "8.40.0",
"@typescript-eslint/utils": "8.40.0",
"debug": "^4.3.4",
"ts-api-utils": "^2.1.0"
},
@@ -3429,9 +3429,9 @@
}
},
"node_modules/@typescript-eslint/types": {
"version": "8.39.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.39.1.tgz",
"integrity": "sha512-7sPDKQQp+S11laqTrhHqeAbsCfMkwJMrV7oTDvtDds4mEofJYir414bYKUEb8YPUm9QL3U+8f6L6YExSoAGdQw==",
"version": "8.40.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.40.0.tgz",
"integrity": "sha512-ETdbFlgbAmXHyFPwqUIYrfc12ArvpBhEVgGAxVYSwli26dn8Ko+lIo4Su9vI9ykTZdJn+vJprs/0eZU0YMAEQg==",
"license": "MIT",
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -3442,15 +3442,15 @@
}
},
"node_modules/@typescript-eslint/typescript-estree": {
"version": "8.39.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.39.1.tgz",
"integrity": "sha512-EKkpcPuIux48dddVDXyQBlKdeTPMmALqBUbEk38McWv0qVEZwOpVJBi7ugK5qVNgeuYjGNQxrrnoM/5+TI/BPw==",
"version": "8.40.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.40.0.tgz",
"integrity": "sha512-k1z9+GJReVVOkc1WfVKs1vBrR5MIKKbdAjDTPvIK3L8De6KbFfPFt6BKpdkdk7rZS2GtC/m6yI5MYX+UsuvVYQ==",
"license": "MIT",
"dependencies": {
"@typescript-eslint/project-service": "8.39.1",
"@typescript-eslint/tsconfig-utils": "8.39.1",
"@typescript-eslint/types": "8.39.1",
"@typescript-eslint/visitor-keys": "8.39.1",
"@typescript-eslint/project-service": "8.40.0",
"@typescript-eslint/tsconfig-utils": "8.40.0",
"@typescript-eslint/types": "8.40.0",
"@typescript-eslint/visitor-keys": "8.40.0",
"debug": "^4.3.4",
"fast-glob": "^3.3.2",
"is-glob": "^4.0.3",
@@ -3494,15 +3494,15 @@
}
},
"node_modules/@typescript-eslint/utils": {
"version": "8.39.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.39.1.tgz",
"integrity": "sha512-VF5tZ2XnUSTuiqZFXCZfZs1cgkdd3O/sSYmdo2EpSyDlC86UM/8YytTmKnehOW3TGAlivqTDT6bS87B/GQ/jyg==",
"version": "8.40.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.40.0.tgz",
"integrity": "sha512-Cgzi2MXSZyAUOY+BFwGs17s7ad/7L+gKt6Y8rAVVWS+7o6wrjeFN4nVfTpbE25MNcxyJ+iYUXflbs2xR9h4UBg==",
"license": "MIT",
"dependencies": {
"@eslint-community/eslint-utils": "^4.7.0",
"@typescript-eslint/scope-manager": "8.39.1",
"@typescript-eslint/types": "8.39.1",
"@typescript-eslint/typescript-estree": "8.39.1"
"@typescript-eslint/scope-manager": "8.40.0",
"@typescript-eslint/types": "8.40.0",
"@typescript-eslint/typescript-estree": "8.40.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -3517,12 +3517,12 @@
}
},
"node_modules/@typescript-eslint/visitor-keys": {
"version": "8.39.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.39.1.tgz",
"integrity": "sha512-W8FQi6kEh2e8zVhQ0eeRnxdvIoOkAp/CPAahcNio6nO9dsIwb9b34z90KOlheoyuVf6LSOEdjlkxSkapNEc+4A==",
"version": "8.40.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.40.0.tgz",
"integrity": "sha512-8CZ47QwalyRjsypfwnbI3hKy5gJDPmrkLjkgMxhi0+DZZ2QNx2naS6/hWoVYUHU7LU2zleF68V9miaVZvhFfTA==",
"license": "MIT",
"dependencies": {
"@typescript-eslint/types": "8.39.1",
"@typescript-eslint/types": "8.40.0",
"eslint-visitor-keys": "^4.2.1"
},
"engines": {
@@ -5497,9 +5497,9 @@
}
},
"node_modules/chai": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/chai/-/chai-5.2.1.tgz",
"integrity": "sha512-5nFxhUrX0PqtyogoYOA8IPswy5sZFTOsBFl/9bNsmDLgsxYTzSZQJDPppDnZPTQbzSEm0hqGjWPzRemQCYbD6A==",
"version": "5.3.1",
"resolved": "https://registry.npmjs.org/chai/-/chai-5.3.1.tgz",
"integrity": "sha512-48af6xm9gQK8rhIcOxWwdGzIervm8BVTin+yRp9HEvU20BtVZ2lBywlIJBzwaDtvo0FvjeL7QdCADoUoqIbV3A==",
"license": "MIT",
"dependencies": {
"assertion-error": "^2.0.1",
@@ -17294,9 +17294,9 @@
}
},
"node_modules/teen_process": {
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/teen_process/-/teen_process-2.3.3.tgz",
"integrity": "sha512-NIdeetf/6gyEqLjnzvfgQe7PfipSceq2xDQM2Py2BkBnIIeWh3HRD3vNhulyO5WppfCv9z4mtsEHyq8kdiULTA==",
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/teen_process/-/teen_process-3.0.0.tgz",
"integrity": "sha512-UuRgQZkfhbeD+bEn+hqLPs6IhXYhY7bcKecj1yiNAfRty6oOftJmYGksW8l111dvs3dOR/U38adOkXrAww3/bg==",
"license": "Apache-2.0",
"dependencies": {
"bluebird": "^3.7.2",
@@ -17305,8 +17305,8 @@
"source-map-support": "^0.x"
},
"engines": {
"node": "^16.13.0 || >=18.0.0",
"npm": ">=8"
"node": "^20.19.0 || ^22.12.0 || >=24.0.0",
"npm": ">=10"
}
},
"node_modules/temp-dir": {
@@ -17952,15 +17952,15 @@
}
},
"node_modules/typescript-eslint": {
"version": "8.39.1",
"resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.39.1.tgz",
"integrity": "sha512-GDUv6/NDYngUlNvwaHM1RamYftxf782IyEDbdj3SeaIHHv8fNQVRC++fITT7kUJV/5rIA/tkoRSSskt6osEfqg==",
"version": "8.40.0",
"resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.40.0.tgz",
"integrity": "sha512-Xvd2l+ZmFDPEt4oj1QEXzA4A2uUK6opvKu3eGN9aGjB8au02lIVcLyi375w94hHyejTOmzIU77L8ol2sRg9n7Q==",
"license": "MIT",
"dependencies": {
"@typescript-eslint/eslint-plugin": "8.39.1",
"@typescript-eslint/parser": "8.39.1",
"@typescript-eslint/typescript-estree": "8.39.1",
"@typescript-eslint/utils": "8.39.1"
"@typescript-eslint/eslint-plugin": "8.40.0",
"@typescript-eslint/parser": "8.40.0",
"@typescript-eslint/typescript-estree": "8.40.0",
"@typescript-eslint/utils": "8.40.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -19306,17 +19306,17 @@
}
},
"packages/appium": {
"version": "3.0.0-rc.2",
"version": "3.0.1",
"hasInstallScript": true,
"license": "Apache-2.0",
"dependencies": {
"@appium/base-driver": "^10.0.0-rc.2",
"@appium/base-plugin": "^3.0.0-rc.2",
"@appium/docutils": "^2.0.0-rc.1",
"@appium/logger": "^2.0.0-rc.1",
"@appium/schema": "^1.0.0-rc.1",
"@appium/support": "^7.0.0-rc.1",
"@appium/types": "^1.0.0-rc.1",
"@appium/base-driver": "^10.0.0",
"@appium/base-plugin": "^3.0.1",
"@appium/docutils": "^2.0.1",
"@appium/logger": "^2.0.0",
"@appium/schema": "^1.0.0",
"@appium/support": "^7.0.0",
"@appium/types": "^1.0.0",
"@sidvind/better-ajv-errors": "4.0.0",
"ajv": "8.17.1",
"ajv-formats": "3.0.1",
@@ -19333,7 +19333,7 @@
"resolve-from": "5.0.0",
"semver": "7.7.2",
"source-map-support": "0.5.21",
"teen_process": "2.3.3",
"teen_process": "3.0.0",
"type-fest": "4.41.0",
"winston": "3.17.0",
"wrap-ansi": "7.0.0",
@@ -19394,11 +19394,11 @@
},
"packages/base-driver": {
"name": "@appium/base-driver",
"version": "10.0.0-rc.2",
"version": "10.0.0",
"license": "Apache-2.0",
"dependencies": {
"@appium/support": "^7.0.0-rc.1",
"@appium/types": "^1.0.0-rc.1",
"@appium/support": "^7.0.0",
"@appium/types": "^1.0.0",
"@colors/colors": "1.6.0",
"async-lock": "1.4.1",
"asyncbox": "3.0.0",
@@ -19576,11 +19576,11 @@
},
"packages/base-plugin": {
"name": "@appium/base-plugin",
"version": "3.0.0-rc.2",
"version": "3.0.1",
"license": "Apache-2.0",
"dependencies": {
"@appium/base-driver": "^10.0.0-rc.2",
"@appium/support": "^7.0.0-rc.1"
"@appium/base-driver": "^10.0.0",
"@appium/support": "^7.0.0"
},
"engines": {
"node": "^20.19.0 || ^22.12.0 || >=24.0.0",
@@ -19589,19 +19589,19 @@
},
"packages/docutils": {
"name": "@appium/docutils",
"version": "2.0.0-rc.1",
"version": "2.0.1",
"license": "Apache-2.0",
"dependencies": {
"@appium/support": "^7.0.0-rc.1",
"@appium/support": "^7.0.0",
"chalk": "4.1.2",
"consola": "3.4.2",
"diff": "8.0.02",
"diff": "8.0.2",
"lilconfig": "3.1.3",
"lodash": "4.17.21",
"pkg-dir": "5.0.0",
"read-pkg": "5.2.0",
"source-map-support": "0.5.21",
"teen_process": "2.3.3",
"teen_process": "3.0.0",
"type-fest": "4.41.0",
"yaml": "2.8.1",
"yargs": "18.0.0",
@@ -19820,13 +19820,13 @@
},
"packages/driver-test-support": {
"name": "@appium/driver-test-support",
"version": "1.0.0-rc.1",
"version": "1.0.1",
"license": "Apache-2.0",
"dependencies": {
"@appium/types": "^1.0.0-rc.1",
"@appium/types": "^1.0.0",
"axios": "1.11.0",
"bluebird": "3.7.2",
"chai": "5.2.1",
"chai": "5.3.1",
"chai-as-promised": "8.0.1",
"get-port": "5.1.1",
"lodash": "4.17.21",
@@ -19868,7 +19868,7 @@
},
"packages/eslint-config-appium-ts": {
"name": "@appium/eslint-config-appium-ts",
"version": "2.0.0-rc.1",
"version": "2.0.1",
"license": "Apache-2.0",
"dependencies": {
"@eslint/compat": "1.3.2",
@@ -19878,7 +19878,7 @@
"eslint-plugin-import": "2.32.0",
"eslint-plugin-mocha": "10.5.0",
"eslint-plugin-promise": "7.2.1",
"typescript-eslint": "8.39.1"
"typescript-eslint": "8.40.0"
},
"engines": {
"node": "^20.19.0 || ^22.12.0 || >=24.0.0",
@@ -19890,7 +19890,7 @@
},
"packages/execute-driver-plugin": {
"name": "@appium/execute-driver-plugin",
"version": "5.0.0-rc.1",
"version": "5.0.0",
"license": "Apache-2.0",
"dependencies": {
"bluebird": "3.7.2",
@@ -20393,7 +20393,7 @@
},
"packages/fake-driver": {
"name": "@appium/fake-driver",
"version": "6.0.0-rc.1",
"version": "6.0.0",
"license": "Apache-2.0",
"dependencies": {
"@xmldom/xmldom": "0.9.8",
@@ -20413,11 +20413,11 @@
},
"packages/fake-plugin": {
"name": "@appium/fake-plugin",
"version": "4.0.0-rc.1",
"version": "4.0.1",
"license": "Apache-2.0",
"dependencies": {
"@appium/base-plugin": "^3.0.0-rc.2",
"@appium/support": "^7.0.0-rc.1",
"@appium/base-plugin": "^3.0.1",
"@appium/support": "^7.0.0",
"bluebird": "3.7.2",
"lodash": "4.17.21",
"source-map-support": "0.5.21"
@@ -20432,11 +20432,11 @@
},
"packages/images-plugin": {
"name": "@appium/images-plugin",
"version": "4.0.0-rc.1",
"version": "4.0.0",
"license": "Apache-2.0",
"dependencies": {
"@appium/opencv": "^4.0.0-rc.1",
"@appium/support": "^7.0.0-rc.1",
"@appium/opencv": "^4.0.0",
"@appium/support": "^7.0.0",
"lodash": "4.17.21",
"lru-cache": "11.1.0",
"sharp": "0.34.3",
@@ -20461,7 +20461,7 @@
},
"packages/logger": {
"name": "@appium/logger",
"version": "2.0.0-rc.1",
"version": "2.0.0",
"license": "ISC",
"dependencies": {
"console-control-strings": "1.1.0",
@@ -20485,7 +20485,7 @@
},
"packages/opencv": {
"name": "@appium/opencv",
"version": "4.0.0-rc.1",
"version": "4.0.0",
"license": "Apache-2.0",
"dependencies": {
"bluebird": "3.7.2",
@@ -20501,14 +20501,14 @@
},
"packages/plugin-test-support": {
"name": "@appium/plugin-test-support",
"version": "1.0.0-rc.1",
"version": "1.0.0",
"license": "Apache-2.0",
"dependencies": {
"@appium/types": "^1.0.0-rc.1",
"@appium/types": "^1.0.0",
"get-port": "5.1.1",
"log-symbols": "4.1.0",
"source-map-support": "0.5.21",
"teen_process": "2.3.3"
"teen_process": "3.0.0"
},
"engines": {
"node": "^20.19.0 || ^22.12.0 || >=24.0.0",
@@ -20521,7 +20521,7 @@
},
"packages/relaxed-caps-plugin": {
"name": "@appium/relaxed-caps-plugin",
"version": "2.0.0-rc.1",
"version": "2.0.0",
"license": "Apache-2.0",
"dependencies": {
"lodash": "4.17.21",
@@ -20537,7 +20537,7 @@
},
"packages/schema": {
"name": "@appium/schema",
"version": "1.0.0-rc.1",
"version": "1.0.0",
"license": "Apache-2.0",
"dependencies": {
"json-schema": "0.4.0",
@@ -20550,10 +20550,10 @@
},
"packages/storage-plugin": {
"name": "@appium/storage-plugin",
"version": "1.0.0-rc.1",
"version": "1.0.0",
"license": "Apache-2.0",
"dependencies": {
"@appium/support": "^7.0.0-rc.1",
"@appium/support": "^7.0.0",
"async-lock": "1.4.1",
"bluebird": "3.7.2",
"lodash": "4.17.21",
@@ -20581,7 +20581,7 @@
},
"packages/strongbox": {
"name": "@appium/strongbox",
"version": "1.0.0-rc.1",
"version": "1.0.0",
"license": "Apache-2.0",
"dependencies": {
"env-paths": "2.2.1",
@@ -20594,12 +20594,12 @@
},
"packages/support": {
"name": "@appium/support",
"version": "7.0.0-rc.1",
"version": "7.0.0",
"license": "Apache-2.0",
"dependencies": {
"@appium/logger": "^2.0.0-rc.1",
"@appium/tsconfig": "^1.0.0-rc.1",
"@appium/types": "^1.0.0-rc.1",
"@appium/logger": "^2.0.0",
"@appium/tsconfig": "^1.0.0",
"@appium/types": "^1.0.0",
"@colors/colors": "1.6.0",
"archiver": "7.0.1",
"axios": "1.11.0",
@@ -20627,7 +20627,7 @@
"shell-quote": "1.8.3",
"source-map-support": "0.5.21",
"supports-color": "8.1.1",
"teen_process": "2.3.3",
"teen_process": "3.0.0",
"type-fest": "4.41.0",
"uuid": "11.1.0",
"which": "5.0.0",
@@ -20830,10 +20830,10 @@
},
"packages/test-support": {
"name": "@appium/test-support",
"version": "4.0.0-rc.1",
"version": "4.0.0",
"license": "Apache-2.0",
"dependencies": {
"@appium/support": "^7.0.0-rc.1",
"@appium/support": "^7.0.0",
"@colors/colors": "1.6.0",
"bluebird": "3.7.2",
"lodash": "4.17.21",
@@ -20852,7 +20852,7 @@
},
"packages/tsconfig": {
"name": "@appium/tsconfig",
"version": "1.0.0-rc.1",
"version": "1.0.0",
"license": "Apache-2.0",
"dependencies": {
"@tsconfig/node14": "14.1.4"
@@ -20864,12 +20864,12 @@
},
"packages/types": {
"name": "@appium/types",
"version": "1.0.0-rc.1",
"version": "1.0.0",
"license": "Apache-2.0",
"dependencies": {
"@appium/logger": "^2.0.0-rc.1",
"@appium/schema": "^1.0.0-rc.1",
"@appium/tsconfig": "^1.0.0-rc.1",
"@appium/logger": "^2.0.0",
"@appium/schema": "^1.0.0",
"@appium/tsconfig": "^1.0.0",
"type-fest": "4.41.0"
},
"engines": {
@@ -20891,7 +20891,7 @@
},
"packages/universal-xml-plugin": {
"name": "@appium/universal-xml-plugin",
"version": "2.0.0-rc.1",
"version": "2.0.0",
"license": "Apache-2.0",
"dependencies": {
"@xmldom/xmldom": "0.9.8",
@@ -20959,8 +20959,8 @@
"@appium/base-driver": {
"version": "file:packages/base-driver",
"requires": {
"@appium/support": "^7.0.0-rc.1",
"@appium/types": "^1.0.0-rc.1",
"@appium/support": "^7.0.0",
"@appium/types": "^1.0.0",
"@colors/colors": "1.6.0",
"async-lock": "1.4.1",
"asyncbox": "3.0.0",
@@ -21081,23 +21081,23 @@
"@appium/base-plugin": {
"version": "file:packages/base-plugin",
"requires": {
"@appium/base-driver": "^10.0.0-rc.2",
"@appium/support": "^7.0.0-rc.1"
"@appium/base-driver": "^10.0.0",
"@appium/support": "^7.0.0"
}
},
"@appium/docutils": {
"version": "file:packages/docutils",
"requires": {
"@appium/support": "^7.0.0-rc.1",
"@appium/support": "^7.0.0",
"chalk": "4.1.2",
"consola": "3.4.2",
"diff": "8.0.02",
"diff": "8.0.2",
"lilconfig": "3.1.3",
"lodash": "4.17.21",
"pkg-dir": "5.0.0",
"read-pkg": "5.2.0",
"source-map-support": "0.5.21",
"teen_process": "2.3.3",
"teen_process": "3.0.0",
"type-fest": "4.41.0",
"yaml": "2.8.1",
"yargs": "18.0.0",
@@ -21225,10 +21225,10 @@
"@appium/driver-test-support": {
"version": "file:packages/driver-test-support",
"requires": {
"@appium/types": "^1.0.0-rc.1",
"@appium/types": "^1.0.0",
"axios": "1.11.0",
"bluebird": "3.7.2",
"chai": "5.2.1",
"chai": "5.3.1",
"chai-as-promised": "8.0.1",
"get-port": "5.1.1",
"lodash": "4.17.21",
@@ -21263,7 +21263,7 @@
"eslint-plugin-import": "2.32.0",
"eslint-plugin-mocha": "10.5.0",
"eslint-plugin-promise": "7.2.1",
"typescript-eslint": "8.39.1"
"typescript-eslint": "8.40.0"
}
},
"@appium/execute-driver-plugin": {
@@ -21607,8 +21607,8 @@
"@appium/fake-plugin": {
"version": "file:packages/fake-plugin",
"requires": {
"@appium/base-plugin": "^3.0.0-rc.2",
"@appium/support": "^7.0.0-rc.1",
"@appium/base-plugin": "^3.0.1",
"@appium/support": "^7.0.0",
"bluebird": "3.7.2",
"lodash": "4.17.21",
"source-map-support": "0.5.21"
@@ -21617,8 +21617,8 @@
"@appium/images-plugin": {
"version": "file:packages/images-plugin",
"requires": {
"@appium/opencv": "^4.0.0-rc.1",
"@appium/support": "^7.0.0-rc.1",
"@appium/opencv": "^4.0.0",
"@appium/support": "^7.0.0",
"lodash": "4.17.21",
"lru-cache": "11.1.0",
"sharp": "0.34.3",
@@ -21661,11 +21661,11 @@
"@appium/plugin-test-support": {
"version": "file:packages/plugin-test-support",
"requires": {
"@appium/types": "^1.0.0-rc.1",
"@appium/types": "^1.0.0",
"get-port": "5.1.1",
"log-symbols": "4.1.0",
"source-map-support": "0.5.21",
"teen_process": "2.3.3"
"teen_process": "3.0.0"
}
},
"@appium/relaxed-caps-plugin": {
@@ -21685,7 +21685,7 @@
"@appium/storage-plugin": {
"version": "file:packages/storage-plugin",
"requires": {
"@appium/support": "^7.0.0-rc.1",
"@appium/support": "^7.0.0",
"async-lock": "1.4.1",
"bluebird": "3.7.2",
"lodash": "4.17.21",
@@ -21712,9 +21712,9 @@
"@appium/support": {
"version": "file:packages/support",
"requires": {
"@appium/logger": "^2.0.0-rc.1",
"@appium/tsconfig": "^1.0.0-rc.1",
"@appium/types": "^1.0.0-rc.1",
"@appium/logger": "^2.0.0",
"@appium/tsconfig": "^1.0.0",
"@appium/types": "^1.0.0",
"@colors/colors": "1.6.0",
"archiver": "7.0.1",
"axios": "1.11.0",
@@ -21743,7 +21743,7 @@
"shell-quote": "1.8.3",
"source-map-support": "0.5.21",
"supports-color": "8.1.1",
"teen_process": "2.3.3",
"teen_process": "3.0.0",
"type-fest": "4.41.0",
"uuid": "11.1.0",
"which": "5.0.0",
@@ -21858,7 +21858,7 @@
"@appium/test-support": {
"version": "file:packages/test-support",
"requires": {
"@appium/support": "^7.0.0-rc.1",
"@appium/support": "^7.0.0",
"@colors/colors": "1.6.0",
"bluebird": "3.7.2",
"lodash": "4.17.21",
@@ -21876,9 +21876,9 @@
"@appium/types": {
"version": "file:packages/types",
"requires": {
"@appium/logger": "^2.0.0-rc.1",
"@appium/schema": "^1.0.0-rc.1",
"@appium/tsconfig": "^1.0.0-rc.1",
"@appium/logger": "^2.0.0",
"@appium/schema": "^1.0.0",
"@appium/tsconfig": "^1.0.0",
"type-fest": "4.41.0"
},
"dependencies": {
@@ -23781,9 +23781,9 @@
}
},
"@types/node": {
"version": "22.17.1",
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.17.1.tgz",
"integrity": "sha512-y3tBaz+rjspDTylNjAX37jEC3TETEFGNJL6uQDxwF9/8GLLIjW1rvVHlynyuUKMnMr1Roq8jOv3vkopBjC4/VA==",
"version": "22.17.2",
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.17.2.tgz",
"integrity": "sha512-gL6z5N9Jm9mhY+U2KXZpteb+09zyffliRkZyZOHODGATyC5B1Jt/7TzuuiLkFsSUMLbS1OLmlj/E+/3KF4Q/4w==",
"requires": {
"undici-types": "~6.21.0"
},
@@ -23972,15 +23972,15 @@
}
},
"@typescript-eslint/eslint-plugin": {
"version": "8.39.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.39.1.tgz",
"integrity": "sha512-yYegZ5n3Yr6eOcqgj2nJH8cH/ZZgF+l0YIdKILSDjYFRjgYQMgv/lRjV5Z7Up04b9VYUondt8EPMqg7kTWgJ2g==",
"version": "8.40.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.40.0.tgz",
"integrity": "sha512-w/EboPlBwnmOBtRbiOvzjD+wdiZdgFeo17lkltrtn7X37vagKKWJABvyfsJXTlHe6XBzugmYgd4A4nW+k8Mixw==",
"requires": {
"@eslint-community/regexpp": "^4.10.0",
"@typescript-eslint/scope-manager": "8.39.1",
"@typescript-eslint/type-utils": "8.39.1",
"@typescript-eslint/utils": "8.39.1",
"@typescript-eslint/visitor-keys": "8.39.1",
"@typescript-eslint/scope-manager": "8.40.0",
"@typescript-eslint/type-utils": "8.40.0",
"@typescript-eslint/utils": "8.40.0",
"@typescript-eslint/visitor-keys": "8.40.0",
"graphemer": "^1.4.0",
"ignore": "^7.0.0",
"natural-compare": "^1.4.0",
@@ -23995,68 +23995,68 @@
}
},
"@typescript-eslint/parser": {
"version": "8.39.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.39.1.tgz",
"integrity": "sha512-pUXGCuHnnKw6PyYq93lLRiZm3vjuslIy7tus1lIQTYVK9bL8XBgJnCWm8a0KcTtHC84Yya1Q6rtll+duSMj0dg==",
"version": "8.40.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.40.0.tgz",
"integrity": "sha512-jCNyAuXx8dr5KJMkecGmZ8KI61KBUhkCob+SD+C+I5+Y1FWI2Y3QmY4/cxMCC5WAsZqoEtEETVhUiUMIGCf6Bw==",
"requires": {
"@typescript-eslint/scope-manager": "8.39.1",
"@typescript-eslint/types": "8.39.1",
"@typescript-eslint/typescript-estree": "8.39.1",
"@typescript-eslint/visitor-keys": "8.39.1",
"@typescript-eslint/scope-manager": "8.40.0",
"@typescript-eslint/types": "8.40.0",
"@typescript-eslint/typescript-estree": "8.40.0",
"@typescript-eslint/visitor-keys": "8.40.0",
"debug": "^4.3.4"
}
},
"@typescript-eslint/project-service": {
"version": "8.39.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.39.1.tgz",
"integrity": "sha512-8fZxek3ONTwBu9ptw5nCKqZOSkXshZB7uAxuFF0J/wTMkKydjXCzqqga7MlFMpHi9DoG4BadhmTkITBcg8Aybw==",
"version": "8.40.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.40.0.tgz",
"integrity": "sha512-/A89vz7Wf5DEXsGVvcGdYKbVM9F7DyFXj52lNYUDS1L9yJfqjW/fIp5PgMuEJL/KeqVTe2QSbXAGUZljDUpArw==",
"requires": {
"@typescript-eslint/tsconfig-utils": "^8.39.1",
"@typescript-eslint/types": "^8.39.1",
"@typescript-eslint/tsconfig-utils": "^8.40.0",
"@typescript-eslint/types": "^8.40.0",
"debug": "^4.3.4"
}
},
"@typescript-eslint/scope-manager": {
"version": "8.39.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.39.1.tgz",
"integrity": "sha512-RkBKGBrjgskFGWuyUGz/EtD8AF/GW49S21J8dvMzpJitOF1slLEbbHnNEtAHtnDAnx8qDEdRrULRnWVx27wGBw==",
"version": "8.40.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.40.0.tgz",
"integrity": "sha512-y9ObStCcdCiZKzwqsE8CcpyuVMwRouJbbSrNuThDpv16dFAj429IkM6LNb1dZ2m7hK5fHyzNcErZf7CEeKXR4w==",
"requires": {
"@typescript-eslint/types": "8.39.1",
"@typescript-eslint/visitor-keys": "8.39.1"
"@typescript-eslint/types": "8.40.0",
"@typescript-eslint/visitor-keys": "8.40.0"
}
},
"@typescript-eslint/tsconfig-utils": {
"version": "8.39.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.39.1.tgz",
"integrity": "sha512-ePUPGVtTMR8XMU2Hee8kD0Pu4NDE1CN9Q1sxGSGd/mbOtGZDM7pnhXNJnzW63zk/q+Z54zVzj44HtwXln5CvHA==",
"version": "8.40.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.40.0.tgz",
"integrity": "sha512-jtMytmUaG9d/9kqSl/W3E3xaWESo4hFDxAIHGVW/WKKtQhesnRIJSAJO6XckluuJ6KDB5woD1EiqknriCtAmcw==",
"requires": {}
},
"@typescript-eslint/type-utils": {
"version": "8.39.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.39.1.tgz",
"integrity": "sha512-gu9/ahyatyAdQbKeHnhT4R+y3YLtqqHyvkfDxaBYk97EcbfChSJXyaJnIL3ygUv7OuZatePHmQvuH5ru0lnVeA==",
"version": "8.40.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.40.0.tgz",
"integrity": "sha512-eE60cK4KzAc6ZrzlJnflXdrMqOBaugeukWICO2rB0KNvwdIMaEaYiywwHMzA1qFpTxrLhN9Lp4E/00EgWcD3Ow==",
"requires": {
"@typescript-eslint/types": "8.39.1",
"@typescript-eslint/typescript-estree": "8.39.1",
"@typescript-eslint/utils": "8.39.1",
"@typescript-eslint/types": "8.40.0",
"@typescript-eslint/typescript-estree": "8.40.0",
"@typescript-eslint/utils": "8.40.0",
"debug": "^4.3.4",
"ts-api-utils": "^2.1.0"
}
},
"@typescript-eslint/types": {
"version": "8.39.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.39.1.tgz",
"integrity": "sha512-7sPDKQQp+S11laqTrhHqeAbsCfMkwJMrV7oTDvtDds4mEofJYir414bYKUEb8YPUm9QL3U+8f6L6YExSoAGdQw=="
"version": "8.40.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.40.0.tgz",
"integrity": "sha512-ETdbFlgbAmXHyFPwqUIYrfc12ArvpBhEVgGAxVYSwli26dn8Ko+lIo4Su9vI9ykTZdJn+vJprs/0eZU0YMAEQg=="
},
"@typescript-eslint/typescript-estree": {
"version": "8.39.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.39.1.tgz",
"integrity": "sha512-EKkpcPuIux48dddVDXyQBlKdeTPMmALqBUbEk38McWv0qVEZwOpVJBi7ugK5qVNgeuYjGNQxrrnoM/5+TI/BPw==",
"version": "8.40.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.40.0.tgz",
"integrity": "sha512-k1z9+GJReVVOkc1WfVKs1vBrR5MIKKbdAjDTPvIK3L8De6KbFfPFt6BKpdkdk7rZS2GtC/m6yI5MYX+UsuvVYQ==",
"requires": {
"@typescript-eslint/project-service": "8.39.1",
"@typescript-eslint/tsconfig-utils": "8.39.1",
"@typescript-eslint/types": "8.39.1",
"@typescript-eslint/visitor-keys": "8.39.1",
"@typescript-eslint/project-service": "8.40.0",
"@typescript-eslint/tsconfig-utils": "8.40.0",
"@typescript-eslint/types": "8.40.0",
"@typescript-eslint/visitor-keys": "8.40.0",
"debug": "^4.3.4",
"fast-glob": "^3.3.2",
"is-glob": "^4.0.3",
@@ -24084,22 +24084,22 @@
}
},
"@typescript-eslint/utils": {
"version": "8.39.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.39.1.tgz",
"integrity": "sha512-VF5tZ2XnUSTuiqZFXCZfZs1cgkdd3O/sSYmdo2EpSyDlC86UM/8YytTmKnehOW3TGAlivqTDT6bS87B/GQ/jyg==",
"version": "8.40.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.40.0.tgz",
"integrity": "sha512-Cgzi2MXSZyAUOY+BFwGs17s7ad/7L+gKt6Y8rAVVWS+7o6wrjeFN4nVfTpbE25MNcxyJ+iYUXflbs2xR9h4UBg==",
"requires": {
"@eslint-community/eslint-utils": "^4.7.0",
"@typescript-eslint/scope-manager": "8.39.1",
"@typescript-eslint/types": "8.39.1",
"@typescript-eslint/typescript-estree": "8.39.1"
"@typescript-eslint/scope-manager": "8.40.0",
"@typescript-eslint/types": "8.40.0",
"@typescript-eslint/typescript-estree": "8.40.0"
}
},
"@typescript-eslint/visitor-keys": {
"version": "8.39.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.39.1.tgz",
"integrity": "sha512-W8FQi6kEh2e8zVhQ0eeRnxdvIoOkAp/CPAahcNio6nO9dsIwb9b34z90KOlheoyuVf6LSOEdjlkxSkapNEc+4A==",
"version": "8.40.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.40.0.tgz",
"integrity": "sha512-8CZ47QwalyRjsypfwnbI3hKy5gJDPmrkLjkgMxhi0+DZZ2QNx2naS6/hWoVYUHU7LU2zleF68V9miaVZvhFfTA==",
"requires": {
"@typescript-eslint/types": "8.39.1",
"@typescript-eslint/types": "8.40.0",
"eslint-visitor-keys": "^4.2.1"
},
"dependencies": {
@@ -24664,13 +24664,13 @@
"appium": {
"version": "file:packages/appium",
"requires": {
"@appium/base-driver": "^10.0.0-rc.2",
"@appium/base-plugin": "^3.0.0-rc.2",
"@appium/docutils": "^2.0.0-rc.1",
"@appium/logger": "^2.0.0-rc.1",
"@appium/schema": "^1.0.0-rc.1",
"@appium/support": "^7.0.0-rc.1",
"@appium/types": "^1.0.0-rc.1",
"@appium/base-driver": "^10.0.0",
"@appium/base-plugin": "^3.0.1",
"@appium/docutils": "^2.0.1",
"@appium/logger": "^2.0.0",
"@appium/schema": "^1.0.0",
"@appium/support": "^7.0.0",
"@appium/types": "^1.0.0",
"@sidvind/better-ajv-errors": "4.0.0",
"ajv": "8.17.1",
"ajv-formats": "3.0.1",
@@ -24687,7 +24687,7 @@
"resolve-from": "5.0.0",
"semver": "7.7.2",
"source-map-support": "0.5.21",
"teen_process": "2.3.3",
"teen_process": "3.0.0",
"type-fest": "4.41.0",
"winston": "3.17.0",
"wrap-ansi": "7.0.0",
@@ -25440,9 +25440,9 @@
}
},
"chai": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/chai/-/chai-5.2.1.tgz",
"integrity": "sha512-5nFxhUrX0PqtyogoYOA8IPswy5sZFTOsBFl/9bNsmDLgsxYTzSZQJDPppDnZPTQbzSEm0hqGjWPzRemQCYbD6A==",
"version": "5.3.1",
"resolved": "https://registry.npmjs.org/chai/-/chai-5.3.1.tgz",
"integrity": "sha512-48af6xm9gQK8rhIcOxWwdGzIervm8BVTin+yRp9HEvU20BtVZ2lBywlIJBzwaDtvo0FvjeL7QdCADoUoqIbV3A==",
"requires": {
"assertion-error": "^2.0.1",
"check-error": "^2.1.1",
@@ -33290,9 +33290,9 @@
}
},
"teen_process": {
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/teen_process/-/teen_process-2.3.3.tgz",
"integrity": "sha512-NIdeetf/6gyEqLjnzvfgQe7PfipSceq2xDQM2Py2BkBnIIeWh3HRD3vNhulyO5WppfCv9z4mtsEHyq8kdiULTA==",
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/teen_process/-/teen_process-3.0.0.tgz",
"integrity": "sha512-UuRgQZkfhbeD+bEn+hqLPs6IhXYhY7bcKecj1yiNAfRty6oOftJmYGksW8l111dvs3dOR/U38adOkXrAww3/bg==",
"requires": {
"bluebird": "^3.7.2",
"lodash": "^4.17.21",
@@ -33730,14 +33730,14 @@
"integrity": "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A=="
},
"typescript-eslint": {
"version": "8.39.1",
"resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.39.1.tgz",
"integrity": "sha512-GDUv6/NDYngUlNvwaHM1RamYftxf782IyEDbdj3SeaIHHv8fNQVRC++fITT7kUJV/5rIA/tkoRSSskt6osEfqg==",
"version": "8.40.0",
"resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.40.0.tgz",
"integrity": "sha512-Xvd2l+ZmFDPEt4oj1QEXzA4A2uUK6opvKu3eGN9aGjB8au02lIVcLyi375w94hHyejTOmzIU77L8ol2sRg9n7Q==",
"requires": {
"@typescript-eslint/eslint-plugin": "8.39.1",
"@typescript-eslint/parser": "8.39.1",
"@typescript-eslint/typescript-estree": "8.39.1",
"@typescript-eslint/utils": "8.39.1"
"@typescript-eslint/eslint-plugin": "8.40.0",
"@typescript-eslint/parser": "8.40.0",
"@typescript-eslint/typescript-estree": "8.40.0",
"@typescript-eslint/utils": "8.40.0"
}
},
"uglify-js": {
+4 -4
View File
@@ -104,7 +104,7 @@
"@types/mocha": "10.0.10",
"@types/mv": "2.1.4",
"@types/ncp": "2.0.8",
"@types/node": "22.17.1",
"@types/node": "22.17.2",
"@types/pluralize": "0.0.33",
"@types/semver": "7.7.0",
"@types/serve-favicon": "2.5.7",
@@ -121,7 +121,7 @@
"@types/xmldom": "0.1.34",
"@types/yargs": "17.0.33",
"asyncbox": "3.0.0",
"chai": "5.2.1",
"chai": "5.3.1",
"chai-as-promised": "8.0.1",
"conventional-changelog-conventionalcommits": "7.0.2",
"cpy-cli": "6.0.0",
@@ -148,11 +148,11 @@
"serve-static": "2.2.0",
"sinon": "21.0.0",
"sync-monorepo-packages": "1.0.2",
"teen_process": "2.3.3",
"teen_process": "3.0.0",
"ts-node": "10.9.2",
"tsd": "0.33.0",
"typescript": "5.9.2",
"typescript-eslint": "8.39.1",
"typescript-eslint": "8.40.0",
"webdriverio": "9.19.1",
"ws": "8.18.3",
"yaml-js": "0.3.1"
+19
View File
@@ -3,6 +3,25 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [3.0.1](https://github.com/appium/appium/compare/appium@3.0.0...appium@3.0.1) (2025-08-20)
**Note:** Version bump only for package appium
## [3.0.0](https://github.com/appium/appium/compare/appium@3.0.0-rc.2...appium@3.0.0) (2025-08-18)
### Appium 3 Is Here! 🚀
[See the blog post](https://appium.io/docs/en/latest/blog/2025/08/07/-appium-3/)
and [the migration guide](https://appium.io/docs/en/latest/guides/migrating-2-to-3/) for more details.
## [3.0.0-rc.2](https://github.com/appium/appium/compare/appium@2.16.2...appium@3.0.0-rc.2) (2025-08-14)
+6 -12
View File
@@ -1,5 +1,3 @@
[![Stand With Ukraine](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/banner2-direct.svg)](https://vshymanskyy.github.io/StandWithUkraine/)
<p align="center">
<a href="https://appium.io/">
<img alt="Appium" src="https://raw.githubusercontent.com/appium/appium/master/packages/appium/docs/overrides/assets/images/appium-logo-horiz.png" width="500">
@@ -15,6 +13,7 @@
[![Monthly Downloads](https://img.shields.io/npm/dm/appium.svg)](https://npmjs.org/package/appium)
[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Fappium%2Fappium.svg?type=shield)](https://app.fossa.io/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Fappium%2Fappium?ref=badge_shield)
[![StandWithUkraine](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/badges/StandWithUkraine.svg)](https://github.com/vshymanskyy/StandWithUkraine/)
[![CeasefireInGaza](https://img.shields.io/badge/Ceasefire_Now-%F0%9F%87%B5%F0%9F%87%B8-red?style=flat)](https://www.unrwa.org/)
</div>
@@ -39,18 +38,13 @@ programming languages, which means there is an entire ecosystem of related softw
* [__Clients__](#clients) allow writing Appium tests in your programming language of choice
* [__Plugins__](#plugins) allow to further extend Appium functionality
## Migrating From Appium 1 to Appium 2
## Upgrading From Older Versions
As of January 1st, 2022, the Appium team no longer maintains or supports Appium 1. All officially
supported platform drivers are only compatible with Appium 2.
The Appium team only provides support for the most recent version of Appium. If you wish to upgrade from
an older major Appium version, please refer to the migration guides:
__[Please read the Migration Guide](https://appium.io/docs/en/latest/guides/migrating-1-to-2/) if you
are still using Appium 1.__
> [!WARNING]
> If you use Appium Desktop or Appium Server GUI, you will not be able to upgrade to Appium 2, as
both of these tools have been deprecated. Please use [Appium Inspector](https://github.com/appium/appium-inspector)
in combination with a standalone Appium 2 server.
* [Appium v2 to v3](https://appium.io/docs/en/latest/guides/migrating-2-to-3/)
* [Appium v1 to v2](https://appium.io/docs/en/latest/guides/migrating-1-to-2/)
## Installation
@@ -0,0 +1,40 @@
---
authors:
- sai
- srini
- jlipps
date: 2025-08-07
---
# 🚀 Appium 3
Appium 3 is here — and while it's not as massive a leap as Appium 2, it introduces a few essential
breaking changes that developers and QA engineers should be aware of.
<!-- more -->
The main idea behind Appium 3 is to clear out old cruft so that Appium can be leaner moving
forward, and rely on newer versions of software with better performance and security
characteristics. We're also getting rid of legacy behaviors and protocols that we deprecated as
part of Appium 2.
For you as a user, there's not much to worry about. The breaking changes are minimal:
- Node.js / NPM minimum version bump (to 20.19 / 10)
- Removal of certain deprecated endpoints
- Security feature flag prefix requirements (e.g. `adb_shell` to `uiautomator2:adb_shell`)
In terms of new features, we've been adding them incrementally rather than saving them up for
Appium 3. But with this release we are excited to share these new capabilities:
- `appium plugin install inspector` (Use Appium to host the Inspector rather than downloading it as a separate app)
- Clients can set the `X-Appium-Is-Sensitive` HTTP header on requests to direct the server to mask the data in the request in the logs, so that when you send a password into an input box, the password's actual value is not logged in plaintext. ([Learn more](../../developing/sensitive.md))
Of course, we have a full [Appium 3 migration guide](../../guides/migrating-2-to-3.md) to make sure
you know all the details and can deeply understand the consequences of upgrading to Appium 3 in
your environment.
---
**Ready to make the leap?** Appium 3 is a great step forward in creating more secure, maintainable,
and W3C-compliant test automation pipelines. Happy testing!
@@ -5,7 +5,7 @@
`POST` **`/session`**
Historically the first two arguments were reserved for JSONWP capabilities.
Appium 2 has dropped the support of these, so now we only accept capability
These are no longer supported since Appium 2, so now we only accept capability
objects in W3C format and thus allow any of the three arguments to represent
the latter.
@@ -2,8 +2,8 @@
title: Appium's Config System
---
Appium 2 supports [configuration files](../guides/config.md). A configuration file is intended to
have (nearly) 1:1 parity with command-line arguments. An end user can supply Appium 2 with
Appium includes support for [configuration files](../guides/config.md). A configuration file is
intended to have (nearly) 1:1 parity with command-line arguments. An end user can supply Appium with
a configuration file, CLI args, or both (the args have precedence over the config file).
This document will be a technical overview of how the configuration system works. It is intended
@@ -323,7 +323,7 @@ One of the design goals of this system is the following:
_An extension should be able to register custom CLI arguments with the Appium, and a user should be
able to use them like any other argument_.
Previously, Appium 2 accepted arguments in this manner (via `--driverArgs`), but validation was
Previously, Appium accepted arguments in this manner (via `--driverArgs`), but validation was
hand-rolled and required extension implementors to use a custom API. It also required the user to
awkwardly pass a JSON string as the configuration on the command-line. Further, no contextual help
(via `--help`) existed for these arguments.
+1 -1
View File
@@ -5,7 +5,7 @@ hide:
title: Intro to Development
---
Appium 2 is built with a modular structure, which means that Appium extensions (drivers and plugins)
Appium is built with a modular structure, which means that Appium extensions (drivers and plugins)
are decoupled from the main Appium module, and you only need to install the extensions that you
want to use. This modular structure also unlocks the ability to develop entirely new extensions!
+1 -1
View File
@@ -144,7 +144,7 @@ drivers and plugins. It is of course up to each service provider how they wish t
discovery, installation, and availability of any official or third party drivers or plugins. But
the Appium team does provide several suggestions, for consistency across the industry. _These are
recommendations only,_ and not a standard, but adopting it will help users to navigate the increased
complexity that working with Appium 2 in a cloud environment may bring.
complexity that working with Appium in a cloud environment may bring.
### Suggested capabilities
@@ -13,6 +13,16 @@ It contains a list of breaking changes, as well as suggestions for handling them
While Appium 2 was a major overhaul of the entire Appium architecture, Appium 3 is a smaller
upgrade with fewer breaking changes, which should result in a much simpler migration process.
## Installation
The installation method for Appium 3 remains the same as for Appium 2. If you want to upgrade, you
can simply install Appium 3 on top of your existing installation:
```bash
# optional: `appium setup reset`
npm install -g appium
```
## Breaking Changes
### Node 20+ Required
@@ -22,7 +32,8 @@ ended before the release of Appium 2, which meant that even users on outdated No
able to use it.
Appium 3 drops support for outdated Node versions, and bumps the minimum required version to Node
`20.19.0`, as well as the minimum `npm` version to `10`.
`20.19.0` (with the semver range `^20.19.0 || ^22.12.0 || >=24.0.0`), as well as the minimum `npm`
version to `10`.
!!! info "Actions Needed"
+21 -7
View File
@@ -157,8 +157,7 @@ it was easy for users or third-party developers to build their own Appium
on the Appium codebase, and to see support for new platforms added to Appium by
groups other than the core team. That vision has begun to be fulfilled, with
groups like Microsoft and Youi.tv adding drivers to Appium for Windows desktop
app automation and Youi.tv app automation, respectively. Who knows what
platforms will be added next?
app automation and Youi.tv app automation, respectively.
## Appium To The People
@@ -172,11 +171,26 @@ foundation, we hope that the door will open even more widely for new
contributors, either as individuals or representing one of the many companies
which now have an interest in seeing Appium move forward.
Eventually, the JS Foundation merged into the [OpenJS Foundation](https://openjsf.org), and Appium
is currently an Impact Project in the foundation.
Eventually, the JS Foundation merged into the [OpenJS Foundation](https://openjsf.org),
and Appium became an Impact Project in the foundation.
## Appium 2.0
Appium 2 was released in 2023, with a new focus on Appium as an ecosystem rather than a singular
project. Drivers and plugins can be developed and shared by anyone, opening up a world of
possibilities for automation-related development for platforms far beyond iOS and Android.
Appium 2 was released in 2023 and introduced an entirely revamped architecture, shifting focus to Appium
as an ecosystem rather than an all-in-one project. This unlocked the ability for anyone to develop
and share their own Appium extensions (drivers and plugins), opening up a world of possibilities
for automation-related development for platforms far beyond iOS and Android! As a result,
many third-party extensions were created, such as new drivers for Flutter and Windows, plugins for
mocking APIs and managing device farms, new Appium clients based on Rust and Swift, and much more.
Around this time was also when we started a sponsorship program for Appium, which attracted various
major and minor sponsors alike. This allowed us to give back to the Appium community, by compensating
contributors for their voluntary work on the project.
## Appium 3.0
2025 saw the release of Appium 3. This update was a lot smaller than Appium 2 and included only a
few behavioral changes, instead focusing on removing deprecated code and updating compatibility for
more modern ecosystems. Still, this reduced scope was also to be expected: since Appium 2, the
main feature development efforts had shifted to individual drivers and plugins, many of which had
gone through multiple major updates during the Appium 2 era.
+8
View File
@@ -18,3 +18,11 @@ maintainers, Jonathan Lipps, with lots of useful guides
- [Appium and Selenium Fundamentals](https://ui.headspin.io/university/learn/appium-selenium-fundamentals-2020) - a comprehensive video course on learning Python, Selenium, and Appium by Jonathan Lipps
- [Mobile Test Automation with Appium](https://testautomationu.applitools.com/appium-java-tutorial/) - a video course by Moataz Nabil
- [Advanced Appium](https://www.linkedin.com/learning/advanced-appium) - a video course by Jonathan Lipps
## Conference Archives
- [AppiumConf 2018](https://www.youtube.com/playlist?list=PLhr2WKNPXcZOmOf1k2aqkbMZwnZb2pSZL)
- [AppiumConf 2019](https://www.youtube.com/playlist?list=PL9Z-JgiTsOYSfJh9YKI9Stj3FMwHERw6w)
- [AppiumConf 2021](https://www.youtube.com/playlist?list=PL9Z-JgiTsOYRCcJhDfmKAah9XmAp2b903)
- [AppiumConf 2024](https://www.youtube.com/playlist?list=PL9Z-JgiTsOYQaU5i5LJtAWlh5WVZPi3If)
- [SeleniumConf & AppiumConf 2025](https://www.youtube.com/playlist?list=PLRdSclUtJDYV2R92TLbmwxws6clruuTjH)
@@ -0,0 +1,40 @@
---
authors:
- sai
- srini
- jlipps
date: 2025-08-07
---
# 🚀 Appium 3
Appium 3 is here — and while it's not as massive a leap as Appium 2, it introduces a few essential
breaking changes that developers and QA engineers should be aware of.
<!-- more -->
The main idea behind Appium 3 is to clear out old cruft so that Appium can be leaner moving
forward, and rely on newer versions of software with better performance and security
characteristics. We're also getting rid of legacy behaviors and protocols that we deprecated as
part of Appium 2.
For you as a user, there's not much to worry about. The breaking changes are minimal:
- Node.js / NPM minimum version bump (to 20.19 / 10)
- Removal of certain deprecated endpoints
- Security feature flag prefix requirements (e.g. `adb_shell` to `uiautomator2:adb_shell`)
In terms of new features, we've been adding them incrementally rather than saving them up for
Appium 3. But with this release we are excited to share these new capabilities:
- `appium plugin install inspector` (Use Appium to host the Inspector rather than downloading it as a separate app)
- Clients can set the `X-Appium-Is-Sensitive` HTTP header on requests to direct the server to mask the data in the request in the logs, so that when you send a password into an input box, the password's actual value is not logged in plaintext. ([Learn more](../../developing/sensitive.md))
Of course, we have a full [Appium 3 migration guide](../../guides/migrating-2-to-3.md) to make sure
you know all the details and can deeply understand the consequences of upgrading to Appium 3 in
your environment.
---
**Ready to make the leap?** Appium 3 is a great step forward in creating more secure, maintainable,
and W3C-compliant test automation pipelines. Happy testing!
@@ -5,7 +5,7 @@
`POST` **`/session`**
Historically the first two arguments were reserved for JSONWP capabilities.
Appium 2 has dropped the support of these, so now we only accept capability
These are no longer supported since Appium 2, so now we only accept capability
objects in W3C format and thus allow any of the three arguments to represent
the latter.
@@ -2,8 +2,8 @@
title: Appium's Config System
---
Appium 2 supports [configuration files](../guides/config.md). A configuration file is intended to
have (nearly) 1:1 parity with command-line arguments. An end user can supply Appium 2 with
Appium includes support for [configuration files](../guides/config.md). A configuration file is
intended to have (nearly) 1:1 parity with command-line arguments. An end user can supply Appium with
a configuration file, CLI args, or both (the args have precedence over the config file).
This document will be a technical overview of how the configuration system works. It is intended
@@ -336,7 +336,7 @@ One of the design goals of this system is the following:
_An extension should be able to register custom CLI arguments with the Appium, and a user should be
able to use them like any other argument_.
Previously, Appium 2 accepted arguments in this manner (via `--driverArgs`), but validation was
Previously, Appium accepted arguments in this manner (via `--driverArgs`), but validation was
hand-rolled and required extension implementors to use a custom API. It also required the user to
awkwardly pass a JSON string as the configuration on the command-line. Further, no contextual help
(via `--help`) existed for these arguments.
+1 -1
View File
@@ -5,7 +5,7 @@ hide:
title: Intro to Development
---
Appium 2 is built with a modular structure, which means that Appium extensions (drivers and plugins)
Appium is built with a modular structure, which means that Appium extensions (drivers and plugins)
are decoupled from the main Appium module, and you only need to install the extensions that you
want to use. This modular structure also unlocks the ability to develop entirely new extensions!
+1 -1
View File
@@ -128,7 +128,7 @@ drivers and plugins. It is of course up to each service provider how they wish t
discovery, installation, and availability of any official or third party drivers or plugins. But
the Appium team does provide several suggestions, for consistency across the industry. _These are
recommendations only,_ and not a standard, but adopting it will help users to navigate the increased
complexity that working with Appium 2 in a cloud environment may bring.
complexity that working with Appium in a cloud environment may bring.
### Suggested capabilities
@@ -13,6 +13,16 @@ title: Appium 3 へ移行する
Appium 2 はAppiumアーキテクチャ全体の大きな見直しをしました。 Appium 3 は限られた破壊的変更のみの比較的小さな更新であり、移行プロセスがはるかに簡易になります。
## Installation
The installation method for Appium 3 remains the same as for Appium 2. If you want to upgrade, you
can simply install Appium 3 on top of your existing installation:
```bash
# optional: `appium setup reset`
npm install -g appium
```
\## 破壊的変更
### Node 20+ Required
@@ -22,7 +32,8 @@ ended before the release of Appium 2, which meant that even users on outdated No
able to use it.
Appium 3 drops support for outdated Node versions, and bumps the minimum required version to Node
`20.19.0`, as well as the minimum `npm` version to `10`.
`20.19.0` (with the semver range `^20.19.0 || ^22.12.0 || >=24.0.0`), as well as the minimum `npm`
version to `10`.
!!! info "Actions Needed"
+21 -7
View File
@@ -157,8 +157,7 @@ it was easy for users or third-party developers to build their own Appium
on the Appium codebase, and to see support for new platforms added to Appium by
groups other than the core team. That vision has begun to be fulfilled, with
groups like Microsoft and Youi.tv adding drivers to Appium for Windows desktop
app automation and Youi.tv app automation, respectively. Who knows what
platforms will be added next?
app automation and Youi.tv app automation, respectively.
## Appium To The People
@@ -172,11 +171,26 @@ foundation, we hope that the door will open even more widely for new
contributors, either as individuals or representing one of the many companies
which now have an interest in seeing Appium move forward.
Eventually, the JS Foundation merged into the [OpenJS Foundation](https://openjsf.org), and Appium
is currently an Impact Project in the foundation.
Eventually, the JS Foundation merged into the [OpenJS Foundation](https://openjsf.org),
and Appium became an Impact Project in the foundation.
## Appium 2.0
Appium 2 was released in 2023, with a new focus on Appium as an ecosystem rather than a singular
project. Drivers and plugins can be developed and shared by anyone, opening up a world of
possibilities for automation-related development for platforms far beyond iOS and Android.
Appium 2 was released in 2023 and introduced an entirely revamped architecture, shifting focus to Appium
as an ecosystem rather than an all-in-one project. This unlocked the ability for anyone to develop
and share their own Appium extensions (drivers and plugins), opening up a world of possibilities
for automation-related development for platforms far beyond iOS and Android! As a result,
many third-party extensions were created, such as new drivers for Flutter and Windows, plugins for
mocking APIs and managing device farms, new Appium clients based on Rust and Swift, and much more.
Around this time was also when we started a sponsorship program for Appium, which attracted various
major and minor sponsors alike. This allowed us to give back to the Appium community, by compensating
contributors for their voluntary work on the project.
## Appium 3.0
2025 saw the release of Appium 3. This update was a lot smaller than Appium 2 and included only a
few behavioral changes, instead focusing on removing deprecated code and updating compatibility for
more modern ecosystems. Still, this reduced scope was also to be expected: since Appium 2, the
main feature development efforts had shifted to individual drivers and plugins, many of which had
gone through multiple major updates during the Appium 2 era.
@@ -0,0 +1,40 @@
---
authors:
- sai
- srini
- jlipps
date: 2025-08-07
---
# 🚀 Appium 3
Appium 3 is here — and while it's not as massive a leap as Appium 2, it introduces a few essential
breaking changes that developers and QA engineers should be aware of.
<!-- more -->
The main idea behind Appium 3 is to clear out old cruft so that Appium can be leaner moving
forward, and rely on newer versions of software with better performance and security
characteristics. We're also getting rid of legacy behaviors and protocols that we deprecated as
part of Appium 2.
For you as a user, there's not much to worry about. The breaking changes are minimal:
- Node.js / NPM minimum version bump (to 20.19 / 10)
- Removal of certain deprecated endpoints
- Security feature flag prefix requirements (e.g. `adb_shell` to `uiautomator2:adb_shell`)
In terms of new features, we've been adding them incrementally rather than saving them up for
Appium 3. But with this release we are excited to share these new capabilities:
- `appium plugin install inspector` (Use Appium to host the Inspector rather than downloading it as a separate app)
- Clients can set the `X-Appium-Is-Sensitive` HTTP header on requests to direct the server to mask the data in the request in the logs, so that when you send a password into an input box, the password's actual value is not logged in plaintext. ([Learn more](../../developing/sensitive.md))
Of course, we have a full [Appium 3 migration guide](../../guides/migrating-2-to-3.md) to make sure
you know all the details and can deeply understand the consequences of upgrading to Appium 3 in
your environment.
---
**Ready to make the leap?** Appium 3 is a great step forward in creating more secure, maintainable,
and W3C-compliant test automation pipelines. Happy testing!
@@ -5,7 +5,7 @@
`POST` **`/session`**
Historically the first two arguments were reserved for JSONWP capabilities.
Appium 2 has dropped the support of these, so now we only accept capability
These are no longer supported since Appium 2, so now we only accept capability
objects in W3C format and thus allow any of the three arguments to represent
the latter.
@@ -2,8 +2,8 @@
title: Appium's Config System
---
Appium 2 supports [configuration files](../guides/config.md). A configuration file is intended to
have (nearly) 1:1 parity with command-line arguments. An end user can supply Appium 2 with
Appium includes support for [configuration files](../guides/config.md). A configuration file is
intended to have (nearly) 1:1 parity with command-line arguments. An end user can supply Appium with
a configuration file, CLI args, or both (the args have precedence over the config file).
This document will be a technical overview of how the configuration system works. It is intended
@@ -336,7 +336,7 @@ One of the design goals of this system is the following:
_An extension should be able to register custom CLI arguments with the Appium, and a user should be
able to use them like any other argument_.
Previously, Appium 2 accepted arguments in this manner (via `--driverArgs`), but validation was
Previously, Appium accepted arguments in this manner (via `--driverArgs`), but validation was
hand-rolled and required extension implementors to use a custom API. It also required the user to
awkwardly pass a JSON string as the configuration on the command-line. Further, no contextual help
(via `--help`) existed for these arguments.
+2 -1
View File
@@ -1,10 +1,11 @@
---
hide:
- toc
title: Intro to Development
---
Appium 2 is built with a modular structure, which means that Appium extensions (drivers and plugins)
Appium is built with a modular structure, which means that Appium extensions (drivers and plugins)
are decoupled from the main Appium module, and you only need to install the extensions that you
want to use. This modular structure also unlocks the ability to develop entirely new extensions!
+1 -1
View File
@@ -153,7 +153,7 @@ drivers and plugins. It is of course up to each service provider how they wish t
discovery, installation, and availability of any official or third party drivers or plugins. But
the Appium team does provide several suggestions, for consistency across the industry. _These are
recommendations only,_ and not a standard, but adopting it will help users to navigate the increased
complexity that working with Appium 2 in a cloud environment may bring.
complexity that working with Appium in a cloud environment may bring.
### Suggested capabilities
@@ -14,6 +14,16 @@ It contains a list of breaking changes, as well as suggestions for handling them
While Appium 2 was a major overhaul of the entire Appium architecture, Appium 3 is a smaller
upgrade with fewer breaking changes, which should result in a much simpler migration process.
## Installation
The installation method for Appium 3 remains the same as for Appium 2. If you want to upgrade, you
can simply install Appium 3 on top of your existing installation:
```bash
# optional: `appium setup reset`
npm install -g appium
```
\## Breaking Changes
### Node 20+ Required
@@ -23,7 +33,8 @@ ended before the release of Appium 2, which meant that even users on outdated No
able to use it.
Appium 3 drops support for outdated Node versions, and bumps the minimum required version to Node
`20.19.0`, as well as the minimum `npm` version to `10`.
`20.19.0` (with the semver range `^20.19.0 || ^22.12.0 || >=24.0.0`), as well as the minimum `npm`
version to `10`.
!!! info "Actions Needed"
+21 -7
View File
@@ -157,8 +157,7 @@ it was easy for users or third-party developers to build their own Appium
on the Appium codebase, and to see support for new platforms added to Appium by
groups other than the core team. That vision has begun to be fulfilled, with
groups like Microsoft and Youi.tv adding drivers to Appium for Windows desktop
app automation and Youi.tv app automation, respectively. Who knows what
platforms will be added next?
app automation and Youi.tv app automation, respectively.
## Appium To The People
@@ -172,11 +171,26 @@ foundation, we hope that the door will open even more widely for new
contributors, either as individuals or representing one of the many companies
which now have an interest in seeing Appium move forward.
Eventually, the JS Foundation merged into the [OpenJS Foundation](https://openjsf.org), and Appium
is currently an Impact Project in the foundation.
Eventually, the JS Foundation merged into the [OpenJS Foundation](https://openjsf.org),
and Appium became an Impact Project in the foundation.
## Appium 2.0
Appium 2 was released in 2023, with a new focus on Appium as an ecosystem rather than a singular
project. Drivers and plugins can be developed and shared by anyone, opening up a world of
possibilities for automation-related development for platforms far beyond iOS and Android.
Appium 2 was released in 2023 and introduced an entirely revamped architecture, shifting focus to Appium
as an ecosystem rather than an all-in-one project. This unlocked the ability for anyone to develop
and share their own Appium extensions (drivers and plugins), opening up a world of possibilities
for automation-related development for platforms far beyond iOS and Android! As a result,
many third-party extensions were created, such as new drivers for Flutter and Windows, plugins for
mocking APIs and managing device farms, new Appium clients based on Rust and Swift, and much more.
Around this time was also when we started a sponsorship program for Appium, which attracted various
major and minor sponsors alike. This allowed us to give back to the Appium community, by compensating
contributors for their voluntary work on the project.
## Appium 3.0
2025 saw the release of Appium 3. This update was a lot smaller than Appium 2 and included only a
few behavioral changes, instead focusing on removing deprecated code and updating compatibility for
more modern ecosystems. Still, this reduced scope was also to be expected: since Appium 2, the
main feature development efforts had shifted to individual drivers and plugins, many of which had
gone through multiple major updates during the Appium 2 era.
+10 -11
View File
@@ -1,6 +1,6 @@
{
"name": "appium",
"version": "3.0.0-rc.2",
"version": "3.0.1",
"description": "Automation for Apps.",
"keywords": [
"automation",
@@ -60,13 +60,13 @@
"test:unit": "mocha \"./test/unit/**/*.spec.js\""
},
"dependencies": {
"@appium/base-driver": "^10.0.0-rc.2",
"@appium/base-plugin": "^3.0.0-rc.2",
"@appium/docutils": "^2.0.0-rc.1",
"@appium/logger": "^2.0.0-rc.1",
"@appium/schema": "^1.0.0-rc.1",
"@appium/support": "^7.0.0-rc.1",
"@appium/types": "^1.0.0-rc.1",
"@appium/base-driver": "^10.0.0",
"@appium/base-plugin": "^3.0.1",
"@appium/docutils": "^2.0.1",
"@appium/logger": "^2.0.0",
"@appium/schema": "^1.0.0",
"@appium/support": "^7.0.0",
"@appium/types": "^1.0.0",
"@sidvind/better-ajv-errors": "4.0.0",
"ajv": "8.17.1",
"ajv-formats": "3.0.1",
@@ -83,7 +83,7 @@
"resolve-from": "5.0.0",
"semver": "7.7.2",
"source-map-support": "0.5.21",
"teen_process": "2.3.3",
"teen_process": "3.0.0",
"type-fest": "4.41.0",
"winston": "3.17.0",
"wrap-ansi": "7.0.0",
@@ -95,8 +95,7 @@
"npm": ">=10"
},
"publishConfig": {
"access": "public",
"tag": "rc"
"access": "public"
},
"gitHead": "3fa73a1d1a95e3868fbceb005f8b1deb4ac53eaf"
}
+8
View File
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [10.0.0](https://github.com/appium/appium/compare/@appium/base-driver@10.0.0-rc.2...@appium/base-driver@10.0.0) (2025-08-18)
**Note:** Version bump only for package @appium/base-driver
## [10.0.0-rc.2](https://github.com/appium/appium/compare/@appium/base-driver@9.16.2...@appium/base-driver@10.0.0-rc.2) (2025-08-14)
+4 -5
View File
@@ -1,6 +1,6 @@
{
"name": "@appium/base-driver",
"version": "10.0.0-rc.2",
"version": "10.0.0",
"description": "Base driver class for Appium drivers",
"keywords": [
"automation",
@@ -44,8 +44,8 @@
"test:types": "tsd"
},
"dependencies": {
"@appium/support": "^7.0.0-rc.1",
"@appium/types": "^1.0.0-rc.1",
"@appium/support": "^7.0.0",
"@appium/types": "^1.0.0",
"@colors/colors": "1.6.0",
"async-lock": "1.4.1",
"asyncbox": "3.0.0",
@@ -72,8 +72,7 @@
"npm": ">=10"
},
"publishConfig": {
"access": "public",
"tag": "rc"
"access": "public"
},
"gitHead": "8480a85ce2fa466360e0fb1a7f66628331907f02",
"tsd": {
+16
View File
@@ -3,6 +3,22 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [3.0.1](https://github.com/appium/appium/compare/@appium/base-plugin@3.0.0...@appium/base-plugin@3.0.1) (2025-08-20)
**Note:** Version bump only for package @appium/base-plugin
## [3.0.0](https://github.com/appium/appium/compare/@appium/base-plugin@3.0.0-rc.2...@appium/base-plugin@3.0.0) (2025-08-18)
**Note:** Version bump only for package @appium/base-plugin
## [3.0.0-rc.2](https://github.com/appium/appium/compare/@appium/base-plugin@2.3.3...@appium/base-plugin@3.0.0-rc.2) (2025-08-14)
+5 -6
View File
@@ -1,7 +1,7 @@
{
"name": "@appium/base-plugin",
"version": "3.0.0-rc.2",
"description": "The base plugin used to create Appium 2.0 plugins",
"version": "3.0.1",
"description": "The base plugin used to create Appium plugins",
"keywords": [
"automation",
"javascript",
@@ -40,16 +40,15 @@
"test:unit": "mocha \"./test/unit/**/*.spec.js\""
},
"dependencies": {
"@appium/base-driver": "^10.0.0-rc.2",
"@appium/support": "^7.0.0-rc.1"
"@appium/base-driver": "^10.0.0",
"@appium/support": "^7.0.0"
},
"engines": {
"node": "^20.19.0 || ^22.12.0 || >=24.0.0",
"npm": ">=10"
},
"publishConfig": {
"access": "public",
"tag": "rc"
"access": "public"
},
"gitHead": "8480a85ce2fa466360e0fb1a7f66628331907f02",
"tags": [
+16
View File
@@ -3,6 +3,22 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [2.0.1](https://github.com/appium/appium/compare/@appium/docutils@2.0.0...@appium/docutils@2.0.1) (2025-08-20)
**Note:** Version bump only for package @appium/docutils
## [2.0.0](https://github.com/appium/appium/compare/@appium/docutils@2.0.0-rc.1...@appium/docutils@2.0.0) (2025-08-18)
**Note:** Version bump only for package @appium/docutils
## [2.0.0-rc.1](https://github.com/appium/appium/compare/@appium/docutils@1.0.32...@appium/docutils@2.0.0-rc.1) (2025-08-14)
+5 -6
View File
@@ -1,6 +1,6 @@
{
"name": "@appium/docutils",
"version": "2.0.0-rc.1",
"version": "2.0.1",
"description": "Documentation generation utilities for Appium and related projects",
"keywords": [
"automation",
@@ -48,16 +48,16 @@
"start": "node ./build/lib/cli/index.js"
},
"dependencies": {
"@appium/support": "^7.0.0-rc.1",
"@appium/support": "^7.0.0",
"chalk": "4.1.2",
"consola": "3.4.2",
"diff": "8.0.02",
"diff": "8.0.2",
"lilconfig": "3.1.3",
"lodash": "4.17.21",
"pkg-dir": "5.0.0",
"read-pkg": "5.2.0",
"source-map-support": "0.5.21",
"teen_process": "2.3.3",
"teen_process": "3.0.0",
"type-fest": "4.41.0",
"yaml": "2.8.1",
"yargs": "18.0.0",
@@ -68,8 +68,7 @@
"npm": ">=10"
},
"publishConfig": {
"access": "public",
"tag": "rc"
"access": "public"
},
"gitHead": "8480a85ce2fa466360e0fb1a7f66628331907f02"
}
+1 -1
View File
@@ -1,5 +1,5 @@
mkdocs==1.6.1
mkdocs-git-revision-date-localized-plugin==1.4.7
mkdocs-material==9.6.16
mkdocs-material==9.6.17
mkdocs-redirects==1.2.2
mike==2.1.3
+16
View File
@@ -3,6 +3,22 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.0.1](https://github.com/appium/appium/compare/@appium/driver-test-support@1.0.0...@appium/driver-test-support@1.0.1) (2025-08-20)
**Note:** Version bump only for package @appium/driver-test-support
## [1.0.0](https://github.com/appium/appium/compare/@appium/driver-test-support@1.0.0-rc.1...@appium/driver-test-support@1.0.0) (2025-08-18)
**Note:** Version bump only for package @appium/driver-test-support
## [1.0.0-rc.1](https://github.com/appium/appium/compare/@appium/driver-test-support@0.7.6...@appium/driver-test-support@1.0.0-rc.1) (2025-08-14)
+4 -5
View File
@@ -1,6 +1,6 @@
{
"name": "@appium/driver-test-support",
"version": "1.0.0-rc.1",
"version": "1.0.1",
"description": "Test utilities for Appium drivers",
"keywords": [
"automation",
@@ -41,10 +41,10 @@
},
"types": "./build/lib/index.d.ts",
"dependencies": {
"@appium/types": "^1.0.0-rc.1",
"@appium/types": "^1.0.0",
"axios": "1.11.0",
"bluebird": "3.7.2",
"chai": "5.2.1",
"chai": "5.3.1",
"chai-as-promised": "8.0.1",
"get-port": "5.1.1",
"lodash": "4.17.21",
@@ -61,8 +61,7 @@
"npm": ">=10"
},
"publishConfig": {
"access": "public",
"tag": "rc"
"access": "public"
},
"gitHead": "8480a85ce2fa466360e0fb1a7f66628331907f02"
}
@@ -3,6 +3,22 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [2.0.1](https://github.com/appium/appium/compare/@appium/eslint-config-appium-ts@2.0.0...@appium/eslint-config-appium-ts@2.0.1) (2025-08-20)
**Note:** Version bump only for package @appium/eslint-config-appium-ts
## [2.0.0](https://github.com/appium/appium/compare/@appium/eslint-config-appium-ts@2.0.0-rc.1...@appium/eslint-config-appium-ts@2.0.0) (2025-08-18)
**Note:** Version bump only for package @appium/eslint-config-appium-ts
## [2.0.0-rc.1](https://github.com/appium/appium/compare/@appium/eslint-config-appium-ts@1.0.3...@appium/eslint-config-appium-ts@2.0.0-rc.1) (2025-08-14)
@@ -1,7 +1,7 @@
{
"name": "@appium/eslint-config-appium-ts",
"type": "module",
"version": "2.0.0-rc.1",
"version": "2.0.1",
"description": "Shared ESLint config for Appium projects (TypeScript version)",
"keywords": [
"eslint",
@@ -36,7 +36,7 @@
"eslint-plugin-import": "2.32.0",
"eslint-plugin-mocha": "10.5.0",
"eslint-plugin-promise": "7.2.1",
"typescript-eslint": "8.39.1"
"typescript-eslint": "8.40.0"
},
"peerDependencies": {
"eslint": "^9.0.0"
@@ -46,8 +46,7 @@
"npm": ">=10"
},
"publishConfig": {
"access": "public",
"tag": "rc"
"access": "public"
},
"gitHead": "8480a85ce2fa466360e0fb1a7f66628331907f02"
}
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [5.0.0](https://github.com/appium/appium/compare/@appium/execute-driver-plugin@5.0.0-rc.1...@appium/execute-driver-plugin@5.0.0) (2025-08-18)
**Note:** Version bump only for package @appium/execute-driver-plugin
## [5.0.0-rc.1](https://github.com/appium/appium/compare/@appium/execute-driver-plugin@4.0.2...@appium/execute-driver-plugin@5.0.0-rc.1) (2025-08-14)
+2 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@appium/execute-driver-plugin",
"version": "5.0.0-rc.1",
"version": "5.0.0",
"description": "Plugin for batching and executing Appium driver commands",
"keywords": [
"automation",
@@ -51,8 +51,7 @@
"npm": ">=10"
},
"publishConfig": {
"access": "public",
"tag": "rc"
"access": "public"
},
"appium": {
"pluginName": "execute-driver",
+8
View File
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [6.0.0](https://github.com/appium/appium/compare/@appium/fake-driver@6.0.0-rc.1...@appium/fake-driver@6.0.0) (2025-08-18)
**Note:** Version bump only for package @appium/fake-driver
## [6.0.0-rc.1](https://github.com/appium/appium/compare/@appium/fake-driver@5.7.1...@appium/fake-driver@6.0.0-rc.1) (2025-08-14)
+2 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@appium/fake-driver",
"version": "6.0.0-rc.1",
"version": "6.0.0",
"description": "Mock driver used internally by Appium for testing. Ignore",
"keywords": [
"automation",
@@ -57,8 +57,7 @@
"npm": ">=10"
},
"publishConfig": {
"access": "public",
"tag": "rc"
"access": "public"
},
"access": "public",
"appium": {
+16
View File
@@ -3,6 +3,22 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [4.0.1](https://github.com/appium/appium/compare/@appium/fake-plugin@4.0.0...@appium/fake-plugin@4.0.1) (2025-08-20)
**Note:** Version bump only for package @appium/fake-plugin
## [4.0.0](https://github.com/appium/appium/compare/@appium/fake-plugin@4.0.0-rc.1...@appium/fake-plugin@4.0.0) (2025-08-18)
**Note:** Version bump only for package @appium/fake-plugin
## [4.0.0-rc.1](https://github.com/appium/appium/compare/@appium/fake-plugin@3.2.3...@appium/fake-plugin@4.0.0-rc.1) (2025-08-14)
+4 -5
View File
@@ -1,6 +1,6 @@
{
"name": "@appium/fake-plugin",
"version": "4.0.0-rc.1",
"version": "4.0.1",
"description": "A fake Appium plugin",
"keywords": [
"automation",
@@ -39,8 +39,8 @@
"test:unit": "mocha \"./test/unit/**/*.spec.js\""
},
"dependencies": {
"@appium/base-plugin": "^3.0.0-rc.2",
"@appium/support": "^7.0.0-rc.1",
"@appium/base-plugin": "^3.0.1",
"@appium/support": "^7.0.0",
"bluebird": "3.7.2",
"lodash": "4.17.21",
"source-map-support": "0.5.21"
@@ -61,8 +61,7 @@
}
},
"publishConfig": {
"access": "public",
"tag": "rc"
"access": "public"
},
"gitHead": "8480a85ce2fa466360e0fb1a7f66628331907f02",
"tags": [
+8
View File
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [4.0.0](https://github.com/appium/appium/compare/@appium/images-plugin@4.0.0-rc.1...@appium/images-plugin@4.0.0) (2025-08-18)
**Note:** Version bump only for package @appium/images-plugin
## [4.0.0-rc.1](https://github.com/appium/appium/compare/@appium/images-plugin@3.0.30...@appium/images-plugin@4.0.0-rc.1) (2025-08-14)
+4 -5
View File
@@ -1,6 +1,6 @@
{
"name": "@appium/images-plugin",
"version": "4.0.0-rc.1",
"version": "4.0.0",
"description": "Plugin for working with images and image elements in Appium",
"keywords": [
"automation",
@@ -39,8 +39,8 @@
"test:unit": "mocha \"./test/unit/**/*.spec.*js\""
},
"dependencies": {
"@appium/opencv": "^4.0.0-rc.1",
"@appium/support": "^7.0.0-rc.1",
"@appium/opencv": "^4.0.0",
"@appium/support": "^7.0.0",
"lodash": "4.17.21",
"lru-cache": "11.1.0",
"sharp": "0.34.3",
@@ -58,8 +58,7 @@
"mainClass": "ImageElementPlugin"
},
"publishConfig": {
"access": "public",
"tag": "rc"
"access": "public"
},
"gitHead": "84b211330dc84849af9cc1f3a5c5ad32e15b2e72"
}
+8
View File
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [2.0.0](https://github.com/appium/appium/compare/@appium/logger@2.0.0-rc.1...@appium/logger@2.0.0) (2025-08-18)
**Note:** Version bump only for package @appium/logger
## [2.0.0-rc.1](https://github.com/appium/appium/compare/@appium/logger@1.6.1...@appium/logger@2.0.0-rc.1) (2025-08-14)
+2 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@appium/logger",
"version": "2.0.0-rc.1",
"version": "2.0.0",
"author": "https://github.com/appium",
"description": "A Universal Logger For The Appium Ecosystem",
"repository": {
@@ -42,8 +42,7 @@
},
"homepage": "https://appium.io",
"publishConfig": {
"access": "public",
"tag": "rc"
"access": "public"
},
"gitHead": "8480a85ce2fa466360e0fb1a7f66628331907f02",
"keywords": [
+8
View File
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [4.0.0](https://github.com/appium/appium/compare/@appium/opencv@4.0.0-rc.1...@appium/opencv@4.0.0) (2025-08-18)
**Note:** Version bump only for package @appium/opencv
## [4.0.0-rc.1](https://github.com/appium/appium/compare/@appium/opencv@3.0.8...@appium/opencv@4.0.0-rc.1) (2025-08-14)
+2 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@appium/opencv",
"version": "4.0.0-rc.1",
"version": "4.0.0",
"description": "OpenCV-related helper library",
"keywords": [
"automation",
@@ -52,8 +52,7 @@
"npm": ">=10"
},
"publishConfig": {
"access": "public",
"tag": "rc"
"access": "public"
},
"gitHead": "84b211330dc84849af9cc1f3a5c5ad32e15b2e72"
}
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.0.0](https://github.com/appium/appium/compare/@appium/plugin-test-support@1.0.0-rc.1...@appium/plugin-test-support@1.0.0) (2025-08-18)
**Note:** Version bump only for package @appium/plugin-test-support
## [1.0.0-rc.1](https://github.com/appium/appium/compare/@appium/plugin-test-support@0.3.51...@appium/plugin-test-support@1.0.0-rc.1) (2025-08-14)
+4 -5
View File
@@ -1,6 +1,6 @@
{
"name": "@appium/plugin-test-support",
"version": "1.0.0-rc.1",
"version": "1.0.0",
"description": "Testing utilities for Appium plugins",
"keywords": [
"automation",
@@ -41,11 +41,11 @@
"test:unit": "exit 0"
},
"dependencies": {
"@appium/types": "^1.0.0-rc.1",
"@appium/types": "^1.0.0",
"get-port": "5.1.1",
"log-symbols": "4.1.0",
"source-map-support": "0.5.21",
"teen_process": "2.3.3"
"teen_process": "3.0.0"
},
"peerDependencies": {
"appium": "^3.0.0-beta.0",
@@ -56,8 +56,7 @@
"npm": ">=10"
},
"publishConfig": {
"access": "public",
"tag": "rc"
"access": "public"
},
"gitHead": "8480a85ce2fa466360e0fb1a7f66628331907f02"
}
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [2.0.0](https://github.com/appium/appium/compare/@appium/relaxed-caps-plugin@2.0.0-rc.1...@appium/relaxed-caps-plugin@2.0.0) (2025-08-18)
**Note:** Version bump only for package @appium/relaxed-caps-plugin
## [2.0.0-rc.1](https://github.com/appium/appium/compare/@appium/relaxed-caps-plugin@1.0.6...@appium/relaxed-caps-plugin@2.0.0-rc.1) (2025-08-14)
+1 -1
View File
@@ -16,7 +16,7 @@ do not have a prefix.
There are a lot of test scripts out there that don't conform to the W3C capability requirements,
so this plugin is designed to make it easy to keep running these scripts even with the stricter
capability requirements in Appium 2.
capability requirements since Appium 2.
## Installation
+2 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@appium/relaxed-caps-plugin",
"version": "2.0.0-rc.1",
"version": "2.0.0",
"description": "An Appium plugin that loosens requirements for vendor prefixes on caps",
"keywords": [
"automation",
@@ -55,8 +55,7 @@
"mainClass": "RelaxedCapsPlugin"
},
"publishConfig": {
"access": "public",
"tag": "rc"
"access": "public"
},
"gitHead": "84b211330dc84849af9cc1f3a5c5ad32e15b2e72",
"tags": [
+8
View File
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.0.0](https://github.com/appium/appium/compare/@appium/schema@1.0.0-rc.1...@appium/schema@1.0.0) (2025-08-18)
**Note:** Version bump only for package @appium/schema
## [1.0.0-rc.1](https://github.com/appium/appium/compare/@appium/schema@0.8.1...@appium/schema@1.0.0-rc.1) (2025-08-14)
+2 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@appium/schema",
"version": "1.0.0-rc.1",
"version": "1.0.0",
"description": "Appium Configuration Schema",
"keywords": [
"automation",
@@ -46,8 +46,7 @@
"npm": ">=10"
},
"publishConfig": {
"access": "public",
"tag": "rc"
"access": "public"
},
"gitHead": "84b211330dc84849af9cc1f3a5c5ad32e15b2e72"
}
+8
View File
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.0.0](https://github.com/appium/appium/compare/@appium/storage-plugin@1.0.0-rc.1...@appium/storage-plugin@1.0.0) (2025-08-18)
**Note:** Version bump only for package @appium/storage-plugin
## 1.0.0-rc.1 (2025-08-14)
+3 -4
View File
@@ -1,6 +1,6 @@
{
"name": "@appium/storage-plugin",
"version": "1.0.0-rc.1",
"version": "1.0.0",
"description": "Server-side storage plugin for Appium",
"keywords": [
"automation",
@@ -41,7 +41,7 @@
"test:e2e": "mocha --timeout 20s --slow 10s \"./test/e2e/**/*.spec.*js\""
},
"dependencies": {
"@appium/support": "^7.0.0-rc.1",
"@appium/support": "^7.0.0",
"async-lock": "1.4.1",
"bluebird": "3.7.2",
"lodash": "4.17.21",
@@ -62,8 +62,7 @@
"mainClass": "StoragePlugin"
},
"publishConfig": {
"access": "public",
"tag": "rc"
"access": "public"
},
"tags": [
"appium"
+8
View File
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.0.0](https://github.com/appium/appium/compare/@appium/strongbox@1.0.0-rc.1...@appium/strongbox@1.0.0) (2025-08-18)
**Note:** Version bump only for package @appium/strongbox
## [1.0.0-rc.1](https://github.com/appium/appium/compare/@appium/strongbox@0.3.3...@appium/strongbox@1.0.0-rc.1) (2025-08-14)
+2 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@appium/strongbox",
"version": "1.0.0-rc.1",
"version": "1.0.0",
"description": "Persistent storage for Appium extensions",
"keywords": [
"automation",
@@ -49,8 +49,7 @@
"npm": ">=10"
},
"publishConfig": {
"access": "public",
"tag": "rc"
"access": "public"
},
"tsd": {
"directory": "test/types"
+8
View File
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [7.0.0](https://github.com/appium/appium/compare/@appium/support@7.0.0-rc.1...@appium/support@7.0.0) (2025-08-18)
**Note:** Version bump only for package @appium/support
## [7.0.0-rc.1](https://github.com/appium/appium/compare/@appium/support@6.0.6...@appium/support@7.0.0-rc.1) (2025-08-14)
+6 -7
View File
@@ -1,6 +1,6 @@
{
"name": "@appium/support",
"version": "7.0.0-rc.1",
"version": "7.0.0",
"description": "Support libs used across Appium packages",
"keywords": [
"automation",
@@ -41,9 +41,9 @@
"test:unit": "mocha \"./test/unit/**/*.spec.js\""
},
"dependencies": {
"@appium/logger": "^2.0.0-rc.1",
"@appium/tsconfig": "^1.0.0-rc.1",
"@appium/types": "^1.0.0-rc.1",
"@appium/logger": "^2.0.0",
"@appium/tsconfig": "^1.0.0",
"@appium/types": "^1.0.0",
"@colors/colors": "1.6.0",
"archiver": "7.0.1",
"axios": "1.11.0",
@@ -71,7 +71,7 @@
"shell-quote": "1.8.3",
"source-map-support": "0.5.21",
"supports-color": "8.1.1",
"teen_process": "2.3.3",
"teen_process": "3.0.0",
"type-fest": "4.41.0",
"uuid": "11.1.0",
"which": "5.0.0",
@@ -85,8 +85,7 @@
"npm": ">=10"
},
"publishConfig": {
"access": "public",
"tag": "rc"
"access": "public"
},
"gitHead": "8480a85ce2fa466360e0fb1a7f66628331907f02"
}
+8
View File
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [4.0.0](https://github.com/appium/appium/compare/@appium/test-support@4.0.0-rc.1...@appium/test-support@4.0.0) (2025-08-18)
**Note:** Version bump only for package @appium/test-support
## [4.0.0-rc.1](https://github.com/appium/appium/compare/@appium/test-support@3.1.6...@appium/test-support@4.0.0-rc.1) (2025-08-14)
+3 -4
View File
@@ -1,6 +1,6 @@
{
"name": "@appium/test-support",
"version": "4.0.0-rc.1",
"version": "4.0.0",
"description": "A collection of test utilities used across Appium packages",
"keywords": [
"automation",
@@ -45,7 +45,7 @@
"test:unit": "mocha \"./test/unit/**/*.spec.js\""
},
"dependencies": {
"@appium/support": "^7.0.0-rc.1",
"@appium/support": "^7.0.0",
"@colors/colors": "1.6.0",
"bluebird": "3.7.2",
"lodash": "4.17.21",
@@ -58,8 +58,7 @@
"npm": ">=10"
},
"publishConfig": {
"access": "public",
"tag": "rc"
"access": "public"
},
"gitHead": "8480a85ce2fa466360e0fb1a7f66628331907f02"
}
+8
View File
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.0.0](https://github.com/appium/appium/compare/@appium/tsconfig@1.0.0-rc.1...@appium/tsconfig@1.0.0) (2025-08-18)
**Note:** Version bump only for package @appium/tsconfig
## [1.0.0-rc.1](https://github.com/appium/appium/compare/@appium/tsconfig@0.3.4...@appium/tsconfig@1.0.0-rc.1) (2025-08-14)
+2 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@appium/tsconfig",
"version": "1.0.0-rc.1",
"version": "1.0.0",
"description": "Shared TypeScript Config for Appium",
"main": "tsconfig.json",
"keywords": [
@@ -38,8 +38,7 @@
"test:smoke": "node tsconfig.json && node tsconfig.plugin.json"
},
"publishConfig": {
"access": "public",
"tag": "rc"
"access": "public"
},
"gitHead": "84b211330dc84849af9cc1f3a5c5ad32e15b2e72"
}
+8
View File
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.0.0](https://github.com/appium/appium/compare/@appium/types@1.0.0-rc.1...@appium/types@1.0.0) (2025-08-18)
**Note:** Version bump only for package @appium/types
## [1.0.0-rc.1](https://github.com/appium/appium/compare/@appium/types@0.25.1...@appium/types@1.0.0-rc.1) (2025-08-14)
+5 -6
View File
@@ -1,6 +1,6 @@
{
"name": "@appium/types",
"version": "1.0.0-rc.1",
"version": "1.0.0",
"description": "Various type declarations used across Appium",
"keywords": [
"automation",
@@ -38,9 +38,9 @@
"test:types": "tsd"
},
"dependencies": {
"@appium/logger": "^2.0.0-rc.1",
"@appium/schema": "^1.0.0-rc.1",
"@appium/tsconfig": "^1.0.0-rc.1",
"@appium/logger": "^2.0.0",
"@appium/schema": "^1.0.0",
"@appium/tsconfig": "^1.0.0",
"type-fest": "4.41.0"
},
"engines": {
@@ -48,8 +48,7 @@
"npm": ">=10"
},
"publishConfig": {
"access": "public",
"tag": "rc"
"access": "public"
},
"gitHead": "8480a85ce2fa466360e0fb1a7f66628331907f02"
}
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [2.0.0](https://github.com/appium/appium/compare/@appium/universal-xml-plugin@2.0.0-rc.1...@appium/universal-xml-plugin@2.0.0) (2025-08-18)
**Note:** Version bump only for package @appium/universal-xml-plugin
## [2.0.0-rc.1](https://github.com/appium/appium/compare/@appium/universal-xml-plugin@1.0.30...@appium/universal-xml-plugin@2.0.0-rc.1) (2025-08-14)
+2 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@appium/universal-xml-plugin",
"version": "2.0.0-rc.1",
"version": "2.0.0",
"description": "Appium plugin for making XML source and XPath queries the same across iOS and Android",
"keywords": [
"automation",
@@ -55,8 +55,7 @@
"mainClass": "UniversalXMLPlugin"
},
"publishConfig": {
"access": "public",
"tag": "rc"
"access": "public"
},
"gitHead": "8480a85ce2fa466360e0fb1a7f66628331907f02"
}