v0.7.1
d2lang/d2v0.7.1Aug 19, 2025by alixander
AI Summary
This release adds ASCII art rendering output, new arrowhead shapes, and enhanced styling options including underline support for classes and markdown/latex/code as edge labels. It also improves CLI customization with monospace font flags and fixes several diagram rendering issues.
Key Highlights
- ASCII art rendering output with `txt` format
- New `cross` arrowhead shape
- Markdown, latex, and code can be used as edge labels
- CLI supports customizing monospace fonts with new flags
- Diagram legends can now be renamed
Breaking Changes
- FontFamily with sketch renders now uses the custom font instead of ignoring it
New Features
- ASCII renders - Output `txt` for d2 to render diagrams as ASCII art
- `cross` arrowhead shape
- `style.underline` support for class fields and methods
- markdown, latex, and code can be used as edge labels
- border-x label positioning functionality
- tooltips with `near` set always show even without hover
- CLI supports customizing monospace fonts with `--font-mono`, `--font-mono-bold`, `--font-mono-italic`, and `--font-mono-semibold` flags
Full Release Notes
#### Features ๐ - ASCII renders. Output `txt` for d2 to render diagrams as ASCII art [#2572](https://github.com/terrastruct/d2/pull/2572) - `cross` arrowhead shape is available [#2190](https://github.com/terrastruct/d2/pull/2190) - `style.underline` support for class fields and methods [#2544](https://github.com/terrastruct/d2/pull/2544) - markdown, latex, and code can be used as edge labels [#2545](https://github.com/terrastruct/d2/pull/2545) - border-x label positioning functionality [#2549](https://github.com/terrastruct/d2/pull/2549) - tooltips with `near` set always show even without hover [#2564](https://github.com/terrastruct/d2/pull/2564) - CLI supports customizing monospace fonts with `--font-mono`, `--font-mono-bold`, `--font-mono-italic`, and `--font-mono-semibold` flags [#2590](https://github.com/terrastruct/d2/pull/2590) #### Improvements ๐งน - labels on scenario/step boards can be set with primary value (like layers) [#2579](https://github.com/terrastruct/d2/pull/2579) - autoformatter preserves order of boards [#2580](https://github.com/terrastruct/d2/pull/2580) - rename "Legend" with a title/label of your choosing (especially useful for non-English diagrams) [#2582](https://github.com/terrastruct/d2/pull/2582) - sketch mode fonts will use custom fonts if provided [#2582](https://github.com/terrastruct/d2/pull/2591) #### Bugfixes โ๏ธ - actors in sequence diagrams with labels and icons together no longer overlap, position keywords now work too [#2548](https://github.com/terrastruct/d2/pull/2548) - fix double glob behavior in scenarios (wasn't propagating correctly) [#2557](https://github.com/terrastruct/d2/pull/2557) - fix diagram bounding box not accounting for legend in some cases [#2584](https://github.com/terrastruct/d2/pull/2584) #### Breaking Changes - If you are using D2 as a library/API, passing in a FontFamily with `sketch` renders will now use the font, instead of previously ignoring it. --- For the latest d2.js changes, see separate [changelog](https://github.com/terrastruct/d2/blob/master/d2js/js/CHANGELOG.md).