Skip to content

Releases: Cardinal-Cryptography/aleph-node

AlephNode Release 13.3

10 Apr 09:08
87ebe7c
Compare
Choose a tag to compare

This is a major release.

Testnet deployment

Status : Deployed on 10.04.2024
Node upgrade deadline: N/A - already done

Mainnet deployment

Status : Deployed on 16.04.2024
Node upgrade deadline: 11:00 CET 23.04.2024

Changelog

  • Pruning enabled by default
  • Addition of pallet Proxy
  • Substrate dependencies (including all pallets) upgraded from version polkadot-v1.0.0 to polkadot-v1.2.0 (significant API changes! See below)
  • New AlephBFT version with better resilience to crashes and new finality protocol
  • New normal sync mechanism:
    • Periodic request
    • Remove legacy block requests
    • Forest memory limitations
    • New metrics
  • Fixed false positive equivocations panics
  • Fixed underflow of consumers counter
  • Fixed gas overcharging for contract calls performing cross-contract calls
  • Added staking.nominations_quota runtime API
  • Increased Balances.HoldReasons to 50
  • Decrease chain transaction fee
  • Fix consumers underflow for controller accounts that have different stash account
  • Increase the space in block for normal transactions

API changes

  • Pallet Balances changes:
    • Extrinsics:
      • [BREAKING]transfer removed
      • [BREAKING]set_balance_deprecated removed
    • Storage:
      • Holds return type changed
    • Constants:
      • MaxHolds changed from 0 to 50
      • MaxReserves changed from 0 to 50
  • Pallet Staking changes:
    • Constants
      • [BREAKING]MaxNominations removed
  • Pallet Contracts changes:
    • Storage:
      • ContractInfoOf return type changed
    • Constants:
      • Changed Schedule - updated call weights
      • New: CodeHashLockupDepositPercent
      • New: Environment
      • New: MaxDelegateDependencies
      • Changed: MaxCodeLen from 131072 to 262144
  • Added staking.nominations_quota runtime API

Docker image

public.ecr.aws/p6e8q1z1/aleph-node:r-13.3

Runtime migrations

  • Contracts: v12 -> v15

AlephNode Release 13.2

19 Mar 11:54
3b21ef4
Compare
Choose a tag to compare
Pre-release

Testnet deployment

Status : deployed on 19.03.2024
Node upgrade deadline: Runtime only release - update voluntary

Mainnet deployment

Status : pending
Node upgrade deadline: pending

Changelog

  • Decrease chain transaction fee
  • Fix consumers underflow for controller accounts that have different stash account

API changes

  • None

Docker image

public.ecr.aws/p6e8q1z1/aleph-node:r-13.2

Runtime migrations

  • no runtime migrations

AlephNode Hotifx Release 12.3

12 Mar 09:04
f51a330
Compare
Choose a tag to compare

This is a hotfix release (runtime only).

Mainnet deployment

Status : Deployed on 12.03.24
Node upgrade deadline: Runtime only release - update voluntary

Changelog

  • Fixed gas overcharging for contract calls performing cross-contract calls

API changes

  • N/A

Docker image

public.ecr.aws/p6e8q1z1/aleph-node:r-12.3

Runtime migrations

  • no runtime migrations

AlephNode Release 13.1

05 Mar 10:10
02b83f6
Compare
Choose a tag to compare
Pre-release

This is a hotfix release.

Testnet deployment

Status : deployed on 05.03.2024
Node upgrade deadline: 12.03.2024

Mainnet deployment

Status : pending
Node upgrade deadline:

Changelog

  • Fixed false positive equivocations panics
  • Fixed underflow of consumers counter
  • Fixed gas overcharging for contract calls performing cross-contract calls
  • Added staking.nominations_quota runtime API
  • Increased Balances.HoldReasons to 50

API changes

  • Pallet balances changes:
    • Constants:
      • MaxHolds changed from 2 to 50
  • Added staking.nominations_quota runtime API

Docker image

public.ecr.aws/p6e8q1z1/aleph-node:r-13.1

