Version 0.1.19¶
This release introduces a complete rewrite of the graph implementation using CRDTs for real-time collaboration, along with a safe feature toggle to switch between the new CRDT-based graph and the legacy graph. It also includes important bug fixes related to layout, drag behavior, and Yjs instance management to improve stability and correctness.
New Features¶
- Added a fresh CRDTGraph implementation using duck typing and Y.Text for collaborative editing, fully compatible with the legacy Graph API (ca1647) (Eric Ma)
- Integrated CRDTGraph into the app with a safe toggle feature flag that allows switching between CRDT and legacy graph modes without data loss, ensuring legacy DB remains the source of truth (403b78) (Eric Ma)
Bug Fixes¶
- Fixed layout issues in CRDTGraph including topological sorting, auto layout, and force-directed layout to prevent stale position reads and duplicate nodes; also fixed drag jump after layout animation (2def88) (Eric Ma)
- Corrected duck typing for Y.Text to prevent misidentification of Y.Array, fixing tag extraction and improving validation with warning logs (603a02) (Eric Ma)
- Resolved Yjs instance duplication by replacing jsdelivr CDN imports with esm.sh and import maps, ensuring a single shared Yjs instance and fixing 'already imported' warnings (62e617) (Eric Ma)
Deprecations¶
- None