General release information
Highlights of this release:
Translator Proxy was re-written with new functionality, namely:
- aggregated and non-aggregated modes
- optional vardiff
- ability to fallback
- aggregated and non-aggregated modes
Job Declarator Client was re-written with new functionality, namely:
- allowing multiple downstream clients at the same time
- allowing downstream clients to establish Standard Channels
- allowing multiple downstream clients at the same time
new
stratum-translation
crate modularizes Sv1 ↔ Sv2 translation logicBIP141 fields are now stripped from coinbase on Extended Jobs
new APIs added to
network_helpers_sv2
, expanding ways it can be used
⚠️ Most importantly, this is the last release where SRI is structured as a monorepo. Moving forward, this repository will carry library crates (and continue under the same global versioning scheme), and Sv2 applications (a.k.a. "roles") will live under https://github.com/stratum-mining/sv2-apps under a new global versioning scheme.
Crate changes
sv2_ffi
this crate was deprecated
roles_logic_sv2
crate version was bumped from 3.0.0
to 4.0.0
based on interactions with early adopters, some modules of roles_logic_sv2
were isolated into standalone crates, namely:
handlers_sv2
parsers_sv2
channels_sv2
handlers_sv2
new crate published at version 0.1.0
parsers_sv2
new crate published at version 0.1.0
channels_sv2
new crate published at version 0.1.0
and then bumped to 1.0.0
network_helpers_sv2
crate version was bumped from 4.0.0
to 5.0.0
common_messages_sv2
crate version was bumped from 5.0.0
to 6.0.0
binary_codec_sv2
crate version was bumped from 2.0.0
to 3.0.0
binary_sv2
crate version was bumped from 3.0.0
to 3.0.1
codec_sv2
crate version was bumped from 2.1.0
to 3.0.0
mining_sv2
crate version was bumped from 4.0.0
to 5.0.0
job_declaration_sv2
crate version was bumped from 4.0.0
to 5.0.0
template_distribution_sv2
crate version was bumped from 3.0.0
to 4.0.0
Full Changelog: https://github.com/stratum-mining/stratum/compare/v1.4.0...v1.5.0
PR list
- isolate
channels_sv2
andparsers_sv2
into standalone crates by @plebhash in https://github.com/stratum-mining/stratum/pull/1795
- introduce custom difficulty TP on Integration Tests by @plebhash in https://github.com/stratum-mining/stratum/pull/1760
- Fix broken Getting Started link in README by @Cyber-Lord in https://github.com/stratum-mining/stratum/pull/1803
- Improve tracing defaults and add download warning log by @lucasbalieiro in https://github.com/stratum-mining/stratum/pull/1807
- standardize rewards to pool/solo mining into a single
scriptPubKey
by @lucasbalieiro in https://github.com/stratum-mining/stratum/pull/1800
- Rename
config-helpers
toconfig_helpers_sv2
and remove of unusedroles-logic-sv2
by @GitGab19 in https://github.com/stratum-mining/stratum/pull/1812
- Update rpc_sv2 version to 1.1.0 in Cargo.toml and Cargo.lock by @GitGab19 in https://github.com/stratum-mining/stratum/pull/1815
- ci: add semver checks for config-helpers in workflow by @GitGab19 in https://github.com/stratum-mining/stratum/pull/1813
- deprecate
test/scale
crate by @lucasbalieiro in https://github.com/stratum-mining/stratum/pull/1809
- bump:
sv1_api
v1.0.1 → v2.0.0 by @GitGab19 in https://github.com/stratum-mining/stratum/pull/1820
- add noise stream by @Shourya742 in https://github.com/stratum-mining/stratum/pull/1792
- Refactor handler by @Shourya742 in https://github.com/stratum-mining/stratum/pull/1806
- Update roles rust edition to 2021 by @lucasbalieiro in https://github.com/stratum-mining/stratum/pull/1818
- remove pool and miner tag from
extranonce_prefix
by @plebhash in https://github.com/stratum-mining/stratum/pull/1824
- run clippy and fmt across codebase by @lucasbalieiro in https://github.com/stratum-mining/stratum/pull/1830
- fix overlooked consequences of
SetupConnection.REQUIRES_WORK_SELECTION
by @plebhash in https://github.com/stratum-mining/stratum/pull/1826
- allow updating Standard Channel Server state with Extended Job from Group Channel by @plebhash in https://github.com/stratum-mining/stratum/pull/1828
- Disambiguate handler method names for client/server message processing by @Shourya742 in https://github.com/stratum-mining/stratum/pull/1831
- downgrade
roles_logic_sv2
to 4.0.0 by @GitGab19 in https://github.com/stratum-mining/stratum/pull/1836
- strip BIP141 from Extended Jobs by @plebhash in https://github.com/stratum-mining/stratum/pull/1832
- feat: add stratum-translation library for SV1↔SV2 protocol translation by @GitGab19 in https://github.com/stratum-mining/stratum/pull/1833
- Deprecate
sv2-ffi
crate by @GitGab19 in https://github.com/stratum-mining/stratum/pull/1835
- fix sigops calculation for
CoinbaseOutputContraints
by @plebhash in https://github.com/stratum-mining/stratum/pull/1838
- feat: add set_chain_tip method to client channels' APIs by @GitGab19 in https://github.com/stratum-mining/stratum/pull/1839
- Finishes rust docs for
channel_sv2
by @lucasbalieiro in https://github.com/stratum-mining/stratum/pull/1817
- Turns
channel_sv2::client::*
no_std
compatible by @lucasbalieiro in https://github.com/stratum-mining/stratum/pull/1840
- make
parsers_sv2
no_std
compatible by @lucasbalieiro in https://github.com/stratum-mining/stratum/pull/1842
- fix
SetCustomMiningJob
edge cases by @plebhash in https://github.com/stratum-mining/stratum/pull/1845
channels_sv2
adaptations for new JDC by @plebhash in https://github.com/stratum-mining/stratum/pull/1846
- enforce full allocation of template revenue on
JobFactory::new_coinbase_tx_prefix_and_suffix
by @plebhash in https://github.com/stratum-mining/stratum/pull/1849
- improve sniffer logging data by @lucasbalieiro in https://github.com/stratum-mining/stratum/pull/1855
- fix the divergence of field names in DeclareMiningJob by @lucasbalieiro in https://github.com/stratum-mining/stratum/pull/1856
- revert renaming
MAX_EXTRANONCE_LEN
by @plebhash in https://github.com/stratum-mining/stratum/pull/1864
- Fix display trait behavior for
Str0255
andB0255
by @lucasbalieiro in https://github.com/stratum-mining/stratum/pull/1865
- remove unnecessary Cargo.lock and add to .gitignore by @lucasbalieiro in https://github.com/stratum-mining/stratum/pull/1868
- fix: remove unwrap in JDS by @GitGab19 in https://github.com/stratum-mining/stratum/pull/1879
- chore: Clippy update by @Shourya742 in https://github.com/stratum-mining/stratum/pull/1888
- Improve handlers by @Shourya742 in https://github.com/stratum-mining/stratum/pull/1886
- Add close channel method to pool by @Shourya742 in https://github.com/stratum-mining/stratum/pull/1890
JobStore
as generic by @plebhash in https://github.com/stratum-mining/stratum/pull/1884
- implements display traits for sv1 messages by @lucasbalieiro in https://github.com/stratum-mining/stratum/pull/1891
- Make vardiff pool statically dispatch by @Shourya742 in https://github.com/stratum-mining/stratum/pull/1896
- improve pool vardiff error logs by @plebhash in https://github.com/stratum-mining/stratum/pull/1900
- Speed up (sv2 native) CPU miner by @Sjors in https://github.com/stratum-mining/stratum/pull/1901
- New Job Declarator Client by @Shourya742 in https://github.com/stratum-mining/stratum/pull/1843
- fix: correct typo 'Startum' to 'Stratum' in V1 protocol documentation by @BRIGHTON-ASUMANI in https://github.com/stratum-mining/stratum/pull/1893
- New Translator Proxy by @GitGab19 in https://github.com/stratum-mining/stratum/pull/1791
- cover
handlers_sv2
onrelease-libs.yaml
by @plebhash in https://github.com/stratum-mining/stratum/pull/1908
- deprecate channel_logic and job_creator modules from
roles_logic_sv2
crate by @GitGab19 in https://github.com/stratum-mining/stratum/pull/1906
- ci(msrv): enforce locked builds in MSRV workflow by @Sjors in https://github.com/stratum-mining/stratum/pull/1905
- bump PATCH of
binary_sv2
crate by @GitGab19 in https://github.com/stratum-mining/stratum/pull/1909
New Contributors
- @Cyber-Lord made their first contribution in https://github.com/stratum-mining/stratum/pull/1803
- @BRIGHTON-ASUMANI made their first contribution in https://github.com/stratum-mining/stratum/pull/1893
Full Changelog: https://github.com/stratum-mining/stratum/compare/v1.4.0...v1.5.0