You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
					
						
							36 KiB
						
					
					
				
			
		
		
	
	
							36 KiB
						
					
					
				[ > ] 1.2.0 / 24.02.2019
Some goodness from pull-requests.
- Fixed extra blank lines when processing many files (by @panczarny).
 - Added 
--recursiveoption to process folders recursevely with option-f(by @dartess). - Added 
removeAttributesBySelectorplugin to remove elements matching a css selector (by @bmease). - Added 
removeOffCanvasPathsplugin to remove elements outside of the viewbox (by @JoshyPHP). removeAttrsplugin: addedpreserveCurrentColorcolor (by @roblevintennis) and 3rd optional filter for a value (by @Herman-Freund).- Added 
reusePathsplugin to replace duplicated elements with link (by @jhowcrof). - Added support of comma-separated plugins list in 
--disableand--enableoptions (by @jmwebservices). - Added option to preserve IDs based on prefix in 
cleanupIDsplugin (by @bkotzz). - Replaced 
colorsdependency withchalk(by @xPaw). 
[ > ] 1.1.1 / 17.09.2018
- Fixed crash in 
SVGO.optimize()when ‘info’ is absent. - Removed extra space after 
cleanupListOfValuesplugin. 
[ > ] 1.1.0 / 16.09.2018
- Fixed 
collapseGroupsplugin removing property with a child havinginheritvalue. versionattribute value is not more being rounded.- Fixed jsAPI 
clonemethod with respect to the introduced CSS classes. - Fixed scaling strokes with 
vector-effect="non-scaling-stroke"(by @alexjlockwood). - Fixed passing properties from groups in 
collapseGroupsplugin if child have a filter (by @stristr). - Fixed arc path commands parsing without separators after flags, effectively producing a JS error.
 - Fixed 
viewBoxseparators parsing. - Fixed 
removeNonInheritableGroupAttrsplugin to work as intended. - Fixed removing path segments without length in presence of 
stroke-linecap. - Fixed 
removeUnknownsAndDefaultsplugin removing attributes from elements withid. - Fixed converting to large arcs from nearly straight lines curves.
 - Fixed 
collapseGroupsplugin affecting<switch>and its subgroups. - Fixed 
convertTransformplugin converting torotate()with wrong sign in some case. - Fixed 
cleanupListOfValuesplugin not preserving non-numeric values. - Fixed 
!importantbeing passed to attributes inconvertStyleToAttrsplugin. - Added option 
keepImportanttoconvertStyleToAttrsplugin to preserve styles with!important. removeHiddenElemsplugin now also removes elements withvisibility="hidden"attribute (by @mikolaj92).- Added 
forceAbsolutePathoption toconvertPathDataplugin to always use absolute coordinates (by @cool). - Added 
keepRoleAttrforremoveUnknownsAndDefaultsplugin to preserverole-attributes (by @himedlooff). - Added 
xmlnsorder option insortAttrsplugin (by @hellatan). - Added an option to 
prefixIdsplugin to pass prefix as false or as a function that returns false (by @vzaidman). prefixIdsplugin now adds prefix to every class (by @vzaidman).- Updated and improved docs a bit (multiple authors).
 
[ > ] 1.0.5 / 26.02.2018
- Fixed issue with prefixIDs plugin not replacing url() values correctly (by @harrisjose).
 
[ > ] 1.0.4 / 30.01.2018
- Fixed bug with removing groups that are direct child of "".
 - Fixed bug with shorthand path points counting (thanks @alexjlockwood for noticing).
 - Fixed crash on parsing invalid transform, e.g. without close parenthesis.
 
[ > ] 1.0.3 / 08.11.2017
- Fixed 
removeViewBoxplugin to check for zero start coordinates. - Removed extra info from STDOUT when it set to output.
 
[ > ] 1.0.2 / 03.11.2017
- Fixed a couple of errors related to 
inlineStylesplugin. - Updated some lost details in documentation to reflect v1.0 changes.
 
[ > ] 1.0.1 / 31.10.2017
- Fixed error “Object.defineProperty called on non-object” in images with 
<foreignObject/>. 
[ > ] 1.0.0 / 30.10.2017
- SVGO now requires Node 4 or higher.
 - Changed CLI syntax to treat filenames as input, thus allowing 
