NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #2638 most downloaded on PyPI
HTML template linter and formatter (Django, Jinja, Twig, Nunjucks, Handlebars, Liquid, Go templates)
Last release 9 days ago
08 Sep 2026
Ships unpredictably
gaps range from 8 days to 1.4 years
Nearly every release is documented
notes for 60 of the last 60 stable releases
1 version withdrawn
withdrawn after publishing
5 years old
213 releases · first in 2021
One column per quarter.
formatter: fixed an edge case wild regex grab (0d57e75), closes #640
linter: fixed overly greedy H037, improved linter tests (66c9187), closes #631
blocktrans: fixes whitespace issues on blocktrans, allows indenting on blocktrans trimmed (249c8e8), closes #623
js indent: fixed an issue where literal strings were double indented (b1e8ab2), closes #614
formatter: added option to prevent contents of some template tags from indenting
formatter: fixed speed on formatter (57cf98d), closes #601
blocktrans: fix issue with back to back blocktrans formatting (703e176), closes #600
yaml: fixed conflict with yaml and preserve_blank_lines option (b89fb07), closes #596
formatter: will now attempt to fix case on known html tags by default, can be disabled (fb1f6eb), closes #589
whitespace: improved whitespace handling on tag closing bracket (53d9b29), closes #582
linter: added rule H036. Avoid use of tags. Disabled by default (cefa840), closes #571
linter: added option to disable rules by default. Split H017 and disabled by default (2dd3675), closes #372
blocktrans: allowed closing transblocks to be indented if they have a leading space
ignored rules: prevent ignoring a single rule from ignoring multiple (2c9caaf), closes #560
formatter: fixed template tag formatting with trailing parenthesis (24d0b82), closes #554
config: added error message print when config loading fails (e21fa29), closes #531
handlebars each: fixed bug in handlebars tags w/ trailing pipe (9d42baf), closes #529
formatter: preserve windows line endings (7c0a272), closes #502
linter: fixes false positive on D018 (ebd099f), closes #501
check: fixed issue where check was reformatting files that contained a hyphen in the name (9812f60), closes #494
stdin --check: stdin with the --check flag should return a formatted output (57e1eec), closes #486
attributes: fixed outer quotes being stripped from attribute values (dff02dc), closes #471
formatter: fixed a few broken alpinejs attributes (6c2d843), closes #448
css/js: fixed extra blank lines being appended to blank lines in css/js formatter (10e593f), closes #451
linter: make attribute pattern on H025 more accepting. Prevent false positive (1bd0bf7), closes #447
attributes: fixed poor django attribute parsing (bd90f08), closes #427 #438
formatter: fixed poor formatting on long inline blocks (62a8879), closes #432
windows+py3.9: fixed an issue on windows with py3.9 and stdin
formatter: fixed indent on inline block followed by inline template block (4a0bee6), closes #425
formatter: fixed formatting on nested inline comments (a86df43), closes #423
quiet: updated output of the --quiet flag to reduce unneeded verbose stuff
formatter: fixed issue with blank links added between blocks (31161ce), closes #402
formatter: fixed poor indentation on span tags with leading text (8f36fec), closes #398
stats: moved linter stats to be appended to lint output (90f023d), closes #396
linter: added --statistics flag to print summary of linter findings (489decb), closes #389
formatter: fixed formatting of repeating inline tags (d31ce52), closes #387
span: fixed indent on nested inline tags on a span (4ac5fd0), closes #383
alpine js: fix incorrect indent on alpinejs attribs w/ nested HTML (f0d37a5), closes #381
config: allow source files to be specified in the config file (bbcde2b), closes #371
cssbeautify: added support for ignore in cssbeautifier
release: trigger a release to remove the print statment
macro: allow html tags inside macro functions to skip formatting (bffb093), closes #353
h006: prevented false positives on H006 (215bd23), closes #344 #333
formatter: fixed runaway regex on templates with many template attriutes inside html tags (79cd013), closes #340
jinja call: added support for jinja call blocks (7a70e39), closes #337
linter: updated rule 18 to allow "tel:" (f08e3ac), closes #334
formatter: fix IndexError while adding indentation to attributes (a3ccc19), closes #290
requirements: removed optional deps from requirements section. Cleaned up tox (237e844), closes #322
formatter: fix to prevent formatter from breaking malformed attribute tags (80263b2), closes #317
t027: fixed test and regression in T027 (6f84539), closes #141
formatter: fixed greedy regex issue when finding script and style tags
formatter: added options to format css and js using jsbeautifier
indent: fixed bad indent on short blocks (7e4ac76), closes #309
formatter: added option to add blank line before tags (b2bd1ea), closes #307
linter: fixed false positive on T027 (946b8ad), closes #301
Your coding agent can read these notes before it upgrades. Set up the MCP server →