This v2.1 release added a much improved SVG minifier. Equinox has been added to distribute binaries and make installation easier, see [Equinox](https://dl.equinox.io/tdewolff/minify/stable) (which says version 2.1.5). The CLI tool has matured and various bugfixes and feature requests are in this release.
Change log:
- HTML: do not keep IE conditional comments
- HTML: do not remove CDATA tags, as CDATA is invalid HTML anyways
- HTML: option to keep document tags (`html`, `head` and `body`)
- CSS/SVG: decimal precision can be set in the options
- SVG: more advanced minification
- export `MinifierFunc`
- new `Match` function that returns the minifier function that gets matched to a mediatype
- parsers return an error when they stop before the EOF
- `ResponseWriter` and `Middleware` functionality added
Bugfixes:
- HTML: whitespace around `img` and similar inline tags preserved
- HTML: whitespace within `pre` tag properly preserved
- HTML: the `math` and `svg` tags themselves are now parsed by their respective parsers
- CSS/SVG: valid rounding and truncating of decimals
- CSS: do not lowercase all identifiers, as they may be `<custom-ident>`
- CSS: `rgba` and `hsla` now work properly
- CSS: keep certain required number dimensions
- SVG: path data for arc; sweep and large-arg flags are now treated as booleans
- JS: keep newline or semicolon before `!function(){}`
- JS: keep newline before lines that start with a string in certain instances, the original JSMin does not handle this
- JS: keep newline between `}` and string or ident
CLI:
- Add concatenation support
- Add more support for file and directory watching
- Only overwrite files when explicitly set output equal to input, previously an empty output would imply overwriting, now it means writing to `stdout` as intended