v1.5.0
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
-
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
-
new
stratum-translationcrate modularizes Sv1 ↔ Sv2 translation logic -
BIP141 fields are now stripped from coinbase on Extended Jobs
-
new APIs added to
network_helpers_sv2, expanding ways it can be used
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_sv2parsers_sv2channels_sv2
handlers_sv2
new crate published at version 0.1.0
parsers_sv2
new crate published at version 0.1.1
channels_sv2
new crate published at version 0.1.0 and then bumped to 1.0.2
network_helpers_sv2
crate version was bumped from 4.0.0 to 4.0.1
stratum-common
crate version was bumped from 4.0.0 to 4.0.1
common_messages_sv2
crate version was bumped from 5.0.0 to 6.0.1
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 4.0.0
framing_sv2
crate version was bumped from 5.0.0 to 5.0.1
codec_sv2
crate version was bumped from 2.1.0 to 3.0.1
mining_sv2
crate version was bumped from 4.0.0 to 5.0.1
job_declaration_sv2
crate version was bumped from 4.0.0 to 5.0.1
template_distribution_sv2
crate version was bumped from 3.0.0 to 4.0.1
sv1_api
crate version was bumped from 2.1.0 to 2.1.1
rpc_sv2
crate version was bumped from 1.1.0 to 1.1.1
PR List
- isolate
channels_sv2andparsers_sv2into standalone crates by @plebhash in #1795 - introduce custom difficulty TP on Integration Tests by @plebhash in #1760
- Fix broken Getting Started link in README by @Cyber-Lord in #1803
- Improve tracing defaults and add download warning log by @lucasbalieiro in #1807
- standardize rewards to pool/solo mining into a single
scriptPubKeyby @lucasbalieiro in #1800 - Rename
config-helperstoconfig_helpers_sv2and remove of unusedroles-logic-sv2by @GitGab19 in #1812 - Update rpc_sv2 version to 1.1.0 in Cargo.toml and Cargo.lock by @GitGab19 in #1815
- ci: add semver checks for config-helpers in workflow by @GitGab19 in #1813
- deprecate
test/scalecrate by @lucasbalieiro in #1809 - bump:
sv1_apiv1.0.1 → v2.0.0 by @GitGab19 in #1820 - add noise stream by @Shourya742 in #1792
- Refactor handler by @Shourya742 in #1806
- Update roles rust edition to 2021 by @lucasbalieiro in #1818
- remove pool and miner tag from
extranonce_prefixby @plebhash in #1824 - run clippy and fmt across codebase by @lucasbalieiro in #1830
- fix overlooked consequences of
SetupConnection.REQUIRES_WORK_SELECTIONby @plebhash in #1826 - allow updating Standard Channel Server state with Extended Job from Group Channel by @plebhash in #1828
- Disambiguate handler method names for client/server message processing by @Shourya742 in #1831
- downgrade
roles_logic_sv2to 4.0.0 by @GitGab19 in #1836 - strip BIP141 from Extended Jobs by @plebhash in #1832
- feat: add stratum-translation library for SV1↔SV2 protocol translation by @GitGab19 in #1833
- Deprecate
sv2-fficrate by @GitGab19 in #1835 - fix sigops calculation for
CoinbaseOutputContraintsby @plebhash in #1838 - feat: add set_chain_tip method to client channels' APIs by @GitGab19 in #1839
- Finishes rust docs for
channel_sv2by @lucasbalieiro in #1817 - Turns
channel_sv2::client::*no_stdcompatible by @lucasbalieiro in #1840 - make
parsers_sv2no_stdcompatible by @lucasbalieiro in #1842 - fix
SetCustomMiningJobedge cases by @plebhash in #1845 channels_sv2adaptations for new JDC by @plebhash in #1846- enforce full allocation of template revenue on
JobFactory::new_coinbase_tx_prefix_and_suffixby @plebhash in #1849 - improve sniffer logging data by @lucasbalieiro in #1855
- fix the divergence of field names in DeclareMiningJob by @lucasbalieiro in #1856
- revert renaming
MAX_EXTRANONCE_LENby @plebhash in #1864 - Fix display trait behavior for
Str0255andB0255by @lucasbalieiro in #1865 - remove unnecessary Cargo.lock and add to .gitignore by @lucasbalieiro in #1868
- fix: remove unwrap in JDS by @GitGab19 in #1879
- chore: Clippy update by @Shourya742 in #1888
- Improve handlers by @Shourya742 in #1886
- Add close channel method to pool by @Shourya742 in #1890
JobStoreas generic by @plebhash in #1884- implements display traits for sv1 messages by @lucasbalieiro in #1891
- Make vardiff pool statically dispatch by @Shourya742 in #1896
- improve pool vardiff error logs by @plebhash in #1900
- Speed up (sv2 native) CPU miner by @Sjors in #1901
- New Job Declarator Client by @Shourya742 in #1843
- fix: correct typo 'Startum' to 'Stratum' in V1 protocol documentation by @BRIGHTON-ASUMANI in #1893
- New Translator Proxy by @GitGab19 in #1791
- cover
handlers_sv2onrelease-libs.yamlby @plebhash in #1908 - deprecate channel_logic and job_creator modules from
roles_logic_sv2crate by @GitGab19 in #1906 - ci(msrv): enforce locked builds in MSRV workflow by @Sjors in #1905
- bump PATCH of
binary_sv2crate by @GitGab19 in #1909 - specify dependencies versions of
stratum_translationcrate by @GitGab19 in #1910 - Fix
stratum-commonv4.0.0 andrpc_sv2v1.1.0 version conflict by @GitGab19 in #1913 - bump PATCH for
codec_sv2+framing_sv2+parsers_sv2+common_messages_sv2by @plebhash in #1912
New Contributors
- @Cyber-Lord made their first contribution in #1803
- @BRIGHTON-ASUMANI made their first contribution in #1893
Full Changelog: v1.4.0...v1.5.0