Jens Oliver Meiert

Use my latest work: latest tech book · latest non-tech book · latest optimization tool · latest defense tool

On the Engineering Philosophy for HTML Minifier Next

Published on Sep 23, 2026, filed under , , , . (Share this post, e.g., on Mastodon.)

I started HTML Minifier Next (source) when both HTML Minifier and HTML Minifier Terser were unmaintained. I’ve always liked HTML Minifier for its versatility, so keeping it alive felt like the least I could do.

Fast forward more than a year and HTML Minifier Next is the most effective web page minifier (and one of the fastest as well)—a claim I feel comfortable making—that comes with features that are great for both HTML novices (like presets) and HTML experts (with all the various engines and configuration options).

(If you feel like that can't be true, check out the docs and the benchmarks and, of course, correct me!)

I released HMN at version 1, yet now we are at version 8—that’s a lot of major versions. Now, I interpret semantic versioning relatively strictly and the major updates should have been fairly easy to follow (I had no complaints), but I thought the thinking behind this could be interesting to explain—especially when you read things like this, “bumping the major version of your JavaScript library is user-hostile” (Frontend Dogma JavaScript news). That is, I’d disagree—but why?

Highest Effectiveness at the Best-Possible Performance

HMN is and is to remain the most effective HTML minifier. This is useful to dissect because it means a few things:

But: HMN is still to ensure competitive effectiveness for CSS, JavaScript, and SVG minification, too.

And: HMN is to be as fast as possible (which is a challenge given that it cannot easily compete against Rust-based minifiers).

Always Reasonably Up-to-Date

HMN is always to be reasonably up-to-date. Loosely following Depfu, dependencies should not be more than a month behind.

What this means is regular updates, both to ensure that HMN keeps working properly, that security and robustness updates are being picked up, and that you benefit from those dependency updates as well.

Respect for but No Fear of Major Updates

Breaking changes aren’t funny. There are two problems with avoiding them though:

  1. There’s a difference between a breaking change and a breaking change: the one that affects you, and the one that doesn’t. Everyone is okay with updating to major versions if nothing breaks for them; and in practice, from my experience both as a software user and as a developer, breaking changes rarely have drastic consequences if you keep your dependencies up-to-date.

  2. It’s actually worse to shy away from breaking changes. Yes, for anyone affected, the experience suffers and the change may impose a real problem. But the alternative is not a good one, likely meaning not to reach the project’s potential (including the ability to offer superior DX)—and, more mundanely, not to maintain it properly.

As such I approach major changes in HMN with respect, but not with fear. As you can tell from past updates, major updates to HMN were handled with proper disclosure rather than made haphazardly.


These are the main ideas that I wanted to share. I’ll write more about HMN and other tools, and I’ll write more about engineering philosophy—so if you find this useful, I’m already in the process of documenting my general tenets. Follow by feed or on Mastodon or Bluesky for updates on my work (there is a feed available just for the tech-related updates, too)!

About Me

Portrait sketch of Jens Oliver Meiert.

I’m Jens (long: Jens Oliver Meiert), and I’m an engineering lead, guerrilla philosopher, and indie publisher. I’ve worked as a technical lead and engineering manager at various companies (e.g., Google); I’m an active web and tool developer (code optimization, digital defense), a contributor to web standards (like HTML, CSS, WCAG), and a book author (O’Reilly, Frontend Dogma).

I love trying things—in web development and engineering management, but also in politics and philosophy, where I hold to one idea in particular: that we can only be well if we take good care of everyone. Here on meiert.com I talk about some of my perspectives and experiences. (Interpret charitably but be critical—and share feedback and advice that makes my work better.)