All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
2.0.1 (2022-01-21)
- improve perfomance (3b310aa)
2.0.0 (2022-01-12)
This version did not break the api so upgrading from v1.0.0
without any changes should be fine. The reason for the major version change is just in case something did break.
- Removed
Canvas & JSDOM
to fix very slownpm install
cycles. - Switched from
Canvas
tosvg2png-wasm
.
- Updated dependencies
1.4.1 (2021-09-05)
- vulnerabilities (99621c6)
1.4.0 (2021-07-14)
- add support for svgs with "ex", "ch", "cm", "mm", "q", "in", "pc", "pt" (4d2c18e)
- add support for svgs with fill color in path style attribute (1aeb079)
- support svgs without a set viewBox attribute (17b876c)
1.3.2 (2021-06-26)
- security vulnerabilities (372730b)
1.3.1 (2021-05-27)
1.3.0 (2021-05-15)
- eslint: script error (d34780e)
1.2.1 (2021-05-06)
- drop yargs version to 16 (7b4d9cc)
- package breaking when process.env.NODE_ENV env variable is set (51c6318)
- Fixed bug in test.
- Updated dependencies.
- Fixed vulnerability.
- Updated dependencies.
- Fixed large npm package.
- Fixed bug that allowed you to update
options
that do not exist.
- Added
CLI
functionality. - Added
callback
functionality toSVGFixer.fix()
.
- Refactored
tests
. - Refactored
progress bar
.
- Fixed not being able to process SVGs with
%
dimensions.
- SVG attribute tests.
- Remove tests from npm
package
to help reduce unpackedpackage
size.
svgfixer.fix(source, destination, options)
=>SVGFixer(source, destination, options).fix()
.- It was changed from a wrapper function to a method function for
SVGFixer
. - It still returns a
Promise
. fix()
no more takes inparameters
, those should be passed intoSVGFixer()
.
- It was changed from a wrapper function to a method function for
svgfixer.SVGFixer()
class =>SVGFixer()
.- The
.setOptions(options)
method has been removed,options
should now be passed in class constructor as the 3rdparameter
. - The
.setSourceAndDest()
method has been removed,source
anddestination
should now be passed in class constructor as the 1st and 2ndparameters
. - The
.process()
method has been removed, use.fix()
instead. SVGFixer()
does not require thenew
operator anymore.
- The
fixConcurrency
has been removed, might be reimplemented on later versions.
- Updated dependencies.
- Refactored codebase.
- Refactored progressbar.
- Updated dependencies. Fixes Vulnerability
- Updated image processor.
- Updated
CHANGELOG.md
wording and formatting.
- Updated
README.md
.
- Documentation.
- Changed image processing engine from Sharp to Jimp. Fixes #7
- Refactored async pools (fixConcurrency).
- Fixed pathing issues on windows. Fixes #8
- Updated dependencies. Fixes #7
- Updated
package.json
description.
- Fixed incorrect svg data when source svg has 'px', 'rem' or 'em' on height and width attributes as a unit of measurement. See (#5)
- Fixed Vulnerability
-
Added new parameter
fixConcurrency
to control how many svgs to fix at a given time. -
Added new tests
-
Added an perfomance increase by ~67%
Version completion (%) Time (seconds) Number of SVGs fixed v0.4.0 100.00 ~ 127 1315 v0.3.3 100.00 ~ 190 1315 - - - - VPS CPU RAM Intel(R) Xeon(R) E5-1650 v3 3.50GHz (2x) 1548MiB
- Fixed tests
- Reduceed npm package size.
- Updated
README.md
.
- Added badge links to
README.md
. - Added new tags to
package.json
.
- Updated
README.md
content.
- Updated README.md
- Updated
README.md
- Refactored the whole codebase.
- Updated README.md
- Added tests
- Added slight performance increase.
- Added progress bar
- Added CHANGELOG.md
- Create destination folder if it does not exist.
- Switched from
fs
tofs-extra
- Changed
SvgFixer()
function name fromSvgFixer
tosvgFixer
because its a function not a class.
- Removed debug functions
- Added package.json description
- Added README.md
- Added everything, initial release.