v0.9.0

aidenybai/react-grabv0.9.0Sep 7, 2026by github-actions[bot]

Upgrading?

AI Summary

TALA layout engine is now open-sourced and bundled with D2, alongside new export formats and significant performance improvements in rendering and file sizes.

Key Highlights

  • TALA layout engine open-sourced and integrated
  • New export formats: PNG, GIF, PDF, and PPTX
  • 10x faster SVG rendering performance
  • Reduced file sizes for SVG exports

New Features

  • TALA layout engine configuration
  • PNG, GIF, PDF, and PPTX export support
  • Support for images above the 67-megapixel limit
  • Native SVG rendering for Markdown labels
  • Optimized PNG memory usage

Full Release Notes

#### Features ๐Ÿš€

- TALA is now open source and bundled with D2, including the JavaScript/WASM package. Select it with `d2 --layout=tala`, `D2_LAYOUT=tala`, or `vars.d2-config.layout-engine: tala`. No separate plugin installation or license key is required.
- tala: configure layout attempts with `--tala-seeds`, `D2_TALA_SEEDS`, or `vars.d2-config.data.tala-seeds`.
- exports: render PNG, GIF, PDF, and PPTX with the built-in renderer

#### Improvements ๐Ÿงน

- performance: reduce repeated work in Dagre ranking, text measurement, SVG preparation, and PNG encoding
- performance: reduce repeated work in selective imports, dynamic grid layout, and PNG connection rendering
- exports: reduce PNG memory usage and support images above the previous 67-megapixel limit
- performance: SVG rendering is approximately 10ร— faster across the E2E corpus. Real-world diagrams compile, lay out, and render approximately 3ร— faster at the median.
- renders: SVG exports are approximately 24% smaller across the E2E corpus and 18% smaller across real-world fixtures, with unchanged appearance.
- renders: render Markdown labels as native SVG instead of HTML `foreignObject` content

#### Bugfixes โ›‘๏ธ

- install: reject the obsolete `--tala` installer flag with migration guidance before installing, instead of incorrectly claiming that older D2 releases bundle TALA
- sequence diagrams: keep synthetic lifeline endpoint IDs stable across architectures
- exports: honor `D2_TIMEOUT` during PNG and GIF rendering
- compiler: keep recursive globs out of class and variable definitions and report class reference cycles instead of overflowing the stack
- renders: decode gzip, Brotli, and deflate remote images before embedding them

---

For the latest d2.js changes, see separate [changelog](https://github.com/d2lang/d2/blob/master/d2js/js/CHANGELOG.md).

Related Repositories