crdt_lf_hive 0.3.0 copy "crdt_lf_hive: ^0.3.0" to clipboard
crdt_lf_hive: ^0.3.0 copied to clipboard

Hive adapters for CRDT LF library objects, providing persistence for Change and Snapshot objects.

0.3.0 #

Date: 2026-06-11

compare to previous release

Breaking changes

  • ChangeAdapter no longer accepts the useDataAdapter parameter, which is removed. The adapter now always serializes Change objects via Change.toBytes() / Change.fromBytes().
  • SnapshotAdapter is now a thin wrapper around Snapshot.toBytes() / Snapshot.fromBytes(). The useDataAdapter constructor parameter has been removed: Snapshot.data is always serialized via JsonValueCodec (its values must be JSON-serializable).
  • Storage format changed: existing Hive boxes written with 0.x adapters are not readable by this version. A one-time migration (read with old adapter, write with new) is required before upgrading.
  • Removed adapters that are no longer part of the persistence pipeline (changes and snapshots are stored as opaque binary blobs):
    • PeerIdAdapter / kPeerIdAdapter
    • HybridLogicalClockAdapter / kHybridLogicalClockAdapter
    • OperationIdAdapter / kOperationIdAdapter
    • VersionVectorAdapter / kVersionVectorAdapter
    • FugueElementIDAdapter / kFugueElementIDAdapter
    • FugueValueNodeAdapter / kFugueValueNodeAdapter
  • CRDTHive.initialize signature reduced to ({int? changeTypeId, int? snapshotTypeId}). The useDataAdapter, peerIdTypeId, hybridLogicalClockTypeId, operationIdTypeId, versionVectorTypeId, fugueElementIdTypeId, fugueValueNodeTypeId parameters have been removed.
  • Updated crdt_lf dependency to ^3.0.0.

Changed #

  • ChangeAdapter rewritten to use the compact binary format introduced by crdt_lf 3.0.0. Stores a raw byte list per change instead of JSON-encoded fields, reducing storage size and eliminating runtime JSON parsing.
  • SnapshotAdapter rewritten as a single-byte-list wrapper around Snapshot.toBytes() / Snapshot.fromBytes(). No more recursive BinaryWriter/BinaryReader calls into nested types.

Removed #

  • OperationIdAdapter, PeerIdAdapter, HybridLogicalClockAdapter, VersionVectorAdapter, FugueElementIDAdapter, FugueValueNodeAdapter and their k*Adapter type-id constants. With Change and Snapshot serialized as binary blobs, no nested Hive adapters are involved in the pipeline.
  • useDataAdapter flag from SnapshotAdapter and CRDTHive.initialize. Use Snapshot.data with JSON-serializable values instead.

0.2.3 #

Date: 2025-11-22

compare to previous release

Changed #

  • chore: added code coverage references

0.2.2 #

Date: 2025-10-30

compare to previous release

Changed #

  • chore: more tests

0.2.1 #

Date: 2025-09-16

compare to previous release

Changed #

  • chore: update crdt_lf dependency to support version 2.0.0

0.2.0 #

Date: 2025-08-18

compare to previous release

Breaking changes Due to the Change breaking change in crdt_lf 1.0.0, the Change adapter has been updated.

Changed #

  • chore: update crdt_lf dependency to ^1.0.0
  • chore: update hlc_dart dependency to ^1.0.0
  • chore: update readme

0.1.0 #

Date: 2025-06-08

Initial Release #

  • Added Hive adapters for CRDT LF objects 8
  • Added CRDTHive utility class for managing Hive boxes 8
  • Added CRDTChangeStorage and CRDTSnapshotStorage utilities for managing Change and Snapshot objects 8
0
likes
160
points
120
downloads

Documentation

API reference

Publisher

verified publishermattiapispisa.it

Weekly Downloads

Hive adapters for CRDT LF library objects, providing persistence for Change and Snapshot objects.

Homepage
Repository (GitHub)
View/report issues

Topics

#crdt #local-first #hive #persistence #dart

License

MIT (license)

Dependencies

crdt_lf, hive, hlc_dart

More

Packages that depend on crdt_lf_hive