Skip to content

Releases: kaspanet/rusty-kaspa

Release v1.1.0

04 Mar 15:04
e97070f

Choose a tag to compare

This release is a major step forward for both node operators and integrators.
It makes integrations much simpler, significantly improves sync/pruning behavior, and delivers meaningful storage + processing performance gains.

Highlights

  • VSPC API v2 (GetVirtualChainFromBlockV2) (major integrator improvement)
    New GetVirtualChainFromBlockV2 returns virtual-chain updates together with per-chain-block accepted transaction data in a single flow, with support for incremental verbosity levels and minConfirmationCount.
    Practical impact: integrations can now retrieve sender/source info and fee-relevant context directly, without stitching together multiple async flows.
    In plain terms: DAG complexity is better abstracted away, and integrating Kaspa now feels much closer to integrating a classic chain. See detailed specification below.

  • IBD catchup improvements (faster, safer recovery and sync progression)
    The IBD/catchup flow was improved to better handle pruning-point movement, trusted body syncing, and transitional sync states.
    Practical impact: smoother initial sync and catchup behavior, more robust recovery, and more predictable progression under real-world node conditions.

  • Performance + storage optimizations (significant practical gains)
    Two core changes drive most of the gain: compressed level parents in headers/network handling, and on-the-fly higher-level relations, replacing always-on higher-level relation maintenance for all headers with targeted reconstruction only where needed during pruning-proof processing (for a negligible fraction of the data).
    Practical impact: lower storage pressure (especially on archival setups), reduced write overhead, faster header processing, and faster pruning work.
    Contributors reported large real-world improvements, including up to ~3x faster header-stage IBD on some machines.

  • Pruning proof algorithm refactor + stability upgrades
    Pruning proof build/validate logic was reworked with guided reconstruction and cleaner per-level context handling.
    Practical impact: improved correctness/stability posture, more predictable behavior under load, and better long-term maintainability of pruning proof internals.


VSPC API v2 Specification (GetVirtualChainFromBlockV2)

Description

Adds GetVirtualChainFromBlockV2, a non-breaking virtual-chain RPC that returns chain updates together with per-chain-block accepted transaction data, controlled by an optional incremental verbosity level.

RPC

Operation: GetVirtualChainFromBlockV2
Opcode: RpcApiOps::GetVirtualChainFromBlockV2 = 151

Input / Output

Direction Field Type Notes
In startHash Hash Required
In dataVerbosityLevel? None | Low | High | Full Optional; incremental; default: Full
In minConfirmationCount? u64 Optional; filters added-chain blocks
Out removedChainBlockHashes Hash[]
Out addedChainBlockHashes Hash[]
Out chainBlockAcceptedTransactions RpcChainBlockAcceptedTransactions[] Per added-chain-block accepted tx data

Types

RpcChainBlockAcceptedTransactions

RpcChainBlockAcceptedTransactions {
  chainBlockHeader: RpcOptionalHeader,             // accepting chain block header (verbosity-gated)
  acceptedTransactions: RpcOptionalTransaction[],  // transactions accepted by that chain block (verbosity-gated)
}

Notes

  • Non-breaking addition: existing GetVirtualChainFromBlock is unchanged.
  • Verbosity is incremental (Full includes High, Low, and None).
  • If dataVerbosityLevel is omitted, the server defaults to Full.
  • minConfirmationCount filters returned added-chain blocks by confirmation distance from the virtual tip.

Protobuf message IDs

GetVirtualChainFromBlockV2RequestMessage getVirtualChainFromBlockV2Request = 1114;
GetVirtualChainFromBlockV2ResponseMessage getVirtualChainFromBlockV2Response = 1115;


Additional notable additions

  • RocksDB preset system for archive/HDD use cases, plus WAL-directory support and cache controls.
  • In-house Rusty Kaspa Stratum Bridge released as BETA.
  • Ongoing Crescendo cleanup and consensus/infrastructure polish.

Upgrade notes

  • Database schema version was upgraded (current version is 6).
    Upgrading from older DB versions is supported, but downgrading later to older node versions may require deleting the DB.
  • On upgrade from old DB versions, node startup requires confirmation (or --yes in automation).
  • Rust toolchain/workspace requirements were updated in this cycle (edition = 2024, workspace rust-version = 1.88.0).

New contributors

Full Changelog: v1.0.1...v1.1.0

Release Candidate v1.1.0 (RC 3)

08 Feb 08:30
a311302

Choose a tag to compare

Pre-release

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

Full Changelog: v1.1.0-rc.2...1.1.0-rc.3

Release Candidate v1.1.0 (RC 2)

20 Jan 09:06
1a2f98a

Choose a tag to compare

Pre-release

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 --utxoindex enabled should:

    1. Stop the node
    2. Restart without --utxoindex and allow it to fully sync and advance normally
    3. Stop the node again, then restart with --utxoindex enabled
  • Fixes to WASM SDK errors

What's Changed

Full Changelog: v1.1.0-rc1...v1.1.0-rc.2

Release Candidate v1.1.0 (RC 1)

15 Jan 16:47
48f4d03

Choose a tag to compare

Pre-release

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

New Contributors

Full Changelog: v1.0.1...v1.1.0-rc1

v1.0.1

01 Jul 15:38
fcd9c28

Choose a tag to compare

What's Changed

Full Changelog: v1.0.0...v1.0.1

Mainnet Crescendo Release - v1.0.0

31 Mar 22:33
eb71df4

Choose a tag to compare

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-days configuration. 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.5

Crescendo 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

27 Mar 04:08
47abc36

Choose a tag to compare

Release v0.17.2 Pre-release
Pre-release

What's Changed

Full Changelog: v0.17.1...v0.17.2

Release v0.17.1

12 Mar 19:06
ac677a0

Choose a tag to compare

Release v0.17.1 Pre-release
Pre-release

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

Full Changelog: v0.17.0...v0.17.1

Testnet 10 Crescendo Release - v0.17.0

04 Mar 18:42
430c8ad

Choose a tag to compare

Pre-release

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

08 Feb 06:49
cdd4379

Choose a tag to compare

What's Changed

New Contributors

  • @miningexperiments made their first contribution in #625

Full Changelog: v0.16.0...v0.16.1