crdt_socket_sync 0.4.0
crdt_socket_sync: ^0.4.0 copied to clipboard
Conflict-free replicated data type (CRDT) - Socket sync implementation provided in dart
0.4.0 #
Date: 2026-06-11
Breaking changes
Wire protocol changed: Change, Snapshot, and VersionVector payloads are now transmitted as base64-encoded binary strings instead of JSON objects. Servers and clients running different versions are not compatible.
Affected message fields:
HandshakeRequestMessage.versionVector— wasMap<String, dynamic>, now a base64 string.HandshakeResponseMessage.versionVector,.snapshot,.changes[*]— same change.ChangeMessage.change— wasMap<String, dynamic>, now a base64 string.ChangesMessage.changes[*]— wasList<Map>, nowList<String>(base64).DocumentStatusMessage.versionVector,.snapshot,.changes[*]— same change.DocumentStatusRequestMessage.versionVector— same change.
Updated crdt_lf dependency to ^3.0.0.
Changed #
- All binary payloads in messages now use the compact binary format from
crdt_lf3.0.0 (Change.toBytes,VersionVector.toBytes,Snapshot.toBytes), reducing message size and eliminating JSON parsing overhead on the hot path. - chore: improved documentation adding design diagrams
- chore: update tests
0.3.0 #
Date:
Breaking changes
CRDTServerRegistry.addDocumenttakes adocumentIdandauthorparameterCRDTServerRegistrymethods now return aFuture- rename client
requestSnapshottorequestSync
Added #
- Feature: add
messageCodecparameter toWebSocketServerandWebSocketClient - Feature:
JsonMessageCodecnow supportstoEncodableandreviverparameters - Feature: added out of sync error handling
- Feature: added
messageBroadcastedandmessageSentserver events - Feature: added
ChangesMessage
Changes #
- Document status request can be sent without a version vector
- chore: added code coverage references
Fixed #
- Fixed sync problems during client disconnection
- Fixed transporter subscription on connection error
- Fixed double call on "onNewSession"
0.2.0 #
Date: 2025-06-26
Breaking changes
encodeanddecodemethods ofMessageCodechave nullable return type
Added #
- Feature: add plugin system
- Feature: add awareness plugin
Fixed #
- Fixed: Fix a missing status update during first connection
- Fixed: Fix a bug where the
connectstart a reconnection loop if the connection is lost
0.1.0+1 #
0.1.0 #
Date: 2025-06-14
Initial release