Ora is a Node.js utility for showing an elegant animated terminal spinner with customizable text, color, spinner style, and output stream (by default, process.stderr). It’s useful for CLI apps to provide responsive progress feedback while work is running, including helpers like oraPromise to automatically mark success or failure.
Project status
- The repository appears actively maintained, with recent tagged updates (v9.4.0 on 2026-04-22, following earlier updates in early 2026).
- The update cadence is somewhat bursty, with v9.2.0 on 2026-02-04, v9.3.0 the next day on 2026-02-05, then v9.4.0 on 2026-04-22.
AI summary generated Today
Recent updates
v9.4.0
1 month agov9.4.0 adds `successSymbol` and `failSymbol` options to `oraPromise`, allowing callers to customize or disable the resolved and rejected symbols. The implementation also introduces stricter runtime validation for the `interval` and `color` options in the main `ora` spinner.
Featuresv9.3.0
4 months agov9.3.0 focuses on reducing flicker during spinner rendering. The implementation changes how output is written to TTY streams by temporarily enabling terminal synchronized output mode around each render cycle.
v9.2.0
4 months agov9.2.0 primarily updates the `stdin-discarder` dependency used by `ora`. The only functional code-related change in this release is the dependency version bump in `package.json`.
v9.1.0
4 months agoora v9.1.0 adds support for writing to the same stream (for example, console.log, console.error, console.warn) while a spinner is running, so the spinner can clear, print the message, and re-render cleanly. It also replaces the strip-ansi dependency with Node's native stripVTControlCharacters.
Featuresv9.0.0
8 months agoora v9.0.0 requires Node.js 20 and includes fixes around clearing, frame rendering, and handling multiline output that exceeds terminal height. The code changes also introduce stricter validation for custom spinner objects and adjust internal prefix/suffix handling during line-count computation.
Breakingv8.2.0
2/2/2025v8.2.0 adds support for using a boolean value with the `color` option. The release notes only mention this change. The code diff shows corresponding updates to TypeScript types and the README to reflect the new accepted type.
Featuresv8.1.1
11/1/2024v8.1.1 contains two targeted bug fixes related to spinner rendering: throttling frame updates when render/update is called very frequently, and correctly handling an empty string symbol during persistence. The code changes are small but include internal timing state and an adjustment to how spacing is computed when the symbol is empty.
v8.1.0
8/25/2024v8.1.0 is described in the release notes only as a dependency update. The code diff shows mostly dependency version bumps plus documentation and type-comment text adjustments, with no clear functional code changes in the runtime implementation.
Breakingv8.0.1
12/23/2023v8.0.1 is a small maintenance release intended to fix an issue where the process was not exiting. The provided release notes only mention the behavioral fix, with no further details.
v8.0.0
12/22/2023v8.0.0 primarily raises the minimum supported Node.js version to 18 and updates dependencies. The code diff also includes packaging-related metadata changes in package.json (exports and sideEffects) and CI workflow action version bumps.
Breaking