---
title: "rich Breaking Changes on PyPI | Since.dev"
description: "What each rich release removed, renamed or changed: 4 breaking changes in 1 version on PyPI, each with its source."
canonical_url: https://since.dev/packages/pypi/rich
last_updated: 2026-04-12
---

# rich breaking changes

Every breaking API change we have recorded in rich on PyPI: 4 breaking changes in 1 version. Below are its newest version, removals and renames first, each with its source.

Newest change April 12, 2026

## 15.0.0

4 breaking changes, first published April 12, 2026.

- **Removed**  

Python 3.8 is no longer supported, so users on Python 3.8 must upgrade their Python version before installing this release. [github.com](https://github.com/Textualize/rich/releases/tag/v15.0.0)
- **Signature changed** `rich.align.Console.save_html`  

Was def save_html(self, path: str, \*, theme: Optional\[TerminalTheme\] = None, clear: bool = True, code_format: str = CONSOLE_HTML_FORMAT, inline_styles: bool = False) -> None; now def save_html(self, path: Union\[str, PathLike\[str\]\], \*... [pypi.org](https://pypi.org/project/rich/15.0.0/)
- **Signature changed** `rich.align.Console.save_svg`  

Was def save_svg(self, path: str, \*, title: str = 'Rich', theme: Optional\[TerminalTheme\] = None, clear: bool = True, code_format: str = CONSOLE_SVG_FORMAT, font_aspect_ratio: float = 0.61, unique_id: Optional\[str\] = None) -> None; now def... [pypi.org](https://pypi.org/project/rich/15.0.0/)
- **Signature changed** `rich.align.Console.save_text`  

Was def save_text(self, path: str, \*, clear: bool = True, styles: bool = False) -> None; now def save_text(self, path: Union\[str, PathLike\[str\]\], \*, clear: bool = True, styles: bool = False) -> None. [pypi.org](https://pypi.org/project/rich/15.0.0/)

## Check your code

These are the changes. To see which of them reach your code, [scan a public repository](https://since.dev/scan.md), or have your coding agent call `check_code` with your manifest or lockfile over [MCP](https://since.dev/docs.md#mcp). [The API](https://since.dev/docs.md#api) reads every change in every version, not only the newest. On Team and up, a fix pull request opens for the changes that reach a connected repository. Nothing merges or deploys.

## Put your code on continuous management.

Scan a public repository now, or give your agent one line.

### See how out of date your code is.

[Scan a repository](https://since.dev/scan.md). Any public GitHub repository. No sign-in.

### Tell your agent what changed since it was trained.

`claude mcp add --transport http since https://api.since.dev/mcp`

---

Every page on this site as Markdown: https://since.dev/sitemap.md. For agents: https://since.dev/llms.txt.
