diff --git a/.github/chart-svg2.svg b/.github/chart-svg2.svg index 31f629f62..258c084f4 100644 --- a/.github/chart-svg2.svg +++ b/.github/chart-svg2.svg @@ -2,44 +2,44 @@ - resvg 0.35.0 + resvg 0.36.0 Chrome 105 Firefox 107 Safari 16.1 librsvg 2.55.1 Inkscape 1.2.1 - Batik 1.16 + Batik 1.16 SVG.NET 3.2.3 - QtSvg 6.4.0 + QtSvg 6.4.0 0 39 - 77 + 79 - 116 + 118 - 154 - - 130 - - 138 - - 138 - - 83 + 157 + + 133 + + 140 + + 140 + + 85 - 100 - - 48 - - - 2 - - 7 - - 7 + 102 + + 50 + + + 3 + + 7 + + 8 Tests passed diff --git a/.github/chart.svg b/.github/chart.svg index 7be98bc28..60f62552f 100644 --- a/.github/chart.svg +++ b/.github/chart.svg @@ -2,7 +2,7 @@ - resvg 0.35.0 + resvg 0.36.0 Chrome 105 Firefox 107 Safari 16.1 @@ -10,35 +10,35 @@ Inkscape 1.2.1 Batik 1.16 SVG.NET 3.2.3 - QtSvg 6.4.0 + QtSvg 6.4.0 0 - 390 + 391 - 780 + 782 - 1169 + 1172 - 1559 + 1563 - 1455 - - 1396 + 1459 + + 1399 - 1347 + 1350 - 1301 + 1303 - 1126 + 1128 - 972 - - 969 + 975 + + 970 530 - 412 + 413 Tests passed diff --git a/CHANGELOG.md b/CHANGELOG.md index 07dfa7a73..49a90afe3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,13 +7,29 @@ and this project adheres to [Semantic Versioning](http://semver.org/). This changelog also contains important changes in dependencies. ## [Unreleased] + +## [0.36.0] - 2023-10-01 ### Added -- `stroke-linejoin=miter-clip` support. +- `stroke-linejoin=miter-clip` support. SVG2. Thanks to [@torokati44](https://github.com/torokati44). +- Quoted FuncIRI support. Like `fill="url('#gradient')"`. SVG2. + Thanks to [@romanzes](https://github.com/romanzes). +- Allow float values in `rgb()` and `rgba()` colors. SVG2. + Thanks to [@yisibl](https://github.com/yisibl). +- `auto-start-reverse` variant support to `orient` in markers. SVG2. + Thanks to [@EpicEricEE](https://github.com/EpicEricEE). + +### Changed +- Update dependencies. ### Fixed - Increase precision of the zero-scale transform check. Was rejecting some valid transforms before. +- Panic when rendering a very specific text. +- Greatly improve parsing performance when an SVG has a lot of references. + Thanks to [@wez](https://github.com/wez). +- (Qt API) Fix scaling factor calculation. + Thanks to [@missdeer](https://github.com/missdeer). ## [0.35.0] - 2023-06-27 ### Fixed @@ -929,7 +945,8 @@ This changelog also contains important changes in dependencies. ### Fixed - `font-size` attribute inheritance during `use` resolving. -[Unreleased]: https://github.com/RazrFalcon/resvg/compare/v0.35.0...HEAD +[Unreleased]: https://github.com/RazrFalcon/resvg/compare/v0.36.0...HEAD +[0.36.0]: https://github.com/RazrFalcon/resvg/compare/v0.35.0...v0.36.0 [0.35.0]: https://github.com/RazrFalcon/resvg/compare/v0.34.1...v0.35.0 [0.34.1]: https://github.com/RazrFalcon/resvg/compare/v0.34.0...v0.34.1 [0.34.0]: https://github.com/RazrFalcon/resvg/compare/v0.33.0...v0.34.0 diff --git a/Cargo.lock b/Cargo.lock index ebd641b9c..f3bb8420a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -208,7 +208,7 @@ checksum = "3b42e27ef78c35d3998403c1d26f3efd9e135d3e5121b0a4845cc5cc27547f4f" [[package]] name = "resvg" -version = "0.35.0" +version = "0.36.0" dependencies = [ "gif", "jpeg-decoder", @@ -224,7 +224,7 @@ dependencies = [ [[package]] name = "resvg-capi" -version = "0.35.0" +version = "0.36.0" dependencies = [ "log", "resvg", @@ -404,7 +404,7 @@ checksum = "b1d386ff53b415b7fe27b50bb44679e2cc4660272694b7b6f3326d8480823a94" [[package]] name = "usvg" -version = "0.35.0" +version = "0.36.0" dependencies = [ "base64", "log", @@ -417,7 +417,7 @@ dependencies = [ [[package]] name = "usvg-parser" -version = "0.35.0" +version = "0.36.0" dependencies = [ "data-url", "flate2", @@ -433,7 +433,7 @@ dependencies = [ [[package]] name = "usvg-text-layout" -version = "0.35.0" +version = "0.36.0" dependencies = [ "fontdb", "kurbo", @@ -447,7 +447,7 @@ dependencies = [ [[package]] name = "usvg-tree" -version = "0.35.0" +version = "0.36.0" dependencies = [ "rctree", "strict-num", diff --git a/crates/c-api/Cargo.toml b/crates/c-api/Cargo.toml index 6386dbb18..df081ea5f 100644 --- a/crates/c-api/Cargo.toml +++ b/crates/c-api/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "resvg-capi" -version = "0.35.0" +version = "0.36.0" authors = ["Yevhenii Reizner "] keywords = ["svg", "render", "raster", "c-api"] license = "MPL-2.0" diff --git a/crates/c-api/ResvgQt.h b/crates/c-api/ResvgQt.h index 4f05e3531..ca8430dc9 100644 --- a/crates/c-api/ResvgQt.h +++ b/crates/c-api/ResvgQt.h @@ -14,9 +14,9 @@ #define RESVG_QT_H #define RESVG_QT_MAJOR_VERSION 0 -#define RESVG_QT_MINOR_VERSION 35 +#define RESVG_QT_MINOR_VERSION 36 #define RESVG_QT_PATCH_VERSION 0 -#define RESVG_QT_VERSION "0.35.0" +#define RESVG_QT_VERSION "0.36.0" #include diff --git a/crates/c-api/resvg.h b/crates/c-api/resvg.h index bda2b0def..ed3c0593a 100644 --- a/crates/c-api/resvg.h +++ b/crates/c-api/resvg.h @@ -17,9 +17,9 @@ #include #define RESVG_MAJOR_VERSION 0 -#define RESVG_MINOR_VERSION 35 +#define RESVG_MINOR_VERSION 36 #define RESVG_PATCH_VERSION 0 -#define RESVG_VERSION "0.35.0" +#define RESVG_VERSION "0.36.0" /** * @brief List of possible errors. diff --git a/crates/resvg/Cargo.toml b/crates/resvg/Cargo.toml index c5149eb1d..1ae9b85de 100644 --- a/crates/resvg/Cargo.toml +++ b/crates/resvg/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "resvg" -version = "0.35.0" +version = "0.36.0" authors = ["Yevhenii Reizner "] keywords = ["svg", "render", "raster"] license = "MPL-2.0" @@ -23,7 +23,7 @@ png = { version = "0.17", optional = true } rgb = "0.8" svgtypes = "0.12" tiny-skia = "0.11.2" -usvg = { path = "../usvg", version = "0.35.0", default-features = false } +usvg = { path = "../usvg", version = "0.36.0", default-features = false } [dev-dependencies] once_cell = "1.5" diff --git a/crates/usvg-parser/Cargo.toml b/crates/usvg-parser/Cargo.toml index 0792a6d44..7f10efa69 100644 --- a/crates/usvg-parser/Cargo.toml +++ b/crates/usvg-parser/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "usvg-parser" -version = "0.35.0" +version = "0.36.0" authors = ["Yevhenii Reizner "] keywords = ["svg"] license = "MPL-2.0" @@ -23,4 +23,4 @@ roxmltree = "0.18" simplecss = "0.2" siphasher = "0.3" # perfect hash implementation svgtypes = "0.12" -usvg-tree = { path = "../usvg-tree", version = "0.35.0" } +usvg-tree = { path = "../usvg-tree", version = "0.36.0" } diff --git a/crates/usvg-text-layout/Cargo.toml b/crates/usvg-text-layout/Cargo.toml index 832019630..f5152fe70 100644 --- a/crates/usvg-text-layout/Cargo.toml +++ b/crates/usvg-text-layout/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "usvg-text-layout" -version = "0.35.0" +version = "0.36.0" authors = ["Yevhenii Reizner "] keywords = ["svg"] license = "MPL-2.0" @@ -19,7 +19,7 @@ rustybuzz = "0.10" unicode-bidi = "0.3" unicode-script = "0.5" unicode-vo = "0.1" -usvg-tree = { path = "../usvg-tree", version = "0.35.0" } +usvg-tree = { path = "../usvg-tree", version = "0.36.0" } [features] default = ["system-fonts", "memmap-fonts"] diff --git a/crates/usvg-tree/Cargo.toml b/crates/usvg-tree/Cargo.toml index 98dfe857a..7ae8b6990 100644 --- a/crates/usvg-tree/Cargo.toml +++ b/crates/usvg-tree/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "usvg-tree" -version = "0.35.0" +version = "0.36.0" authors = ["Yevhenii Reizner "] keywords = ["svg"] license = "MPL-2.0" diff --git a/crates/usvg/Cargo.toml b/crates/usvg/Cargo.toml index 72ebc0153..09cf9f28f 100644 --- a/crates/usvg/Cargo.toml +++ b/crates/usvg/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "usvg" -version = "0.35.0" +version = "0.36.0" authors = ["Yevhenii Reizner "] keywords = ["svg"] license = "MPL-2.0" @@ -21,13 +21,13 @@ required-features = ["text", "system-fonts", "memmap-fonts"] base64 = "0.21" # for embedded images log = "0.4" pico-args = { version = "0.5", features = ["eq-separator"] } -usvg-parser = { path = "../usvg-parser", version = "0.35.0" } -usvg-tree = { path = "../usvg-tree", version = "0.35.0" } +usvg-parser = { path = "../usvg-parser", version = "0.36.0" } +usvg-tree = { path = "../usvg-tree", version = "0.36.0" } xmlwriter = "0.1" [dependencies.usvg-text-layout] path = "../usvg-text-layout" -version = "0.35.0" +version = "0.36.0" default-features = false optional = true diff --git a/docs/svg2-changelog.md b/docs/svg2-changelog.md index 7df6ee24b..374bbcdd9 100644 --- a/docs/svg2-changelog.md +++ b/docs/svg2-changelog.md @@ -24,7 +24,7 @@ NOTE: This list is not final. This just things I was able to find so far. Patche ### Changed - [x] [``](https://www.w3.org/TR/css3-values/#lengths) no longer includes the `%` unit. This variant was moved into a separate type: [``](https://www.w3.org/TR/css3-values/#typedef-length-percentage). -- [ ] [``](https://www.w3.org/TR/SVG11/filters.html#FilterProperty) was replaced with an [``](https://www.w3.org/TR/css3-values/#url-value). The main change here is that `` allows quoted strings. +- [x] [``](https://www.w3.org/TR/SVG11/filters.html#FilterProperty) was replaced with an [``](https://www.w3.org/TR/css3-values/#url-value). The main change here is that `` allows quoted strings. ### Deprecated diff --git a/tools/explorer-thumbnailer/Cargo.toml b/tools/explorer-thumbnailer/Cargo.toml index 861b696ce..823b111b0 100644 --- a/tools/explorer-thumbnailer/Cargo.toml +++ b/tools/explorer-thumbnailer/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "explorer-thumbnailer" -version = "0.35.0" +version = "0.36.0" authors = ["gentoo90 "] license = "MPL-2.0" edition = "2018" diff --git a/tools/explorer-thumbnailer/install/installer.iss b/tools/explorer-thumbnailer/install/installer.iss index 87338b902..e6d4dd731 100644 --- a/tools/explorer-thumbnailer/install/installer.iss +++ b/tools/explorer-thumbnailer/install/installer.iss @@ -1,8 +1,8 @@ [Setup] AppName="resvg Explorer Extension" -AppVersion="0.35.0" -VersionInfoVersion="0.0.35.0" -AppVerName="resvg Explorer Extension 0.35.0" +AppVersion="0.36.0" +VersionInfoVersion="0.0.36.0" +AppVerName="resvg Explorer Extension 0.36.0" AppPublisher="Yevhenii Reizner" AppPublisherURL=https://github.com/RazrFalcon/resvg DefaultDirName="{pf}\resvg Explorer Extension"