github-actions
6815fbebac
chore: publish
...
- appium@4.0.0-beta.3
- @appium/base-driver@11.0.0-beta.2
- @appium/base-plugin@4.0.0-beta.2
- @appium/docutils@4.0.0-beta.2
- @appium/driver-test-support@4.0.0-beta.2
- @appium/execute-driver-plugin@8.0.0-beta.3
- @appium/fake-driver@7.0.0-beta.3
- @appium/fake-plugin@5.0.0-beta.3
- @appium/http-server@1.0.0-beta.2
- @appium/images-plugin@6.0.0-beta.3
- @appium/logger@3.0.0-beta.1
- @appium/opencv@6.0.0-beta.2
- @appium/oxc-config@2.0.0-beta.1
- @appium/plugin-test-support@4.0.0-beta.3
- @appium/relaxed-caps-plugin@4.0.0-beta.3
- @appium/schema@2.0.0-beta.1
- @appium/semantic-release-config@2.0.0-beta.1
- @appium/storage-plugin@3.0.0-beta.3
- @appium/strongbox@3.0.0-beta.1
- @appium/support@8.0.0-beta.2
- @appium/tsconfig@2.0.0-beta.1
- @appium/types@2.0.0-beta.2
- @appium/universal-xml-plugin@4.0.0-beta.3
2026-10-05 09:57:28 +00:00
Cassian433
b95aaac60b
feat(universal-xml-plugin): add execute methods to toggle translation ( #22862 )
...
* feat(universal-xml-plugin): add execute methods to toggle translation
Translation could not be turned off during a session, so there was no
way to get the driver's original page source or to run an XPath query
against the original node names while the plugin was active.
This adds two execute methods:
- `universalXml: setEnabled` turns translation off or on for the
current session. While it's off, getPageSource and findElement(s)
are passed on unchanged.
- `universalXml: isEnabled` returns the current state.
Translation stays on by default, so existing sessions behave as
before. The context API is not touched, so drivers' assumptions about
the current context are unaffected.
Refs #21630
* chore(universal-xml-plugin): add jsdoc to public methods and mark unused args with void
---------
Co-authored-by: Cassian433 <262026629+Cassian433@users.noreply.github.com >
2026-10-05 17:00:54 +09:00
Kazuaki Matsuo
83122525db
fix(appium): import extensions through escaped file URLs ( #22884 )
...
* fix(appium): import extensions through escaped file URLs
* docs(appium): clarify why extension imports still require file URLs
* Enhance comments for schemaPath handling
Add comments explaining file URL requirements for Windows and POSIX paths.
2026-10-05 15:27:08 +09:00
Mohamed Mostafa
c159d1925c
fix(base-driver): remove incomplete app downloads ( #22878 )
2026-10-05 15:24:38 +09:00
Kazuaki Matsuo
b1ec406fd3
docs: document contributor style conventions for agents ( #22879 )
...
* feat(oxc-config): restore class member ordering through JS plugins
* docs: document class method ordering for agents and contributors
* docs: keep ordering rules in the contributor style guide
* docs: simplify the agent style guide reference
* docs: add JSDoc and module ordering conventions
2026-10-04 23:10:40 -07:00
Kazuaki Matsuo
c5f4217806
fix(base-driver): decode credentials in app download URLs ( #22887 )
2026-10-05 15:00:38 +09:00
Kazuaki Matsuo
3188c9fbab
fix(appium): resolve default extension export conditions ( #22885 )
2026-10-05 15:00:01 +09:00
Kazuaki Matsuo
b791915ffc
fix(base-driver): track and remove BiDi subscriptions by ID ( #22876 )
...
* fix(base-driver): track and remove BiDi subscriptions by ID
* refactor(base-driver): organize BiDi subscription helpers
* fix(base-driver): address BiDi subscription review feedback
* test(base-driver): cover BiDi unsubscribe review cases
* docs(appium): document BiDi subscription IDs
2026-10-05 14:58:56 +09:00
Kazuaki Matsuo
95c04611e7
fix(appium): apply initial settings from selected capabilities ( #22882 )
...
* fix(appium): apply initial settings from selected capabilities
* test(appium): keep settings regressions separate from timeout tests
2026-10-05 14:55:58 +09:00
Kazuaki Matsuo
e37f1c1583
fix(appium): start idle timeout after session initialization ( #22881 )
2026-10-05 14:29:32 +09:00
Kazuaki Matsuo
879873bad5
fix(appium): match global and module BiDi event subscriptions ( #22883 )
2026-10-05 01:54:47 +09:00
Kazuaki Matsuo
6c9c930cbe
fix(support): preserve symlinks inside moved directories ( #22880 )
2026-10-05 01:54:06 +09:00
Kazuaki Matsuo
4de1a3e62c
fix(support): accept transparently decompressed downloads ( #22886 )
2026-10-05 01:53:47 +09:00
Kazuaki Matsuo
ae8a27e02b
fix(base-driver): reject queued commands when their session ends ( #22874 )
...
* fix(base-driver): reject queued commands when their session ends
* refactor(base-driver): cancel queued commands with AbortController
2026-10-05 01:12:52 +09:00
Kazuaki Matsuo
b9c020c6eb
fix(appium): explain manual recovery after manifest lock timeouts ( #22875 )
...
* fix(appium): recover abandoned manifest locks with heartbeats
* fix(appium): retry released manifest locks promptly
* fix(appium): explain manual manifest lock recovery without new dependencies
* test(appium): keep manifest lock mocks compatible with Node 22
2026-10-05 01:12:36 +09:00
Kazuaki Matsuo
e391bb249f
fix: use native ESM entrypoint detection ( #22868 )
2026-10-04 17:39:35 +02:00
Kazuaki Matsuo
f24e7046eb
fix(appium): roll back sessions when initialization fails ( #22873 )
2026-10-05 00:21:14 +09:00
Kazuaki Matsuo
b077efd67d
fix(base-driver): reject unsupported BiDi user-context scopes ( #22877 )
2026-10-04 10:18:50 +02:00
Kazuaki Matsuo
3875344e11
fix(appium): bracket IPv6 hosts in BiDi websocket URLs ( #22872 )
2026-10-04 10:02:13 +02:00
Kazuaki Matsuo
11d9904166
fix(appium): detect project homes with prerelease dependencies ( #22871 )
2026-10-04 10:01:42 +02:00
Kazuaki Matsuo
1b7d1e0eb7
fix(base-driver): validate reset options before creating session state ( #22870 )
2026-10-04 10:00:44 +02:00
Kazuaki Matsuo
14c42f791c
fix(base-driver): return protocol errors for null rejections ( #22869 )
2026-10-04 09:59:50 +02:00
Kazuaki Matsuo
63e9aa4f57
fix(base-driver): declare the path-to-regexp runtime dependency ( #22865 )
2026-10-04 09:59:08 +02:00
Kazuaki Matsuo
9de70be6e2
fix(base-driver): keep the idle timer off while commands execute ( #22867 )
2026-10-04 09:55:12 +02:00
Kazuaki Matsuo
c78cfa405f
fix(types): align the logger peer dependency with Appium 4 ( #22866 )
2026-10-04 09:54:12 +02:00
Kazuaki Matsuo
29a60d6e93
fix(support): preserve directories on failed downloads ( #22864 )
2026-10-04 09:53:22 +02:00
Mohamed Mostafa
1b852557a3
fix(storage-plugin): reject storage file names that start with a dot ( #22863 )
2026-10-04 08:57:43 +02:00
Mohamed Mostafa
318329fba7
fix(base-driver): report noReset and fullReset together as session not created ( #22861 )
2026-10-04 15:53:00 +09:00
Edgars Eglītis
6d1f28ed05
fix(base-driver): reject empty array in capabilities.firstMatch ( #22860 )
...
BREAKING CHANGE: when creating a new session, capabilities.firstMatch can no longer be set to an empty array, as per the WebDriver spec
2026-10-03 20:54:41 +03:00
Mohamed Mostafa
00547fe9f6
refactor(support): share websocket close codes from net ( #22855 )
2026-10-03 14:43:16 +02:00
Mohamed Mostafa
3cdc69b198
fix(appium): close bidi sockets when a session ends unexpectedly ( #22854 )
2026-10-03 14:42:27 +02:00
Mykola Mokhnach
53b36283f3
chore: use version ranges instead of exact pins ( #22846 )
2026-10-03 14:41:42 +02:00
Edgars Eglītis
ebcac6a7e1
chore: replace ora with yocto-spinner ( #22840 )
2026-09-30 21:53:21 +03:00
Mohamed Mostafa
66ab396a71
fix(appium): do not crash when a proxied bidi socket closes without a sendable code ( #22835 )
2026-09-30 08:13:56 +02:00
Mohamed Mostafa
15ecc718c4
fix(support): do not leave a file behind when downloadFile fails ( #22836 )
2026-09-29 22:16:19 +02:00
Mohamed Mostafa
f330716793
fix(base-driver): do not arm the idle timer while a command is still running ( #22828 )
2026-09-29 19:18:15 +02:00
Mykola Mokhnach
e033851cdf
refactor(support): vendor klaw as internal fs walker ( #22826 )
2026-09-28 08:06:55 +02:00
Mykola Mokhnach
6b0938d3ac
refactor: drop type-fest dependency across the monorepo ( #22825 )
2026-09-27 20:18:03 +02:00
Mykola Mokhnach
bb51494f67
chore: remove unused jsftp, serve-favicon, and mjpeg dev dependencies ( #22827 )
2026-09-27 20:14:29 +02:00
github-actions
d8370ccf19
chore: publish
...
- appium@4.0.0-beta.2
- @appium/base-driver@11.0.0-beta.1
- @appium/base-plugin@4.0.0-beta.1
- @appium/docutils@4.0.0-beta.1
- @appium/driver-test-support@4.0.0-beta.1
- @appium/execute-driver-plugin@8.0.0-beta.2
- @appium/fake-driver@7.0.0-beta.2
- @appium/fake-plugin@5.0.0-beta.2
- @appium/http-server@1.0.0-beta.1
- @appium/images-plugin@6.0.0-beta.2
- @appium/opencv@6.0.0-beta.1
- @appium/plugin-test-support@4.0.0-beta.2
- @appium/relaxed-caps-plugin@4.0.0-beta.2
- @appium/storage-plugin@3.0.0-beta.2
- @appium/support@8.0.0-beta.1
- @appium/types@2.0.0-beta.1
- @appium/universal-xml-plugin@4.0.0-beta.2
2026-09-27 07:38:49 +00:00
Kazuaki Matsuo
fb89bb7423
fix(support): preserve exclamation marks with apostrophes ( #22816 ) ( #22822 )
...
* fix(support): preserve exclamation marks with apostrophes
* test(support): use async shell execution and document workaround
(cherry picked from commit 359ef4ba89 )
2026-09-27 03:07:32 +09:00
Mykola Mokhnach
dc0568bc65
fix(appium): release the manifest lock before errAndQuit exits ( #22821 )
2026-09-26 20:05:48 +02:00
Mohamed Mostafa
f313306848
fix(base-driver): keep the default idle timeout when newCommandTimeout is null or blank ( #22815 )
2026-09-26 13:52:08 +02:00
Mykola Mokhnach
b7356ee53e
feat(appium): accept package names for installed extension commands ( #22747 ) ( #22812 )
2026-09-24 23:06:25 +02:00
Mykola Mokhnach
ad8e7d56f8
chore: backport recent fixes from master ( #22810 )
2026-09-24 19:16:20 +02:00
Mykola Mokhnach
7a79dc208c
refactor(base-driver): vendor Levenshtein distance and drop http-status-codes dep ( #22805 )
2026-09-22 22:16:34 +02:00
Mykola Mokhnach
822e4d19d5
refactor(http-server): move network/listener-address helpers out of appium ( #22804 )
2026-09-22 21:33:05 +02:00
Mykola Mokhnach
2596da02d2
fix(base-driver): carry proxy req via AsyncLocalStorage instead of args ( #22799 )
2026-09-22 18:28:20 +02:00
Mykola Mokhnach
225a1c6d9d
refactor(base-driver)!: extract the HTTP/Express server into @appium/http-server ( #22800 )
...
BREAKING CHANGE: @appium/base-driver no longer exports server, normalizeBasePath, configureServer, ServerOpts, ConfigureServerOpts, ConfigureHttpOpts, or StartServerOpts, and no longer depends on express/morgan/body-parser/ method-override/path-to-regexp. Use the new @appium/http-server package instead.
BREAKING CHANGE: appium/driver.js and driver.d.ts no longer re-export server/normalizeBasePath/configureServer/ServerOpts (or their types), and no longer use a blanket export *. Import from @appium/http-server directly if you were relying on this undocumented path.
2026-09-22 07:44:13 +02:00
Mykola Mokhnach
22a00c7a55
feat(base-driver)!: exempt getStatus from the commands queue by default ( #22796 )
2026-09-21 17:14:52 +02:00