Runtime migrations

  • no runtime migrations

AlephNode Release 13.0

22 Feb 10:17
ebd98ce
Compare
Choose a tag to compare
Pre-release

This is a major release.

Testnet deployment

Status : deployed on 22.02.2024
Node upgrade priority: critical

Mainnet deployment

Status : pending
Node upgrade priority: critical

Changelog

  • Pruning enabled by default (tutorials for: aleph-node-runner building from source)
  • Addition of pallet Proxy
  • Substrate dependencies (including all pallets) upgraded from version polkadot-v1.0.0 to polkadot-v1.2.0 (significant API changes! See below)
  • New AlephBFT version with better resilience to crashes and new finality protocol
  • New normal sync mechanism:
    • Periodic request
    • Remove legacy block requests
    • Forest memory limitations
    • New metrics

API changes

  • Pallet Balances changes:
    • Extrinsics:
      • [BREAKING]transfer removed
      • [BREAKING]set_balance_deprecated removed
    • Storage:
      • Holds return type changed
    • Constants:
      • MaxHolds changed from 0 to 2
      • MaxReserves changed from 0 to 50
  • Pallet Staking changes:
    • Constants
      • [BREAKING]MaxNominations removed
  • Pallet Contracts changes:
    • Storage:
      • ContractInfoOf return type changed
    • Constants:
      • Changed Schedule - updated call weights
      • New: CodeHashLockupDepositPercent
      • New: Environment
      • New: MaxDelegateDependencies
      • Changed: MaxCodeLen from 131072 to 262144

Docker image

public.ecr.aws/p6e8q1z1/aleph-node:r-13.0

Runtime migrations

  • Contracts: v12 -> v15

AlephNode Release 12.2

29 Nov 10:11
337ac41
Compare
Choose a tag to compare

Note: this page describes changes introduced cumulatively by releases 12.0 (the major release), 12.1 and 12.2.

This is a major release.

Testnet deployment

Status : deployed on 29.11.2023
Node upgrade priority: high

Mainnet deployment

Status : deployed on 25.01.2024
Node upgrade priority: high

Changelog

  • Separate controller accounts in staking are deprecated. Existing controller accounts will keep working as usual, but new users who join staking will be forced to use a single account for staking (in other words - their stash and controller accounts will be the same account)
  • New version of contracts pallet. Smart contracts written in ink! should be compiled with cargo contract version 3.2.0
  • Separate port for RPC requests is removed. Now both WebSocket and RPC traffic is handled on the same port
  • All Substrate dependencies (including all pallets!) upgraded from version polkadot-v0.9.38 to version polkadot-v1.0.0 (significant API changes! See below)
  • Native execution of runtime removed - all execution is handled by the on-chain WASM runtime now
  • Changes to internal block sync request mechanism
  • (added in 12.1) fixed a bug where the node would sometimes not finalize blocks during a major sync
  • (added in 12.1) made it possible to start a node with a DB that contains a lot of non-finalized blocks
  • (added in 12.2) To match the previous behavior the seal_balance call in pallet_contracts has been changed to output the balance free to spend instead of just free balance. In particular calling env().balance() on a freshly-instantiated ink! contract returns 0 instead of the existential deposit.

