v0.7.1

al1abb/invoifyv0.7.1Aug 19, 2025by alixander

AI Summary

This release introduces ASCII rendering for diagrams, a new cross arrowhead shape, and enhanced styling support like underline for class fields. It also improves the CLI with custom monospace font options and fixes several bugs regarding diagram positioning and legend rendering.

Key Highlights

  • ASCII renders support for text output
  • New 'cross' arrowhead shape
  • Style underline support for class fields and methods
  • CLI supports customizing monospace fonts
  • Bugfix for diagram bounding box not accounting for legend

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.

New Features

  • ASCII renders
  • Cross arrowhead shape
  • Style underline support
  • Markdown, latex, and code as edge labels
  • Border-x label positioning
  • Tooltips with 'near' set always show
  • CLI supports custom 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).