General release information
Highlights of this release:
- added support for Sv2 Extensions via the introduction of
extensions_sv2crate, and some adaptations tohandlers_sv2andparsers_sv2 - started actively fuzzing and performing regression tests against the fuzzing corpus
- many crates were deprecated, namely:
binary_codec_sv2, with its functionality incorporated intobinary_sv2roles_logic_sv2, with some of its funcitonality inherited by crates likechannels_sv2,handlers_sv2,parsers_sv2, andstratum-apps(onsv2-appsrepo)network_helpers_sv2, with some of its functionality inherited bystratum-appscrate (onsv2-appsrepo)rpc_sv2, with some of its functionality inherited bystratum-appscrate (onsv2-appsrepo)bip32_derivationerror_handling
⚠️ Most importantly, this is the first release where SRI is split across different repositories. 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
channels_sv2
crate version was bumped from 1.0.2 to 2.0.0
codec_sv2
crate version was bumped from 3.0.1 to 4.0.0
handlers_sv2
crate version was bumped from 0.1.0 to 0.2.0
binary_sv2
crate version was bumped from 4.0.0 to 5.0.0
mining_sv2
crate version was bumped from 5.0.1 to 6.0.0
framing_sv2
crate version was bumped from 5.0.2 to 6.0.0
parsers_sv2
crate version was bumped from 0.1.2 to 0.2.0
What's Changed
- Improve display for u32 fields in protocol messages by @lucasbalieiro in #1919
- Enforce upstream channel opening by @Shourya742 in #1917
- add readme to handlers_sv2 by @Shourya742 in #1920
- chore(IT): remove unused imports in integration test by @Shourya742 in #1922
- Fix extranonce size during client side channel initialization by @Shourya742 in #1923
- Fix extranonce range calculation in JDC by @Shourya742 in #1925
- Disable ascii for file by @Shourya742 in #1929
- tProxy: improve Sv1Server messages received in downstream.rs by @GitGab19 in #1930
- ci: migrate from deprecated macos-13 to macos-latest ARM64 runner by @GitGab19 in #1936
channels_sv2::outputs::deserialize_outputsby @plebhash in #1934- Cleanup roles logic sv2 utils by @lucasbalieiro in #1928
- deprecate
mining-device-sv1in favor ofminerdby @plebhash in #1937 - mining-device-sv1 removal from
coverage-roles.shscript by @GitGab19 in #1942 - Make handlers context aware by @Shourya742 in #1939
- Fix CI build failure by pinning generic-array to 0.14.7 by @Shourya742 in #1945
- Refactor Pool by @Shourya742 in #1926
- refine extranonce assumptions by @plebhash in #1944
- Improve crates re-exports by @GitGab19 in #1931
- Save only future template in pool by @Shourya742 in #1949
- deprecate
roles_logic_sv2,benches,error_handling,utils::bip32_derivationby @lucasbalieiro in #1947 - remove deprecated crate from coverage script by @lucasbalieiro in #1957
- remove noisy log when downloading the
minerdbinary by @lucasbalieiro in #1954 - update ITF to use TP
v.0.1.19by @GitGab19 in #1955 - Remove binary codec sv2 by @Shourya742 in #1952
- migrate
mining_sv2::Targettobitcoin::Targetby @icarusmaximal in #1950 - remove unnecessary files by @lucasbalieiro in #1960
- revert unnecessary version bumps by @plebhash in #1959
- Remove unreachable macro and add share validation error variant in Pool by @Shourya742 in #1962
- make roles use
bitcoinfromstratum-apps::stratum-coreby @GitGab19 in #1963 - improve share validation by @plebhash in #1966
- fix how
SubmitShares.Successis being crafted by @plebhash in #1968 - Correct Vardiff insertions by @Shourya742 in #1971
- New stratum-core structure by @lucasbalieiro in #1860
- update code coverage workflow by @lucasbalieiro in #1979
- fix channel_msg bit check in sv2 frame header by @vnprc in #1982
- fix potential arithmetic overflows on definition of
impl_into_encodable_field_for_seqofbinary_sv2by @plebhash in #1985 - refactor: improve fuzz test suite with targeted harnesses by @erickcestari in #1973
- Add message variant for mining handler by @Shourya742 in #1996
- add boundary checks to decodable proc_macro by @lucasbalieiro in #1989
- add github action to run a fuzz regression test by @lucasbalieiro in #1992
- fuzz: fix wrong
clonewhen callingto_bytesby @lucasbalieiro in #1999 - fix outdated Rust Docs for
ShareValidationResultby @plebhash in #2004 - properly mark past jobs as stale on server channels by @plebhash in #2002
- Add support for extensions negotiations,
TLV, andWorker-Specific Hashrate Trackingextension by @GitGab19 in #1983 - Fix version bumps in
derive_codec_sv2+ remove unused dependencies inextensions_sv2by @GitGab19 in #2005 - remove dev-dependencies from
extensions_sv2by @GitGab19 in #2006 - add
extensions_sv2andstratum-coreto semver-check workflow by @GitGab19 in #2007 - fix
stratum-corepath onrelease-libs.yamlby @plebhash in #2009
New Contributors
- @icarusmaximal made their first contribution in #1950
- @vnprc made their first contribution in #1982
- @erickcestari made their first contribution in #1973
Full Changelog: v1.5.0...v1.6.0