Arch Network v0.5.7 (2025-09-02)
- Compare: v0.5.6...v0.5.7
- Date range: 2025-08-27 → 2025-09-02
- Stats: 228 files changed, +7,685 / −7,758
- Top impact areas:
e2e-tests
(42),validator
(41),examples
(23),db_core
(15),snapshot-manager
(14),sdk
(14),program
(8),resharing
(7),structs
(6),blockstore
(5)
Highlights
- Snapshot system modularized: Introduced a new
snapshot-manager
crate and migrated snapshot code out ofvalidator
for cleaner boundaries and easier testing. Snapshot continuity verification is now more efficient. - Resharing extracted: Moved resharing logic into a dedicated
resharing
crate;programs/resharing
was renamed toprograms/transcript
to reflect its purpose. - Network runtime upgrades: Migrated the libp2p runtime from async-std to tokio and upgraded libp2p. Websocket handling was optimized with improved error paths.
- New blockstore crate: Added a
blockstore
crate to encapsulate block storage behaviors with tests and a focused error surface. - SDK and client improvements:
ArchRpcClient
cleanup, expanded event types, and refinements to transaction building flows and tests.
Added
- Crates
snapshot-manager
: snapshot chunking, compression, application, dir utils, and verification modules.blockstore
: new crate with error surface, core API, and tests.resharing
: dedicated crate for resharing logic (migrated from validator).
- E2E tests
e2e-tests/tx-confirmation
: new program and test suite for transaction confirmation.- Moved additional examples into
e2e-tests
(e.g.,disable_cpi
,balance_inflation_poc
).
- Program/SDK
Pubkey
additions (e.g., create-with-seed).- New SDK client config and helper enhancements; expanded
transaction_to_sign
capabilities and tests.
Changed
- Network
- Migrated libp2p runtime to tokio and upgraded libp2p to latest.
- Websocket dispatch/manager improved for performance and error handling.
- Validator/state
- More strict
is_transition_allowed
checks; fixed a state transition race condition. - Block height now included in rollback/reapply events; broader event correctness fixes.
- Snapshot code removed from
validator
in favor ofsnapshot-manager
APIs.
- More strict
- Database
- Added DB cache stats and refined RocksDB integration; introduced KV cache type and columns updates.
- SDK
- Client cleanup, refined event types,
transaction_to_sign
restructuring; tests overhauled.
- Client cleanup, refined event types,
- Program
program.rs
and syscall modules refined;input_to_sign
andtransaction_to_sign
logic updated; program stubs extended.
- CI/Build
- CI workflow improvements and Earthfile updates.
Fixed
- Economics: Corrected
pay_fees
arithmetic. - Audits/quality: Resolved audit issues and cleaned up test warnings.
- State/eventing: Fixed block events and improved rollback/reapply event accuracy.
- Bitcoin: Added BTC transaction confirmation syscall; rollback/sync path refinements.
Performance and Observability
- Optimized snapshot continuity verification and reduced overhead through
snapshot-manager
. - Websocket and P2P handlers more efficient; network stack benefits from tokio migration.
- DB-level metrics improvements with cache stats; clearer logging in several paths.
RPC and API Changes
- Expanded event type fields (e.g., block height presence in additional flows).
- SDK transaction building/types refactors; review
transaction_to_sign
API usage.
Breaking Changes
- Crate/module moves
- Resharing moved from
validator
toresharing
crate. programs/resharing
renamed toprograms/transcript
.- Snapshot logic moved to
snapshot-manager
(imports and usage must be updated).
- Resharing moved from
- SDK types
input_to_sign
type organization changed;transaction_to_sign
APIs updated. Downstream callers should adapt to the new structures and tests.
- Runtime
- Network runtime migration to tokio may impact consumers relying on async-std specific features.
Migration Guidance
- Update imports to use
resharing
andsnapshot-manager
crates; replace anyvalidator::snapshot::*
or old resharing paths. - Point program dependencies from
programs/resharing
toprograms/transcript
where applicable. - Rebuild against the new SDK; adjust to the updated
transaction_to_sign
types and helpers. - Validate network integrations under tokio; ensure libp2p compatibility with the upgraded version.
- If relying on event payloads, account for block height and related field changes.
Documentation
- New:
blockstore/README.md
. - Cleanups: removed obsolete
SOLANA_BUILD_README.md
,solana.sh
.
Contributors (v0.5.6 → v0.5.7)
- Amine ElQaraoui, Marcos, Marouane, Deepanshu Hooda, Rahul Subramaniyam, Perelyn-Arch, Brian Hoffman, Silur