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 v3 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.
Before the v4.0.0 release, I'll put more focus on testing and use release candidates, just to help make the release go smoothly! 👍🏽
Sorry for the headache, and thanks for your patience.
v3.3.1
Notice
SVGO v3.3.0, which was meant to migrate to ESM without breaking CJS support, unfortunately broke CJS projects. There was a mistake with exports, so the loadConfig function wasn't available in the CJS bundle and lead to issues for many users.
Thanks to everyone who raised the issue, and to @nuintun who submitted a pull request to resolve it so quickly.
I apologize for letting that breaking change through, and will aim to do better. Namely, by adding more tests to cover our exports, and any other public interface in general for each distribution of SVGO, so this doesn't happen again.
SVGO v3.3.1 should resolve the issue for CJS projects, but if you encounter anything else, do let us know by opening an issue on GitHub.
v3.3.0
Deprecated
This release introduced breaking changes, which have been reverted in v3.3.2. The bug fixes will be reintroduced in v4.0.0.
What's Changed
ESM
SVGO is now a dual package, serving for both Common JS and ESM usage. We believe there shouldn't be any problems, especially as SVGO as largely stateless, but feel free to open an issue if you encounter problems with this.
To be explicit, this is not a breaking change, and SVGO should continue to work in Common JS projects!
Thanks to @jdufresne for doing the bulk of the work.
Default Behavior
convertColors, now converts all references to colors excluding references to IDs to lowercase. This can be disabled by setting convertCase to false.
You can trigger a rebase of this PR by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Bumps the everything group with 7 updates in the / directory:
3.26.5
3.26.6
18.19.32
20.12.11
3.0.1
4.0.2
3.2.0
3.3.2
8.57.0
9.2.0
16.6.2
17.5.1
4.10.4
4.10.6
Updates
@oclif/core
from 3.26.5 to 3.26.6Release notes
Sourced from
@oclif/core
's releases.Changelog
Sourced from
@oclif/core
's changelog.Commits
3b4a8a0
chore(release): 3.26.6 [skip ci]9ccc797
fix: new "dont check npm" option for plugin-update (#1071)b510d6f
ci: update stale workflow [skip ci]9e04ba3
Merge pull request #1073 from oclif/dependabot-npm_and_yarn-eslint-config-ocl...355bfe5
chore(dev-deps): bump eslint-config-oclif from 5.1.3 to 5.2.0ada4a8d
Merge pull request #1072 from oclif/dependabot-npm_and_yarn-eslint-config-ocl...8a1e5b3
Merge pull request #1074 from oclif/dependabot-npm_and_yarn-oclif-test-3.2.126dc938f
chore(dev-deps): bump@oclif/test
from 3.2.11 to 3.2.129effd8f
chore(dev-deps): bump eslint-config-oclif-typescript from 3.1.6 to 3.1.7Updates
@types/node
from 18.19.32 to 20.12.11Commits
Updates
picomatch
from 3.0.1 to 4.0.2Changelog
Sourced from picomatch's changelog.
Commits
570df2f
4.0.2d958901
bump depsf7751de
moveisWindows
to utils6ce95f5
4.0.1 - Node.js >=129db2a4a
4.0.0335eac6
update benchmarks, upgrade devDependencies, lint4bc439e
Merge pull request #124 from gwsbhqt/feat/browser-compat24fdd65
Merge pull request #128 from frandiox/patch-12677de2
Merge pull request #126 from connor4312/issue-125c0f9c55
Merge pull request #129 from styfle/remove-process-globalUpdates
svgo
from 3.2.0 to 3.3.2Release notes
Sourced from svgo's releases.
... (truncated)
Commits
c4dc2be
chore: increment version to v3.3.2Updates
eslint
from 8.57.0 to 9.2.0Release notes
Sourced from eslint's releases.
... (truncated)
Changelog
Sourced from eslint's changelog.
... (truncated)
Commits
271e7ab
9.2.0989ac9d
Build: changelog update for 9.2.0b346605
chore: upgrade@eslint/js
@9
.2.0 (#18413)c4c18e0
chore: package.json update for@eslint/js
release284722c
chore: package.json update for eslint-config-eslint release0f5df50
docs: Update README347d44f
chore: remove eslintrc export from eslint-config-eslint (#18400)8485d76
feat:no-case-declarations
add suggestions (#18388)a498f35
feat: update Unicode letter detection in capitalized-comments rule (#18375)1579ce0
docs: update wording regarding indirect eval (#18394)Updates
eslint-plugin-n
from 16.6.2 to 17.5.1Release notes
Sourced from eslint-plugin-n's releases.
... (truncated)
Changelog
Sourced from eslint-plugin-n's changelog.
... (truncated)
Commits
c3e5a19
chore(master): release 17.5.1 (#267)030f51b
fix: Add supported version to Buffer constructor (#266)c7a014c
chore(master): release 17.5.0 (#262)982a723
feat(import-target): Add resolution error reason (#264)60bf29f
ci: run test on node v221e41e7c
chore: update dependency markdownlint-cli to ^0.40.0 (#263)ecdf019
fix: remove invalid es-builtins (#258)9466731
feat(node-builtins): Add node globals (#261)2f71e08
chore(master): release 17.4.0 (#256)5c67787
fix: unsupported-features/node-builtins-modules version comparation (#257)Updates
oclif
from 4.10.4 to 4.10.6Release notes
Sourced from oclif's releases.
Changelog
Sourced from oclif's changelog.
Commits
de1c708
chore(release): 4.10.6 [skip ci]e8aa031
fix: bump plugins (#1404)380ba01
chore(release): 4.10.5 [skip ci]496a427
Merge pull request #1387 from oclif/mdonnalley/no-lodash0a32bed
chore: code review:3da9ac9
Merge branch 'main' into mdonnalley/no-lodash4af63f1
chore: restore docs dire3fe844
ci: update stale workflow [skip ci]You can trigger a rebase of this PR by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show