Releases: kaspanet/rusty-kaspa
Release Candidate v1.1.0 (RC 3)
Pre-release v1.1.0 (RC 3)
- Node version:
1.1.0-rc.3
Fixes a rare edge case in pruning proof build (reported only on TN12)
What's Changed
- update edition to 2024, fix clippy by @biryukovmaxim in #836
- Forward-compatible deserialization for optional RPC structures by @michaelsutton in #838
- Switch to
taiki-e/install-actionby @biryukovmaxim in #842 - Pruning proof build reachability per level by @michaelsutton in #857
- Bump MSRV and RC versions and cleanup dead code by @michaelsutton in #867
- add apt-get update before gcc-multilib installation by @Leon1777 in #866
Full Changelog: v1.1.0-rc.2...1.1.0-rc.3
Release Candidate v1.1.0 (RC 2)
Pre-release v1.1.0 (RC 2)
- Node version:
1.1.0-rc.2
Fixes the following issues in RC 1:
-
Correct initialization of the UTXO index on fresh nodes (#826)
Nodes that were freshly synced on RC 1 with
--utxoindexenabled should:- Stop the node
- Restart without
--utxoindexand allow it to fully sync and advance normally - Stop the node again, then restart with
--utxoindexenabled
-
Fixes to WASM SDK errors
What's Changed
- Proper utxoindex resyncing post utxo download by @freshair18 in #827
- Run docker containers as kaspa by @coderofstuff in #824
- fix(wasm/build): revert build configuration by @IzioDev in #830
- Add pruning proof descriptor for guided proof reconstruction by @michaelsutton in #828
- Bump version to 1.1.0-rc.2 by @michaelsutton in #832
Full Changelog: v1.1.0-rc1...v1.1.0-rc.2
Release Candidate v1.1.0 (RC 1)
Pre-release v1.1.0 (RC 1)
- Note that Node Version =
1.0.2
This version introduces significant utility updates and performance gains.
Key Features:
- VSPC API (v2) – a simplified, unified flow designed to cover the majority of integration use cases.
- IBD Enhancements – various improvements to the initial block download process.
- RocksDB Preset System – native support for HDD archive nodes and preset configurations.
- In-house RK Stratum Bridge (BETA)
- Performance Optimizations – significant reduction in storage usage and accelerated header and pruning processing.
Note: Detailed walkthrough and explanations will be included in the final release notes.
What's Changed
- Deep wiki badge by @freshair18 in #699
- Update README.md by @KaspaSilver in #707
- fix wasm builds by @biryukovmaxim in #691
- Wasm utxo return address by @biryukovmaxim in #704
- Remove DNS seeders managed by H@H upon his request by @supertypo in #690
- Rust 1.89 compatibility by @Leon1777 in #716
- feat(vspc): min confirmation count by @IzioDev in #667
- Rare overflow fix by @freshair18 in #726
- Adds payload support in PSKT by @danwt in #703
- docs: run a devnet node by @IzioDev in #718
- paranthesis lints by @freshair18 in #732
- Add docker files for all binaries by @someone235 in #742
- Ibd body optimization by @freshair18 in #652
- update mimalloc to 0.1.48 and remove git workaround by @Leon1777 in #737
- mimalloc version bump - update cargo lock by @michaelsutton in #747
- lints and style by @freshair18 in #749
- windows asm support for Keccak by @x100111010 in #694
- Add support for consensus parameters override by @someone235 in #751
- Add pruning_test and indirect_parents_test tests by @someone235 in #752
- Crescendo cleanup - Part 1 by @michaelsutton in #736
- Fix zip-in-zip upload by @HLXEasy in #682
- Check that trusted blocks are not in the pruning point future by @someone235 in #697
- Change priority bucket expected time to block target time by @someone235 in #735
- IBD Handle Syncer Pruning Movement by @freshair18 in #702
- Fix pruning_test by @someone235 in #756
- Add support for environment variable configuration by @gcpreston in #762
- Enable smallvec const_generics and optimize script vector size by @avishai12321 in #757
- VRLE parents by level refactor by @Manyfestation in #765
- Crescendo Cleanup - Part 2 by @someone235 in #754
- Purge outdated P2P versions by @michaelsutton in #772
- Tx script engine cleanup by @biryukovmaxim in #774
- Fix GetBlocks returning duplicate hashes (issue #778) by @LiveLaughLove13 in #779
- feat(rpc/vccv2): enhanced vcc data aggregator by @IzioDev in #740
- Cleanup - Part 4 by @someone235 in #787
- feat(wrpc/wasm): get network id and fix current url update by @IzioDev in #727
- chore(p2p/hub): reduce mismatch version error to debug log by @IzioDev in #783
- Crescendo Cleanup - Part 5 (Difficulty Adjustment) by @michaelsutton in #791
- Crescendo Cleanup - Part 6 (FINAL) by @michaelsutton in #794
- Rename and refactor StoreResult extensions by @michaelsutton in #798
- Fix/issue 769 overflow protection by @LiveLaughLove13 in #780
- Add CONTRIBUTING.md guide by @coderofstuff in #766
- Catchup flow tweak - misleading warning fix by @freshair18 in #795
- On the fly higher relations by @freshair18 in #773
- Refactor pruning proof validate algo by @michaelsutton in #800
- Add sighash_type_commitment_test by @someone235 in #799
- P2p compressed header by @Manyfestation in #777
- Fix: (and update) wasm-bindgen by @D-Stacks in #808
- Add RocksDB Preset System and WAL Directory Support for HDD Archive Nodes (and benefiting regular nodes) by @Zorglub4242 in #771
- tweak(vspcv2): return compressed parents instead of plain parents by level by @IzioDev in #786
- Kaspa Stratum Bridge binary by @LiveLaughLove13 in #793
- Update deploy yaml by @LiveLaughLove13 in #815
- Calculate proof context efficiently by @coderofstuff in #801
- Version bump to 1.0.2 by @coderofstuff in #817
- P2P Relay: Minor optimization - Avoid sending
InvRelayBlockMessagesback to the original sender. by @D-Stacks in #810 - Assert proof validation for local proofs by @michaelsutton in #820
- Validate full levels have tips with 2M blue score by @coderofstuff in #822
- Custom identifier by @LiveLaughLove13 in #821
New Contributors
- @freshair18 made their first contribution in #699
- @KaspaSilver made their first contribution in #707
- @Leon1777 made their first contribution in #716
- @danwt made their first contribution in #703
- @x100111010 made their first contribution in #694
- @gcpreston made their first contribution in #762
- @avishai12321 made their first contribution in #757
- @Manyfestation made their first contribution in #765
- @LiveLaughLove13 made their first contribution in #779
- @Zorglub4242 made their first contribution in #771
Full Changelog: v1.0.1...v1.1.0-rc1
v1.0.1
What's Changed
- Rust 1 86 compatibility by @aspect in #669
- Make mainnet nodes always disconnect p2p v6 nodes by @someone235 in #675
- Adjust wallet SDK UTXO maturity params to 10 BPS by @michaelsutton in #676
- Fix cicd by @biryukovmaxim in #684
- Fix rust 1.87 windows linker error by @michaelsutton in #687
- Cumulative PR - sigma branch by @aspect in #677
- Remove temporary dust prevention mechanism by @someone235 in #698
Full Changelog: v1.0.0...v1.0.1
Mainnet Crescendo Release - v1.0.0
This release introduces the Crescendo Hardfork, transitioning the Kaspa network from 1 BPS to 10 BPS. This marks a significant increase in transaction throughput and network capacity, as well as improved network responsiveness due to shorter block intervals, enhancing the overall user experience. Crescendo is scheduled to activate on mainnet at DAA Score 110,165,000, projected to occur on May 5, 2025, at approximately 15:00 UTC.
Starting 24 hours before activation, nodes will connect only to peers using the new P2P protocol version 7. Ensure your node is updated to maintain network connectivity.
Key highlights for Kaspa node maintainers
- 10 BPS Activation: Mainnet will transition from 1 BPS to 10 BPS.
- Retention Period Configuration: Operators now have greater control over data management with a new
retention-period-daysconfiguration. Due to the higher block rate, the pruning period has shortened from approximately 50 hours to 30 hours. If operators wish to retain the same amount of historical data as before, they should specify the desired retention period using the new configuration and ensure sufficient storage capacity is available. - Protocol Version Update: Nodes will switch to P2P protocol version 7. Ensure your node is upgraded to maintain connectivity.
Retention period configuration
The new retention-period-days parameter provides flexibility for node operators by determining how many days of historical data to retain.
| Configuration | Type | Usage |
|---|---|---|
retention-period-days |
f64 | The number of days to keep data for. Must be at least 2. If not set, the node will default to keeping only data for the pruning period. |
Example: Keep 2.5 days (=60 hours) of data using the following command:
./kaspad --utxoindex --retention-period-days=2.5Crescendo specification
For full details of the changes activated in this hardfork, refer to KIP-14.
Node upgrade guide
Ensure your node is updated to stay compatible with the Crescendo Hardfork. For detailed instructions on upgrading and configuring your node, refer to the Crescendo Guide.
Full Changelog: v0.16.1...v1.0.0
Release v0.17.2
What's Changed
- Retain index data up to retention period root by @coderofstuff in #657
- Mining Rule Engine Scaffolding and Sync Rate Rule implementation by @coderofstuff in #654
- Identify & Warn miners with outdated mining rpc flow by @michaelsutton in #658
- Bump to version 0.17.2 + misc by @michaelsutton in #661
Full Changelog: v0.17.1...v0.17.2
Release v0.17.1
Notes
- This version includes an optimization that significantly reduces base RAM usage especially in 10BPS networks
- It also includes a new configuration for retention period. See below
New Configuration
| Configuration | Type | Usage |
|---|---|---|
| retention-period-days | f64 | The number of days to keep data for. Must be at least 2. If not set, the node will default to keeping only data for the pruning period |
Sample Usage - Keep 30 days worth of data:
./kaspad --utxoindex --retention-period-days=30
What's Changed
- Crescendo TN10 node setup guide by @michaelsutton in #645
- Start the pruning proof per level search at the lowest required depth by @coderofstuff in #648
- Crescendo-related RAM optimizations & miscellaneous by @michaelsutton in #650
- Implement Retention Period Support by @coderofstuff in #592
Full Changelog: v0.17.0...v0.17.1
Testnet 10 Crescendo Release - v0.17.0
This pre-release of Kaspa 0.17.0 introduces support for the upcoming Crescendo Hardfork on Testnet 10 (TN10), scheduled to shift from 1 to 10 BPS on March 6, 2025. It is not recommended for production mainnet miners, but non-mining mainnet nodes may upgrade for early stability testing. Note that this version does not support TN11—those needing TN11 should remain on the latest stable release or stable branch.
For detailed instructions on setting up a TN10 node, generating transactions, and mining with this release, see the TN10 Crescendo Hardfork Node Setup Guide.
Stable Release - v0.16.1
What's Changed
- Implement UTXO Return Address RPC command by @coderofstuff in #436
- fix clippy, bump wasm dependencies by @biryukovmaxim in #624
- Instant time instead of SystemTime by @miningexperiments in #625
- calculate sig ops on fly by @biryukovmaxim in #597
- Proper tracking of the accumulative circulating supply store value by @michaelsutton in #629
New Contributors
- @miningexperiments made their first contribution in #625
Full Changelog: v0.16.0...v0.16.1
Stable Release - v0.16.0
Instructions for Node Maintainers
This is the first stable release that includes the database version upgrade introduced in #494. When you run this version with an existing datadir, you may be asked to upgrade your database version in CLI. To proceed, type y or yes and hit enter. Alternatively, you can run this version with a --yes flag to skip the interactive question.
This database upgrade is a one-way path, which means after updating your datadir to the new version, you won't be able to go back to an earlier version.
Database Upgrade to v4
This release includes a database upgrade from v3 to v4. This upgrade includes:
- introducing new data stores for temp ghostdag stores used when building pruning proofs
- removing deprecated higher level ghostdag data entries - these are now calculated on-the-fly when needed (validating pruning proofs, building pruning proofs)
What's Changed
- rothschild: donate funds to external address with custom priority fee by @demisrael in #482
- fix wrong combiner condition by @biryukovmaxim in #567
- fix wRPC JSON notification message format by @aspect in #571
- Documentation updates by @aspect in #570
- WASM RPC method type updates by @aspect in #572
- Cleanup legacy bip39 cfg flags interfering with docs.rs documentation builds by @aspect in #573
- Bump tonic and prost versions, adapt middlewares by @biryukovmaxim in #553
- Fix README.md layout and add linting section by @gvbgduh in #488
- Bump tonic version by @michaelsutton in #579
- replace statrs and statest deps & upgrade some deps. by @D-Stacks in #425
- enhance tx inputs processing by @biryukovmaxim in #495
- Parallelize MuHash calculations by @coderofstuff in #575
- Muhash parallel reduce -- optimize U3072 mul when LHS = one by @michaelsutton in #581
- Rust 1.82 fixes + mempool std sig op count check by @michaelsutton in #583
- typo(cli/utils): kaspa wording by @IzioDev in #582
- On-demand calculation for Ghostdag for Higher Levels by @coderofstuff in #494
- Standartize fork activation logic by @someone235 in #588
- Refactoring for cleaner pruning proof module by @coderofstuff in #589
- Pruning proof minor improvements by @coderofstuff in #590
- Add KIP-10 Transaction Introspection Opcodes, 8-byte arithmetic and Hard Fork Support by @biryukovmaxim in #487
- Some simplification to script number types by @someone235 in #594
- feat: add signMessageWithoutRand method for kaspa wasm by @witter-deland in #587
- Optimize window cache building for ibd by @D-Stacks in #576
- Enable payloads for non coinbase transactions by @someone235 in #591
- Small fixes related to enabling payload by @someone235 in #605
- Fix new lints required by Rust 1.83 by @michaelsutton in #606
- IBD sync: recover sampled window by @michaelsutton in #598
- Track the average transaction mass throughout the mempool's lifespan by @michaelsutton in #599
- Create TN11 KIP10 HF activation and KIP9 beta switch by @coderofstuff in #595
- CI Update by @saefstroem in #622
- Bump version to 0.16.0 by @coderofstuff in #623
New Contributors
- @demisrael made their first contribution in #482
- @IzioDev made their first contribution in #582
- @witter-deland made their first contribution in #587
Full Changelog: v0.15.2...v0.16.0