- Final fix to conversion from shorthand quadratic to cubic bézier (#372).
- Add support for
ex
units (assuming for em/2). - Add support for
image/jpg
embedded images (in addition toimage/jpeg
). - Avoid crash on
@import
rules in stylesheets. The rules are simply ignored (#285). - Fix conversion from shorthand quadratic to cubic bézier (#364).
- No source code changes, only fixed a leftover set_trace() in the released code (#352).
- Include
tests/samples/others/*.svg
in source distribution (#341). - Render leading and trailing text content in text nodes (#343).
- Better integration with cssselect2 to support a wider range of CSS selectors (#346).
- Support mmult import from reportlab < 3.5.61 (#316).
- Make zero-length Line, PolyLine and Polygon appear in PDFs when their stroke value is non-zero (#319).
<symbol>
nodes now only appears in documents when they are referenced, not on their initial appearance (#328).- If only rx or ry is defined on a
<rect>
, the value is used for both. - Support non-prefixed
href
attribute added in SVG 2 (#330). - Fixed parsing of empty SVG style nodes (#325).
- Handle content of multiple SVG style nodes (#326).
- Better font caching for some font names (#338).
- Revert to scripts usage instead of console_scripts during setup (#313).
- dropped support for Python 3.6 and added official support for Python 3.10.
- improved support for scientific notation in paths (#277)
- if some path has a color with alpha value, it also sets the default fill or stroke opacity of the resulting object.
- matrix transforms on groups are combined with other transforms instead of replacing them.
- honor cascading when applying CSS rules (#253)
- ignore !important statement in CSS values (#227)
- svg2rlg accept pathlib.Path input (#97)
- better handling of font variants (bold, italic)
- a demo for using svglib inside a Streamlit application in /demos
- add a svg2pdf man page
- dropped official support for Python 3.5 and modernized to 3.6+
- added official support for Python 3.9.
- avoid stroking clipping paths (#238)
- when converting percentage values in embedded SVGs, consider the direct svg parent node (#246)
- fixed rounded rects artifacts when rx/ry values are too high (#250)
- avoid stroking rects when strokeWidth is 0 (#250)
- dropped Python 2 support
- fixed references to <defs> content when placed middle or end of SVG documents (#225)
- fixed elliptic arcs reading when arc flags are condensed (#232)
- disabled external entity loading by default (#229 - CVE-2020-10799)
- WARNING: this is the last release supporting Python 2!
- added support for more color values (hex with alpha, rgba(), etc.) (#213, #115)
- handle text positioning when x, y, dx, dy have a list of values
- fixed styles precedence issue (#211)
- fixed license mention in the svg2pdf script (#194)
- support the whole range of HTML color names for color styles (#203)
- fixed a division by zero error when width/height are missing in main viewBox (#195)
- fixed rendering of circular arcs in some edge cases (#189)
- support for percentage attribute values has been added (#141)
- SVG viewbox is now properly scaled to its width/height attributes (#121)
- embedded external SVG files or file fragments are now rendered (#175)
- support <rect> as a clipping source
- prevented crash when a relative file path is used in a memory-only SVG source (#173)
- fixed image translation (by y value instead of x)
- fixed svgz output on Python 3
- kept PDF standard fonts untouched (#89)
- added basic support for non-standard fonts (#89, #107)
- allowed list of font names
- better merge style attributes from parent nodes (#119)
- fixed crash with strings in transform parameters
- handled PNGs embedded in SVG sources (#93)
- improved scaling of embedded SVGs (#124)
- added millimeter unit support
- fixed crash in elliptical arc calculation (#117)
- added experimental support for CSS style sheets (#111)
- allowed decimal percentage values in rgb colors
- countless improvements to be hopefully listed in more detail in 0.9.0
- added support for the
stroke-opacity
property - added basic em unit support for text placement
- added respecting absolute coordinates for tspan
- fixed crash with empty path definitions
- symbol definitions are considered when referenced in nodes
- fixed compatibility with recent ReportLab versions
This release introduces many contributions by Claude Paroz, who stepped forward to give this project a long needed overhaul after ca. six years of taking a nap, for which I'm really very grateful! Thanks, Claude!
- moved repository to https://github.com/deeplook/svglib
- skipped version 0.7.0 to indicate tons of fixes regarding the points below
- added support for elliptical arcs
- fixed open/closed path issues
- fixed clip path issues
- fixed text issues
- replaced
minidom
withlxml
- added
logging
support - added a few more sample SVG files
- migrated test suite from unittest to pytest
- improved test documentation
- frozen last version maintained at https://bitbucket.org/deeplook/svglib/
Sadly, no condensed changelog exists prior to version 0.6.3.