·
30 commits
to development
since this release
What's Changed
- ci: Split deployments for main (production) and development (dev) by @umwelt in #450
- Fix typo in ZHTP description by @Seth-Ramsay in #383
- feat: Merge blockchain sync managers with strategy pattern (#164) by @PeterGRutherford in #420
- feat: resolve lib-network ⟷ lib-storage circular dependency by @umwelt in #461
- feat: add SonarCloud integration by @umwelt in #465
- feat: add manual workflow trigger by @umwelt in #467
- fix: allow manual trigger to deploy to dev server by @umwelt in #468
- ci: Add dev-specific service file with bootstrap mode by @umwelt in #451
- feat(lib-network): add PQC support with Kyber1024 and Dilithium5 by @scasino983 in #352
- feat(network): Consolidate get_local_ip implementations (Ticket #157) by @Seth-Ramsay in #390
- feat(network): Define unified Protocol trait for all mesh transports by @Seth-Ramsay in #393
- 148 arch d 114 migrate dht to use unified peer registry by @Seth-Ramsay in #460
- feat(network): Add BLE GATT adapter with UHP framing by @umwelt in #476
- fix: consolidate address resolution into unified AddressResolver by @PeterGRutherford in #463
- perf(network): Implement single-pass mesh message serialization by @umwelt in #480
- docs: Add BUILDING.md with platform build instructions by @umwelt in #483
- 156 arch d 22 fix hardware capabilities name collision by @PeterGRutherford in #388
- feat(blockchain-sync): Replace SHA256 with Blake3 and add stricter security by @umwelt in #485
- fix: address 7 critical and high-priority security vulnerabilities from audit by @umwelt in #486
- fix: Remove redundant IP-filtering multicast listener (Issue #498) by @umwelt in #499
- docs: Complete QUIC encryption defense-in-depth documentation (Issue #492) by @umwelt in #501
- docs: update network configuration - correct ports and add comprehensive guide by @umwelt in #496
- fix: Reduce log noise for expected UDP socket timeouts during idle (Issue #494) by @umwelt in #502
- feat(lib-blockchain): add DAO types module with DAOType enum and token classes by @scasino983 in #350
- Fully replaced the zhtp-orchestrator name for the binarry with zhtp by @TNTTheLagger in #497
- fix(discovery): Replace TCP with QUIC and upgrade handshake protocol to UHP v2 (Issue #504) by @umwelt in #507
- refactor: Split monolithic BluetoothMeshProtocol into 25+ functional modules (#509) by @umwelt in #510
- fix: Remove windows-bluetooth from default features to fix Ubuntu compilation (Issue #506) by @umwelt in #511
- Issue #490: Unified Protocol Encryption Architecture by @umwelt in #514
- Issue #515: Implement Protocol trait for all 6 mesh protocols by @umwelt in #516
- Issue #512: Fix shell scripts missing execute permissions on Ubuntu by @umwelt in #517
- refactor(lib-network): Achieve 100% architecture compliance by eliminating std::env and std::process usage (Issue #482) by @umwelt in #518
- fix: Complete CLI extraction tests and centralize keystore file naming (Issue #422) by @umwelt in #531
- Fix: Remove unused mut qualifiers in deploy and domain commands (Issue #532) by @umwelt in #533
- fix(deploy): Validate manifest CID consistency during upload by @umwelt in #534
- fix(web4): Complete canonical manifest architecture with test verification by @umwelt in #536
- feat(github): Add standardized issue templates for community contributions by @umwelt in #541
- docs(community): Add v0.2.0 community testing guide and announcements by @umwelt in #542
- perf(lib-network): Implement ZHTP single-pass serialization with secu… by @PeterGRutherford in #493
- Feat/v0.2.0 community announcement by @umwelt in #543
- PR#508 Code Review Fixes: Message Routing Centralization + QUIC-Only Architecture by @umwelt in #547
- Optimize identity violation tracking in blockchain broadcast by @Copilot in #548
- [WIP] Update message routing and QUIC-only architecture by @Copilot in #549
- fix: Clean up unused imports in lib-network and reduce warning noise by @umwelt in #550
- Add Copilot instructions for repository context and conventions by @Copilot in #559
- feat(lib-consensus): Implement ConsensusMessageCodec for deterministic serialization by @umwelt in #561
- fix: Add 'quic' to all node configuration protocol lists by @umwelt in #563
- Refactor ZhtpUnifiedServer: Extract NodeRuntime + Security Fixes by @Copilot in #557
- ci: Skip macOS build on pull requests by @umwelt in #565
- feat(lib-network): Implement ConsensusMessageEncryption using ChaCha20Poly1305 (Gap 1.3) by @umwelt in #564
- feat(consensus): Integrate MessageBroadcaster into ConsensusEngine (CONSENSUS-NET-21) by @umwelt in #567
- Complete Gap 3: Endpoint selection and routing for validator discovery by @umwelt in #568
- feat(lib-network): Implement ConsensusReceiver (Gap 4) by @umwelt in #569
- fix(consensus): Implement safety/liveness invariants (CE-S1, CE-L1, CE-L2) by @umwelt in #570
- Add restart determinism integration tests (issue #68) by @scasino983 in #572
- Fix Windows Bluetooth build errors by @scasino983 in #579
- [ALPHA-STEP2] Add mesh integration tests for deterministic NodeIds by @scasino983 in #580
- refactor: Remove HTTP/1.1 compatibility layer and fix 18 compiler warnings by @umwelt in #581
- [ALPHA-STEP2] Mesh NodeId integration tests by @scasino983 in #575
- fix(bluetooth): Remove duplicate BLE_MESH_SERVICE_UUID import by @umwelt in #585
- [ALPHA-STEP3] Use unified identity init for node startup by @scasino983 in #576
- [CONSENSUS-NET-4.3] Harden remote vote validation and fix critical safety bugs by @umwelt in #587
- fix: rename _request to request in check_https function by @umwelt in #588
- CONSENSUS-NET-5: Implement Validator Heartbeat and Liveness Tracking by @umwelt in #589
- [CONSENSUS-NET-43] Implement Validator Liveness Monitor and Consensus Stall Detection by @umwelt in #590
- feat(Gap 6): Byzantine Fault Detector Evidence Production by @umwelt in #591
- CONSENSUS-NET-61: Byzantine Fault Detector Evidence Production with Error Handling by @umwelt in #602
- [ALPHA-STEP2] Add mesh NodeId integration tests by @scasino983 in #574
- Fix #65: Derive NodeId at startup from DID + device name by @scasino983 in #583
- Fix Windows RFCOMM non-Send future by @scasino983 in #603
- feat(SOV-L0-1.1): Correct SOV Economic Constants and Refactor DAO Treasury by @umwelt in #625
- feat: Extend Byzantine Fault Detector with Network Anomaly Detection and Consensus Engine Improvements by @umwelt in #624
- fix: On-chain cryptographic signature verification in Emergency Reserve (SOV-L0-1.2) by @umwelt in #633
- feat: implement SovSwap AMM contract for SOVDAO token swaps by @PeterGRutherford in #635
- tests(lib-network): add deterministic mesh integration tests, scripts, and workspace test runner by @thcsomebody in #638
- feat(dao_registry): Implement DAO Registry contract with identity and registration features by @umwelt in #636
- feat: Implement Development Grants Fund contract (SOV-L0-2.3) - Phase 2 Complete by @umwelt in #649
- Fix restart-safety alert manager and node identity tests by @umwelt in #651
- fix: Bootstrap QUIC port mismatch & implement authoritative protocol filtering by @umwelt in #654
- fix: Resolve compilation errors in mesh test utilities by @umwelt in #659
- fix: Resolve mesh integration test issues and disable network tests by default by @umwelt in #662
- Refactor: Move difficulty adjustment ownership to lib-consensus by @PeterGRutherford in #641
- Fix: Use configured mesh_port for node-to-node QUIC communication by @umwelt in #673
- fix: remove duplicate DifficultyConfig import from lib_consensus by @umwelt in #675
- feat(lib-blockchain): Add DifficultyConfig struct for adaptive diffic… by @PeterGRutherford in #652
- fix(handshake): Implement network epoch and persistent replay protection (PR #542) by @PeterGRutherford in #653
- fix: Add missing NetworkEpoch argument to NonceCache::open_default in test by @umwelt in #692
- fix: Add missing error macro import to wifi.rs - fixes build failure by @umwelt in #693
- fix: Extract bootstrap peers from NodeConfig into DiscoveryConfig - correct layering violation by @umwelt in #694
- feat(lib-storage): Implement DHT message signing and verification (#676) by @umwelt in #696
- feat(lib-storage): Add ZK proof verification timeouts [DB-002] by @umwelt in #697
- feat(dht): add per-peer sequence tracking by @umwelt in #695
- [DB-004] Replace RocksDB dependency with sled by @umwelt in #702
- feat(lib-network): Migrate nonce cache from RocksDB to sled [DB-005] by @umwelt in #703
- feat(lib-network): Add batch operations to nonce cache [DB-006] by @umwelt in #707
- [DB-007] Create StorageBackend trait abstraction by @umwelt in #708
- feat(lib-storage): Implement SQLite StorageBackend for structured data [DB-009] by @umwelt in #709
- feat(lib-storage): Implement sled StorageBackend [DB-008] by @umwelt in #710
- fix: Remove hardcoded bootstrap peers and fix configuration by @umwelt in #716
- feat(lib-storage): Complete DB-010 - Migrate DHT Storage to Backend Trait by @umwelt in #714
- Enable deployment to dev servers and fix bootstrap peer configuration by @umwelt in #721
- fix(lib-network): Implement NonceCache singleton pattern [DB-013] by @umwelt in #719
- feat(lib-storage): Replace println! with tracing in DHT module [DB-011] by @umwelt in #717
- Unify DhtPeerIdentity in lib-identity by @umwelt in #718
- fix(protocols): Add detailed error logging for component initialization by @umwelt in #723
- fix(lib-network): Remove unused rocksdb dependency [DB-005] (#679) by @umwelt in #724
- 627 featlib blockchain add dao proposaltype for difficulty parameter updates by @PeterGRutherford in #674
- fix: Resolve compilation errors and warnings - Jan 12 by @umwelt in #730
- Add comprehensive DHT message signing tests by @umwelt in #726
- feat(lib-storage): Add comprehensive backend integration tests [DB-014] by @umwelt in #725
- feat(storage): Add comprehensive load tests [DB-016] by @umwelt in #727
- Add root registry scaffolding and resolver facade by @umwelt in #728
- fix: Extract DomainRecord from DomainLookupResponse in name resolver by @umwelt in #732
- Fix bootstrap discovery before genesis by @umwelt in #733
- feat(storage): Enable persistent DHT storage with SledBackend by @umwelt in #734
- Fix monitoring storage to use persistent backend by @umwelt in #735
- feat(lib-blockchain): Add root_registry module for .sov naming system (#655) by @umwelt in #729
- Fix identity registration to use global blockchain provider by @umwelt in #737
- fix(network): Add MeshTrustUhp mode for storage provider sharing by @umwelt in #738
- feat(security): Implement QUIC/TLS certificate pinning via DHT discovery by @umwelt in #740
- Feature/lib blockchain implement difficulty parameter update execution in block processing by @PeterGRutherford in #731
- feat(security): Add PinnedCertVerifier for production-safe TLS pinning by @umwelt in #741
- Add SOV Unified Implementation Base by @umwelt in #742
- feat(sov): Implement Week 2 Governance, Treasury, and Tribute Contracts by @umwelt in #745
- fix(cli/runtime): QUIC port config and genesis fallback on sync failure by @umwelt in #749
- Week 3: DAO Treasury and Sunset Contracts by @umwelt in #746
- Week 4: Documentation - Implementation Plan Updated by @umwelt in #747
- feat(contracts): Phase 3 Welfare Issuer Adapter (Issue #658) by @umwelt in #748
- Week 5: Large-Scale UBI Distribution Testing by @umwelt in #750
- Week 7: Consensus Fee Integration & SOV Transaction Types (92% Complete) by @umwelt in #754
- Week 8: Performance Validation & Scale Testing (Setup) by @umwelt in #755
- Week 9: Full Transaction Execution Layer Implementation (617 tests) by @umwelt in #756
- Week 10: Complete Transaction Execution in Blocks (4 Phases, 14 Tests) by @umwelt in #761
- Refactor adjust_difficulty() to use DifficultyConfig instead of hardcoded constants by @PeterGRutherford in #763
- fix(deploy): Add --config flag to systemd service templates by @umwelt in #764
- Feature/lib blockchain add comprehensive difficulty parameter tests by @PeterGRutherford in #765
- Week 11: Fee Distribution Pipeline Integration (Complete - 4 Phases, 15 Tests, 617 Passing) by @umwelt in #762
- Week 10 Phase 1: Transaction Extraction & Audit Trail (Per-TX Fee Tracking) by @umwelt in #767
- Issue #617: Complete Fee Distribution Integration into Consensus Engine by @umwelt in #772
- Blockchain Operational Implementation: All 4 Phases Complete (Receipts, Contract State, Economic Features, API Endpoints) by @umwelt in #774
- test: Web4 CLI Complete Functional Testing (Domains & Deployments) #537 by @thcsomebody in #647
- SOV Management CLI Commands (Issue #622) by @umwelt in #777
- Phase 1: Complete All 5 Critical Blockchain Issues by @umwelt in #779
- Phase 2: Issues #6-8 - Fork Detection, UTXO Snapshots, Call Depth Limits by @umwelt in #781
- feat(issue-9): Complete token persistence consistency implementation by @umwelt in #783
- feat(fee-router): Complete pool addresses configuration (Issue #10) by @umwelt in #784
- \Add comprehensive documentation for difficulty parameter governance system by @PeterGRutherford in #780
- feat(phase-2): Complete Issues #11-13 - Events, Serialization, Byzantine Evidence by @umwelt in #788
- Phase 1: SOV Staking Contract for DAO Launches (#SOV_SWAP_001) by @umwelt in #794
- Phase 2: LP Positions & Three-Stream Reward Distribution (#SOV_SWAP_002) by @umwelt in #795
- feat(brokerage): DAO token buyback and direct sale mechanisms (#3/4) by @umwelt in #796
- feat(employment): Employment contract registry with tax and profit-sharing (#4/5) by @umwelt in #797
- feat(launch): DAO launch orchestrator for end-to-end DAO creation (#5/5) - FINAL by @umwelt in #798
- fix(ubi): Resolve 5 critical distribution issues by @umwelt in #799
- feat: implement node type-based service guards for mining/validation by @PeterGRutherford in #787
- fix(storage): Use directory paths for sled databases by @umwelt in #801
- fix(mesh-discovery): Eliminate redundant hardware detection scans by @umwelt in #802
- feat: Implement production-ready TypeScript SDK for ZHTP/Web4 API (sdk-ts v1.0.0) by @umwelt in #804
- fix(cli): Migrate all CLI commands from HTTP to QUIC protocol by @umwelt in #803
- feat: Implement production-ready TypeScript SDK for ZHTP/Web4 API (sdk-ts v1.0.0) by @umwelt in #805
- docs: Move internal documentation to privateDocs folder by @umwelt in #807
- feat(sdk-ts): Implement production-ready TypeScript SDK for ZHTP/Web4 API by @umwelt in #806
- feat(sdk-ts): Phase 3 - Real QUIC Transport + Real Post-Quantum Cryptography by @umwelt in #809
- fix(runtime): Add wallet welcome bonus, blockchain persistence, and QUIC stream fix by @umwelt in #810
- feat(lib-network): Add handshake-only feature for iOS FFI builds by @umwelt in #812
- feat(sdk-ts): Implement DeployManager and ContentManager for full site deployment workflow by @umwelt in #814
- fix(ci): Clear nonce caches before restart to prevent sled DB corruption by @umwelt in #815
- feat(security): Implement UHP v2 session authentication with HMAC-SHA3-256 by @umwelt in #816
- fix(uhp-v2): Fix session key derivation and counter validation bugs by @umwelt in #817
- feat(sdk-ts): Align MAC computation with Rust UHP v2 implementation by @umwelt in #818
- feat: UHP v2 handshake (SDK-TS) + GOLDEN_RULES.md + security cleanup by @umwelt in #820
- fix(ci): Deploy zhtp node binary instead of zhtp-cli by @umwelt in #822
- feat(wire): Add CBOR/JSON support for ZHTP wire protocol by @umwelt in #823
- feat(crypto): Add Dilithium5 signature support and lib-client library by @umwelt in #824
- feat(lib-client): Add C FFI exports for iOS by @umwelt in #825
- fix: Identity validation, storage singleton, and iOS handshake compatibility by @umwelt in #827
- fix: Wallet balance sync, testnet validator stake, and iOS QUIC debugging by @umwelt in #835
- fix: Remove malformed authentication_wrapper. file from Git index by @umwelt in #839
- fix: Store dilithium_pk with PrivateKey for transaction signing by @umwelt in #837
- Prepare deploy script for CI by @umwelt in #847
- Sdk deploy pr by @umwelt in #848
- Sdk randombytes fix by @umwelt in #849
- Add Linux-only release workflow for zhtp-cli by @umwelt in #861
New Contributors
- @TNTTheLagger made their first contribution in #497
- @thcsomebody made their first contribution in #638
Full Changelog: v0.1.0-alpha...cli-v0.2.0