diff --git a/CHANGELOG.md b/CHANGELOG.md index 9e0471a1..bde8083a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,9 +4,22 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/). -## [Unreleased] -### Changed -- A `stop` element without the `offset` attribute is error. +## [0.7.0] - 2016-10-09 +### Added +- `--remove-dupl-fegaussianblur`. +- `--remove-invalid-stops`. +- `--apply-transform-to-gradients`. +- `--ungroup-defs`. +- `--regroup-gradient-stops`. +- `--remove-gradient-attributes`. +- `--multipass`. + +### Changes +- A lot of small cleaning optimizations. + +### Removed +- `--precision-coordinate`. +- `--precision-transform`. ## [0.6.91] - 2016-09-20 ### Added @@ -145,7 +158,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/). ### Added - First public release with Perl backend and Qt GUI. -[Unreleased]: https://github.com/RazrFalcon/svgcleaner/compare/v0.6.91...HEAD +[Unreleased]: https://github.com/RazrFalcon/svgcleaner/compare/v0.7.0...HEAD +[0.7.0]: https://github.com/RazrFalcon/svgcleaner/compare/v0.6.91...v0.7.0 [0.6.91]: https://github.com/RazrFalcon/svgcleaner/compare/v0.6.90...v0.6.91 [0.6.90]: https://github.com/RazrFalcon/svgcleaner/compare/v0.6.2...v0.6.90 [0.6.2]: https://github.com/RazrFalcon/svgcleaner/compare/v0.6.1...v0.6.2 diff --git a/Cargo.toml b/Cargo.toml index 9a3b2a75..4da85720 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,11 +9,11 @@ readme = "README.md" [dependencies] # latest -svgdom = { git = "https://github.com/RazrFalcon/libsvgdom.git" } +# svgdom = { git = "https://github.com/RazrFalcon/libsvgdom.git" } # local copy # svgdom = { path = "../svgdom" } # from crates -# svgdom = "0.0.3" +svgdom = "0.1.0" [dependencies.clap] version = "2.14" diff --git a/README.md b/README.md index 58376b8d..13e97223 100644 --- a/README.md +++ b/README.md @@ -60,30 +60,30 @@ See ['Testing notes'](docs/testing_notes.rst) for details. *Less is better.* -![Alt text](https://cdn.rawgit.com/RazrFalcon/svgcleaner/v0.6.91/docs/images/correctness_chart_W3C_SVG_11_TestSuite.svg) +![Alt text](https://cdn.rawgit.com/RazrFalcon/svgcleaner/v0.7.0/docs/images/correctness_chart_W3C_SVG_11_TestSuite.svg) \* Yes, *svgcleaner* 0.6.2 is absolute garbage on this data set. -![Alt text](https://cdn.rawgit.com/RazrFalcon/svgcleaner/v0.6.91/docs/images/correctness_chart_oxygen.svg) +![Alt text](https://cdn.rawgit.com/RazrFalcon/svgcleaner/v0.7.0/docs/images/correctness_chart_oxygen.svg) ### Cleaning ratio *More is better.* -![Alt text](https://cdn.rawgit.com/RazrFalcon/svgcleaner/v0.6.91/docs/images/ratio_chart_W3C_SVG_11_TestSuite.svg) +![Alt text](https://cdn.rawgit.com/RazrFalcon/svgcleaner/v0.7.0/docs/images/ratio_chart_W3C_SVG_11_TestSuite.svg) \* And again, *svgcleaner* 0.6.2 is kinda superb, but since it breaks most of the files - it's pointless. Same goes for *svgo*. -![Alt text](https://cdn.rawgit.com/RazrFalcon/svgcleaner/v0.6.91/docs/images/ratio_chart_oxygen.svg) +![Alt text](https://cdn.rawgit.com/RazrFalcon/svgcleaner/v0.7.0/docs/images/ratio_chart_oxygen.svg) ### Cleaning time *Less is better.* -![Alt text](https://cdn.rawgit.com/RazrFalcon/svgcleaner/v0.6.91/docs/images/performance_chart_W3C_SVG_11_TestSuite.svg) +![Alt text](https://cdn.rawgit.com/RazrFalcon/svgcleaner/v0.7.0/docs/images/performance_chart_W3C_SVG_11_TestSuite.svg) -![Alt text](https://cdn.rawgit.com/RazrFalcon/svgcleaner/v0.6.91/docs/images/performance_chart_oxygen.svg) +![Alt text](https://cdn.rawgit.com/RazrFalcon/svgcleaner/v0.7.0/docs/images/performance_chart_oxygen.svg) You can find more tests, with detailed explanations of errors, [here](docs/extended_testing.rst). diff --git a/docs/extended_testing.rst b/docs/extended_testing.rst index 5917d401..6225f3e1 100644 --- a/docs/extended_testing.rst +++ b/docs/extended_testing.rst @@ -30,8 +30,8 @@ Oxygen icons theme 4.12 :: Files count: 4941 - Files cleaned with serious errors: 28 - Files cleaned with any errors: 909 + Files cleaned with serious errors: 26 + Files cleaned with any errors: 907 Unchanged files: 2 Size after/before: 506672479/1277145470 Cleaning ratio: 60.33% diff --git a/docs/images/correctness_chart_W3C_SVG_11_TestSuite.svg b/docs/images/correctness_chart_W3C_SVG_11_TestSuite.svg index 66735dfc..5de2d441 100644 --- a/docs/images/correctness_chart_W3C_SVG_11_TestSuite.svg +++ b/docs/images/correctness_chart_W3C_SVG_11_TestSuite.svg @@ -1,57 +1,57 @@ - - + + Total errors count in W3C SVG 1.1 TestSuite - svgcleaner 0.6.91 + svgcleaner 0.7.0 - + svgcleaner 0.6.2 - - svgo 0.7.0 + + svgo 0.7.1 - - + + 0 - - + + 100 - - + + 200 - - + + 300 - - + + 400 - - + + 525 - - - + + + 1 - - + + 396 - - - 280 + + + 284 - - + + Files diff --git a/docs/images/correctness_chart_oxygen.svg b/docs/images/correctness_chart_oxygen.svg index 5395c6e2..d5303265 100644 --- a/docs/images/correctness_chart_oxygen.svg +++ b/docs/images/correctness_chart_oxygen.svg @@ -1,58 +1,57 @@ - - + + Total errors count in Oxygen icon theme - - svgcleaner 0.6.91 + + svgcleaner 0.7.0 - + svgcleaner 0.6.2 - - svgo 0.7.0 + + svgo 0.7.1 - - + + 0 - - + + 1000 - - + + 2000 - - + + 3000 - - + + 4000 - - + + 4941 - - - - 9 + + + + 1 - - + + 831 - - - - 201 + + + 374 - - + + Files diff --git a/docs/images/performance_chart_W3C_SVG_11_TestSuite.svg b/docs/images/performance_chart_W3C_SVG_11_TestSuite.svg index 13e8c284..d877a781 100644 --- a/docs/images/performance_chart_W3C_SVG_11_TestSuite.svg +++ b/docs/images/performance_chart_W3C_SVG_11_TestSuite.svg @@ -1,58 +1,54 @@ - - + + Average cleaning time in W3C SVG 1.1 TestSuite - svgcleaner 0.6.91 + svgcleaner 0.7.0 - + svgcleaner 0.6.2 - - svgo 0.7.0 + + svgo 0.7.1 - - + + 0ms - - - 0ms - - - - 60ms + + + 75ms - - - 120ms + + + 150ms - - - 180ms + + + 225ms - - - 240ms + + + 300ms - - - - 1.468 + + + + 1.575 - - - + + + 5.443 - - - 216.365 + + + 244.228 - - + + Time diff --git a/docs/images/performance_chart_oxygen.svg b/docs/images/performance_chart_oxygen.svg index f05dde36..c9280d86 100644 --- a/docs/images/performance_chart_oxygen.svg +++ b/docs/images/performance_chart_oxygen.svg @@ -1,58 +1,54 @@ - - + + Average cleaning time in Oxygen icon theme - svgcleaner 0.6.91 + svgcleaner 0.7.0 - + svgcleaner 0.6.2 - - svgo 0.7.0 + + svgo 0.7.1 - - + + 0ms - - - 0ms - - - + + 200ms - - + + 400ms - - + + 600ms - - + + 800ms - - - - 8.344 + + + + 7.567 - - - + + + 30.317 - - - 607.615 + + + 687.752 - - + + Time diff --git a/docs/images/ratio_chart_W3C_SVG_11_TestSuite.svg b/docs/images/ratio_chart_W3C_SVG_11_TestSuite.svg index dd9c5371..c9dc6a63 100644 --- a/docs/images/ratio_chart_W3C_SVG_11_TestSuite.svg +++ b/docs/images/ratio_chart_W3C_SVG_11_TestSuite.svg @@ -1,56 +1,52 @@ - - + + Cleaning ratio in W3C SVG 1.1 TestSuite - svgcleaner 0.6.91 + svgcleaner 0.7.0 - + svgcleaner 0.6.2 - - svgo 0.7.0 + + svgo 0.7.1 - - + + 0% - - - 0% - - - + + 25% - - + + 50% - - + + 75% - - + + 100% - - - 32.08 + + + 32.21 - - + + 71.89 - - - 40.9 + + + 40.77 - - + + Removed data diff --git a/docs/images/ratio_chart_oxygen.svg b/docs/images/ratio_chart_oxygen.svg index f2cc1557..acb013a0 100644 --- a/docs/images/ratio_chart_oxygen.svg +++ b/docs/images/ratio_chart_oxygen.svg @@ -1,56 +1,52 @@ - - + + Cleaning ratio in Oxygen icon theme - svgcleaner 0.6.91 + svgcleaner 0.7.0 - + svgcleaner 0.6.2 - - svgo 0.7.0 + + svgo 0.7.1 - - + + 0% - - - 0% - - - + + 25% - - + + 50% - - + + 75% - - + + 100% - + - 58.84 + 60.33 - - + + 65.71 - - - 54.13 + + + 53.33 - - + + Removed data diff --git a/tools/files-testing/data/oxygen.json b/tools/files-testing/data/oxygen.json index 5cce1cea..92e5d43d 100644 --- a/tools/files-testing/data/oxygen.json +++ b/tools/files-testing/data/oxygen.json @@ -444,106 +444,6 @@ { "name": "actions/small/32x32/mail-mark-unread.svg", "valid_ae": 412 - }, - { - "name": "categories/preferences-desktop-peripherals.svg", - "valid_ae": 33386 - }, - { - "name": "categories/applications-other.svg", - "valid_ae": 5572 - }, - { - "name": "devices/input-tablet.svg", - "valid_ae": 38491 - }, - { - "name": "mimetypes/small/64x64/text-x-hex.svg", - "valid_ae": 162529 - }, - { - "name": "mimetypes/small/64x64/application-x-gzpostscript.svg", - "valid_ae": 31360 - }, - { - "name": "mimetypes/small/32x32/uri-rtspu.svg", - "valid_ae": 225028 - }, - { - "name": "mimetypes/small/32x32/uri-mmsu.svg", - "valid_ae": 225028 - }, - { - "name": "mimetypes/small/32x32/audio-midi.svg", - "valid_ae": 204915 - }, - { - "name": "mimetypes/small/32x32/audio-vn.rn-realmedia.svg", - "valid_ae": 225028 - }, - { - "name": "mimetypes/small/32x32/video-x-generic.svg", - "valid_ae": 225028 - }, - { - "name": "mimetypes/small/32x32/application-vnd.rn-realmedia.svg", - "valid_ae": 225028 - }, - { - "name": "mimetypes/small/32x32/uri-pnm.svg", - "valid_ae": 225028 - }, - { - "name": "mimetypes/small/32x32/application-x-shockwave-flash.svg", - "valid_ae": 225460 - }, - { - "name": "mimetypes/small/32x32/uri-mmst.svg", - "valid_ae": 225028 - }, - { - "name": "mimetypes/small/32x32/audio-vnd.rn-realvideo.svg", - "valid_ae": 225028 - }, - { - "name": "mimetypes/small/32x32/uri-mms.svg", - "valid_ae": 225028 - }, - { - "name": "mimetypes/small/32x32/uri-rtspt.svg", - "valid_ae": 225028 - }, - { - "name": "mimetypes/small/32x32/application-x-mplayer2.svg", - "valid_ae": 225028 - }, - { - "name": "mimetypes/small/32x32/audio-prs.sid.svg", - "valid_ae": 204915 - }, - { - "name": "mimetypes/small/48x48/text-x-katefilelist.svg", - "valid_ae": 151235 - }, - { - "name": "mimetypes/small/48x48/text-x-cmake.svg", - "valid_ae": 151236 - }, - { - "name": "mimetypes/small/48x48/text-x-copying.svg", - "valid_ae": 151236 - }, - { - "name": "mimetypes/small/48x48/text-x-install.svg", - "valid_ae": 151236 - }, - { - "name": "mimetypes/small/48x48/application-x-gzpostscript.svg", - "valid_ae": 170181 - }, - { - "name": "mimetypes/small/48x48/image-svg+xml-compressed.svg", - "valid_ae": 170179 } ], "ignore": [ diff --git a/tools/stats/data/correctness_chart_W3C_SVG_11_TestSuite.json b/tools/stats/data/correctness_chart_W3C_SVG_11_TestSuite.json index ef0c0164..49fba85a 100644 --- a/tools/stats/data/correctness_chart_W3C_SVG_11_TestSuite.json +++ b/tools/stats/data/correctness_chart_W3C_SVG_11_TestSuite.json @@ -15,7 +15,7 @@ }, { "name": "svgo 0.7.1", - "value": 280 + "value": 284 } ], "hor_axis": { diff --git a/tools/stats/data/correctness_chart_oxygen.json b/tools/stats/data/correctness_chart_oxygen.json index cc5fc736..83378f0c 100644 --- a/tools/stats/data/correctness_chart_oxygen.json +++ b/tools/stats/data/correctness_chart_oxygen.json @@ -15,7 +15,7 @@ }, { "name": "svgo 0.7.1", - "value": 201 + "value": 374 } ], "hor_axis": { diff --git a/tools/stats/data/performance_chart_W3C_SVG_11_TestSuite.json b/tools/stats/data/performance_chart_W3C_SVG_11_TestSuite.json index d981ad68..83ef99ec 100644 --- a/tools/stats/data/performance_chart_W3C_SVG_11_TestSuite.json +++ b/tools/stats/data/performance_chart_W3C_SVG_11_TestSuite.json @@ -15,7 +15,7 @@ }, { "name": "svgo 0.7.1", - "value": 216.365 + "value": 244.228 } ], "hor_axis": { diff --git a/tools/stats/data/performance_chart_oxygen.json b/tools/stats/data/performance_chart_oxygen.json index eac51ad9..e615e6b6 100644 --- a/tools/stats/data/performance_chart_oxygen.json +++ b/tools/stats/data/performance_chart_oxygen.json @@ -15,7 +15,7 @@ }, { "name": "svgo 0.7.1", - "value": 607.615 + "value": 687.752 } ], "hor_axis": { diff --git a/tools/stats/data/ratio_chart_W3C_SVG_11_TestSuite.json b/tools/stats/data/ratio_chart_W3C_SVG_11_TestSuite.json index 813282f7..27fa139e 100644 --- a/tools/stats/data/ratio_chart_W3C_SVG_11_TestSuite.json +++ b/tools/stats/data/ratio_chart_W3C_SVG_11_TestSuite.json @@ -7,7 +7,7 @@ "items": [ { "name": "svgcleaner 0.7.0", - "value": 32.20 + "value": 32.21 }, { "name": "svgcleaner 0.6.2", @@ -15,7 +15,7 @@ }, { "name": "svgo 0.7.1", - "value": 40.90 + "value": 40.77 } ], "hor_axis": { diff --git a/tools/stats/data/ratio_chart_oxygen.json b/tools/stats/data/ratio_chart_oxygen.json index 4d2e773d..d590810a 100644 --- a/tools/stats/data/ratio_chart_oxygen.json +++ b/tools/stats/data/ratio_chart_oxygen.json @@ -15,7 +15,7 @@ }, { "name": "svgo 0.7.1", - "value": 54.13 + "value": 53.33 } ], "hor_axis": {