github stratum-mining/stratum v1.9.0

7 hours ago

General release information

Highlights of this release:

This release focuses on channels_sv2 extranonce and target improvements, fallible Sv1 APIs, and stronger framing/codec validation.

Notable highlights include:

  • channels_sv2 now clamps standard and extended channel targets to the declared max_target during channel creation and vardiff updates, fixing low-hashrate miners getting stuck when vardiff computed an easier target than allowed.
  • channels_sv2 added extranonce_manager, with ExtranonceAllocator and typed prefixes backed by a shared bitmap. It supports pool allocation and proxy sub-allocation from upstream prefixes, prevents standard/extended prefix overlap, and frees slots when prefixes are dropped.
  • Client share accounting now tracks rejected shares by upstream error_code, rather than only keeping a single rejected-share count.
  • sv1_api client/server trait methods now return Results across authorization, subscription, submit handling, extranonce/version-rolling state, status updates, and request-id tracking, allowing missing-state errors to propagate.
  • common_messages_sv2 added has_declare_tx_data(flags) for checking the Job Declaration DECLARE_TX_DATA setup flag.
  • Framing and codec coverage improved with quickcheck properties for SV2 headers/frames/handshake framing, plus Criterion benchmarks for encoding, decoding, serialization, Noise paths, and buffer-pool behavior.
  • Maintenance improved by committing Cargo.lock, dispatching stratum/main updates to sv2-apps, and documenting crate versioning rules for SemVer and public dependency exposure.

Crate changes

stratum-core
crate version was bumped from 0.2.1 to 0.3.0

channels_sv2
crate version was bumped from 4.0.0 to 5.0.0

mining_sv2
crate version was bumped from 8.0.0 to 9.0.0

common_messages_sv2
crate version was bumped from 7.0.0 to 7.1.0

parsers_sv2
crate version was bumped from 0.2.2 to 0.3.0

handlers_sv2
crate version was bumped from 0.2.2 to 0.3.0

sv1_api
crate version was bumped from 3.0.0 to 4.0.0

stratum_translation
crate version was bumped from 0.1.3 to 0.2.0

What's Changed

New Contributors

Full Changelog: v1.8.0...v1.9.0

Don't miss a new stratum release

NewReleases is sending notifications on new releases.