svgo *.svgsyntax. SVGO.optimize()now returnsPromise.- Added 
dataurioption to JS API. - Added support for SVG 2 
hrefattribute. cleanupIDsnow don't removes IDs if an image consists only ofdefs.- New plugin 
inlineStylesfor converting styles from<style>element to attributes if possible (by @strarsis). cleanupNumericValuesnow rounds values inviewBox(by @caub).- New plugin: 
removeScriptElement(disabled by default) to align withremoveStyleElement(by @pklingem). minifyStylesnow removes styles based on usage with controlling options (by @lahmatiy).- New option 
exceptincleanupIDsto keep IDs (by @Velenir). - New option 
forceincleanupIDsto work even if SVG containsstyleorscriptelements (by @Velenir). - Fixed arcs transforming with different signed 
scaleparameters (by @JoshyPHP). - Fixed 
removeUselessStrokeAndFillto check forstyleorscriptelements per file (by @caub). - New option 
keepAriaAttrsinremoveUnknownsAndDefaults(by @davidtheclark). - Corrected parsing in 
cleanupIDsto account animation syntax (by @caub). #ff0000now converts toredas 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 
removeAttrsnow can be changed perelemSeparatoroption (by @mikestreety). addAttributesToSVGElementnow can add values to attributes.
[ > ] 0.7.2 / 29.01.2017
- Extended 
currentColormatch 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.
 
[ > ] 0.7.1 / 27.09.2016
- Reverted the requirement of Node.js to version 0.10.
 - Added 
addAttributesToSVGElementto the default config to allow using it with--enableoption. - Added korean translation of “How it works” doc (by @primeiros).
 
[ > ] 0.7.0 / 25.08.2016
- Required Node.js version has increased to 0.12.
 - New plugins: 
removeElementsByAttr(by IDs or classes) by @elidupuis,addAttributesToSVGElementby @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 
sortAttrsby @darktrojan. addClassesToSVGElementno more repeats classes (by @ricardobeat).
[ > ] 0.6.6 / 25.04.2016
- Corrected CSSO API usage
 
[ > ] 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.
 - Corrected 
moveGroupAttrsToElemsnot to move attributes togcontent if it's referenced (has anid). collapseGroupsnow don't collapse a group if it has an animated attribute (SMIL).
[ > ] 0.6.4 / 05.04.2016
- Fixed bug in “convertStyleToAttrs” plugin with converting styling properties to non-existent attributes (which are normally removed later by 
removeUnknownsAndDefaults). - Added 
--indentoption to style pretty-printed SVG. (e.g.--indent 2) (by @scurker). - Added 
currentColorparam toconvertColorsplugin for converting values likefillandstroketocurrentColor(by @scurker). - Bumped CSSO to the current version and used its new shiny API (thanks to @lahmatiy).
 
[ > ] 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:hrefreferences are now being checked by local namehref, thus correctly working with another namespace prefix.- Fixed 
idremoving with disabledplugins/convertStyleToAttrs.js. 
[ > ] 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 
--multipassoption. - 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 
idand withoutstroke-widtharen't being transformed now sincestroke-widthmay be applied later. 
[ > ] 0.6.1 / 21.11.2015
- Added option 
--quietto suppress output (by @phihag). - Removed 
lib-covfolder from the package, which was erroneously included before. - Fixed errors in “minifyStyles” when there are 
<style>elements withCDATAcontent 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).
 
[ > ] 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” which minifies 
<style>elments content with CSSO by @strarsis (svgo still doesn't understand its content) - New plugin “removeStyleElement” (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 
precisioncli-option andfullconfig. - Fixed an error produced by “removeUnknownsAndDefaults” by @thiakil
 - Another Inkscape prefix namespace is being removed.
 - Fixed an issue in moveElemsAttrsToGroup“” with transforms moved around 
clip-path. 
[ > ] 0.5.6 / 13.08.2015
- Fixed paths removing.
 
[ > ] 0.5.5 / 05.08.2015
- Reverted debugging changes.
 
[ > ] 0.5.4 / 05.08.2015
- New parameter 
useShortTagsby @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.
 
[ > ] 0.5.3 / 21.06.2015
- Fixed breaking related to rounding functions in “convertTransform”.
 - Fixed a bug with ID in animations not being worked on by “cleanupIDs”.
 - 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-pluginsdisplaying list of plugins. - Two new optional plugins: “removeDimensions” (removes 
widthandheightif there isviewBox) and “removeAttrsPlugin” (by @bennyschudel). 
[ > ] 0.5.2 / 24.05.2015
- Introduced new 
transformPrecisionoption for better image quality (defaults to 5) in “convertTransform” and “convertPathData” (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 
arctocommand) are now correctly being transformed into another arcs without being converting to Bezier curves. - Fixed an issue with “mergePaths” failing to detect paths intersection in some cases.
 - Fixed a bug with “removeUnknownsAndDefaults” removing some paths, which was introduced in 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) 
