Releases: mogest/prawn-svg
v0.36.0
The highlight change for this release is a huge rewrite of how gradients work to fix long-standing issues in the implementation as well as adding previously-unsupported properties, thanks so much @tonymarklove!
Note that there has been a considerable change to the way properties are handled internally. There are no changes in the PDF files generated by the test suite, but if your SVG uses invalid property values then it's likely prawn-svg will treat it differently (hopefully more like a web browser does!) Please raise an issue if this version shows any regression for your specific use case.
What's Changed
- Improved gradient support by @tonymarklove in #175
- Inherit gradient attributes from the linked/parent element by @tonymarklove in #173
- Support REXML 3.3.3 invalid XML handling by @mtasaka in #171
- Fix
stroke-opacity
andfill-opacity
handling by @mogest in 1a591cc via #177 - Large rewrite of property handling functions to comply better with the SVG spec by @mogest in 46a8f9f and 47e6318
- Implement
visibility
property by @mogest in e39b437 - Implement
font
shorthand property by @mogest in 54a17c6 - Upgrade to latest REXML
New Contributors
- @mtasaka made their first contribution in #171
- @tonymarklove made their first contribution in #173
Full Changelog: v0.35.1...v0.36.0
v0.35.1
v0.35.0
The minimum Ruby version has been changed to 2.7.
Changes
- Rebuild CSS values parser to be more standards compliant
Maintenance
- Use RuboCop for linting
- A very large reformat of the codebase
- Opt into Rubygems MFA
Full Changelog: v0.34.2...v0.35.0
v0.34.2
- Implement correct handling of the overflow property
- Inline base64 code rather than using the gem
- Handle gradients without a name
Full Changelog: v0.34.1...v0.34.2
v0.34.0
v0.33.0
What's Changed
- Implement stroke-linejoin attribute by @grothendeick in #152
- Support middle function of dominant-baseline for by @henry-hsieh in #158
- use Prawn.image_handler.find to resolve the image handler for the image data by @mojavelinux in #150
- Avoid unintentional string mutation by @aliismayilov in #127
New Contributors
- @aliismayilov made their first contribution in #127
- @henry-hsieh made their first contribution in #158
- @grothendeick made their first contribution in #152
Full Changelog: v0.32.0...v0.33.0
v0.32.0
v0.31.0
Changes
- Add basic
radialGradient
support. It's not quite perfect yet. - Add
text-decoration: underline
support - Make
href
synonymous with namespaced attributexlink:href
Fixes
- Allow "use" of elements that are defined lower in the document than where they're used
- Respect fill property on the top-level
svg
element - Follow
href
on gradient to reference parent stop definitions - Support highly compressed
path
elements - Fix crash when opacity was configured but no content was drawn
v0.30.0
Changes:
- Implement skewX and skewY transforms
- Implement gradientTransform on
<linearGradient>
- Implement textLength and lengthAdjust attributes on
<text>
- Support
<a>
element with no functionality
Bug fixes:
- opacity/fill-opacity/stroke-opacity precedence change
- Accept "data:" URLs case insensitively
v0.29.1
Changes:
- Support Ruby 2.6.
Bug fixes:
- CSS selectors :first-child, :last-child, :nth-child and the adjacent combinator now all work more correctly.
Also added a note to README that versions of Ruby before 2.6 will have an ongoing problem with the adjacent CSS combinator. This is due to a bug in REXML.