API changes

  • [BREAKING] The default port for RPC over HTTP is no longer 9933. The default RPC port (for both WS and HTTP) is now 9944
  • [BREAKING] Staking->bond extrinsic no longer accepts controller argument
  • [BREAKING] Staking->set_controller extrinsic no longer accepts controller argument
  • New RPC call alephNode_ready
  • New RPC call alephNode_getBlockAuthor
  • New runtime call AlephSessionApi -> predict_session_committee
  • Pallet Balances changes:
    • Extrinsics:
      • set_balance renamed to set_balance_deprecated
      • New: force_set_balance, transfer_allow_death
    • Storage:
      • Account return type changed
      • New: Freezes, Holds
    • Constants:
      • New: MaxFreezes, MaxHolds
  • Pallet NominationPools changes:
    • Extrinsics:
      • set_config extended with new argument global_max_commission
      • New: bond_extra_other, claim_commission, set_claim_permission, set_commission, set_commission_change_rate, set_commission_max, claim_payout_other
    • Storage:
      • BondedPools return type changed
      • RewardPools return type and argument changed
      • New: ClaimPermissions, GlobalMaxCommission
    • RuntimeApi:
      • New: points_to_balance, balance_to_points
  • Pallet Contracts changes:
    • Extrinsics:
      • New: migrate
    • Storage:
      • Removed: CodeStorage, OwnerInfoOf
      • ContractInfoOf return type changed
      • DeletionQueue return type and argument changed
      • New: CodeInfoOf, DeletionQueueCounter, MigrationInProgress
    • Constants:
      • Removed: DeletionQueueDepth, DeletionWeightLimit
      • New: DefaultDepositLimit
    • RuntimeAPI:
      • call and instantiate performed in dry-run mode now return a list of events that would be emitted
  • Pallet System storage query Account return type changed

CLI changes

  • [BREAKING] --ws-port replaced by --rpc-port
  • [BREAKING] --ws-max-connections replaced by --rpc-max-connections
  • [BREAKING] --ws-external replaced by --rpc-external
  • [BREAKING] --unsafe-ws-external replaced by --unsafe-rpc-external
  • [BREAKING] --rpc-http and --rpc-ws replaced by --rpc-addr
  • [BREAKING] --rpc-max-payload replaced by --rpc-max-request-size and --rpc-max-response-size
  • [BREAKING] --ws-max-out-buffer-capacity removed
  • [BREAKING] --ipc-path removed
  • The following arguments have no effect and are DEPRECATED: --execution-syncing, --execution-import-block, --execution-block-construction, --execution-offchain-worker, --execution-other, --execution

Docker image

public.ecr.aws/p6e8q1z1/aleph-node:r-12.0

Runtime migrations

  • Nomination pools: v3 -> v5
  • Contracts: v9 -> v12

Node upgrade instructions

aleph-node-runner

To accommodate for changes in the aleph-node, the Aleph Node Runner was also significantly changed and improved. To get the newest changes you will need to EITHER:

  • do a git pull
  • delete the whole repo and git clone it again

In either case, please make sure to back up any configuration changes you made to your setup.

The new node runner will automatically detect the aleph-node version to run, so every time you restart it from now on, it will be on the correct version for the network you're targeting (Testnet or Mainnet).

Building from source

In most cases, the only difference from the usual procedure will be that you will need to modify the environment variables:

  • remove WS_PORT and WS_MAX_CONNECTIONS
  • set RPC_PORT=9944 and RPC_MAX_CONNECTIONS=100
    See the changelog above if you're running any non-standard config: you might need to change some more variables accordingly.

AlephNode release 12.1

07 Nov 10:09
aef947a
Compare
Choose a tag to compare
Pre-release

Hotfix release. Host code change only.

  • fixed a bug where the node would sometimes not finalize blocks during a major sync
  • made it possible to start a node with a DB that contains a lot of non-finalized blocks

Aleph Node 12.0

24 Oct 08:07
1a00a8f
Compare
Choose a tag to compare
Aleph Node 12.0 Pre-release
Pre-release

This is a major release.

Testnet deployment

Status : Deployed on 24.10
Node upgrade priority: high

Mainnet deployment

Status : Abandoned

Changelog

  • Separate controller accounts in staking are deprecated. Existing controller accounts will keep working as usual, but new users who join staking will be forced to use a single account for staking (in other words - their stash and controller accounts will be the same account)
  • New version of contracts pallet. Smart contracts written in ink! should be compiled with cargo contract version 3.2.0
  • Separate port for RPC requests is removed. Now both WebSocket and RPC traffic is handled on the same port
  • All Substrate dependencies (including all pallets!) upgraded from version polkadot-v0.9.38 to version polkadot-v1.0.0 (significant API changes! See below)
  • Native execution of runtime removed - all execution is handled by the on-chain WASM runtime now
  • Changes to internal block sync request mechanism

