New
- Excalidraw CLI for AI agents. Local AI agents can create, edit, inspect, and export drawings, and run trusted scripts. Requires Obsidian 1.12.2+ with CLI enabled. Select Excalidraw: Show CLI and agent instructions to get started. #2988
- Better image attachments. Pasted and dropped images now follow Obsidian attachment rules, including compatible attachment-management plugins. #2964
New from Excalidraw.com
- Wrap or unwrap with W. Put text inside a shape, detach labels, or wrap selected elements in a frame. Press W again to reverse the action. #12264
- Select overlapping elements. Alt-click to cycle through stacked objects. #12237
- Smarter duplication. Duplicated numbered labels and list items automatically advance their numbering. You can also Alt-drag to duplicate text while editing it. #12189 #12219
- Better cropping and resizing. Shift maintains image crop proportions, Alt crops from the center, and double-clicking a crop handle restores an edge. Corner resizing for text is more intuitive. #12260 #12262
- Improved frames. Edge-aligned elements are included correctly, clipping is more consistent, and cutting a frame includes its contents (deleting a frame still leaves them behind). #12270
- Google Drive videos start playing when you activate their embeds. #12246
Fixed
- Text undo/redo. Editing after undo or redo no longer restores outdated text, and closing an unchanged editor preserves redo history. #2976
- Markdown embeds. Fixed blank or interrupted drawing embeds, nested and self-referencing drawing images, and back-of-the-note embeds showing the full drawing instead of the linked section. #2953 #2979 #2931
- Grouped links. Ctrl/Cmd-click selects the intended group member first; a second click follows that element's link. #2989
- LaTeX in popouts. Fixed cursor placement and keyboard selection when editing formulas in a separate window. #2970
- Middle-mouse panning over a text editor no longer ends text editing or multiplies the movement. #12244
Excalidraw Automate
- Scripts can use the new CLI through ea.executeCLI() and create drawings at an exact path with ea.create().
What's Changed
- Save pasted and dropped images through internal
app.saveAttachment()by @mnaoumov in #2964 - fix: back-of-the-note embeddable initializes as the full drawing when it mounts before the Canvas node factory is ready (#2931) by @askalf in #2959
- Support Obsidian CLI testing on Windows and macOS by @zsviczian in #2983
- Document issue assessment and agent draft-PR handoff workflow by @zsviczian in #2984
- Fix text reverting when editing after undo or redo (#2976) by @zsviczian in #2987
- Fix grouped Ctrl/Cmd-click link navigation by @zsviczian in #2989
- Fix interrupted and nested Markdown drawing embeds (#2953, #2979) by @zsviczian in #2985
- Fix LaTeX editor input in popout windows (#2970) by @zsviczian in #2991
- Add native Excalidraw CLI with backward-compatible Obsidian API gating by @zsviczian in #2988
- fix: remove braces and patch source-map-js by @zsviczian in #2993
New Contributors
Full Changelog: 2.28.1...2.29.0