v0.7.1

juliangarnier/animev0.7.1Aug 19, 2025by alixander

AI Summary

Adds ASCII rendering support, new arrowheads, styling improvements, and various bug fixes. Includes a breaking change regarding font handling in the library/API.

Key Highlights

  • ASCII rendering for D2 diagrams
  • New 'cross' arrowhead shape
  • CLI support for custom monospace fonts
  • Bug fixes for sequence diagram actors and double glob behavior

Breaking Changes

  • Passing a FontFamily with 'sketch' renders now uses the font, instead of previously ignoring it.

New Features

  • ASCII renders
  • 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
  • CLI supports customizing monospace fonts

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).