# What changed in cairosvg

> 13 changes in cairosvg 2 from its official release notes, upgrade guides and advisories: 5 breaking, 1 security, 3 new APIs and options. Each one cited. Sources checked 2026-10-30. HTML: https://unstale.sh/pypi/cairosvg/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## cairosvg 2

### Breaking changes

- Python 3.9 is no longer supported, and Python 3.14 is now supported. (2.9.0) — [release notes](https://github.com/Kozea/CairoSVG/releases/tag/2.9.0)
- Rendering stops when more than 100k use tags are rendered, preventing long rendering times from recursively nested use tags. (2.9.0) — [release notes](https://github.com/Kozea/CairoSVG/releases/tag/2.9.0), [security advisory](https://github.com/advisories/GHSA-F38F-5XPM-9R7C)
- Gradients use bounding boxes. (2.0.0) — [release notes](https://github.com/Kozea/CairoSVG/releases/tag/2.0.0)
- pycairo support is removed. (2.0.0) — [release notes](https://github.com/Kozea/CairoSVG/releases/tag/2.0.0)
- Python 2 is no longer supported. (2.0.0) — [release notes](https://github.com/Kozea/CairoSVG/releases/tag/2.0.0)

### Security

- Specially crafted SVGs with very long paths could cause exponential rendering times; this security update addresses that risk. (2.9.1) — [release notes](https://github.com/Kozea/CairoSVG/releases/tag/2.9.1), [security advisory](https://github.com/advisories/GHSA-C3JG-QH8M-J3H2)

### New APIs and options

- Using this option allows rendering documents with more than 100k use tags. (2.9.0) — [release notes](https://github.com/Kozea/CairoSVG/releases/tag/2.9.0)
- A parent size option is added. (2.0.0) — [release notes](https://github.com/Kozea/CairoSVG/releases/tag/2.0.0)
- A scale option is added. (2.0.0) — [release notes](https://github.com/Kozea/CairoSVG/releases/tag/2.0.0)

### Behavior and default changes

- The url parameter now supports path-like objects. (2.9.1) — [release notes](https://github.com/Kozea/CairoSVG/releases/tag/2.9.1)

### Fixes and other changes

- Support for Windows paths is fixed. (2.9.1) — [release notes](https://github.com/Kozea/CairoSVG/releases/tag/2.9.1)
- Marker handling is fixed. (2.0.0) — [release notes](https://github.com/Kozea/CairoSVG/releases/tag/2.0.0)
- URL and id handling is fixed. (2.0.0) — [release notes](https://github.com/Kozea/CairoSVG/releases/tag/2.0.0)
