Upgrading @appium/logger from 2.x to 3.x
Comparison of the public API of @appium/logger 2.0.12 and 3.0.0, computed automatically from their TypeScript types. A changed signature is a candidate for a breaking change, not a certainty.
Summary
| Removed import paths | 0 |
|---|---|
| Removed exports | 1 |
| Changed signatures | 0 |
| Removed class or interface members | 5 |
| Changed class or interface members | 1 |
| Newly deprecated | 0 |
| Requirement changes (engines, peer dependencies) | 1 |
| New exports | 1 |
Removed exports
| import | export | kind | Before |
|---|---|---|---|
@appium/logger | default | variable | Log |
Changed signatures
None detected.
Removed class or interface members
| member | import | Before |
|---|---|---|
Logger.enableUnicode | @appium/logger | (): void |
Logger.disableUnicode | @appium/logger | (): void |
Logger.enableProgress | @appium/logger | (): void |
Logger.disableProgress | @appium/logger | (): void |
Logger.progressEnabled | @appium/logger | (): boolean |
Changed class or interface members
| member | Before | After |
|---|---|---|
Logger.log | (level: string, prefix: string, message: any, ...args: any[]): void | (level: CustomLogLevel, prefix: string, message: any, ...args: any[]): void |
Newly deprecated
None detected.
Requirement changes (engines, peer dependencies)
| Before | After | |
|---|---|---|
engines.node | ^20.19.0 || ^22.12.0 || >=24.0.0 | ^22.22.2 || ^24.15.0 || >=26.0.0 |
New exports (1)
| import | export | kind |
|---|---|---|
@appium/logger | CustomLogLevel | type |
Changelog between these versions
Text published by the package authors, shown as-is.
3.0.0
### ⚠ BREAKING CHANGES
* **support:** Any script or tool that consumes Appium CLI output (driver/plugin list/install/update, doctor, etc.) and relies on the previous stream layout will need to be updated. Previously, non-JSON human-readable output (info/success/warning messages) was written to STDERR, with STDOUT reserved almost exclusively for --json output. Now that output goes to STDOUT, and only actual errors go to STDERR.
* **support:** Scripts that discarded STDOUT (1>/dev/null) to suppress "chatter" while relying on STDERR for status text will now see that text on STDOUT instead.
* **support:** Scripts that captured STDERR to detect/log informational or success messages will no longer see them there — only genuine errors will appear on STDERR. --json output and error behavior are unaffected: --json continues to write clean JSON to STDOUT only, and errors continue to go to STDERR.
* **support:** @appium/logger's Log class changes its default output stream from STDERR to STDOUT for all levels except error, and adds an errorStream/stderrLevel pair of properties. Any code that set .stream on a Log instance expecting it to capture all levels (including error) will now need to also set .errorStream to the same target.
* **logger:** @appium/logger and @appium/support no longer export a default log — import the named log export instead.
* **logger:** AppiumLogger#errorAndThrow has been removed; use errorWithException instead.
* **logger:** Logger#enableProgress, disableProgress, progressEnabled, enableUnicode, disableUnicode have been removed; they were already permanently disabled no-ops.
* the minimum supported Node.js engine is set to ^22.22.2 || ^24.15.0 || >=26.0.0
* require('@appium/support') no longer works; consumers must import it instead.
* require('@appium/base-driver') no longer works; drivers extending BaseDriver via require must switch to import.
* require('@appium/base-plugin') no longer works; plugins extending BasePlugin via require must switch to import.
* require('appium') no longer works; plugins extending the package via require must switch to import.
* require('@appium/fake-plugin') no longer works; consumers must import it instead.
* require('@appium/fake-driver') no longer works; consumers must import it instead.
* require('@appium/types') no longer works; consumers must import it instead.
* require('@appium/logger') no longer works; consumers must import it instead.
* require('@appium/schema') no longer works; consumers must import it instead.
### Features
* bump minimum supported Node.js engine to ^22.22.2 || ^24.15.0 || >=26.0.0 ([#22685](https://github.com/appium/appium/issues/22685)) ([8ad9193](https://github.com/appium/appium/commit/8ad9193115129e8bcae9fff7845dd753431ff687))
* convert remaining monorepo packages to ESM-only ([#22674](https://github.com/appium/appium/issues/22674)) ([48452fe](h3.0.0-beta.2
3.0.0-beta.1
**Note:** Version bump only for package @appium/logger3.0.0-beta.0
### ⚠ BREAKING CHANGES
* **support:** Any script or tool that consumes Appium CLI output (driver/plugin list/install/update, doctor, etc.) and relies on the previous stream layout will need to be updated. Previously, non-JSON human-readable output (info/success/warning messages) was written to STDERR, with STDOUT reserved almost exclusively for --json output. Now that output goes to STDOUT, and only actual errors go to STDERR.
* **support:** Scripts that discarded STDOUT (1>/dev/null) to suppress "chatter" while relying on STDERR for status text will now see that text on STDOUT instead.
* **support:** Scripts that captured STDERR to detect/log informational or success messages will no longer see them there — only genuine errors will appear on STDERR. --json output and error behavior are unaffected: --json continues to write clean JSON to STDOUT only, and errors continue to go to STDERR.
* **support:** @appium/logger's Log class changes its default output stream from STDERR to STDOUT for all levels except error, and adds an errorStream/stderrLevel pair of properties. Any code that set .stream on a Log instance expecting it to capture all levels (including error) will now need to also set .errorStream to the same target.
* **logger:** @appium/logger and @appium/support no longer export a default log — import the named log export instead.
* **logger:** AppiumLogger#errorAndThrow has been removed; use errorWithException instead.
* **logger:** Logger#enableProgress, disableProgress, progressEnabled, enableUnicode, disableUnicode have been removed; they were already permanently disabled no-ops.
* the minimum supported Node.js engine is set to ^22.22.2 || ^24.15.0 || >=26.0.0
* require('@appium/support') no longer works; consumers must import it instead.
* require('@appium/base-driver') no longer works; drivers extending BaseDriver via require must switch to import.
* require('@appium/base-plugin') no longer works; plugins extending BasePlugin via require must switch to import.
* require('appium') no longer works; plugins extending the package via require must switch to import.
* require('@appium/fake-plugin') no longer works; consumers must import it instead.
* require('@appium/fake-driver') no longer works; consumers must import it instead.
* require('@appium/types') no longer works; consumers must import it instead.
* require('@appium/logger') no longer works; consumers must import it instead.
* require('@appium/schema') no longer works; consumers must import it instead.
### Features
* bump minimum supported Node.js engine to ^22.22.2 || ^24.15.0 || >=26.0.0 ([#22685](https://github.com/appium/appium/issues/22685)) ([9f4a11e](https://github.com/appium/appium/commit/9f4a11e7190290986d01743557e90e6e44f87638))
* convert remaining monorepo packages to ESM-only ([#22674](https://github.com/appium/appium/issues/22674)) ([3516e50](hGive your AI agent these facts
Vigia is a free MCP server: your coding agent checks versions, breaking changes and vulnerabilities before it writes code. No signup, no API key.
claude mcp add --transport http vigia https://vigia.coredls.cloud/mcp
Add to CursorAdd to VS Code★ Star on GitHub
Any other MCP client
{ "mcpServers": { "vigia": { "url": "https://vigia.coredls.cloud/mcp" } } }Agent skill (SKILL.md): tells the agent when to use Vigia · GitHub Action for pull requests
Frequently asked questions
What are the breaking changes when upgrading @appium/logger from 2 to 3?
Between @appium/logger 2.0.12 and 3.0.0, Vigia found 1 removed exports, 0 changed signatures and 6 removed or changed class or interface members.
What became deprecated in @appium/logger 3?
0 exports or members are newly marked as deprecated in @appium/logger 3.0.0.
For agents
GET https://vigia.coredls.cloud/v1/packages/npm/@appium/logger/upgrade?from=2.0.12&to=3.0.0