v0.7.1
Automattic/harperv0.7.1Aug 19, 2025by alixander
AI Summary
This release introduces ASCII rendering capabilities for diagrams, new arrowhead shapes, and CLI font customization options. It also includes improvements to edge labels, tooltips, and fixes for sequence diagram overlaps.
Key Highlights
- ASCII rendering support for diagrams
- Custom monospace font support via CLI flags
- Markdown, latex, and code support in edge labels
- Cross arrowhead shape available
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 output txt for d2
- cross arrowhead shape is available
- 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
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).