Vigia

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 paths0
Removed exports1
Changed signatures0
Removed class or interface members5
Changed class or interface members1
Newly deprecated0
Requirement changes (engines, peer dependencies)1
New exports1

Removed exports

importexportkindBefore
@appium/loggerdefaultvariableLog

Changed signatures

None detected.

Removed class or interface members

memberimportBefore
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

memberBeforeAfter
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)

BeforeAfter
engines.node^20.19.0 || ^22.12.0 || >=24.0.0^22.22.2 || ^24.15.0 || >=26.0.0
New exports (1)
importexportkind
@appium/loggerCustomLogLeveltype

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](h
3.0.0-beta.2
3.0.0-beta.1
**Note:** Version bump only for package @appium/logger
3.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](h

Give 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