Releases: stratum-mining/stratum
v1.1.0
General release information:
This release is focused on improving the protocol crates documentation and adding more testing abilities to the project. Moreover, we have refined our release and git branching process.
noise-sv2
, codec-sv2
, and const_sv2
crates documentation have been re-written. All the public functions should now have documentation accessible easily for the library users through https://www.docs.rs. Documentation was also added for non public functions to make it easier for developers to maintain the code-base. In addition to the documentation, example folder was added for both crates, demonstrating how to use library code in practice.
With a goal to improve our CI checks and code reliability, we developed a new integration test framework. This testing framework allows us to run multiple roles and intercept messages exchanged between them, giving us the ability to assert the roles behavior in different scenarios. While we are not going to remove the Message Generator testing framework completely, we aim to migrate most of the current Message Generator tests to the new testing framework.
We have also changed our release and contributing process. For the contributing process, we stopped using dev
branch and now we are developing and making pull requests against main
branch. and for the release we are tagging every release through Github and creating a specific branch for it. For more info about the release and contributing process please refer to RELEASE.md
and CONTRIBUTING.md
.
From this release we are stopping to release the following crates, as they are only in PoC phase. It is planned to stabilize and start releasing them again during Q1/Q2 2025.
pool_sv2
jd_client
jd_server
mining_proxy_sv2
translator_sv2
Breaking Changes
None
Fixed Bugs
None
Other Notable Changes
None
Changelog
- Consider using release branches by @jbesraa in #1124
- merge
CONTRIBUTING.md
+README-DEV.md
by @plebhash in #1140 - stop publishing some crates by @plebhash in #1143
- update
roles/Cargo.lock
by @plebhash in #1150 pre-push
githook for fmt only + removeact
by @rrybarczyk in #1039- add
lockfiles.yaml
+ rm and gitignore some unnecessary lockfiles by @plebhash in #1102 - Auto rebase workflow addition by @GitGab19 in #1152
- Move
PoolSv2
lib code out ofmain.rs
by @jbesraa in #1097 - Move
TranslatorSv2
lib code out ofmain.rs
by @jbesraa in #1092 - Move
JDServer
lib code out ofmain.rs
by @jbesraa in #1095 - publish libs to
crates.io
on release tags by @plebhash in #1142 - Add PAT in auto-rebase workflow by @GitGab19 in #1153
- test: timeout sv-1 test by @average-gary in #1099
- global release docs by @plebhash in #1154
- ignore
test_diff_management
by @plebhash in #1074 - Fix bencher false alarms on CI by @GitGab19 in #1158
- Add integration tests project by @jbesraa in #1155
- Add Template Provider to integration test project by @jbesraa in #1156
- Use version 1.75.0 of toolchain in scripts by @lorbax in #1168
- Upgrade
cbindgen
to v0.21.0 by @jbesraa in #1170 - use 1.75.0 toolchain on sv2-header-check.yaml by @plebhash in #1172
- Separate
lib
code frombin
inmining-device
by @jbesraa in #1163 - use fixed
temp_dir
for TP on integration tests by @plebhash in #1177 - Remove dev branch occurances in ci by @Shourya742 in #1182
- Rust docs for
protocols::v2::const-sv2
by @GitGab19 in #1160 - fix
network_helpers_sv2
import onmining_pool
mod by @plebhash in #1187 - add
--nominal-hashrate-multiplier
tomining-device
by @plebhash in #1195 const_sv2
- README update to comply with docs standards by @GitGab19 in #1198- move metadata away from workspace manifests by @Shourya742 in #1193
- fix cargo warnings in roles by @jbesraa in #1191
PoolSv2
integration tests by @jbesraa in #1066- add codecov upload action in coverage.yaml by @Shourya742 in #1197
- Rust docs
noise_sv2
by @Shourya742 in #1111 - Enable
all-feature
flag for rust-docs by @GitGab19 in #1211 - Remove image referring to old git flow by @jbesraa in #1214
- update release process by @plebhash in #1216
- fix license formatting by @plebhash in #1218
New Contributors
- @average-gary made their first contribution in #1099
Full Changelog: v1.0.2...v1.1.0
v1.0.2
Global Release v1.0.2
What's Changed
- update deprecated Node.js 16 by @xyephy in #945
- fix(translator): fix HexError(OddLength) in mining.subscribe handler by @nikicat in #851
- Add droppable method for buffer pool and codec by @Fi3 in #950
- revert odd length extranonce1 patch by @plebhash in #952
- Remove useless converstion after u__::arbitrary(g) by @pythcoiner in #959
- Fix 'available' typo by @pythcoiner in #958
- Log Bitcoin target as hex, align targets by @Sjors in #961
- Fix typo Messaege -> Message by @pythcoiner in #962
- patch
bosminer
subscribe edge case by @plebhash in #965 - Bump sv1 version by @Fi3 in #966
- add "Project Maturity" section to
README.md
by @plebhash in #967 - Add missing
TemplateDistributionTypes
case by @jbesraa in #960 - [patch + MG test] tproxy receiving old share by @plebhash in #910
- fix
translation-proxy-old-share.sh
permission by @plebhash in #1000 - config examples testnet4 by @plebhash in #990
- Handle
jd-client
config error by @jbesraa in #987 - Add commit guidance to
CONTRIBUTION.MD
by @jbesraa in #991 - Add UT for JDS module by @Shourya742 in #1017
- fix
GetSize
forSubmitSolutionJd
by @plebhash in #1019 - Move scripts to folder by @jbesraa in #994
- MG understands
SubmitSolution
as a valid JD message by @plebhash in #1003 - Redefining lastDeclareJob by @Shourya742 in #1022
Framing
crate refactor: cleanupheader.rs
and removeFrame
trait by @jbesraa in #976Framing
crate refactor: cleanupframing.rs
by @jbesraa in #982- Adjust
test_diff_management
test by @jbesraa in #995 - Add MSRV 1.75 workflow check by @jbesraa in #981
- add
ActionResult::SustainConnection
to MG by @plebhash in #1024 - split MG CI jobs by @plebhash in #1056
- add
Aggregate MG Test Results
job to MG CI by @plebhash in #1060 - refine
Aggregate MG Test Results
job to MG CI by @plebhash in #1064 - Add
JobDeclaratorClient
struct by @jbesraa in #993 - Add parallelism to cpu miner by @Fi3 in #983
- doc: Add requirements on interoperability tests by @johnnyasantoss in #1047
- Graceful shutdown for mining-proxy by @johnnyasantoss in #1021
- avoid JDS dropping connection on
SubmitSolution
with missing txs by @plebhash in #1025 test_diff_management
: adjusttotal_run_time
to 60s by @plebhash in #1075- Enhance SetupConnection Handling and Implement Job declaration Flag Checks by @Shourya742 in #1035
- Remove job distribution protocol by @Shourya742 in #1072
- JDC parse incoming mining messages from upstream after SetupConnection by @plebhash in #1080
- make
no_std
into an optional feature onprotocols
crates by @plebhash in #932 - add missing
impl
forSeq0255
onbinary_sv2/serde-sv2
by @plebhash in #1085 - import
TryInto
ontemplate_distribution_sv2
by @plebhash in #1086 - Remove toml dependency by @Shourya742 in #1087
- bump protocols versioning by @plebhash in #1084
- bump
common_messages_sv2
version by @plebhash in #1088 - bump
roles_logic_sv2
version by @plebhash in #1089 - bump
binary_sv2
version by @plebhash in #1090 - Add semver check workflow yaml by @Shourya742 in #985
- Translator restart if disconnected from upstream by @lorbax in #1001
- bypass
cargo semver-checks --all-features
for roles_logic_sv2 by @plebhash in #1100 - patch
roles_logic_sv2
with_serde
flag by @plebhash in #1101 - use rust stable for semver CI by @plebhash in #1104
- update
roles/Cargo.lock
by @plebhash in #1103 - Fix JDC fallback to solo-mining by @lorbax in #1055
- rm
release-bin.yaml
by @plebhash in #1109 - Add support for data types defined by sv2 extensions by @Fi3 in #1113
- Update binary-sv2/no-serde-sv2 excport EncodablePrimitive by @Fi3 in #1118
- Remove lib versioning script by @plebhash in #1114
- Release
1.0.2
by @plebhash in #1112
New Contributors
- @pythcoiner made their first contribution in #959
- @jbesraa made their first contribution in #960
- @Shourya742 made their first contribution in #1017
- @johnnyasantoss made their first contribution in #1047
Full Changelog: v1.0.1...v1.0.2
v1.0.1
Global Release v1.0.1
.
PR Changelog
- #939
- #933
- #929
- #930
- #927
- #924
- #926
- #904
- #905
- #913
- #900
- #908
- #875
- #894
- #848
- #898
- #866
- #879
- #800
- #802
- #805
- #887
Crate Version changes
protocols
framing-sv2
: v1.0.0 → v1.1.0codec-sv2
: v1.0.1 → v1.1.0roles-logic-sv2
: v1.0.0 → v1.1.0
roles
jd-client
: v0.1.0 → 0.1.1jd-server
: v0.1.0 → v0.1.1mining-proxy
: v0.1.0 → v0.1.1pool
: v0.1.0 → v0.1.1translator
: v0.1.0 → v0.1.1roles-utils/network-helpers
: v0.1.0 → v2.0.0
utils
key-utils
: v1.0.0 → v1.1.0
v1.0.0
Please refer to https://stratumprotocol.org/blog/sri-1-0-0/ for notes on SRI release v1.0.0