mirror of
https://github.com/logos-messaging/nim-sds.git
synced 2026-07-03 06:19:26 +00:00
Start tracking notable changes in a Keep a Changelog file so consumers (notably sds-go-bindings) can see breaking changes — the C FFI symbol rename and the required participantId — at a glance rather than reading the git log. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2.2 KiB
2.2 KiB
Changelog
All notable changes to nim-sds are documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[0.4.0] - 2026-06-19
Added
- SDS-Repair (SDS-R) support, implementing the repair extension from the SDS spec (#60).
- Persistence interface for SDS state, refactored into a snapshot-based, fully async API with atomic per-operation semantics (#66, #69, #72, #73).
- Nimble-based build system for the core library and FFI targets (#52).
CLAUDE.mdcontributor/architecture guide (#58).
Changed
- Breaking (C ABI): adopted nim-ffi v0.1.5 and migrated the C FFI to its macro-generated API. All exported symbols are renamed from PascalCase
Sds*to snake_casesds_*(e.g.SdsNewReliabilityManager→sds_create,SdsCleanupReliabilityManager→sds_destroy). Consumers such as sds-go-bindings must update to the new names (#81). - Replaced the nim-libp2p protobuf dependency with nim-protobuf-serialization for message encoding/decoding (#77).
- Breaking (API):
participantIdis now required when creating aReliabilityManager(#67). - General refactor to align the codebase with the logos-delivery style (#62).
Fixed
- Restored
-d:noSignalHandlerfor the libsds build so the embedded library does not install signal handlers. - Forced
epollusage on Android.
[0.3.0]
Earlier releases were not tracked in this changelog. See the release tags for history prior to 0.4.0.