|
|
### [ [>](https://github.com/svg/svgo/tree/v1.3.2) ] 1.3.2 / 30.10.2019 |
|
|
* Fixed TypeError: Cannot set property 'multipassCount' of undefined |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v1.3.1) ] 1.3.1 / 29.10.2019 |
|
|
* Updated CSSO version to 4.0.2 fixing the issue with empty semicolons ";;" in styles (thanks to @strarsis and @lahmatiy). |
|
|
* `prefixIds` plugin now runs only once with `--multipass` option (by @strarsis). |
|
|
* `cleanupIDs` plugin is prevented from producing a preserved ID, including one which matches a preserved prefix, when minifying (by @thomsj). |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v1.3.0) ] 1.3.0 / 14.07.2019 |
|
|
* Custom plugins now can be loaded from external js through `path` plugin param. |
|
|
* New plugin `convertEllipseToCircle` to convert ellipse with equal radius measures to circle (by @tigt). |
|
|
* New plugin `sortDefsChildren` for improved compression (by @davidleston). |
|
|
* SVGO now removes unnecessary spaces after `arcto` path command flags. |
|
|
* `removeDimensions` plugin now adds `viewBox` if it's missing (by @adipascu). |
|
|
* Fixed `removeUnusedNS` not counting attributes in `<svg>` tag itself. |
|
|
* Fixed an issue with incorrect processing multiple images (by @cyberalien). |
|
|
* Fixed an error with incorrect converting multiple segmented curve to an arc. |
|
|
* Fixed an error with matrix decomposition in `convertTransform` due to rounding error leading to illegal value. |
|
|
* Added `force` option for `mergePaths` plugin (by @goyney). |
|
|
* Added options to `prefixIds` plugin for selectively prefixing IDs and/or classes (by @strarsis). |
|
|
* Exported config function (by @1000ch). |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v1.2.2) ] 1.2.2 / 16.04.2019 |
|
|
* Update js-yaml for Code Injection warning (by @kaungst). |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v1.2.1) ] 1.2.1 / 04.04.2019 |
|
|
Some goodness from pull-requests. |
|
|
* Bump up js-yaml version to fix DoS vulnerability (by @eugestarr). |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v1.2.0) ] 1.2.0 / 24.02.2019 |
|
|
Some goodness from pull-requests. |
|
|
* Fixed extra blank lines when processing many files (by @panczarny). |
|
|
* Added `--recursive` option to process folders recursevely with option `-f` (by @dartess). |
|
|
* Added `removeAttributesBySelector` plugin to remove elements matching a css selector (by @bmease). |
|
|
* Added `removeOffCanvasPaths` plugin to remove elements outside of the viewbox (by @JoshyPHP). |
|
|
* `removeAttrs` plugin: added `preserveCurrentColor` color (by @roblevintennis) and 3rd optional filter for a value (by @Herman-Freund). |
|
|
* Added `reusePaths` plugin to replace duplicated elements with link (by @jhowcrof). |
|
|
* Added support of comma-separated plugins list in `--disable` and `--enable` options (by @jmwebservices). |
|
|
* Added option to preserve IDs based on prefix in `cleanupIDs` plugin (by @bkotzz). |
|
|
* Replaced `colors` dependency with `chalk` (by @xPaw). |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v1.1.1) ] 1.1.1 / 17.09.2018 |
|
|
* Fixed crash in `SVGO.optimize()` when ‘info’ is absent. |
|
|
* Removed extra space after `cleanupListOfValues` plugin. |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v1.1.0) ] 1.1.0 / 16.09.2018 |
|
|
* Fixed `collapseGroups` plugin removing property with a child having `inherit` value. |
|
|
* `version` attribute value is not more being rounded. |
|
|
* Fixed jsAPI `clone` method with respect to the introduced CSS classes. |
|
|
* Fixed scaling strokes with `vector-effect="non-scaling-stroke"` (by @alexjlockwood). |
|
|
* Fixed passing properties from groups in `collapseGroups` plugin if child have a filter (by @stristr). |
|
|
* Fixed arc path commands parsing without separators after flags, effectively producing a JS error. |
|
|
* Fixed `viewBox` separators parsing. |
|
|
* Fixed `removeNonInheritableGroupAttrs` plugin to work as intended. |
|
|
* Fixed removing path segments without length in presence of `stroke-linecap`. |
|
|
* Fixed `removeUnknownsAndDefaults` plugin removing attributes from elements with `id`. |
|
|
* Fixed converting to large arcs from nearly straight lines curves. |
|
|
* Fixed `collapseGroups` plugin affecting `<switch>` and its subgroups. |
|
|
* Fixed `convertTransform` plugin converting to `rotate()` with wrong sign in some case. |
|
|
* Fixed `cleanupListOfValues` plugin not preserving non-numeric values. |
|
|
* Fixed `!important` being passed to attributes in `convertStyleToAttrs` plugin. |
|
|
* Added option `keepImportant` to `convertStyleToAttrs` plugin to preserve styles with `!important`. |
|
|
* `removeHiddenElems` plugin now also removes elements with `visibility="hidden"` attribute (by @mikolaj92). |
|
|
* Added `forceAbsolutePath` option to `convertPathData` plugin to always use absolute coordinates (by @cool). |
|
|
* Added `keepRoleAttr` for `removeUnknownsAndDefaults` plugin to preserve `role-` attributes (by @himedlooff). |
|
|
* Added `xmlns` order option in `sortAttrs` plugin (by @hellatan). |
|
|
* Added an option to `prefixIds` plugin to pass prefix as false or as a function that returns false (by @vzaidman). |
|
|
* `prefixIds` plugin now adds prefix to every class (by @vzaidman). |
|
|
* Updated and improved docs a bit (multiple authors). |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v1.0.5) ] 1.0.5 / 26.02.2018 |
|
|
* Fixed issue with prefixIDs plugin not replacing url() values correctly (by @harrisjose). |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v1.0.4) ] 1.0.4 / 30.01.2018 |
|
|
* Fixed bug with removing groups that are direct child of "<switch>". |
|
|
* Fixed bug with shorthand path points counting (thanks @alexjlockwood for noticing). |
|
|
* Fixed crash on parsing invalid transform, e.g. without close parenthesis. |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v1.0.3) ] 1.0.3 / 08.11.2017 |
|
|
* Fixed `removeViewBox` plugin to check for zero start coordinates. |
|
|
* Removed extra info from STDOUT when it set to output. |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v1.0.2) ] 1.0.2 / 03.11.2017 |
|
|
* Fixed a couple of errors related to `inlineStyles` plugin. |
|
|
* Updated some lost details in documentation to reflect v1.0 changes. |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v1.0.1) ] 1.0.1 / 31.10.2017 |
|
|
* Fixed error “Object.defineProperty called on non-object” in images with `<foreignObject/>`. |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v1.0.0) ] 1.0.0 / 30.10.2017 |
|
|
* SVGO now requires Node 4 or higher. |
|
|
* Changed CLI syntax to treat filenames as input, thus allowing `svgo *.svg` syntax. |
|
|
* `SVGO.optimize()` now returns `Promise`. |
|
|
* Added `datauri` option to JS API. |
|
|
* Added support for SVG 2 `href` attribute. |
|
|
* `cleanupIDs` now don't removes IDs if an image consists only of `defs`. |
|
|
* New plugin `inlineStyles` for converting styles from `<style>` element to attributes if possible (by @strarsis). |
|
|
* `cleanupNumericValues` now rounds values in `viewBox` (by @caub). |
|
|
* New plugin: `removeScriptElement` (disabled by default) to align with `removeStyleElement` (by @pklingem). |
|
|
* `minifyStyles` now removes styles based on usage with controlling options (by @lahmatiy). |
|
|
* New option `except` in `cleanupIDs` to keep IDs (by @Velenir). |
|
|
* New option `force` in `cleanupIDs` to work even if SVG contains `style` or `script` elements (by @Velenir). |
|
|
* Fixed arcs transforming with different signed `scale` parameters (by @JoshyPHP). |
|
|
* Fixed `removeUselessStrokeAndFill` to check for `style` or `script` elements per file (by @caub). |
|
|
* New option `keepAriaAttrs` in `removeUnknownsAndDefaults` (by @davidtheclark). |
|
|
* Corrected parsing in `cleanupIDs` to account animation syntax (by @caub). |
|
|
* `#ff0000` now converts to `red` as well as `#f00` (by @davidleston). |
|
|
* Added “gray” variation to colors list per CSS Color Module Level 4 (by @ydaniv). |
|
|
* Fixed error on empty files. |
|
|
* A separator character in `removeAttrs` now can be changed per `elemSeparator` option (by @mikestreety). |
|
|
* `addAttributesToSVGElement` now can add values to attributes. |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v0.7.2) ] 0.7.2 / 29.01.2017 |
|
|
* Extended `currentColor` match conditions (string, rx, bool) (by @AlimovSV) |
|
|
* Fixed removing `<animate>` in `<stop>`. |
|
|
* Fixed removing same transform in inner element in `removeUnknownsAndDefaults`. |
|
|
* Fixed collapsing groups with same non-inheritable attribute. |
|
|
* Corrected removing of leading zero in case of exponential notation. |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v0.7.1) ] 0.7.1 / 27.09.2016 |
|
|
* Reverted the requirement of Node.js to version 0.10. |
|
|
* Added `addAttributesToSVGElement` to the default config to allow using it with `--enable` option. |
|
|
* Added korean translation of “How it works” doc (by @primeiros). |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v0.7.0) ] 0.7.0 / 25.08.2016 |
|
|
* Required Node.js version has increased to 0.12. |
|
|
* New plugins: `removeElementsByAttr` (by IDs or classes) by @elidupuis, |
|
|
`addAttributesToSVGElement` by @gjjones, |
|
|
`removeXMLNS` (for SVG inlining) by @ricardobeat. |
|
|
* Tests now correctly pass in Windows with CRLF line endings. Pretty print now accounts system line endings. |
|
|
* Fixed bugs with collapsing groups with masks and transforms in `collapseGroups`. |
|
|
* Fixed bugs with erroneous removing IDs in `cleanupIDs`. |
|
|
* Improved attributes sorting in `sortAttrs` by @darktrojan. |
|
|
* `addClassesToSVGElement` no more repeats classes (by @ricardobeat). |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v0.6.6) ] 0.6.6 / 25.04.2016 |
|
|
* Corrected CSSO API usage |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v0.6.5) ] 0.6.5 / 25.04.2016 |
|
|
* Extra content inserted by editors are now being removed within `<foreignObject>` as well thus fixing bug “Namespace prefix … is not defined“ after applying SVGO. |
|
|
* Doctype with entities declaration is now also being removed since svgo correctly parses them starting from the version [0.6.2](https://github.com/svg/svgo/tree/v0.6.2). |
|
|
* Corrected `moveGroupAttrsToElems` not to move attributes to `g` content if it's referenced (has an `id`). |
|
|
* `collapseGroups` now don't collapse a group if it has an animated attribute (SMIL). |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v0.6.4) ] 0.6.4 / 05.04.2016 |
|
|
* Fixed bug in “[convertStyleToAttrs](https://github.com/svg/svgo/blob/master/plugins/convertStyleToAttrs.js)” plugin with converting styling properties to non-existent attributes (which are normally removed later by `removeUnknownsAndDefaults`). |
|
|
* Added `--indent` option to style pretty-printed SVG. (e.g. `--indent 2`) (by @scurker). |
|
|
* Added `currentColor` param to `convertColors` plugin for converting values like `fill` and `stroke` to `currentColor` (by @scurker). |
|
|
* Bumped CSSO to the current version and used [its new shiny API](https://github.com/css/csso#api) (thanks to @lahmatiy). |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v0.6.3) ] 0.6.3 / 20.03.2016 |
|
|
* Smart rounding (introduced in 0.4.5) now applies only when rounding is needed, thus making subsequent passes more stable. |
|
|
* Fixed regression in converting curves to arcs. |
|
|
* `xlink:href` references are now being checked by local name `href`, thus correctly working with another namespace prefix. |
|
|
* Fixed `id` removing with disabled `plugins/convertStyleToAttrs.js`. |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v0.6.2) ] 0.6.2 / 08.03.2016 |
|
|
* Better error handling and messaging improvements. |
|
|
* SVG files with XML entities (e.g. from Adobe Illustrator) are now correctly being parsed. |
|
|
* Fixed error on converting curves to arcs. |
|
|
* Corrected rounding in subsequent passes with `--multipass` option. |
|
|
* Data URI option now handles charset (by @holymonson) |
|
|
* Transformations are no longer moved to group if there is a mask (`plugins/moveElemsAttrsToGroup.js`). |
|
|
* Fixed matrix decomposition losing sign in case like `[1, 0, 0, -1, 0, 0]` (`scale(1 -1)`). |
|
|
* Fixed crash on uppercased color name. |
|
|
* Paths with `id` and without `stroke-width` aren't being transformed now since `stroke-width` may be applied later. |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v0.6.1) ] 0.6.1 / 21.11.2015 |
|
|
* Added option `--quiet` to suppress output (by @phihag). |
|
|
* Removed `lib-cov` folder from the package, which was erroneously included before. |
|
|
* Fixed errors in “[minifyStyles](https://github.com/svg/svgo/blob/master/plugins/minifyStyles.js)” when there are `<style>` elements with `CDATA` content or without content at all. |
|
|
* Amended transform functions parsing to prevent errors when there are no separators between numbers (which isn't allowed by syntax, but understood by browsers). |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v0.6.0) ] 0.6.0 / 08.11.2015 |
|
|
* New optimization: circular curves now being converted to arcs. A notable improvement for circles within paths. |
|
|
* New plugin “[minifyStyles](https://github.com/svg/svgo/blob/master/plugins/minifyStyles.js)” which minifies `<style>` elments content with CSSO by @strarsis (svgo still doesn't understand its content) |
|
|
* New plugin “[removeStyleElement](https://github.com/svg/svgo/blob/master/plugins/removeStyleElement.js)” (disabled by default) by @betsydupuis. |
|
|
* Fixed issues with parsing numbers with exponent fraction (could happen with high precision >= 7). |
|
|
* Fixed rounding error due to incorrect preserving of precision in transformations. |
|
|
* Fixed shorthand curve distortion due to converted previous curve to not a curve. |
|
|
* Fixed interoperability issue with `precision` cli-option and `full` config. |
|
|
* Fixed an error produced by “[removeUnknownsAndDefaults](https://github.com/svg/svgo/blob/master/plugins/removeUnknownsAndDefaults.js)” by @thiakil |
|
|
* Another Inkscape prefix namespace is being removed. |
|
|
* Fixed an issue in [moveElemsAttrsToGroup“](https://github.com/svg/svgo/blob/master/plugins/moveElemsAttrsToGroup“.js)” with transforms moved around `clip-path`. |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v0.5.6) ] 0.5.6 / 13.08.2015 |
|
|
* Fixed paths removing. |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v0.5.5) ] 0.5.5 / 05.08.2015 |
|
|
* Reverted debugging changes. |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v0.5.4) ] 0.5.4 / 05.08.2015 |
|
|
* New parameter `useShortTags` by @bradbarrow. Now svgo can produce correct non-selfclosing tags (useful in HTML in old browsers). |
|
|
* Fixed failing on empty transformation (which could be produced by two opposite). |
|
|
* Fixed removing paths which have numbers with exponent notation. |
|
|
* Fixed a bug with arc transformation. |
|
|
* Some typo fixes. |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v0.5.3) ] 0.5.3 / 21.06.2015 |
|
|
* Fixed breaking related to rounding functions in “[convertTransform](https://github.com/svg/svgo/blob/master/plugins/convertTransform.js)”. |
|
|
* Fixed a bug with ID in animations not being worked on by “[cleanupIDs](https://github.com/svg/svgo/blob/master/plugins/cleanupIDs.js)”. |
|
|
* Fixed a bug with quoted reference in `url()`. |
|
|
* Now, if there are several same IDs in the document, then the first one is used and others are being removed. |
|
|
* New command-line option `--show-plugins` displaying list of plugins. |
|
|
* Two new optional plugins: “[removeDimensions](https://github.com/svg/svgo/blob/master/plugins/removeDimensions.js)” (removes `width` and `height` if there is `viewBox`) and “[removeAttrsPlugin](https://github.com/svg/svgo/blob/master/plugins/removeAttrs.js)” (by @bennyschudel). |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v0.5.2) ] 0.5.2 / 24.05.2015 |
|
|
* Introduced new `transformPrecision` option for better image quality (defaults to 5) in “[convertTransform](https://github.com/svg/svgo/blob/master/plugins/convertTransform.js)” and “[convertPathData](https://github.com/svg/svgo/blob/master/plugins/convertPathData.js)” (for the purpose of applying transformations) plugins. |
|
|
* Matrix transformations now can be decomposed into a combination of few simple transforms like `translate`, `rotate`, `scale`. |
|
|
* Arcs (paths `arcto` command) are now correctly being transformed into another arcs without being converting to Bezier curves. |
|
|
* Fixed an issue with “[mergePaths](https://github.com/svg/svgo/blob/master/plugins/mergePaths.js)” failing to detect paths intersection in some cases. |
|
|
* Fixed a bug with “[removeUnknownsAndDefaults](https://github.com/svg/svgo/blob/master/plugins/removeUnknownsAndDefaults.js)” removing some paths, which was introduced in [v0.5.1](https://github.com/svg/svgo/tree/v0.5.1). |
|
|
* Fixed a bug with transformation having `rotate()` with optional parameters. |
|
|
* Patterns with inherited attributes are no longer being removed. |
|
|
* Styles are no longer being removed from `<desc>` (by @dennari). |
|
|
* SVGO no longer breaks during parsing. |
|
|
* Added `clone()` method to JSAPI (by @jakearchibald) |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v0.5.1) ] 0.5.1 / 30.03.2015 |
|
|
* added new command-line option to set precision in floating point numbers. |
|
|
* fixed all known image-disruptive bugs |
|
|
* Notably [mergePaths](https://github.com/svg/svgo/blob/master/plugins/mergePaths.js) plugin now checks for possible intersections to avoid side-effects |
|
|
* new plugin [removeUselessDefs](https://github.com/svg/svgo/blob/master/plugins/removeUselessDefs.js) to remove elements in ``<defs>`` and similar non-rendering elements without an ``id`` and thus cannot be used |
|
|
* fix for ``--multipass`` command line option (by @dfilatov) |
|
|
* improved [cleanupEnableBackground](https://github.com/svg/svgo/blob/master/plugins/cleanupEnableBackground.js) and [convertColors](https://github.com/svg/svgo/blob/master/plugins/convertColors.js) plugins (by @YetiOr) |
|
|
* new plugin for image manipulation [cleanupListOfValues](https://github.com/svg/svgo/blob/master/plugins/cleanupListOfValues.js) (by @kiyopikko) |
|
|
* fixed fail on comments after closing root ``</svg>`` tag |
|
|
* updated parsing to account meaningful spaces in ``<text>`` |
|
|
* ``data-*`` attributes are now preserved in [removeUnknownsAndDefaults](https://github.com/svg/svgo/blob/master/plugins/removeUnknownsAndDefaults.js) |
|
|
* prevented plugins from failing in ``<foreignObject>`` |
|
|
* [cleanupNumericValues](https://github.com/svg/svgo/blob/master/plugins/cleanupNumericValues.js) plugin now converts other units to pixels (if it's better) |
|
|
* [removeUselessStrokeAndFill](https://github.com/svg/svgo/blob/master/plugins/removeUselessStrokeAndFill.js) plugin is enabled again with correct work in case of inherited attributes |
|
|
* fixed fail on images with incorrect paths like ``<path d="z"/>`` |
|
|
* svgo now understands if an input is a folder (remember, you can set output to folder as well) |
|
|
* added support for some properties from SVG 2 like ``vector-effect="non-scaling-stroke"`` |
|
|
* removed option to remove an ``id`` on root ``<svg>`` tag in [removeUnknownsAndDefaults](https://github.com/svg/svgo/blob/master/plugins/removeUnknownsAndDefaults.js) since it's already being done in [cleanupIDs](https://github.com/svg/svgo/blob/master/plugins/cleanupIDs.js) |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v0.5.0) ] 0.5.0 / 05.11.2014 |
|
|
* added ``--multipass`` command line option which repeatedly applies optimizations like collapsing groups (by @dfilatov) |
|
|
* exposed JSAPI as a factory method (by @mistakster) |
|
|
* added removeDesc plugin (by @dwabyick), disabled by default |
|
|
* [removeUselessStrokeAndFill](https://github.com/svg/svgo/blob/master/plugins/removeUselessStrokeAndFill.js) plugin is disabled by default since it's unable to check inherited properties |
|
|
* transformations now apply to paths with arcs in [plugins/convertPathData](https://github.com/svg/svgo/blob/master/plugins/convertPathData.js) |
|
|
* a lot of bug fixes mostly related to transformations |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v0.4.5) ] 0.4.5 / 02.08.2014 |
|
|
* significally improved plugin [plugins/convertPathData](https://github.com/svg/svgo/blob/master/plugins/convertPathData.js): |
|
|
- Now data is being written relative or absolute whichever is shorter. You can turn it off by setting ``utilizeAbsolute`` to ``false``. |
|
|
- Smarter rounding: values like 2.499 now rounds to 2.5. Rounding now takes in account accumulutive error meaning that points will not be misplaced due to rounding more than it neccessary. |
|
|
- Fixed couple bugs. |
|
|
* ``--output`` option now can be a folder along with ``--folder``, thanks to @mako-taco. |
|
|
* [plugins/cleanupIDs](https://github.com/svg/svgo/blob/master/plugins/cleanupIDs.js) now have ``prefix`` option in case you want to combine multiple svg later (by @DanielMazurkiewicz). |
|
|
* Quotes now being escaped in attributes (by @ditesh). |
|
|
* Minor bugfixes. |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v0.4.4) ] 0.4.4 / 14.01.2014 |
|
|
* new plugin [plugins/removeTitle](https://github.com/svg/svgo/blob/master/plugins/removeTitle.js) (disabled by default, close [#159](https://github.com/svg/svgo/issues/159)) |
|
|
* plugins/convertPathData: skip data concatenation for z instruction in collapseRepeated |
|
|
* plugins/removeUnknownsAndDefaults: do not remove overriden attributes with default values (fix [#161](https://github.com/svg/svgo/issues/161) and [#168](https://github.com/svg/svgo/issues/168)) |
|
|
* plugins/removeViewBox: disable by default (fix [#139](https://github.com/svg/svgo/issues/139)) |
|
|
* update README with [gulp task](https://github.com/ben-eb/gulp-svgmin) |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v0.4.3) ] 0.4.3 / 02.01.2014 |
|
|
* new plugin [plugins/convertShapeToPath](https://github.com/svg/svgo/blob/master/plugins/convertShapeToPath.js) (close [#96](https://github.com/svg/svgo/issues/96)) |
|
|
* update sax version to fix [#140](https://github.com/svg/svgo/issues/140) |
|
|
* update deps |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v0.4.2) ] 0.4.2 / 19.12.2013 |
|
|
* add `lcov.info` to npmignore |
|
|
* fix `js-yaml` version to suppress deprecation warning in stdout |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v0.4.1) ] 0.4.1 / 18.11.2013 |
|
|
* node >=0.8.0 |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v0.4.0) ] 0.4.0 / 18.11.2013 |
|
|
* merge almost all pull-requests |
|
|
* update dependencies |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v0.3.7) ] 0.3.7 / 24.06.2013 |
|
|
* do not remove `result` attribute from filter primitives (fix [#122](https://github.com/svg/svgo/issues/122)) |
|
|
* plugins/cleanupAttrs: replace newline with space when needed (fix [#119](https://github.com/svg/svgo/issues/119)) |
|
|
* lib/coa: look for config file in current folder |
|
|
* lib/coa: always traverse all files in the given folder |
|
|
* deprecate svgo-grunt in favor of [grunt-svgmin](https://github.com/sindresorhus/grunt-svgmin) |
|
|
* re-enable node-coveralls |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v0.3.6) ] 0.3.6 / 06.06.2013 |
|
|
* plugins/removeNonInheritableGroupAttrs: more attrs groups to exclude (fix [#116](https://github.com/svg/svgo/issues/116) & [#118](https://github.com/svg/svgo/issues/118)) |
|
|
* lib/coa: optimize folder file by file (temp fix [#114](https://github.com/svg/svgo/issues/114)) |
|
|
* `.jshintrc`: JSHint 2.0 |
|
|
* temporarily disable node-coveralls |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v0.3.5) ] 0.3.5 / 07.05.2013 |
|
|
* plugins/transformsWithOnePath: fix curves bounding box calculation |
|
|
* plugins/transformsWithOnePath: fix possible c+t or q+s bug |
|
|
|
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v0.3.4) ] 0.3.4 / 06.05.2013 |
|
|
* plugins/convertPathData: fix m->M bug in some cases |
|
|
* plugins/transformsWithOnePath: fix last point calculation for C/S/Q/T |
|
|
* plugins/mergePaths: add space delimiter between z and m |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v0.3.3) ] 0.3.3 / 05.05.2013 |
|
|
* plugins/convertPathData: convert very first m to M, fix applyTransforms with translate() (fix [#112](https://github.com/svg/svgo/issues/112)) |
|
|
* plugins/transformsWithOnePath: fix real width/height rounding; fix scale transform origin; reorder transforms |
|
|
* plugins/transformsWithOnePath: ability to set new width or height independently with auto rescaling |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v0.3.2) ] 0.3.2 / 03.05.2013 |
|
|
* new plugin [plugins/sortAttrs](https://github.com/svg/svgo/blob/master/plugins/sortAttrs.js) |
|
|
* plugins/transformsWithOnePath: buggy hcrop (fix [#111](https://github.com/svg/svgo/issues/111)) |
|
|
* Impossible to set output presision to 0 (no fractional part) (fix [#110](https://github.com/svg/svgo/issues/110)) |
|
|
* Istanbul + coveralls.io |
|
|
* update README with NPM version from badge.fury.io |
|
|
* update README with dependency status from gemnasium.com |
|
|
* npmignore unneeded files |
|
|
* reoptimized project logo |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v0.3.1) ] 0.3.1 / 15.04.2013 |
|
|
* plugins/transformsWithOnePath: resize SVG and automatically rescale inner Path |
|
|
* better errors handling |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v0.3.0) ] 0.3.0 / 12.04.2013 |
|
|
* global refactoring: getting rid of the many dependencies |
|
|
* new plugin [plugins/mergePaths](https://github.com/svg/svgo/blob/master/plugins/mergePaths.js) |
|
|
* new plugin [plugins/transformsWithOnePath](https://github.com/svg/svgo/blob/master/plugins/transformsWithOnePath.js) (renamed and featured `cropAndCenterAlongPath`) |
|
|
* config: replace default config with `full: true` |
|
|
* coa: JSON string as value of `--config` |
|
|
* coa: different types of Data URI strings (close [#105](https://github.com/svg/svgo/issues/105)) |
|
|
* plugins/_transforms: allow spaces at the beginning of transform |
|
|
* Travis CI: Nodejs 0.10 & 0.11 |
|
|
* `node.extend` → `whet.extend` |
|
|
* update `.gitignore` |
|
|
* update docs |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v0.2.4) ] 0.2.4 / 05.04.2013 |
|
|
* new plugin [plugins/cropAndCenterAlongPath](https://github.com/svg/svgo/blob/master/plugins/cropAndCenterAlongPath.js) for the [Fontello](https://github.com/fontello) project |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v0.2.3) ] 0.2.3 / 22.02.2013 |
|
|
* new plugin [plugins/removeNonInheritableGroupAttrs](https://github.com/svg/svgo/blob/master/plugins/removeNonInheritableGroupAttrs.js) (fix [#101](https://github.com/svg/svgo/issues/101)) |
|
|
* new plugin [plugins/removeRasterImages](https://github.com/svg/svgo/blob/master/plugins/removeRasterImages.js) (close [#98](https://github.com/svg/svgo/issues/98)) |
|
|
* plugins/convertTransform: bug with trailing spaces in transform value string (fix [#103](https://github.com/svg/svgo/issues/103)) |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v0.2.2) ] 0.2.2 / 09.02.2013 |
|
|
* plugins/convertTransforms: wrong translate() shorthand (fix [#94](https://github.com/svg/svgo/issues/94)) |
|
|
* [yaml.js](https://github.com/jeremyfa/yaml.js) → [js-yaml](https://github.com/nodeca/js-yaml) |
|
|
* update outdated deps |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v0.2.1) ] 0.2.1 / 18.01.2013 |
|
|
* plugins/moveElemsAttrsToGroup + plugins/moveGroupAttrsToElems: move or just leave transform attr from Group to the inner Path Elems (close [#86](https://github.com/svg/svgo/issues/86)) |
|
|
* plugins/removeViewBox: doesn't catch floating-point numbers (fix [#88](https://github.com/svg/svgo/issues/88)) |
|
|
* plugins/cleanupEnableBackground: doesn't catch floating-point numbers (fix [#89](https://github.com/svg/svgo/issues/89)) |
|
|
* plugins/cleanupNumericValues: wrong floating-point numbers regexp (fix [#92](https://github.com/svg/svgo/issues/92)) |
|
|
* SVG file generated by fontcustom.com not properly compressed (fix [#90](https://github.com/svg/svgo/issues/90)) |
|
|
* `README.ru.md`: стилизация русского языка, улучшение языковых конструкций, правка ошибок (close [#91](https://github.com/svg/svgo/issues/91)) |
|
|
* minor JSHint warning fix |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v0.2.0) ] 0.2.0 / 23.12.2012 |
|
|
* plugins/convertPathData: apply transforms to Path pata (close [#33](https://github.com/svg/svgo/issues/33)) |
|
|
* plugins/convertPathData: `-1.816-9.278.682-13.604` parsing error (fix [#85](https://github.com/svg/svgo/issues/85)) |
|
|
* plugins/convertTransform: `translate(10, 0)` eq `translate(10)`, but not `translate(10, 10)` eq `translate(10)` (fix [#83](https://github.com/svg/svgo/issues/83)) |
|
|
* run plugins/cleanupIDs before plugins/collapseGroups (fix [#84](https://github.com/svg/svgo/issues/84)) |
|
|
* update `.gitignore` |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v0.1.9) ] 0.1.9 / 17.12.2012 |
|
|
* plugins/cleanupIDs: renamed from removeUnusedIDs; minify used IDs (fix [#7](https://github.com/svg/svgo/issues/7)) |
|
|
* lib/svgo/js2svg: restore HTML entities back (fix [#80](https://github.com/svg/svgo/issues/80) + [#81](https://github.com/svg/svgo/issues/81)) |
|
|
* plugins/removeDoctype: do not remove if custom XML entities presents (fix [#77](https://github.com/svg/svgo/issues/77)) |
|
|
* lib/svgo/coa: refactoring, colors and fix [#70](https://github.com/svg/svgo/issues/70) |
|
|
* lib/svgo: store elapsed time in result object |
|
|
* usage examples with SVGZ (close [#18](https://github.com/svg/svgo/issues/18)) |
|
|
* more optimized logo |
|
|
* update `.gitignore` |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v0.1.8) ] 0.1.8 / 11.12.2012 |
|
|
* new plugin [plugins/removeUselessStrokeAndFill](https://github.com/svg/svgo/blob/master/plugins/removeUselessStrokeAndFill.js) (close [#75](https://github.com/svg/svgo/issues/75)) |
|
|
* new plugin [plugins/removeUnusedIDs](https://github.com/svg/svgo/blob/master/plugins/removeUnusedIDs.js) (close [#76](https://github.com/svg/svgo/issues/76)) |
|
|
* plugins/convertPathData: wrong M interpretation in some cases (fix [#73](https://github.com/svg/svgo/issues/73)) |
|
|
* plugins/cleanupAttrs: use `isElem()` API |
|
|
* `.travis.yml`: check all branches |
|
|
|
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v0.1.7) ] 0.1.7 / 08.12.2012 |
|
|
* plugins/convertPathData: incorrect interpretation of `z + m` (fix [#69](https://github.com/svg/svgo/issues/69)) |
|
|
* plugins/convertTransform: do a more accurate floating numbers rounding in `matrixToTransform()` (fix [#68](https://github.com/svg/svgo/issues/68)) |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v0.1.6) ] 0.1.6 / 07.12.2012 |
|
|
* plugins/convertPathData: collapse repeated instructions only after curveSmoothShorthands (fix [#64](https://github.com/svg/svgo/issues/64)) |
|
|
* lib/svgo/coa: handle 'there is nothing to optimize' case and display a message about it (fix [#61](https://github.com/svg/svgo/issues/61)) |
|
|
* plugins/cleanupSVGElem: delete as useless artefact |
|
|
|
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v0.1.5) ] 0.1.5 / 06.12.2012 |
|
|
* E-notated numbers in paths not recognised (fix [#63](https://github.com/svg/svgo/issues/63)) |
|
|
* update README with `svgo-grunt` and `svgo-osx-folder-action` |
|
|
* fix `mocha-as-promised` plug in node 0.6 |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v0.1.4) ] 0.1.4 / 05.12.2012 |
|
|
* plugins/_collections: more defaults |
|
|
* `README.ru.md` |
|
|
* `docs/how-it-works/ru.md` |
|
|
* mocha + mocha-as-promised + chai + chai-as-promised + should + istanbul = <3 |
|
|
* update dependencies semvers in `package.json` |
|
|
* `v0.1.x` and `v0.2.x` milestones |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v0.1.3) ] 0.1.3 / 30.11.2012 |
|
|
* new plugin [plugins/cleanupNumericValues](https://github.com/svg/svgo/blob/master/plugins/cleanupNumericValues.js) (close [#8](https://github.com/svg/svgo/issues/8)) |
|
|
* plugins/removeDefaultPx functionality now included in plugins/removeUnknownsAndDefaults |
|
|
* plugins/removeUnknownsAndDefaults: refactoring and picking up the complete elems+attrs collection (close [#59](https://github.com/svg/svgo/issues/59)) |
|
|
* plugins/convertTransform: error in matrices multiplication (fix [#58](https://github.com/svg/svgo/issues/58)) |
|
|
* plugins/convertTransform: mark translate() and scale() as useless only with one param (fix [#57](https://github.com/svg/svgo/issues/57)) |
|
|
* plugins/convertPathData: drastic speed improvement with huge Path data |
|
|
* plugins/convertPathData: fix the very first Mm with multiple points (fix [#56](https://github.com/svg/svgo/issues/56)) |
|
|
* plugins/moveElemsAttrsToGroup: additional check for transform attr |
|
|
* brand-new project `logo.svg` |
|
|
* `.travis.yml`: build only master branch |
|
|
* global `'use strict'` |
|
|
* `.jshintignore` |
|
|
* README and CHANGELOG: minor corrections |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v0.1.2) ] 0.1.2 / 24.11.2012 |
|
|
* lib/svgo/svg2js: correct 'onerror' failure (fix [#51](https://github.com/svg/svgo/issues/51)) |
|
|
* config: disable sax-js position tracking by default (fix [#52](https://github.com/svg/svgo/issues/52)) |
|
|
* lib/svgo: rename 'startBytes' to 'inBytes' and 'endBytes' to 'outBytes' (close [#53](https://github.com/svg/svgo/issues/53)) |
|
|
* plugins/removeUnknownsAndDefaults: remove SVG id attr (close [#54](https://github.com/svg/svgo/issues/54)) |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v0.1.1) ] 0.1.1 / 23.11.2012 |
|
|
* plugins/moveElemsAttrsToGroup: fix inheitable only attrs array (fix [#47](https://github.com/svg/svgo/issues/47)) |
|
|
* plugins/removeEmptyContainers: do not remove an empty 'svg' element (fix [#48](https://github.com/svg/svgo/issues/48)) |
|
|
* plugins/removeDefaultPx: should also understand a floating-numbers too (fix [#49](https://github.com/svg/svgo/issues/49)) |
|
|
* plugins/removeUnknownsAndDefaults: merge multiple groupDefaults attrs (close [#50](https://github.com/svg/svgo/issues/50)) |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v0.1.0) ] 0.1.0 / 22.11.2012 |
|
|
* new plugin [plugins/removeUnknownsAndDefaults](https://github.com/svg/svgo/blob/master/plugins/removeUnknownsAndDefaults.js) (close [#6](https://github.com/svg/svgo/issues/6)) |
|
|
* plugins/convertPathData: convert straight curves into lines segments (close [#17](https://github.com/svg/svgo/issues/17)); remove an absolute coords conversions |
|
|
* plugins/convertPathData: convert quadratic Bézier curveto into smooth shorthand (close [#31](https://github.com/svg/svgo/issues/31)) |
|
|
* plugins/convertPathData: convert curveto into smooth shorthand (close [#30](https://github.com/svg/svgo/issues/30)) |
|
|
* lib/svgo: global API refactoring (close [#37](https://github.com/svg/svgo/issues/37)) |
|
|
* lib/svgo: fatal and stupid error in stream chunks concatenation (fix [#40](https://github.com/svg/svgo/issues/40)) |
|
|
* lib/coa: batch folder optimization (close [#29](https://github.com/svg/svgo/issues/29)) |
|
|
* lib/coa: support arguments as aliases to `--input` and `--output` (close [#28](https://github.com/svg/svgo/issues/28)) |
|
|
* project logo by [Egor Bolhshakov](http://xizzzy.ru/) |
|
|
* move modules to `./lib/svgo/` |
|
|
* rename and convert `config.json` to `.svgo.yml` |
|
|
* add [./docs/](https://github.com/svg/svgo/tree/master/docs) |
|
|
* plugins/convertPathData: don't remove first `M` even if it's `0,0` |
|
|
* plugins/convertPathData: stronger defense from infinite loop |
|
|
* plugins/moveElemsAttrsToGroup: should affect only inheritable attributes (fix [#46](https://github.com/svg/svgo/issues/46))* |
|
|
* plugins/removeComments: ignore comments which starts with '!' (close [#43](https://github.com/svg/svgo/issues/43)) |
|
|
* config: `cleanupAttrs` should be before `convertStyleToAttrs` (fix [#44](https://github.com/svg/svgo/issues/44))* |
|
|
* lib/svgo/jsAPI: add `eachAttr()` optional context param |
|
|
* temporarily remove PhantomJS and `--test` (close [#38](https://github.com/svg/svgo/issues/38)) |
|
|
* q@0.8.10 compatibility: 'end is deprecated, use done instead' fix |
|
|
* add [Istanbul](https://github.com/gotwarlost/istanbul) code coverage |
|
|
* update dependencies versions and gitignore |
|
|
* README: add TODO section with versions milestones |
|
|
* update README with License section |
|
|
* update LICENSE with russian translation |
|
|
* `.editorconfig`: 2 spaces for YAML |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v0.0.9) ] 0.0.9 / 29.10.2012 |
|
|
* [plugins how-to](https://github.com/svg/svgo/tree/master/plugins#readme) (close [#27](https://github.com/svg/svgo/issues/27)) |
|
|
* allow any plugin of any type to go in any order (close [#14](https://github.com/svg/svgo/issues/14)) |
|
|
* allow to do a multiple optimizations with one init (close [#25](https://github.com/svg/svgo/issues/25)) |
|
|
* plugins/convertPathData: global refactoring |
|
|
* plugins/convertPathData: do all the tricks with absolute coords too (fix [#22](https://github.com/svg/svgo/issues/22)) |
|
|
* plugins/convertPathData: accumulation of rounding errors (fix [#23](https://github.com/svg/svgo/issues/23)) |
|
|
* plugins/convertPathData: prevent an infinity loop on invalid path data (fix [#26](https://github.com/svg/svgo/issues/26)) |
|
|
* plugins/convertPathData: do not remove very first M from the path data (fix [#24](https://github.com/svg/svgo/issues/24)) |
|
|
* plugins/convertPathData: optimize path data in <glyph> and <missing-glyph> (close [#20](https://github.com/svg/svgo/issues/20)) |
|
|
* plugins/convertTransform: add patternTransform attribute to the process (close [#15](https://github.com/svg/svgo/issues/15)) |
|
|
* plugins/convertTransform: Firefox: removing extra space in front of negative number is alowed only in path data, but not in transform (fix [#12](https://github.com/svg/svgo/issues/12)) |
|
|
* plugins/removeXMLProcInst: remove only 'xml' but not 'xml-stylesheet' (fix [#21](https://github.com/svg/svgo/issues/15)) |
|
|
* plugins/collapseGroups: merge split-level transforms (fix [#13](https://github.com/svg/svgo/issues/13)) |
|
|
* jsdoc corrections |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v0.0.8) ] 0.0.8 / 20.10.2012 |
|
|
* new plugin [convertTransform](plugins/convertTransform.js) (close [#5](https://github.com/svg/svgo/issues/5)) |
|
|
* new plugin [removeUnusedNS](plugins/removeUnusedNS.js) |
|
|
* plugins/convertPathData: remove useless segments |
|
|
* plugins/convertPathData: a lot of refactoring |
|
|
* plugins/convertPathData: round numbers before conditions because of exponential notation (fix [#3](https://github.com/svg/svgo/issues/3)) |
|
|
* plugins/moveElemsAttrsToGroup: merge split-level transforms instead of replacing (fix [#10](https://github.com/svg/svgo/issues/10)) |
|
|
* lib/svg2js: catch and output xml parser errors (fix [#4](https://github.com/svg/svgo/issues/4)) |
|
|
* lib/coa: open file for writing only when we are ready (fix [#2](https://github.com/svg/svgo/issues/2)) |
|
|
* lib/tools: node.extend module |
|
|
* lib/plugins: refactoring |
|
|
* lib/js2svg: refactoring |
|
|
* lib/jsAPI: simplification and refactoring |
|
|
* absolute urls in README |
|
|
* update .editorconfig |
|
|
* update .travis.yml with nodejs 0.9 |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v0.0.7) ] 0.0.7 / 14.10.2012 |
|
|
* new plugin [convertPathData](plugins/convertPathData.js) |
|
|
* --input data now can be a Data URI base64 string |
|
|
* --output data now can be a Data URI base64 string with --datauri flag |
|
|
* Travis CI |
|
|
* JSHint corrections + .jshintrc |
|
|
* [.editorconfig](http://editorconfig.org/) |
|
|
* display time spent on optimization |
|
|
* .svgo → config.json |
|
|
* lib/phantom_wrapper.js → lib/phantom.js |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v0.0.6) ] 0.0.6 / 04.10.2012 |
|
|
* add --test option to make a visual comparison of two files (PhantomJS pre-required) |
|
|
* update README and CHANGELOG with the correct relative urls |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v0.0.5) ] 0.0.5 / 03.10.2012 |
|
|
* every plugin now has [at least one test](plugins) |
|
|
* removeViewBox, cleanupEnableBackground, removeEditorsNSData, convertStyleToAttrs and collapseGroups plugins fixes |
|
|
* new --pretty option for the pretty printed SVG |
|
|
* lib/config refactoring |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v0.0.4) ] 0.0.4 / 30.09.2012 |
|
|
* new plugin [removeViewBox](plugins/removeViewBox.js) |
|
|
* new plugin [cleanupEnableBackground](plugins/cleanupEnableBackground.js) |
|
|
* display useful info after successful optimization |
|
|
* 'npm test' with 'spec' mocha output by default |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v0.0.3) ] 0.0.3 / 29.09.2012 |
|
|
* plugins/collapseGroups bugfix |
|
|
* plugins/moveElemsAttrsToGroup bugfix |
|
|
* svgo now display --help if running w/o arguments |
|
|
* massive jsdoc updates |
|
|
* plugins engine main filter function optimization |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v0.0.2) ] 0.0.2 / 28.09.2012 |
|
|
* add --disable and --enable command line options |
|
|
* add an empty values rejecting to coa.js |
|
|
* update README |
|
|
|
|
|
### [ [>](https://github.com/svg/svgo/tree/v0.0.1) ] 0.0.1 / 27.09.2012 |
|
|
* initial public version
|
|
|
|