API changes

  • [BREAKING] The default port for RPC over HTTP is no longer 9933. The default RPC port (for both WS and HTTP) is now 9944
  • [BREAKING] Staking->bond extrinsic no longer accepts controller argument
  • [BREAKING] Staking->set_controller extrinsic no longer accepts controller argument
  • New RPC call alephNode_ready
  • New RPC call alephNode_getBlockAuthor
  • New runtime call AlephSessionApi -> predict_session_committee
  • Pallet Balances changes:
    • Extrinsics:
      • set_balance renamed to set_balance_deprecated
      • New: force_set_balance, transfer_allow_death
    • Storage:
      • Account return type changed
      • New: Freezes, Holds
    • Constants:
      • New: MaxFreezes, MaxHolds
  • Pallet NominationPools changes:
    • Extrinsics:
      • set_config extended with new argument global_max_commission
      • New: bond_extra_other, claim_commission, set_claim_permission, set_commission, set_commission_change_rate, set_commission_max, claim_payout_other
    • Storage:
      • BondedPools return type changed
      • RewardPools return type and argument changed
      • New: ClaimPermissions, GlobalMaxCommission
    • RuntimeApi:
      • New: points_to_balance, balance_to_points
  • Pallet Contracts changes:
    • Extrinsics:
      • New: migrate
    • Storage:
      • Removed: CodeStorage, OwnerInfoOf
      • ContractInfoOf return type changed
      • DeletionQueue return type and argument changed
      • New: CodeInfoOf, DeletionQueueCounter, MigrationInProgress
    • Constants:
      • Removed: DeletionQueueDepth, DeletionWeightLimit
      • New: DefaultDepositLimit
    • RuntimeAPI:
      • call and instantiate performed in dry-run mode now return a list of events that would be emitted
  • Pallet System storage query Account return type changed

CLI changes

  • [BREAKING] --ws-port replaced by --rpc-port
  • [BREAKING] --ws-max-connections replaced by --rpc-max-connections
  • [BREAKING] --ws-external replaced by --rpc-external
  • [BREAKING] --unsafe-ws-external replaced by --unsafe-rpc-external
  • [BREAKING] --rpc-http and --rpc-ws replaced by --rpc-addr
  • [BREAKING] --rpc-max-payload replaced by --rpc-max-request-size and --rpc-max-response-size
  • [BREAKING] --ws-max-out-buffer-capacity removed
  • [BREAKING] --ipc-path removed
  • The following arguments have no effect and are DEPRECATED: --execution-syncing, --execution-import-block, --execution-block-construction, --execution-offchain-worker, --execution-other, --execution

Docker image

public.ecr.aws/p6e8q1z1/aleph-node:r-12.0

Runtime migrations

  • Nomination pools: v3 -> v5
  • Contracts: v9 -> v12

Node upgrade instructions

aleph-node-runner

To accommodate for changes in the aleph-node, the Aleph Node Runner was also significantly changed and improved. To get the newest changes you will need to EITHER:

  • do a git pull
  • delete the whole repo and git clone it again

In either case, please make sure to back up any configuration changes you made to your setup.

The new node runner will automatically detect the aleph-node version to run, so every time you restart it from now on, it will be on the correct version for the network you're targeting (Testnet or Mainnet).

Building from source

In most cases, the only difference from the usual procedure will be that you will need to modify the environment variables:

  • remove WS_PORT and WS_MAX_CONNECTIONS
  • set RPC_PORT=9944 and RPC_MAX_CONNECTIONS=100
    See the changelog above if you're running any non-standard config: you might need to change some more variables accordingly.

AlephNode Release 11.4

02 Aug 09:10
b7e984c
Compare
Choose a tag to compare

Bump runtime transaction_version from 14 to 16 to restore compatibility with the Ledger app. This has no impact whatsoever unless you depend on transaction_version in your app.

AlephNode Release 11.3

11 Jul 11:34
3e39638
Compare
Choose a tag to compare
  • adding metrics to justification sync
  • minor changes in the broadcast cooldown
  • bump the version properly