Colanode
Open-source and local-first Slack and Notion alternative
Alternative to: notion, slack
v0.1.0
2025-02-20What’s Changed
Based on feedback from testing users and analysis of usage patterns, we identified opportunities to optimize performance, storage, and synchronization efficiency.
This release includes a complete rewrite of our data storage and synchronization system. Moving forward, entries, messages, and files are consolidated into a single entity called a node - which represents any item a user can create in Colanode. Each node is implemented as a CRDT document that records changes and maintains specific attributes. File binaries continue to be stored separately in S3 storage.
This consolidation enhances the developer experience by centralizing all nodes in one structured system, making it easier to extend with new node types in the future. Additionally, synchronization is now more straightforward, reducing edge cases and lowering metadata requirements. This improvement saves both storage and memory on the server side.
Another significant change is that the content for certain nodes (such as rich text for pages and records) is now stored in a separate table called documents. This separation was implemented because queries and filtering are performed on node attributes, while users interact with documents on a one-to-one basis. Since documents can be very large, storing them separately allows us to query them only when a user opens a page or record. Documents also include their own Zod schema for CRDT operations. Currently, only the rich-text document type is implemented, but we plan to introduce additional types (e.g. drawing canvas) in the future.
For users of the Colanode cloud servers, your accounts remain intact; however, any previously created workspaces will be removed. A new workspace will be automatically generated using the updated structure upon your next login.
For those who have self-hosted or used Colanode locally, you must delete your existing database. Migrations will then recreate the database from scratch when you run the new version of the server.
When you update the desktop version of Colanode to version 0.1.0, existing local data will be deleted and reinitialized using the new structure. You will be redirected to the login screen afterward.
List of changes
- Add a custom shortcut for Paste and Match style
- Consolidate entries and messages into ‘nodes’
- Separate documents into it’s own table
- Permission checks improvements
- Minor renames for clarity
- Add note updated event handler in node-tree-get query handler
- Bug fixes and improvements in database views
- Merge files with nodes
- Refactor node reaction permission check
- Add document update validation and revert
- Refactor documents and text indexing
- Refactor node updates
- Fix an issue with node sync
- Clean all data on desktop start for the new version
- Fix file thumbnail classes
- Fix file container tab thumbnail
- Implement message container
- Rename some pending entries to nodes
- Fix node generator script with the new structure
- Update packages
- Fix document updates list query handler
- Move ‘ms’ package into desktop
- Disable unimplemented folder layouts
- Store all uploads in a special table in server
Full Changelog: https://github.com/colanode/colanode/compare/v0.0.6…v0.1.0