5.15.0 - 2026-08-03
Breaking Changes
refresh(data)no longer appliesdata.theme. Theme handling is fully decoupled fromrefresh; callchangeTheme(theme)explicitly when you need to switch themes (e.g.mind.changeTheme(data.theme)before/aftermind.refresh(data)).moveUpNodeandmoveDownNodeno longer emitmoveUpNodeandmoveDownNodeoperation events. They now reuse the existingmoveNodeflow and firemoveNodeBefore,moveNodeAfter, ormoveNodeIninstead. Update any listeners accordingly.
Features
- Add down layout support via
direction: 3 - Add
genMembersbuild script for generating class member declarations from TypeScript compiler output
Bug Fixes
- Prevent undo/redo when the map is not editable
- Fix ctrl+k chord accidentally triggering refresh
- Return move success status to control wheel event propagation
- Clamp node movement within container center boundaries
- Preserve line breaks when removing div on blur
- Ensure correct sorting of range indices in summaries
- Avoid mutating summaries during render
- Set direction for new parent node in
insertParent - Remove residual DOM after
moveNodeIn - Handle root topic positioning without
me-mainancestor in arrow rendering - Correct alignment centering for downward layout
- Align padding and adjust subline drawing for first-level nodes
- Fix DOWN direction
addChildon root - Suppress context menu after right button panning
- Prevent errors when node has no children in keypress handler
- Make arrow control point drag work with operation history
- Fire events before selecting nodes to support undo operations
- Include
reshapeArrowin arrow operation types for undo/redo - Sync selection state on
unselectNodesto avoid stale history
Refactors
- Refactor MindElixir to use class-based implementation
- Replace codegen with direct TypeScript compiler API usage for generating type declarations
- Optimize
unionTopicsfiltering logic - Unify
moveUpNodeandmoveDownNodelogic withgetMoveTargethelper - Improve calculation of anchor point on node border
- Remove stroke-linecap style support from arrow component
Chores
- Replace ESLint and Prettier with Biome for linting and formatting
- Replace less with lightningcss and update config
- Bump TypeScript to 7.x
Full Changelog: v5.14.0...v5.15.0