2024-04-26 03:24:57 +00:00
#### Features 🚀
2025-02-17 04:49:49 +00:00
- Icons: connections can include icons [#12 ](https://github.com/terrastruct/d2/issues/12 )
2025-02-28 22:32:56 +00:00
- Syntax: `suspend` /`unsuspend` to define models and instantiate them [#2394 ](https://github.com/terrastruct/d2/pull/2394 )
2025-03-01 17:01:48 +00:00
- Globs: support for filtering edges based on properties of endpoint nodes (e.g., `&src.style.fill: blue` ) [#2395 ](https://github.com/terrastruct/d2/pull/2395 )
2025-03-02 17:58:40 +00:00
- Render:
- markdown, latex, and code can be used as object labels [#2204 ](https://github.com/terrastruct/d2/pull/2204 )
- `shape: c4-person` to render a person shape like what the C4 model prescribes [#2397 ](https://github.com/terrastruct/d2/pull/2397 )
2025-03-11 22:03:57 +00:00
- Diagram legends are implemented [#2416 ](https://github.com/terrastruct/d2/pull/2416 )
2025-02-17 04:49:49 +00:00
2024-04-26 03:24:57 +00:00
#### Improvements 🧹
2022-11-15 00:53:57 +00:00
2025-03-24 22:38:34 +00:00
- CLI:
2025-03-09 17:08:10 +00:00
- Support `validate` command. [#2415 ](https://github.com/terrastruct/d2/pull/2415 )
2025-03-21 01:46:46 +00:00
- Watch mode ignores backup files (e.g. files created by certain editors like Helix). [#2131 ](https://github.com/terrastruct/d2/issues/2131 )
2025-03-24 22:38:34 +00:00
- Compiler:
2025-03-20 15:54:57 +00:00
- `link` s can be set to root path, e.g. `/xyz` . [#2357 ](https://github.com/terrastruct/d2/issues/2357 )
2025-03-24 22:38:34 +00:00
- Render:
- horizontal padding added for connection labels [#2461 ](https://github.com/terrastruct/d2/pull/2461 )
2025-03-09 17:08:10 +00:00
2022-12-01 21:14:09 +00:00
#### Bugfixes ⛑️
2025-02-13 17:39:13 +00:00
2025-02-18 19:02:36 +00:00
- Compiler:
- fixes panic when `sql_shape` shape value had mixed casing [#2349 ](https://github.com/terrastruct/d2/pull/2349 )
2025-03-15 03:18:45 +00:00
- fixes panic when importing from a file with spread substitutions in `vars` [#2427 ](https://github.com/terrastruct/d2/pull/2427 )
2025-02-18 19:02:36 +00:00
- fixes support for `center` in `d2-config` [#2360 ](https://github.com/terrastruct/d2/pull/2360 )
2025-02-25 18:21:27 +00:00
- fixes panic when comment lines appear in arrays [#2378 ](https://github.com/terrastruct/d2/pull/2378 )
2025-02-28 00:28:17 +00:00
- fixes inconsistencies when objects were double quoted [#2390 ](https://github.com/terrastruct/d2/pull/2390 )
2025-03-22 03:27:55 +00:00
- fixes globs not applying to spread substitutions [#2426 ](https://github.com/terrastruct/d2/issues/2426 )
2025-03-23 13:31:22 +00:00
- fixes panic when classes were mixed with layers incorrectly [#2448 ](https://github.com/terrastruct/d2/pull/2448 )
2025-03-25 00:40:20 +00:00
- Formatter:
- fixes substitutions in quotes surrounded by text [#2462 ](https://github.com/terrastruct/d2/pull/2462 )
2025-02-21 16:44:39 +00:00
- CLI: fetch and render remote images of mimetype octet-stream correctly [#2370 ](https://github.com/terrastruct/d2/pull/2370 )
2025-03-25 15:06:42 +00:00
- Composition:
- spread importing scenarios/steps was not inheriting correctly [#2460 ](https://github.com/terrastruct/d2/pull/2460 )
- imported fields were not merging with current fields/edges [#2464 ](https://github.com/terrastruct/d2/pull/2464 )
2025-03-24 19:05:26 +00:00
- Markdown: fixes nested var substitutions not working [#2456 ](https://github.com/terrastruct/d2/pull/2456 )
2025-02-28 17:11:13 +00:00
- d2js: handle unicode characters [#2393 ](https://github.com/terrastruct/d2/pull/2393 )
2025-03-21 02:27:17 +00:00
---
For the latest d2.js changes, see separate [changelog ](https://github.com/terrastruct/d2/blob/master/d2js/js/CHANGELOG.md ).