Change8

Migrating to Rich v14.0.0

Version v14.0.0 introduces 2 breaking changes. This guide details how to update your code.

Released: 3/30/2025

2
Breaking Changes
4
Migration Steps
2
Affected Symbols

⚠️ Check Your Code

If you use any of these symbols, you need to read this guide:

ConsoleTraceback

Breaking Changes

Issue #1

An empty `NO_COLOR` environment variable is now treated as disabled, whereas previously it enabled color output. Update any scripts that relied on an empty `NO_COLOR` to explicitly unset or set to a non‑empty value.

Issue #2

An empty `FORCE_COLOR` environment variable is now treated as disabled, changing previous behavior where it forced color output. Adjust CI or terminal configurations accordingly.

Migration Steps

  1. 1
    If you relied on an empty `NO_COLOR` to enable colors, remove the variable or set it to a non‑empty value.
  2. 2
    If you relied on an empty `FORCE_COLOR` to force colors, remove the variable or set it to a non‑empty value.
  3. 3
    To retain previous CI behavior, set `TTY_COMPATIBLE=1` where ANSI output is needed without a TTY.
  4. 4
    Upgrade to Python 3.11 or later to benefit from traceback note rendering and ExceptionGroup support.

Release Summary

Rich 14.0.0 adds the `TTY_COMPATIBLE` env var, updates color‑env‑var semantics, and enhances traceback rendering with notes, exception groups, and revised indentation.

Need More Details?

View the full release notes and all changes for Rich v14.0.0.

View Full Changelog