svg/svgo (svgo)
### [`v3.3.2`](https://togithub.com/svg/svgo/releases/tag/v3.3.2)
[Compare Source](https://togithub.com/svg/svgo/compare/v3.3.1...v3.3.2)
#### Notice
An update on what happened with v3.3.0 and v3.3.1. While we have retained CJS support, the migration to EMS has changed the acceptable ways to import SVGO, in ways that users depended on before. This effectively made SVGO a breaking change.
Rather than resolve or workaround these differences, we've opted to release SVGO v3.3.2, which is effectively a revert to v3.2.0, and deprecate versions v3.3.0 and v3.3.1. We'll then proceed to work on releasing v4 which will document the breaking changes, and feature further breaking changes that were slated for v4, like disabling `removeViewBox` by default.
Sorry for the headache, and thanks for your patience.
### [`v3.3.1`](https://togithub.com/svg/svgo/compare/v3.3.0...73fe46b1f46a0b3d5e3772403c290ab12d4dc40f)
[Compare Source](https://togithub.com/svg/svgo/compare/v3.3.0...v3.3.1)
### [`v3.3.0`](https://togithub.com/svg/svgo/compare/v3.2.0...a3ac91af71c262660eda90fad893ba83be7fe24f)
[Compare Source](https://togithub.com/svg/svgo/compare/v3.2.0...v3.3.0)
### [`v3.2.0`](https://togithub.com/svg/svgo/releases/tag/v3.2.0)
[Compare Source](https://togithub.com/svg/svgo/compare/v3.1.0...v3.2.0)
#### What's Changed
##### Bug Fixes
- [**Convert Path Commands**](https://svgo.dev/docs/plugins/convert-path-data/), fix instances were `q` was incorrectly converted to `t`. By [@KTibow](https://togithub.com/KTibow) in [https://github.com/svg/svgo/pull/1889](https://togithub.com/svg/svgo/pull/1889)
- [**Convert Transform**](https://svgo.dev/docs/plugins/convert-transform/), fix for some transforms that weren't being converted correctly. By [@SethFalco](https://togithub.com/SethFalco) in [https://github.com/svg/svgo/pull/1916](https://togithub.com/svg/svgo/pull/1916)
##### SVG Optimization
- [**Convert Path Commands**](https://svgo.dev/docs/plugins/convert-path-data/), improves closing paths and how we determine if to use absolute or relative commands. By [@KTibow](https://togithub.com/KTibow) in [https://github.com/svg/svgo/pull/1867](https://togithub.com/svg/svgo/pull/1867)
- [**Convert Path Commands**](https://svgo.dev/docs/plugins/convert-path-data/), round arc or convert to lines based on the sagitta, can be disabled by setting `smartArcRounding` to `false`. By [@KTibow](https://togithub.com/KTibow) in [https://github.com/svg/svgo/pull/1873](https://togithub.com/svg/svgo/pull/1873)
- [**Convert Path Commands**](https://svgo.dev/docs/plugins/convert-path-data/), convert cubic Bézier curves to quadratic Bézier curves where possible, can be disabled by setting `convertToQ` to `false`. By [@KTibow](https://togithub.com/KTibow) in [https://github.com/svg/svgo/pull/1889](https://togithub.com/svg/svgo/pull/1889)
##### Performance
- [**Merge Paths**](https://svgo.dev/docs/plugins/merge-paths/), refactor for performance with large files. By [@mozzie](https://togithub.com/mozzie) in [https://github.com/svg/svgo/pull/1764](https://togithub.com/svg/svgo/pull/1764) and [https://github.com/svg/svgo/pull/1904](https://togithub.com/svg/svgo/pull/1904)
- [**Convert Path Commands**](https://svgo.dev/docs/plugins/convert-path-data/), refactor `#stringifyPathData` for performance. By [@SethFalco](https://togithub.com/SethFalco) in [https://github.com/svg/svgo/pull/1900](https://togithub.com/svg/svgo/pull/1900)
- Use [`Set`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Set) instead of [`Array`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array) for faster lookups. By [@SethFalco](https://togithub.com/SethFalco) in [https://github.com/svg/svgo/pull/1899](https://togithub.com/svg/svgo/pull/1899)
#### Metrics
Before and after using vectors from various sources, with the default preset of each respective version:
| SVG | Original | v3.1.0 | v3.2.0 | Delta |
|---|---|---|---|---|
| [Arch Linux Logo](https://archlinux.org/art/) | 9.529 KiB | 4.162 KiB | 4.115 KiB | ⬇️ 0.047 KiB |
| [Blobs](https://gitlab.gnome.org/GNOME/gnome-backgrounds/-/blob/main/backgrounds/blobs-d.svg) | 50.45 KiB | 42.949 KiB | 42.623 KiB | ⬇️ 0.326 KiB |
| [Isometric Madness](https://inkscape.org/~Denis_Kuznetsky/%E2%98%85isometric-madness) | 869.034 KiB | 550.153 KiB | 540.582 KiB | ⬇️ 9.571 KiB |
| [tldr-pages Banner](https://togithub.com/tldr-pages/tldr/blob/main/images/banner.svg) | 2.071 KiB | 1.07 KiB | 1.07 KiB | |
| [Wikipedia Logo](https://en.wikipedia.org/wiki/File:Wikipedia-logo-v2.svg) | 161.551 KiB | 116 KiB | 111.668 KiB | ⬇️ 4.332 KiB |
Before and after of the browser bundle of each respective version:
| | v3.1.0 | v3.2.0 | Delta |
|---|---|---|---|
| svgo.browser.js | 660.9 kB | 910.9 kB | ⬆️ 250 kB |
### [`v3.1.0`](https://togithub.com/svg/svgo/releases/tag/v3.1.0)
[Compare Source](https://togithub.com/svg/svgo/compare/v3.0.5...v3.1.0)
#### What's Changed
##### Bug Fixes
- [**Prefix IDs**](https://svgo.dev/docs/plugins/prefix-ids/), correctly prefix IDs when `
This PR contains the following updates:
3.0.4
->3.3.2
Release Notes
svg/svgo (svgo)
### [`v3.3.2`](https://togithub.com/svg/svgo/releases/tag/v3.3.2) [Compare Source](https://togithub.com/svg/svgo/compare/v3.3.1...v3.3.2) #### Notice An update on what happened with v3.3.0 and v3.3.1. While we have retained CJS support, the migration to EMS has changed the acceptable ways to import SVGO, in ways that users depended on before. This effectively made SVGO a breaking change. Rather than resolve or workaround these differences, we've opted to release SVGO v3.3.2, which is effectively a revert to v3.2.0, and deprecate versions v3.3.0 and v3.3.1. We'll then proceed to work on releasing v4 which will document the breaking changes, and feature further breaking changes that were slated for v4, like disabling `removeViewBox` by default. Sorry for the headache, and thanks for your patience. ### [`v3.3.1`](https://togithub.com/svg/svgo/compare/v3.3.0...73fe46b1f46a0b3d5e3772403c290ab12d4dc40f) [Compare Source](https://togithub.com/svg/svgo/compare/v3.3.0...v3.3.1) ### [`v3.3.0`](https://togithub.com/svg/svgo/compare/v3.2.0...a3ac91af71c262660eda90fad893ba83be7fe24f) [Compare Source](https://togithub.com/svg/svgo/compare/v3.2.0...v3.3.0) ### [`v3.2.0`](https://togithub.com/svg/svgo/releases/tag/v3.2.0) [Compare Source](https://togithub.com/svg/svgo/compare/v3.1.0...v3.2.0) #### What's Changed ##### Bug Fixes - [**Convert Path Commands**](https://svgo.dev/docs/plugins/convert-path-data/), fix instances were `q` was incorrectly converted to `t`. By [@KTibow](https://togithub.com/KTibow) in [https://github.com/svg/svgo/pull/1889](https://togithub.com/svg/svgo/pull/1889) - [**Convert Transform**](https://svgo.dev/docs/plugins/convert-transform/), fix for some transforms that weren't being converted correctly. By [@SethFalco](https://togithub.com/SethFalco) in [https://github.com/svg/svgo/pull/1916](https://togithub.com/svg/svgo/pull/1916) ##### SVG Optimization - [**Convert Path Commands**](https://svgo.dev/docs/plugins/convert-path-data/), improves closing paths and how we determine if to use absolute or relative commands. By [@KTibow](https://togithub.com/KTibow) in [https://github.com/svg/svgo/pull/1867](https://togithub.com/svg/svgo/pull/1867) - [**Convert Path Commands**](https://svgo.dev/docs/plugins/convert-path-data/), round arc or convert to lines based on the sagitta, can be disabled by setting `smartArcRounding` to `false`. By [@KTibow](https://togithub.com/KTibow) in [https://github.com/svg/svgo/pull/1873](https://togithub.com/svg/svgo/pull/1873) - [**Convert Path Commands**](https://svgo.dev/docs/plugins/convert-path-data/), convert cubic Bézier curves to quadratic Bézier curves where possible, can be disabled by setting `convertToQ` to `false`. By [@KTibow](https://togithub.com/KTibow) in [https://github.com/svg/svgo/pull/1889](https://togithub.com/svg/svgo/pull/1889) ##### Performance - [**Merge Paths**](https://svgo.dev/docs/plugins/merge-paths/), refactor for performance with large files. By [@mozzie](https://togithub.com/mozzie) in [https://github.com/svg/svgo/pull/1764](https://togithub.com/svg/svgo/pull/1764) and [https://github.com/svg/svgo/pull/1904](https://togithub.com/svg/svgo/pull/1904) - [**Convert Path Commands**](https://svgo.dev/docs/plugins/convert-path-data/), refactor `#stringifyPathData` for performance. By [@SethFalco](https://togithub.com/SethFalco) in [https://github.com/svg/svgo/pull/1900](https://togithub.com/svg/svgo/pull/1900) - Use [`Set`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Set) instead of [`Array`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array) for faster lookups. By [@SethFalco](https://togithub.com/SethFalco) in [https://github.com/svg/svgo/pull/1899](https://togithub.com/svg/svgo/pull/1899) #### Metrics Before and after using vectors from various sources, with the default preset of each respective version: | SVG | Original | v3.1.0 | v3.2.0 | Delta | |---|---|---|---|---| | [Arch Linux Logo](https://archlinux.org/art/) | 9.529 KiB | 4.162 KiB | 4.115 KiB | ⬇️ 0.047 KiB | | [Blobs](https://gitlab.gnome.org/GNOME/gnome-backgrounds/-/blob/main/backgrounds/blobs-d.svg) | 50.45 KiB | 42.949 KiB | 42.623 KiB | ⬇️ 0.326 KiB | | [Isometric Madness](https://inkscape.org/~Denis_Kuznetsky/%E2%98%85isometric-madness) | 869.034 KiB | 550.153 KiB | 540.582 KiB | ⬇️ 9.571 KiB | | [tldr-pages Banner](https://togithub.com/tldr-pages/tldr/blob/main/images/banner.svg) | 2.071 KiB | 1.07 KiB | 1.07 KiB | | | [Wikipedia Logo](https://en.wikipedia.org/wiki/File:Wikipedia-logo-v2.svg) | 161.551 KiB | 116 KiB | 111.668 KiB | ⬇️ 4.332 KiB | Before and after of the browser bundle of each respective version: | | v3.1.0 | v3.2.0 | Delta | |---|---|---|---| | svgo.browser.js | 660.9 kB | 910.9 kB | ⬆️ 250 kB | ### [`v3.1.0`](https://togithub.com/svg/svgo/releases/tag/v3.1.0) [Compare Source](https://togithub.com/svg/svgo/compare/v3.0.5...v3.1.0) #### What's Changed ##### Bug Fixes - [**Prefix IDs**](https://svgo.dev/docs/plugins/prefix-ids/), correctly prefix IDs when `