Svglib is a Python library for reading SVG files and converting them (to a
reasonable degree) to other formats using the ReportLab Open Source toolkit.
2.2.0 (2026-08-14)
Tooling and housekeeping
- Modernized type annotations across `src/svglib/` and `tests/` to use PEP
585 builtin generics (`list[...]`, `dict[...]`, `tuple[...]`, `set[...]`)
instead of `typing.List`/`Dict`/`Tuple`/`Set`, and simplified a few
emptiness/membership checks (`not points` instead of `len(points) == 0`,
a set literal instead of a list for `in` checks). No behavior change.
- Silenced a `UserWarning` from `test_convert_pdf_png` that came from
ReportLab's own `renderPM.drawImage`, not from svglib: it reopens a
`<image>` file referenced by path and converts it straight to RGB without
normalizing palette-with-transparency PNGs first, unlike svglib's own
handling of base64-embedded images. The referenced PNG (a dedicated
…
16f00d0c80
adam
py-svglib: updated to 2.1.0
2.1.0 (2026-08-01)
Added
- Declared support for **Python 3.14** (added the classifier and CI matrix
entry across Ubuntu, macOS, and Windows, alongside the existing 3.9–3.13).
- **Clipping paths** now support `<circle>`, `<ellipse>`, and `<polygon>` clip
shapes, in addition to paths and rectangles, and clipping masks referenced
from within a `<use>` element.
- Transforms are now applied to clipping-path shapes, fixing clip paths that
relied on previously unsupported transforms.
- The gradient shape classes now implement `getBounds()`, so drawings that
contain gradient fills can be measured — for example when used as a flowable
by rst2pdf.
Changed
- Renamed the gradient shape classes `_LinearGradientShape` and
…
0422d97da2
adam
py-svglib: updated to 2.0.2
2.0.2 (2026-06-18)
Supply-chain hygiene release — no code changes.
The 2.0.1 PyPI attestation was generated by a manual `workflow_dispatch` run
from `refs/heads/main` that raced ahead of the release event. As a result the
Sigstore certificate embedded in the PEP 740 attestation identified
`refs/heads/main` as the source rather than `refs/tags/v2.0.1`, making it
impossible to verify the package against the tagged commit. This release is
published exclusively via the `release: [published]` trigger so the attestation
identity is `refs/tags/v2.0.2`.
2.0.1 (2026-06-17)
Supply-chain hygiene release — no code changes.
This release replaces 2.0.0, which was published directly with `uv publish`
and therefore lacked the PEP 740 provenance attestation that was present in
…
This site uses Google Analytics cookies to count visits and see which pages are read.
No cookie is set until you accept. What is collected