NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
NuGet · #689 most downloaded on NuGet
NUglify provides minification and compression methods for CSS, JavaScript and HTML files for .NET
Last release today
07 Oct 2026
Ships unpredictably
gaps range from 9 days to 11 months
Nearly every release is documented
notes for 58 of the last 60 stable releases
1 version withdrawn
withdrawn after publishing
127 years old
129 releases · first in 1900
Fix trailing commas in arrow function parameter lists by @jbest84 in #478
Full Changelog: v1.23.3...v1.23.4
Fix nested CSS selector parsing with pseudo-class selectors
Full Changelog: v1.23.2...v1.23.3
One column per quarter.
Fix nested CSS selector parsing
Full Changelog: v1.23.1...v1.23.2
Fix optional chaining in property accessor minimization by @jbest84 in #474
Full Changelog: v1.23.0...v1.23.1
Add support for relative color syntax by @snipervld in #470
Full Changelog: v1.22.4...v1.23.0
calc() expressions.this, while preserving substitutions and raw escape sequences (#471).Fix nullish coalescing parens with logical ops by @jbest84 in #469
Full Changelog: v1.22.3...v1.22.4
|| or &&, which could emit syntax-invalid output such as a??b||c.Fix scope var relocation crash by @jbest84 in #467
var declarations, including for-in declarations.Fix var reordering end-of-block crash
var declarations at the end of a block.Fix extra semicolon after loop bodies with TermSemicolons by @jbest84 in #464
Full Changelog: v1.22.0...v1.22.1
TermSemicolons is enabled.Fix BigInt constant folding overflow by @jbest84 in #447
@supports selector() parsing in CSS minifier by @jbest84 in #461Full Changelog: v1.21.18...v1.22.0
& handling and improved selector recovery.@container, modern CSS viewport units, and font-relative units.@supports selector() parsing and CSS custom identifier spacing in grid line names.hx-boost, custom properties starting with digits, and HtmlToText fragments without a <body>.async identifiers, malformed HTML-commented input, and object-literal member access in arrow concise bodies.let/var minified identifiers, nested lexical scopes, block-function rename collisions, manual rename pairs for class methods/accessors, block-scoped captures, and const rename collisions.if bodies, pruning of functions referenced by export default object literals, preservation of assignment side effects in nullish-coalescing comparisons, pretty-print whitespace in nested code blocks, and object-literal getter rewrites.Modernize build pipeline and retarget to net10 with cleanup by @jbest84 in #446
Full Changelog: v1.21.17...v1.21.18
let/const scope handling for InvertIfReturn.Fix Bug #403 by @J-Griffin in #428
Full Changelog: v1.12.16...v1.21.17
Nothing published for this version
Add support for CSS clamp function with + operator (Fixes issue #424 ) - v1.1 by @utilsites in #427
Full Changelog: v1.21.14...v1.21.15
@limsbeheer made their first contribution in #423
Full Changelog: v1.21.13...v1.21.14
Fixed issue where 2 getters with the same name where 1 of the getters is static resulted in "JS1323: Duplicate class element name"
Fixed issue where null coalescing operator combined with "||" or "&&" resulted in syntax errors.
Fixed bug with :has/:is/:where nested selectors
Fixed bug with missing final semicolons in css
Adds support for css custom identifiers
Added support for 'of' keyword in :nth-child and :nth-last-child
Fixes bug parsing arrow and anonymous functions as object properties within object destructuring.
Nothing published for this version
Fixes NullReferenceException when parsing object literal with computed property name expression starting with (
Fixed bug with escaped css identifiers
Fixed bug with JS variables named module
moduleAdded option to disable crunching hex and rga colors
- Fixes bug with export async
- Fixes bug with delete keyword
Fixes bug with duplicate property names
- Fixes bug with border: 0 none
Optimises compression of @supports()
Fixes bug with empty css variable declarations
Addes support for HTMLSettings.TagsCaseSensitive
Added support for new.target.prototype
new.target.prototypeStopped zeros being reduced for css properties
Fixed bug with boolean handling inside JSON
- Added support for compressing
<script type="application/json">- Fixed bug with String.raw``
Fixed bug with yield on the LHS of binary expressions
Adds support for css variables inside rgba functions
Fixes bug with object destructuring parenthesis
Fixes bug with rest spread call expressions inside object literals
Fixes bug with await f() === "string"
await f() === "string"Fixes use of spaces instead of commas in CSS RGB values
Fixes bug with \$ inside template literals
\$ inside template literalsSkipped due to deployment error
Fixes bug with escape characters in template literals
Fixes :has(> .bla) type function selectors - beware this may still not be perfect but its considerably better than it was
Adds support for #rgba and #rrggbbaa css colors and adds better invalid css color detection
Fixes exception thrown on lambda syntax errors
Allows whitespace around Knoockout comments when retaining them in minified HTML
- Skipped version
Fixes bugs with assignment operator precendence
Adds support for private class members
- Adds support for Class Fields
Nothing published for this version
Adds support for CSS case (in)sensitive attribute selectors
- Added net50 target framework
Fixed bug with optional catch bindings
Your coding agent can read these notes before it upgrades. Set up the MCP server →