Skip to content

Releases: tdewolff/minify

v2.5.0

17 May 16:02
Compare
Choose a tag to compare
  • CSS: fix position information in error context
  • CSS: fix background-position panic with offsets that are zero
  • HTML: trim and collapse whitespace in certain attribute values
  • SVG: shorten cubic and quadratic Beziér path data to their shorter format or to line segments

v2.4.0

18 Apr 20:51
Compare
Choose a tag to compare
  • When minifying floating points, remove trailing zeros and not other numbers
  • Make M concurrent-safe
  • HTML: keep double quotes around XML-flavour RDFa attributes
  • CSS: revert the use of the #RRGGBBAA format as proposed in Color Module Level 4 as it is not yet an official W3C recommendation
  • CSS: background-position (also within background) now works with 3 and 4 values as well
  • SVG: skipping metadata or rect tags properly even if they are closed by a void tag (like <rect/>)
  • SVG pathdata: when cursor doesn't move, don't emit any commands

Go modules support #2

07 Nov 21:20
2d0bbc9
Compare
Choose a tag to compare

I'm suspecting that go mod gets confused from a previously reverted v2.3.7 release, so just in case this is a new release that will hopefully fix:

$ go get -u github.com/tdewolff/minify/v2
go: github.com/tdewolff/minify/[email protected]: go.mod has non-.../v2 module path "github.com/tdewolff/minify" (and .../v2/go.mod does not exist) at revision v2.3.7
go get: error loading module requirements

Go modules support

06 Nov 03:12
Compare
Choose a tag to compare

Add Go modules support by using the github.com/tdewolff/minify/v2 import path.

WARNING: this release may give errors for go mod probably due to (local) caching...

Bugfixes and improved CSS minifier

26 Oct 01:29
Compare
Choose a tag to compare

Important: default mimetype for JavaScript is now application/javascript (it used to be text/javascript).

  • HTML bugfix: keep empty value attribute on <input type="radio">, because the default is not an empty string
  • HTML bugfix: prevent IE conditional comments from panicking in some instances
  • CSS: handle local() for URLs
  • CSS: support rgb() and hsl() with spaces instead of commas
  • CSS: improve minification for font, background, background-position, background-repeat, background-size, outline and border declarations
  • CSS: reintroduce support for IE star-declaration hack
  • CSS bugfix: margin and padding now check if values that are functions (such as calc()) are equal and thus eligible for collapsing
  • CSS bugfix: parse bad declarations better
  • CSS bugfix: add space for attribute selector case insensitivity between the value and i as in input[type="radio" i]
  • CSS bugfix: do not collapse outline to 0 but to none
  • CSS bugfix: opacity for rgba() and hsla() in CSS2 cannot be rewritten as #rrggbbaa
  • SVG bugfix: only use the first pair of coordinates for M to move back to when encountering Z

Bugfixes and bash completion

08 Jun 01:45
Compare
Choose a tag to compare
  • CLI: Add bash completion for the minify command
  • CLI: improved error messages
  • CLI bugfix: don't open all files at once when concatenating, which usually panics when >10000 files are open
  • CLI bugfix: don't minify modified files twice when watching them
  • Bugfix: prevent panic on long decimals with negative exponent, where rewriting would previously cause longer numbers
  • HTML: accept alternative syntax for MS conditional comments
  • HTML bugfix: draggable is not a boolean
  • HTML bugfix: do not assume mediatype in <meta content="x">
  • CSS: add option for CSS2 numbers without exponents
  • CSS: trim space in url()
  • CSS: minify box-shadow, background and @import better
  • CSS bugfix: prevent panic for functions with no arguments or end parenthesis
  • CSS bugfix: keep dimensions for zeros in flex property
  • CSS bugfix: keep other values for outline and border when width is zero
  • CSS bugfix: font normal now handled
  • CSS bugfix: add quotes to unquotes url() when we can remove the url function
  • CSS bugfix: only omit number dimensions for and
  • JS bugfix: ASI behaviour for template literals
  • JS bugfix: replace comment as space when comment is removed
  • JS bugfix: divide by regular expression
  • SVG: don't remove empty groups anymore, as CSS or JS might rely on them
  • SVG bugfix: prevent panic on invalid pathdata for arcs

Bugfixes found by fuzz testing

01 Dec 13:01
Compare
Choose a tag to compare

This release fixes a number of out-of-bounds panics that could arise in HTML, XML and JS sources. It also allows HTML sources to contain the NULL byte.

Remove dependencies on buffer and strconv

12 Nov 23:57
Compare
Choose a tag to compare
v2.3.3

Change buffer to parse/buffer

v2.3.1

12 Nov 21:22
Compare
Choose a tag to compare

This release has binaries built by GoReleaser.

Performance

12 Nov 17:18
Compare
Choose a tag to compare
  • Large performance increase by using a buffer that holds all contents, instead of a streaming buffer: 9904fe7
  • Add standardized samples for benchmark tests
  • Parsing errors now show line number, column and context (the content of the offending line)
  • HTML: optimize a minification