Changelog
0.2.9 - 2026-05-24
โฐ๏ธ Features
- (check) Expose --fix, --unsafe-fixes, --show-fixes in pyproject config (#290) - (448f487)
- (lint) Add
uppercase-form-method lint rule (#294) - (4d37afe)
- (lint) Add
javascript-url lint rule (#293) - (791e928)
- (lint) Add
redundant-type-attr rule (#260) - (3d65c26)
๐ Refactor
- (lint) Align violation structs with owned-data convention (#296) - (1f0e05f)
๐ Documentation
- (lint) Auto-generate lint rule docs from violation struct doc comments (#297) - (3670b71)
- (readme) Extract some part of the README to dedicated doc page (#291) - (1ea7bae)
0.2.8 - 2026-05-18
โฐ๏ธ Features
- (check) Add autofix framework to the
djangofmt check command and the blocktranslate-no-trimmed rule (#276) - (0b04439)
- (cli) Format from stdin via
- or --stdin-filename (#284) - (a876757)
- (format) Add
--preserve-unquoted-attrs option (#271) - (081ab4a)
- (format) Add support for Django template partials (#275) - (a13115e)
๐ Bug Fixes
- (docs) Remove smart quotes from example code (#267) - (adc40d6)
โ๏ธ Miscellaneous Tasks
- (msrv) Track MSRV and rust-toolchain version with renovate (#281) - (690170f)
- (perf) Include all rust-related files in changed_files detection (#280) - (f182cfa)
- (renovate) Add 7-day cooldown to mitigate supply chain attacks (#266) - (ce3759f)
- Set CARGO_PROFILE_DEV_DEBUG=line-tables-only for faster builds (#270) - (06486be)
Build
- (playground) Migrate from npm to bun, gate dep release age (#279) - (b4915de)
New Contributors โค๏ธ
0.2.7 - 2026-04-16
โฐ๏ธ Features
- (ci) Build pipeline improvements (#225) - (3e3b009)
- (config) Use kebab-case for pyproject.toml settings (#227) - (f26e834)
- (format) Add recursive file discovery -- enable
djangofmt . to format the current folder (#229) - (385f60a)
- (format) Add flag to allow self closing void elements (#219) - (d0d85b0)
- (format) Improve error message for cut off html (#207) - (decbaec)
- (format) Add JSON external formatter (#188) - (07e770b)
๐ Bug Fixes
- (format) Fixes extra indent for {% plural %} inside blocktranslate (#208) - (c7de06d)
- (format) Fix formatting issues for nested template blocks in html opening tag (#205) - (378bc36)
๐ Refactor
- (format) Reuse
LineLength and PrintWidth newtypes to remove hardcoded default values (#189) - (13e89b5)
- (misc) Avoid clone on check error path, add force_exclude tests (#239) - (abc267d)
- (misc) Hoist Settings::default(), remove dead Hash derive, avoid clone on error path (#237) - (2923267)
- (misc) Minor code quality improvement and simplifications (#235) - (1c1c856)
- (rules) Declare lint rule category on the Violation (#230) - (6dd81ab)
๐ Documentation
- (ai) Add AI policy to CONTRIBUTING.md (#228) - (479c575)
- (check) Document check mode workaround (#200) - (8be5ca6)
๐งช Testing
- (ci) Add
djangofmt check to ecosystem check (#253) - (e9ac547)
- (ci) Add code coverage with cargo-llvm-cov and 85% CI threshold (#240) - (78a97a6)
- (ci) Re-enable djade ecosystem check (+ tidy up justfile) (#206) - (461db3b)
- (ci) Remove docker-run-action (#195) - (c1c080b)
- (ecosystem-check) Allows pr comment on forks (#196) - (54b204d)
- (lint) Cleanup lint test structure (#254) - (5bf935e)
โ๏ธ Miscellaneous Tasks
- (playground) Upgrade all node dependencies to latest (#252) - (da82da2)
New Contributors โค๏ธ
0.2.6 - 2026-02-10
โฐ๏ธ Features
- (config) Implement loading options from a
pyproject.toml file (#186) - (5df4a98)
๐ Bug Fixes
- (format) Always swap wrapping quotes if attribute contains one (#180) - (0fd9ed3)
- (format) Fix formatting of
{% for %}/{% empty %} blocks (#178) - (98f8ef7)
๐ Documentation
- (format) Documents workarounds for unsupported formatting (#174) - (15b1f32)
- (github) Add Github issue template (#173) - (5821c07)
- (ignore) Document ignore comment (#172) - (50a2fdd)
๐งช Testing
- (ci) Only build djangofmt in ci, not other workspace crates (#170) - (7bbbfc8)
0.2.5 - 2026-01-12
โฐ๏ธ Features
- (debug) Add debug logs on external formatter failures (#143) - (a5dda3b)
- (format) Don't format django multiline comment tags (
{% comment %}...{% endcomment %}) (#162) - (6a6ca10)
- (lint) Show source file name in lint diagnostics (#159) - (6ee8c96)
- (lint) Add building blocks for linting (#144) - (08a12a0)
- (playground) Add a "Open issue on Github" button in the playground (#163) - (ae247b3)
- (playground) Add a new collapsible panel to display linting errors (#148) - (067e4a0)
๐ Bug Fixes
- (format) Fixes handling of deprecated django
{% trans %} tag (#154) - (8a7a64f)
๐ Refactor
- (format) Remove
line_col_to_offset and use miette SourceOffset::from_location for error reporting (#145) - (f8acc95)
- (allocator) Use jemalloc on linux (#128) - (4e92927)
- (codspeed) Setup Codspeed CI benchmarks (#125) - (0ea2b39)
- (perf) Update the
lto and codegen-units benchmark script (#126) - (ccd7ede)
๐งช Testing
- (binary-size) Add cargo-bloat (#136) - (2855cb2)
- (ci) Skip codspeed in CI if no rust code changes (#158) - (8bf4432)
- (ci) Cancel outdated ci jobs - (18595c3)
- (clippy) Improve clippy configuration (#156) - (2de17b3)
- (pre-commit) Switch to a managed
dprint pre-commit integration (#138) - (1ccfba0)
- (pre-commit) Simplify dprint discovery in pre-commit (#137) - (f4eb28c)
- (review) Add coderrabit (#141) - (bac6128)
New Contributors โค๏ธ
0.2.4 - 2025-12-15
โฐ๏ธ Features
- (format) Auto-sort css statements using
smacss ordering and enforce % in keyframes (#114) - (1dd641f)
- (format) Auto-indent
<script> tag content (#115) - (d959cf0)
- (format) Keep style attribute value on a single line (#113) - (7c2f33c)
- (format) Skip file parsing if there is a top-level
<!-- djangofmt:ignore --> (#112) - (fcbab9b)
- (format) Improve formatting of
style tags and attributes (#111) - (24920db)
- (playground) Add playground deploy to release workflow (#124) - (124b149)
- (playground) Add an online playground (#118) - (a655190)
- (playground) Expose a wasm format command (#122) - (847d3d8)
๐ Refactor
โ๏ธ Miscellaneous Tasks
0.2.3 - 2025-11-30
โฐ๏ธ Features
- (format) Add pretty-printing of parse errors (#104) - (fee4ee3)
- (format) Add custom
<!-- djangofmt:ignore --> directive (#102) - (c9b20bb)
- (format) Improvements on inline node formatting (#75) - (58a4f8f)
๐ Refactor
- (error) Remove
anyhow and use custom error enum (#100) - (e39f71a)
๐งช Testing
- (clippy) Enable strict clippy rules (#97) - (cd7d6ea)
- (ecosystem-check) Fix ecosystem check comment urls and support codeberg.com (#101) - (337592c)
- (ecosystem-check) Fix ecosystem-check and support other providers than github (#99) - (13e8bb2)
0.2.2 - 2025-06-12
โฐ๏ธ Features
- (format) Document svg files support (#74) - (60ba20f)
- (format) Support unquoted attr value recovery for jinja tags & blocks (#73) - (ca7efc6)
0.2.1 - 2025-06-07
โฐ๏ธ Features
- (format) Improve whitespace-sensitive node formatting (#70) - (cfaa21e)
0.2.0 - 2025-05-23
โฐ๏ธ Features
- (cli) Add
indent_width cli parameter (#48) - (b0d0219)
- (fmt) Never wrap opening tag with no attrs (#20) - (8fb993a)
- (format) Converge in one pass formatting style attr (#50) - (fadce6b)
๐ Bug Fixes
- (cli) Exit
1 on handled formatting failure - (b7ebb78)
๐งช Testing
- (ecosystem-check) Stability test + Integration test with djade (#51) - (449456e)
- (pre-commit.ci) Enable
pre-commit.ci (#15) - (5ce836f)
โ๏ธ Miscellaneous Tasks
- (markup_fmt) Bump
markup_fmt to v0.20.0 (#65) - (070e2af)
- (rust) Rust 1.87 edition 2024 (#55) - (9aeb174)
New Contributors โค๏ธ
0.1.0 - 2025-03-16
New Contributors โค๏ธ