meyfa/php-svg
Lightweight PHP library to create, read, and manipulate SVGs. Build SVG documents programmatically, edit shapes and attributes via a DOM-like API, and export clean SVG/XML. Handy for generating icons, diagrams, and server-side graphics without external dependencies.
Full Changelog: https://github.com/meyfa/php-svg/compare/v0.16.0...v0.16.1
Full Changelog: https://github.com/meyfa/php-svg/compare/v0.15.1...v0.16.0
Additional changes:
Full Changelog: https://github.com/meyfa/php-svg/compare/v0.15.0...v0.15.1
BREAKING: This release drops support for PHP 7.3. This allows us to use lots of new syntax offered since PHP 7.4. In particular, much better type definitions were added.
Thanks to everyone who contributed to make this possible!
::class instead of FQN-strings by @Niellles in https://github.com/meyfa/php-svg/pull/212Full Changelog: https://github.com/meyfa/php-svg/compare/v0.14.7...v0.15.0
Full Changelog: https://github.com/meyfa/php-svg/compare/v0.14.6...v0.14.7
Full Changelog: https://github.com/meyfa/php-svg/compare/v0.14.5...v0.14.6
Full Changelog: https://github.com/meyfa/php-svg/compare/v0.14.4...v0.14.5
Full Changelog: https://github.com/meyfa/php-svg/compare/v0.14.3...v0.14.4
Full Changelog: https://github.com/meyfa/php-svg/compare/v0.14.2...v0.14.3
Full Changelog: https://github.com/meyfa/php-svg/compare/v0.14.1...v0.14.2
Full Changelog: https://github.com/meyfa/php-svg/compare/v0.14.0...v0.14.1
SVG class by @meyfa in https://github.com/meyfa/php-svg/pull/193Full Changelog: https://github.com/meyfa/php-svg/compare/v0.13.0...v0.14.0
| ⚠️ | BREAKING CHANGE: This version requires PHP 7.3 or later! |
|---|
PHP-SVG 0.12.0 has been the last release to support all PHP versions down to 5.3.3. From now on, PHP-SVG will require a minimum PHP version of 7.3. Read more about this choice here: https://github.com/meyfa/php-svg/issues/180
This should only affect you if you're using a PHP installation that's more than 4 years out of date. Keep in mind that everything below PHP 8 has already reached official end-of-life, so please consider upgrading. Running outdated software is a security risk.
?? by @meyfa in https://github.com/meyfa/php-svg/pull/186Full Changelog: https://github.com/meyfa/php-svg/compare/v0.12.0...v0.13.0
null return typehints on SVG::getWidth/getHeight by @norkunas in https://github.com/meyfa/php-svg/pull/170Full Changelog: https://github.com/meyfa/php-svg/compare/v0.11.3...v0.12.0
ImageRenderer for PHP 8.Full Changelog: https://github.com/meyfa/php-svg/compare/v0.11.2...v0.11.3
Full Changelog: https://github.com/meyfa/php-svg/compare/v0.11.1...v0.11.2
Full Changelog: https://github.com/meyfa/php-svg/compare/v0.11.0...v0.11.1
Full Changelog: https://github.com/meyfa/php-svg/compare/v0.10.0...v0.11.0
See #77
Color::clamp (3cd4ecc35961c51f9661d955ee09fb2fccf3f0db)intval/floatval (920466c37c837b6360c761ea8c9537adbd9abaf9)Full Changelog: https://github.com/meyfa/php-svg/compare/v0.9.1...v0.10.0
SVGImage) and embedded fonts (via SVGFont)SVGClipPathSVGImage::fromString()SVGTitle class (34401edef1f724898f468f71b85505fbcc8351bb)ext-simplexml composer requirement (PR #57 by @moebrowne) (96a1daf01d4b2131864ad3a3382bcaa06019136f)<svg> (3b36e9f8909d157cc0ac83a7173c611359c21747)Full Changelog: https://github.com/meyfa/php-svg/compare/v0.9.0...v0.9.1
\SVG\SVGImage is renamed to \SVG\SVG (PR #55) (fc8e34ef2f1c7b04b6e56da9398097335867267d)\SVG\Nodes\Embedded\SVGImageElement is renamed to \SVG\Nodes\Embedded\SVGImage (PR #55) (1680eca33c0e107439969650904ab08ecfe83603)paint-order attribute (PR #54 by @za-ek) (a89d495f56af40bea7a18b8c6675987236aca218)Full Changelog: https://github.com/meyfa/php-svg/compare/v0.8.0...v0.9.0
$root parameter of SVGDocumentFragment constructor (def5a72b5c51f82d8becc295de4e89b672a70f86)
(breaks any code using nested <svg> tags)getElementById method to document class (936d22c2c3c104bf08f1926eab51379158e528e6)getElementsByTagName method to nodes (2283a216a32493450adf1b35462e985767b5bf54)<text>, <textPath> (PR #42 by @thomas-kl1) (c628ff3f8debcda239f154eb0c5c0177e51df34b)<title> tag (PR #47 by @micgro42) (9c738174a1001b82bf60db0142d840c24f67fba3)SVGNodeContainer::setChild method (#51) (48c3980eed48e0e135e13a9f654527c09648a542)setType method on SVGStyle (PR #44 by @peter279k) (212cae4bbead7e6740d78289c41cc07939ba7281)Full Changelog: https://github.com/meyfa/php-svg/compare/v0.7.0...v0.8.0
Besides internal rewrites, this release offers many fixes for nonconforming behavior. In addition, there is now support for rectangles with rounded corners, the full range of CSS color notation and automatic entity escaping in attributes (" → ").
SVGDocumentFragment test failures (094238d6cb451f43ce6e0f4ce663f7b7dae7a78a)SVGReader (dadcabdaafc9086b02941acc2131ab7bca8b5677)viewBox by SVGReader when explicit attributes are missing (dadcabdaafc9086b02941acc2131ab7bca8b5677)SVG::convertUnit accepting missing value (c9ce6ed36710ad34584877f10657efd262856f3c)SVGNode::setStyle and SVGNode::setAttribute unset properties when given null (0747a98b27683bf0e251072f0e9be6460893da04)SVGNode::setAttributeOptional (#38) (0747a98b27683bf0e251072f0e9be6460893da04)SVGNode (c8c4f6ba7dc4a10bb2eabb3a443daa45aa534c33)Full Changelog: https://github.com/meyfa/php-svg/compare/v0.6.1...v0.7.0
<defs> tag (fixes #32) (5dc6b2c, 2c27ab3)meyfa/php-svguse statements to start with SVG\, e.g. use SVG\SVGImageSVGRect::setHeight() setting the width (16d790c)<image> tag (PR #26) (e2148fb)
<image> tag<style> tag, improved viewbox, nested docs (PR #27) (67ff696)viewBox support (closes #20) (PR #22)All path commands are now supported!
display: none (fd2c893) and visibility (dbcb999) support to node rasterization (see #15)d attribute to SVGPath (cafd2be)SVGNode::attributes (7f33fb1)setStyle() for default styles (fixes #14) (5a4d720)How can I help you explore Laravel packages today?