[ > ] 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 plugin now checks for possible intersections to avoid side-effects
 - new plugin removeUselessDefs to remove elements in 
<defs>and similar non-rendering elements without anidand thus cannot be used - fix for 
--multipasscommand line option (by @dfilatov) - improved cleanupEnableBackground and convertColors plugins (by @YetiOr)
 - new plugin for image manipulation cleanupListOfValues (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- prevented plugins from failing in 
<foreignObject> - cleanupNumericValues plugin now converts other units to pixels (if it's better)
 - removeUselessStrokeAndFill 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 
idon root<svg>tag in removeUnknownsAndDefaults since it's already being done in cleanupIDs 
[ > ] 0.5.0 / 05.11.2014
- added 
--multipasscommand 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 plugin is disabled by default since it's unable to check inherited properties
 - transformations now apply to paths with arcs in plugins/convertPathData
 - a lot of bug fixes mostly related to transformations
 
[ > ] 0.4.5 / 02.08.2014
- significally improved plugin plugins/convertPathData:
- Now data is being written relative or absolute whichever is shorter. You can turn it off by setting 
utilizeAbsolutetofalse. - 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.
 
 - Now data is being written relative or absolute whichever is shorter. You can turn it off by setting 
 --outputoption now can be a folder along with--folder, thanks to @mako-taco.- plugins/cleanupIDs now have 
prefixoption in case you want to combine multiple svg later (by @DanielMazurkiewicz). - Quotes now being escaped in attributes (by @ditesh).
 - Minor bugfixes.
 
[ > ] 0.4.4 / 14.01.2014
- new plugin plugins/removeTitle (disabled by default, close #159)
 - plugins/convertPathData: skip data concatenation for z instruction in collapseRepeated
 - plugins/removeUnknownsAndDefaults: do not remove overriden attributes with default values (fix #161 and #168)
 - plugins/removeViewBox: disable by default (fix #139)
 - update README with gulp task
 
[ > ] 0.4.3 / 02.01.2014
- new plugin plugins/convertShapeToPath (close #96)
 - update sax version to fix #140
 - update deps
 
[ > ] 0.4.2 / 19.12.2013
- add 
lcov.infoto npmignore - fix 
js-yamlversion to suppress deprecation warning in stdout 
[ > ] 0.4.1 / 18.11.2013
- node >=0.8.0
 
[ > ] 0.4.0 / 18.11.2013
- merge almost all pull-requests
 - update dependencies
 
[ > ] 0.3.7 / 24.06.2013
- do not remove 
resultattribute from filter primitives (fix #122) - plugins/cleanupAttrs: replace newline with space when needed (fix #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
 - re-enable node-coveralls
 
[ > ] 0.3.6 / 06.06.2013
- plugins/removeNonInheritableGroupAttrs: more attrs groups to exclude (fix #116 & #118)
 - lib/coa: optimize folder file by file (temp fix #114)
 .jshintrc: JSHint 2.0- temporarily disable node-coveralls
 
[ > ] 0.3.5 / 07.05.2013
- plugins/transformsWithOnePath: fix curves bounding box calculation
 - plugins/transformsWithOnePath: fix possible c+t or q+s bug
 
[ > ] 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
 
[ > ] 0.3.3 / 05.05.2013
- plugins/convertPathData: convert very first m to M, fix applyTransforms with translate() (fix #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
 
[ > ] 0.3.2 / 03.05.2013
- new plugin plugins/sortAttrs
 - plugins/transformsWithOnePath: buggy hcrop (fix #111)
 - Impossible to set output presision to 0 (no fractional part) (fix #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
 
[ > ] 0.3.1 / 15.04.2013
- plugins/transformsWithOnePath: resize SVG and automatically rescale inner Path
 - better errors handling
 
[ > ] 0.3.0 / 12.04.2013
- global refactoring: getting rid of the many dependencies
 - new plugin plugins/mergePaths
 - new plugin plugins/transformsWithOnePath (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)
 - plugins/_transforms: allow spaces at the beginning of transform
 - Travis CI: Nodejs 0.10 & 0.11
 node.extend→whet.extend- update 
.gitignore - update docs
 
[ > ] 0.2.4 / 05.04.2013
- new plugin plugins/cropAndCenterAlongPath for the Fontello project
 
[ > ] 0.2.3 / 22.02.2013
- new plugin plugins/removeNonInheritableGroupAttrs (fix #101)
 - new plugin plugins/removeRasterImages (close #98)
 - plugins/convertTransform: bug with trailing spaces in transform value string (fix #103)
 
[ > ] 0.2.2 / 09.02.2013
- plugins/convertTransforms: wrong translate() shorthand (fix #94)
 - yaml.js → js-yaml
 - update outdated deps
 
[ > ] 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)
 - plugins/removeViewBox: doesn't catch floating-point numbers (fix #88)
 - plugins/cleanupEnableBackground: doesn't catch floating-point numbers (fix #89)
 - plugins/cleanupNumericValues: wrong floating-point numbers regexp (fix #92)
 - SVG file generated by fontcustom.com not properly compressed (fix #90)
 README.ru.md: стилизация русского языка, улучшение языковых конструкций, правка ошибок (close #91)- minor JSHint warning fix
 
[ > ] 0.2.0 / 23.12.2012
- plugins/convertPathData: apply transforms to Path pata (close #33)
 - plugins/convertPathData: 
-1.816-9.278.682-13.604parsing error (fix #85) - plugins/convertTransform: 
translate(10, 0)eqtranslate(10), but nottranslate(10, 10)eqtranslate(10)(fix #83) - run plugins/cleanupIDs before plugins/collapseGroups (fix #84)
 - update 
.gitignore 
[ > ] 0.1.9 / 17.12.2012
- plugins/cleanupIDs: renamed from removeUnusedIDs; minify used IDs (fix #7)
 - lib/svgo/js2svg: restore HTML entities back (fix #80 + #81)
 - plugins/removeDoctype: do not remove if custom XML entities presents (fix #77)
 - lib/svgo/coa: refactoring, colors and fix #70
 - lib/svgo: store elapsed time in result object
 - usage examples with SVGZ (close #18)
 - more optimized logo
 - update 
.gitignore 
[ > ] 0.1.8 / 11.12.2012
- new plugin plugins/removeUselessStrokeAndFill (close #75)
 - new plugin plugins/removeUnusedIDs (close #76)
 - plugins/convertPathData: wrong M interpretation in some cases (fix #73)
 - plugins/cleanupAttrs: use 
isElem()API .travis.yml: check all branches
[ > ] 0.1.7 / 08.12.2012
- plugins/convertPathData: incorrect interpretation of 
z + m(fix #69) - plugins/convertTransform: do a more accurate floating numbers rounding in 
matrixToTransform()(fix #68) 
[ > ] 0.1.6 / 07.12.2012
- plugins/convertPathData: collapse repeated instructions only after curveSmoothShorthands (fix #64)
 - lib/svgo/coa: handle 'there is nothing to optimize' case and display a message about it (fix #61)
 - plugins/cleanupSVGElem: delete as useless artefact
 
[ > ] 0.1.5 / 06.12.2012
- E-notated numbers in paths not recognised (fix #63)
 - update README with 
svgo-gruntandsvgo-osx-folder-action - fix 
mocha-as-promisedplug in node 0.6 
[ > ] 0.1.4 / 05.12.2012
- plugins/_collections: more defaults
 README.ru.mddocs/how-it-works/ru.md- mocha + mocha-as-promised + chai + chai-as-promised + should + istanbul = <3
 - update dependencies semvers in 
package.json v0.1.xandv0.2.xmilestones
[ > ] 0.1.3 / 30.11.2012
- new plugin plugins/cleanupNumericValues (close #8)
 - plugins/removeDefaultPx functionality now included in plugins/removeUnknownsAndDefaults
 - plugins/removeUnknownsAndDefaults: refactoring and picking up the complete elems+attrs collection (close #59)
 - plugins/convertTransform: error in matrices multiplication (fix #58)
 - plugins/convertTransform: mark translate() and scale() as useless only with one param (fix #57)
 - plugins/convertPathData: drastic speed improvement with huge Path data
 - plugins/convertPathData: fix the very first Mm with multiple points (fix #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
 
[ > ] 0.1.2 / 24.11.2012
- lib/svgo/svg2js: correct 'onerror' failure (fix #51)
 - config: disable sax-js position tracking by default (fix #52)
 - lib/svgo: rename 'startBytes' to 'inBytes' and 'endBytes' to 'outBytes' (close #53)
 - plugins/removeUnknownsAndDefaults: remove SVG id attr (close #54)
 
[ > ] 0.1.1 / 23.11.2012
- plugins/moveElemsAttrsToGroup: fix inheitable only attrs array (fix #47)
 - plugins/removeEmptyContainers: do not remove an empty 'svg' element (fix #48)
 - plugins/removeDefaultPx: should also understand a floating-numbers too (fix #49)
 - plugins/removeUnknownsAndDefaults: merge multiple groupDefaults attrs (close #50)
 
[ > ] 0.1.0 / 22.11.2012
- new plugin plugins/removeUnknownsAndDefaults (close #6)
 - plugins/convertPathData: convert straight curves into lines segments (close #17); remove an absolute coords conversions
 - plugins/convertPathData: convert quadratic Bézier curveto into smooth shorthand (close #31)
 - plugins/convertPathData: convert curveto into smooth shorthand (close #30)
 - lib/svgo: global API refactoring (close #37)
 - lib/svgo: fatal and stupid error in stream chunks concatenation (fix #40)
 - lib/coa: batch folder optimization (close #29)
 - lib/coa: support arguments as aliases to 
--inputand--output(close #28) - project logo by Egor Bolhshakov
 - move modules to 
./lib/svgo/ - rename and convert 
config.jsonto.svgo.yml - add ./docs/
 - plugins/convertPathData: don't remove first 
Meven if it's0,0 - plugins/convertPathData: stronger defense from infinite loop
 - plugins/moveElemsAttrsToGroup: should affect only inheritable attributes (fix #46)*
 - plugins/removeComments: ignore comments which starts with '!' (close #43)
 - config: 
cleanupAttrsshould be beforeconvertStyleToAttrs(fix #44)* - lib/svgo/jsAPI: add 
eachAttr()optional context param - temporarily remove PhantomJS and 
--test(close #38) - q@0.8.10 compatibility: 'end is deprecated, use done instead' fix
 - add 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
[ > ] 0.0.9 / 29.10.2012
- plugins how-to (close #27)
 - allow any plugin of any type to go in any order (close #14)
 - allow to do a multiple optimizations with one init (close #25)
 - plugins/convertPathData: global refactoring
 - plugins/convertPathData: do all the tricks with absolute coords too (fix #22)
 - plugins/convertPathData: accumulation of rounding errors (fix #23)
 - plugins/convertPathData: prevent an infinity loop on invalid path data (fix #26)
 - plugins/convertPathData: do not remove very first M from the path data (fix #24)
 - plugins/convertPathData: optimize path data in <glyph> and <missing-glyph> (close #20)
 - plugins/convertTransform: add patternTransform attribute to the process (close #15)
 - plugins/convertTransform: Firefox: removing extra space in front of negative number is alowed only in path data, but not in transform (fix #12)
 - plugins/removeXMLProcInst: remove only 'xml' but not 'xml-stylesheet' (fix #21)
 - plugins/collapseGroups: merge split-level transforms (fix #13)
 - jsdoc corrections
 
[ > ] 0.0.8 / 20.10.2012
- new plugin convertTransform (close #5)
 - new plugin removeUnusedNS
 - plugins/convertPathData: remove useless segments
 - plugins/convertPathData: a lot of refactoring
 - plugins/convertPathData: round numbers before conditions because of exponential notation (fix #3)
 - plugins/moveElemsAttrsToGroup: merge split-level transforms instead of replacing (fix #10)
 - lib/svg2js: catch and output xml parser errors (fix #4)
 - lib/coa: open file for writing only when we are ready (fix #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
 
[ > ] 0.0.7 / 14.10.2012
- new plugin convertPathData
 - --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
 - display time spent on optimization
 - .svgo → config.json
 - lib/phantom_wrapper.js → lib/phantom.js
 
[ > ] 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
 
[ > ] 0.0.5 / 03.10.2012
- every plugin now has at least one test
 - removeViewBox, cleanupEnableBackground, removeEditorsNSData, convertStyleToAttrs and collapseGroups plugins fixes
 - new --pretty option for the pretty printed SVG
 - lib/config refactoring
 
[ > ] 0.0.4 / 30.09.2012
- new plugin removeViewBox
 - new plugin cleanupEnableBackground
 - display useful info after successful optimization
 - 'npm test' with 'spec' mocha output by default
 
[ > ] 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
 
[ > ] 0.0.2 / 28.09.2012
- add --disable and --enable command line options
 - add an empty values rejecting to coa.js
 - update README
 
[ > ] 0.0.1 / 27.09.2012
- initial public version