v0.2.1
Dark mode support has landed! Thanks to @vfosnar for such a substaintial first-time contribution to D2. Only one dark theme option accompanies the support, so if you have a dark theme you like, please feel free to submit into D2!
dark_docs.mp4
D2 is now usable in non-Latin languages (and emojis!), as the font-measuring accounts for multi-byte characters. Thanks @bo-ku-ra for keeping this top of mind.
D2 0.2.0 vs 0.2.1:
Sketch mode's subtle hand-drawn texture adapts to background colors. Previously the streaks were too subtle on lighter backgrounds and too prominent on darker ones.
This release also fixes a number of non-trivial layout bugs made in v0.2.0, and has better error messages.
Features 🚀
- Dark theme support! See docs. #613
- Many non-Latin languages (e.g. Chinese, Japanese, Korean) are usable now that multi-byte characters are measured correctly. #817
- Dimensions can be set on containers (layout engine dependent). #845
Improvements 🧹
- Sketch mode's subtle hand-drawn texture adapts to background colors. #613
- Improves label legibility for dagre containers by stopping container edges early if they would run into the label. #880
- Cleaner watch mode logs without timestamps. #830
- Remove duplicate success logs in watch mode. #830
- CLI reports when a feature is incompatible with layout engine, instead of silently ignoring. #845
near
key set to direct parent or ancestor throws an appropriate error message. #851- Dimensions and positions are able to be set from API. #853
Bugfixes ⛑️
- Fixes edge case where layouts with dagre show a connection from the bottom side of shapes being slightly disconnected from the shape. #820
- Bounding boxes weren't accounting for icons placed on the boundaries. #879
- Sequence diagrams using special characters in object IDs could cause rendering bugs. #856
- Fixes rare compiler bug when using underscores in edges to create objects across containers. #824
- Fixes rare possibility of rendered connections being hidden or cut off. #828
- Creating nested children within
sql_table
andclass
shapes are now prevented (caused confusion when accidentally done). #834 - Fixes graph deserialization bug. #837
steps
with non-map fields could cause panics. #783