Changelog
All notable changes to AirDB are documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[0.2.0] - 2026-10-21
Added
- Zero-Trust Cryptographic Mesh (
airdb-crypto&AirDbKit/Crypto): - RFC 8439 ChaCha20-Poly1305 AEAD symmetric cipher using Java 17 JCA on Android/JVM and Apple
CryptoKiton Apple platforms. - RFC 8032 Ed25519 digital signatures with canonical byte serialization for author provenance across untrusted mesh relay nodes.
- RFC 5869 HKDF-SHA256 key derivation utility for cluster and session key derivation.
- Wire protocol
FLAG_ENCRYPTED = 0x04binding full 23B/31B packet headers as Authenticated Additional Data (\(AAD\)). - Delta batch
FLAG_RECORD_SIGNED = 0x80encoding 32-byte author public key and 64-byte Ed25519 signature. enforceSignatureszero-trust validation inSyncSessiondropping forged or tampered records during reconciliation.- Durable SQLite Persistence (
airdb-adapter-sqlite&SqliteDbAdapter): - Production-grade SQLite adapter for Android and JVM with Write-Ahead Logging (WAL mode), immediate transactions, and indexed HLC ranges.
- Native Swift SQLite adapter (
SqliteDbAdapter) using Applelibsqlite3with zero third-party package dependencies. - Anti-resurrection soft-delete tombstone lifecycle management.
- Apple Platform Support (
AirDbKit): - Native Swift package conforming to 100% on-wire protocol parity with Android.
CoreBluetoothTransportdual-role driver (Central and Peripheral) with backpressure drain queue.- Structured Swift concurrency (
actor,async/await,Sendable) ensuring compile-time thread safety. - Production Android BLE Driver (
airdb-transport-ble): AndroidBleTransportimplementing single-flightGattOperationQueuewith backpressure bounds to prevent Android GATT race conditions.AndroidBlePermissionshelper matrix handling Android 12+ runtime permissions and legacy location permissions.- Continuous Integration Hardening:
- Dual-platform CI matrix covering Linux (OpenJDK 17) and macOS ARM64 (Swift 5.9+ / Xcode).
- Least-privilege GitHub Actions workflow configuration (
permissions: contents: read).
[0.1.0] - 2026-10-20
Added
- Core Engine (
airdb-core): - Monotonic Hybrid Logical Clock (
HybridLogicalClock,HlcTimestamp) with deterministic tie-breaking. - Multi-node
VectorClockstate tracker with compact binary serialization. - 4-Phase peer reconciliation state machine (
SyncSession) managing Handshake, Reconcile, Delta Push, and Ack. - Top-level
AirDbEnginecoordinator facade. - Protocol & Wire Format (
airdb-protocol): - Compact 23-byte fixed header binary framing (
AirDbPacket) with network byte order. - Automatic payload Deflate/zlib compression for payloads exceeding 256 bytes.
- MTU-aware fragment splitter (
PacketFragmenter) and TTL-managed reassembler (AssemblyBuffer). - Database Adapter Seam (
airdb-adapter-api): AirDbAdapterinterface for decoupling from local database engines.- Standard
ChangeRecordmutation envelope supporting INSERT, UPDATE, and DELETE operations. - Reference
MemoryDbAdapterfor high-speed deterministic tests and demonstrations. - Transport Abstraction (
airdb-transport-api&airdb-transport-sim): - Universal
AirDbTransportcontract with link events and non-blocking packet send. - In-memory
SimulatedNetworkandSimulatedTransportfor instant multi-node test simulation. - BLE Transport (
airdb-transport-ble): - Strict single-flight
GattOperationQueuewith backpressure bounds to prevent Android GATT race conditions. BleConfigdefining UUIDs, 517-byte target MTU, and transmission policies.- Samples:
airdb-sim-demo: Runnable disaster relief emergency posko sync scenario demonstrating causal data convergence.