Test Your Native, Hybrid & Web Apps on 10,000+ real devices.

Explore the new Appium 3 features and enhancements, such as improved logging, WebDriver compliance, Node.js 20 support, plugin-based Inspector, and much more.
Published on: November 11, 2025
Appium 3 is now available, bringing several features and enhancements. You now need Node.js v20 or above to use it. Several legacy endpoints have been removed. Feature flags now require the inclusion of a driver name, such as uiautomator2:adb_shell.
Session discovery is no longer available by default; you have to enable it using a flag. The built-in unzip function has been removed, so drivers now manage file handling. Appium Server has been upgraded to Express 5, and some endpoints have been renamed or restructured for better consistency.
Overview
What Are the New Appium 3 Features and Enhancements?
Appium 3 introduces several upgrades that improve setup, security, driver behavior, and debugging. Here’s a quick look at the most notable enhancements:
How Does Appium 3 Differ From Appium 2?
Appium 3 brings updates across configuration, security, sessions, drivers, and logging. These improvements set it apart from Appium 2 and create a smoother, more consistent testing experience.
Here’s what’s new and improved in Appium 3:
appium plugin install inspector This removes the need for a separate Inspector app.
Appium 3 introduces support for Node 20, drops deprecated endpoints, enforces feature flag prefixes, improves session discovery, and adds the Inspector plugin. It also masks sensitive data, moves unzip handling to drivers, updates to Express 5, sharpens W3C compliance, and improves error and log handling.
Let’s explore the Appium 3 advancements and features that can streamline your workflow and reduce maintenance effort.
One of the most visible changes is that Appium now requires Node.js 20.19.0 or higher and npm 10 or higher. This means Appium is finally aligned with the latest long-term supported versions of Node, giving you better performance and stronger security.
If you’ve been using older Node versions, you’ll need to upgrade before installing Appium 3. You can check your current versions with the following commands:
node -vnpm -vThen install or upgrade Appium globally with:
npm install -g appiumWhat Testers Need to Do:
What Driver/Plugin Developers Need to Do:
Note: Run Appium 3 tests on real Android and iOS devices. Try LambdaTest Now!
Appium has supported a lot of endpoints over the years, including some that were outdated or duplicated. In Appium 3, these deprecated endpoints have finally been removed.
This cleanup keeps the server lighter and reduces confusion between the old JSON Wire Protocol (JSONWP) and the W3C WebDriver standard. Now, actions like launching, closing, or resetting an app are handled directly by the drivers.
For example, instead of using an old endpoint like /session/:sessionId/appium/app/launch, you’ll now use:
mobile: launchAppmobile: terminateAppmobile: startActivityWhat Testers Need to Do:
What Driver/Plugin Developers Need to Do:
Tip: Check your client libraries or frameworks for any older endpoints and replace them with these newer methods.
In earlier versions of Appium, you could enable certain experimental or “insecure” features globally with a command like this:
appium --allow-insecure=adb_shellWhile this made configuration easier, it also carried a risk. A flag meant for one driver could affect others unintentionally.
Appium 3 fixes this by requiring a driver prefix for each flag. That means you now have to specify which driver the feature belongs to.
You can do this by running the following command:
appium --allow-insecure=uiautomator2:adb_shellIf you want to keep the old behavior and enable a feature for all drivers, you can still use a wildcard:
appium --allow-insecure=*:adb_shellThis change might seem small, but it adds an important layer of safety and clarity, especially when performing Appium mobile testing across different platforms.
What Testers Need to Do:
What Driver/Plugin Developers Need to Do:
Previously, you could list all active sessions using the /sessions endpoint. In Appium 3, this endpoint has been replaced with /appium/sessions, and a new feature flag now protects it.
To use it, you need to launch the server with:
appium --allow-insecure=*:session_discoveryThe response now includes a created field that shows when each session started, making it easier to track session activity and troubleshoot tests.
This new approach adds structure and ensures session details are retrieved securely, rather than exposed by default.
What Testers Need to Do:
What Driver/Plugin Developers Need to Do:
You no longer need to download the Appium Inspector separately. With Appium 3, you can install and host it directly from the Appium Server:
appium plugin install inspectorOnce installed, you can open the Inspector in your browser and start inspecting elements. This integration saves time and keeps your testing workflow unified inside the Appium environment.
What Testers Need to Do:
What Driver/Plugin Developers Need to Do:
A common challenge in testing is exposing sensitive data like passwords in logs. Appium 3 introduces a new way to mask such information. By adding the X-Appium-Is-Sensitive header to your client request, any sensitive input (like credentials or tokens) will appear as hidden values in the logs instead of plaintext.
This change is especially valuable for CI/CD pipelines or shared environments where logs are accessible to multiple users.
What Testers Need to Do:
What Driver/Plugin Developers Need to Do:
In legacy versions, Appium handled app installation files directly within the core, including unzip operations for packages. That logic has now been removed from the core and moved to specific drivers like UiAutomator2 and XCUITest.
This separation keeps Appium modular and ensures that platform-specific code lives where it belongs. To take advantage of this, make sure your drivers are up to date:
appium driver update --allWhat Testers Need to Do:
What Driver/Plugin Developers Need to Do:
Maintain compatibility with Appium 3’s modular architecture so drivers function independently of core logic.
Appium’s internal server is built on the Express web framework. In Appium 3, Express has been upgraded from version 4 to version 5. This update improves performance and modernizes the server foundation, ensuring compatibility with the latest Node.js versions.
You don’t need to change anything on your end - this upgrade happens automatically when you install Appium 3. But if you’ve embedded Appium in a custom Node project, it’s worth noting the version change.
What Testers Need to Do:
What Driver/Plugin Developers Need to Do:
Appium 3 continues the shift toward full W3C WebDriver compliance. The framework has dropped leftover support for old JSON Wire Protocol parameters that were still lingering in Appium 2.
This means your tests will now behave more consistently across browsers, devices, and client libraries. It also makes Appium’s communication with modern automation tools cleaner and more predictable.
What Testers Need to Do:
What Driver/Plugin Developers Need to Do:
Appium 3 improves the way errors are reported and logged. When something fails, the log now shows which component caused the issue - whether it’s the core server, a plugin, or a specific driver.
This clear separation makes debugging much faster. You can pinpoint the source of a problem without digging through hundreds of lines of logs. It’s one of those changes you’ll appreciate the first time something goes wrong in a large test suite.
What Testers Need to Do:
What Driver/Plugin Developers Need to Do:
Appium 3 needs Node 20, removes deprecated endpoints, adds a flagged sessions API, plugin Inspector, data masking, driver unzip, Express 5, and better errors. Appium 2 uses older Node, keeps old endpoints, and lacks these updates.
Here is a quick comparison of Appium 3 and Appium 2, highlighting changes in drivers, feature flags, Inspector setup, endpoints, and other updates.
| Feature | Appium 3 | Appium 2 |
|---|---|---|
| Node.js requirement | 20+ | 14+ |
| Deprecated endpoints | Removed or moved to drivers | Supported |
| Feature flag prefix | Required | Optional |
| Session discovery | /appium/sessions (requires flag) | /sessions |
| Appium Inspector | Installable plugin | Separate app |
| Sensitive data masking | Added | Not available |
| Unzip logic | Driver-based | Core-based |
| Server framework | Express 5 | Express 4 |
| Error reporting | More detailed and structured | General |
Running your mobile tests across multiple devices and platforms can be challenging, especially with local test infrastructure. Platforms like LambdaTest offer cloud mobile testing with instant access to hundreds of real and virtual devices, allowing you to run Appium 3 test scripts on real devices.
Key Features:
Note: LambdaTest supports Appium 3 on Android 15+ and iOS 16+ on its virtual device cloud.
To get started, check out this guide on Appium testing with LambdaTest.
You can generate Appium 3 capabilities from the LambdaTest Automation Capability Generator.
Appium 3 doesn’t completely change how you write or run tests, but it does refine the foundation the framework runs on. The focus of this release is cleanup and alignment - removing outdated endpoints, tightening feature flag usage, and ensuring better compatibility with modern Node.js and npm versions.
You’ll notice small but valuable updates across the board. The Inspector is easier to install, logs are more secure, and commands now behave more consistently across drivers. By moving unzip logic and other driver-specific operations out of the core, Appium is now lighter and simpler to maintain.
If you’re currently on Appium 2, upgrading isn’t a heavy lift. Most of your existing scripts will still work, though you’ll want to double-check feature flags, updated endpoints, and your Node environment. Taking the time to make those adjustments now will help you avoid compatibility issues later and keep your automation setup aligned with the latest driver standards.
New to Appium? Check out this detailed Appium tutorial.
Did you find this page helpful?
More Related Hubs
Start your journey with LambdaTest
Get 100 minutes of automation test minutes FREE!!