NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #3839 most downloaded on PyPI
Extremely fast and smart HTML + JS + CSS minifier
Last release 11 months ago
25 Oct 2025
Release timing varies
gaps range from 4 weeks to 1.2 years
Most releases are documented
notes for 41 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
78 releases · first in 2020
One column per quarter.
- Fix WASM builds.
[Java] BREAKING: Minimum Java version increased from 7 to 8.
Bump Ubuntu version for GitHub Actions.
[Node.js] BREAKING: Minimum Node.js version increased from 8.6.0 to 10.0.0.
Bump Java version for GitHub Actions.
Fix macOS label for GitHub Actions.
Bump macOS version for GitHub Actions.
- Fix Node.js builds. - Fix Deno builds.
- Fix Node.js builds. - Fix Deno builds.
BREAKING: Cfg options have changed such that spec compliance is the default, to avoid confusion with users:
do_not_minify_doctype => minify_doctypeensure_spec_compliant_unquoted_attribute_values => allow_noncompliant_unquoted_attribute_valueskeep_spaces_between_attributes => allow_removing_spaces_between_attributesCfg::spec_compliant() => Cfg::enable_possibly_noncompliant(&mut self)allow_optimal_entities option but won't be performed by default.Add keep_input_type_text_attr option to keep type=text on elements.
keep_input_type_text_attr option to keep type=text on <input> elements.Configuration class constructor has been made private to enforce the use of the builder. The constructor has a lot of params which can easily cause bugs due to ordering and confusion.Add new options to parse and preserve common templating syntax in content source code. NOTE: The parsing is "dumb" and merely looks for the next subse
preserve_brace_template_syntax: When {{, {#, or {% are seen in content, all source code until the subsequent matching closing }}, #}, or %} respectively gets piped through untouched.
preserve_chevron_percent_template_syntax: When <% is seen in content, all source code until the subsequent matching closing %> gets piped through untouched.
Avoid downloading html-data JSON from network on build.
[Java] Set up cross compilation for macOS and Linux ARM64 builds.
[CLI] Add missing Cargo metadata.
Change CLI name to minhtml as it's a more concise command name and allows for cargo install minhtml.
minhtml as it's a more concise command name and allows for cargo install minhtml.keep_ssi_comments to preserve SSI comments.minify_html instead of MinifyHtml.minify. All else remains the same. This is due to migrating from Rutie (see 0.11.3).
0.11.3 to 0.11.5; these gems have been yanked.Omit Rust source files from Node.js package.
Fix Node.js native package names.
Fix detection of module type scripts.
Clone for Cfg in minify-html.Build and release for Python 3.12.
gen code to build.rs in common Rust library to avoid requiring Node.js in order to build, and to ensure code stays in sync.minify-html-* to better distinguish them from other assorted project code.Bump GitHub Actions Ubuntu image version.
Change the default CSS minifier optimisation level to 1, as higher levels may perform dangerous optimisations.
[Node.js] Fix assertion failure panic on invalid argument type.
href attributes as redundant.- Bump minify-js to 0.4.2.
Improve handling of RCDATA text content in edge cases.
Do not encode entities in RCDATA text content (e.g. contents of and ).
<textarea> and <title>).Use FxHasher for internal hash-based data structures.
type and main fields to package.json.[Python] Add Python 3.11 support.
- Bump minify-js to 0.2.6.
Minify JS as module instead of global script if type is module.
type is module.Drop unmatched closing tags instead of reinterpreting them as opening tags. This avoids the possibility of unintentionally creating a large deep tree
<svg> tags.Fix Node.js dependency version.
Fix Node.js postinstall script.
Replace esbuild with minify-js as the JS minifier, a fast minifier written from scratch in Rust. This alleviates many of the problems with integrating
@minify-js/node.createConfiguration, directly pass the JavaScript object to the minify function. The minify function also no longer takes a string.core variant for Node.js and Python, as the issues should no longer exist.Create wrapper index.js for Node.js library to support ESM.
value attributes on option elements as redundant.crossorigin attributes as boolean.Minify whitespace in SVG elements.
Fix Node.js library build process on Windows.
Do not remove alt attribute when empty.
alt attribute when empty.[Python] Add support for Linux ARM64 and macOS ARM64. Drop support for Python 3.7 (breaking change).
cli.js.minifyJs has been fixed to minify_js and minifyCss has been fixed to minify_css. This is not a breaking change the library itself only ever accepted t…
minifyJs has been fixed to minify_js and minifyCss has been fixed to minify_css. This is not a breaking change the library itself only ever accepted the fixed names, so this is actually a typo fix.--do-not-minify-doctype, as well as --output [path] and one default (i.e. not after an option switch) argument for the path to the input. It's only a few lines long and should not have a tangible effect on library size.Intrepret type=module on tags as a JavaScript MIME eligible for its contents to be minified as JavaScript (previously it would not be and so its conte
type=module on <script> tags as a JavaScript MIME eligible for its contents to be minified as JavaScript (previously it would not be and so its contents would be considered data and never minified as JavaScript).cfg.keep_spaces_between_attributes is true.Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →