Skip to content

Releases: iotaledger/iota

[Mainnet] v1.22.1

06 May 07:21
6839969

Choose a tag to compare

Protocol

This release introduces protocol version 25

#10737: Removed zkLogin authentication support entirely

  • zkLogin signatures (including within multisig) are now rejected
  • JWK consensus updates no longer occur

Nodes (Validators and Full nodes)

#11209: Remove deprecated gRPC index tables. ⚠️⚠️⚠️ The migration may incur a downtime of several minutes upon restart of the full nodes, so operators are requested to stage it according to their SLA needs.⚠️⚠️⚠️

#10737:

  • Removed jwk_fetch_interval_seconds and zklogin_oauth_providers config options
  • Removed JWK periodic fetching and consensus submission

JSON-RPC

#11250: iota_{execute,dryRun}TransactionBlock endpoints now resolve move clever errors in the response.

#11292: ⚠️ Fix a type mismatch between the wire representation and the JSON-RPC spec. The patch renames former SequenceNumber2 type into SequenceNumberBigInt that is represented as a string. Any clients generated by the spec would be broken at this point, so this should not have an impact on existing downstream applications.

#10737: Breaking schema changes:

  • CompressedSignature and PublicKey: zkLogin variant reshaped from { ZkLogin: <bytes|id> } to the string literal ZkLoginDeprecated.
  • GenericSignature.ZkLoginAuthenticator renamed to ZkLoginAuthenticatorDeprecated with a null payload.
  • IotaTransactionBlockKind drops the AuthenticatorStateUpdateV1 branch; IotaEndOfEpochTransactionKind drops AuthenticatorStateCreate and AuthenticatorStateExpire; TransactionFilter.TransactionKind drops the "AuthenticatorStateUpdateV1" value.
  • Removed schema components: ZkLoginAuthenticator,ZkLoginAuthenticatorAsBytes, ZkLoginInputs, ZkLoginProof, ZkLoginPublicIdentifier, Bn254FqElement, Bn254FrElement, Claim, IotaActiveJwk, IotaJWK, IotaJwkId, IotaAuthenticatorStateExpire.

GraphQL

#11196: Subscription queries now accept an optional startAfter transaction digest to resume receiving transactions and events from a specific point. For more detailed information consult the graphql schema.

#10737: Hard removals from the public schema:

  • Query field verifyZkloginSignature.
  • Types ActiveJwk, ActiveJwkConnection, ActiveJwkEdge, AuthenticatorStateCreateTransaction, AuthenticatorStateExpireTransaction, AuthenticatorStateUpdateTransaction, ZkLoginVerifyResult.
  • Enum ZkLoginIntentScope.
  • TransactionBlockKindInput.AUTHENTICATOR_STATE_UPDATE_V1.
  • Union members of EndOfEpochTransactionKind and TransactionBlockKind that pointed at the removed types.

CLI

#10737:

  • Removed keytool commands: zk-login-sign-and-execute-tx, zk-login-enter-token, zk-login-sig-verify, zk-login-insecure-sign-personal-message
  • decode-or-verify-tx now shows "zkLogin is not supported" for zkLogin transactions

gRPC

#11299: New limit on concurrent checkpoint streaming clients (default 1024). Tune via grpc-api-config.max-concurrent-stream-subscribers. Monitor via Prometheus metric node_grpc_inflight_checkpoint_stream_subscribers.


Full Log: v1.21.1...v1.22.1

[Testnet] v1.22.1-rc

29 Apr 08:28
71cc284

Choose a tag to compare

[Testnet] v1.22.1-rc Pre-release
Pre-release

Protocol

This release introduces protocol version 25

#10737: Removed zkLogin authentication support entirely

  • zkLogin signatures (including within multisig) are now rejected
  • JWK consensus updates no longer occur

Nodes (Validators and Full nodes)

#11209: Remove deprecated gRPC index tables. ⚠️⚠️⚠️ The migration may incur a downtime of several minutes upon restart of the full nodes, so operators are requested to stage it according to their SLA needs.⚠️⚠️⚠️

#10737:

  • Removed jwk_fetch_interval_seconds and zklogin_oauth_providers config options
  • Removed JWK periodic fetching and consensus submission

JSON-RPC

#11250: iota_{execute,dryRun}TransactionBlock endpoints now resolve move clever errors in the response.

#11292: ⚠️ Fix a type mismatch between the wire representation and the JSON-RPC spec. The patch renames former SequenceNumber2 type into SequenceNumberBigInt that is represented as a string. Any clients generated by the spec would be broken at this point, so this should not have an impact on existing downstream applications.

#10737: Breaking schema changes:

  • CompressedSignature and PublicKey: zkLogin variant reshaped from { ZkLogin: <bytes|id> } to the string literal ZkLoginDeprecated.
  • GenericSignature.ZkLoginAuthenticator renamed to ZkLoginAuthenticatorDeprecated with a null payload.
  • IotaTransactionBlockKind drops the AuthenticatorStateUpdateV1 branch; IotaEndOfEpochTransactionKind drops AuthenticatorStateCreate and AuthenticatorStateExpire; TransactionFilter.TransactionKind drops the "AuthenticatorStateUpdateV1" value.
  • Removed schema components: ZkLoginAuthenticator,ZkLoginAuthenticatorAsBytes, ZkLoginInputs, ZkLoginProof, ZkLoginPublicIdentifier, Bn254FqElement, Bn254FrElement, Claim, IotaActiveJwk, IotaJWK, IotaJwkId, IotaAuthenticatorStateExpire.

GraphQL

#11196: Subscription queries now accept an optional startAfter transaction digest to resume receiving transactions and events from a specific point. For more detailed information consult the graphql schema.

#10737: Hard removals from the public schema:

  • Query field verifyZkloginSignature.
  • Types ActiveJwk, ActiveJwkConnection, ActiveJwkEdge, AuthenticatorStateCreateTransaction, AuthenticatorStateExpireTransaction, AuthenticatorStateUpdateTransaction, ZkLoginVerifyResult.
  • Enum ZkLoginIntentScope.
  • TransactionBlockKindInput.AUTHENTICATOR_STATE_UPDATE_V1.
  • Union members of EndOfEpochTransactionKind and TransactionBlockKind that pointed at the removed types.

CLI

#10737:

  • Removed keytool commands: zk-login-sign-and-execute-tx, zk-login-enter-token, zk-login-sig-verify, zk-login-insecure-sign-personal-message
  • decode-or-verify-tx now shows "zkLogin is not supported" for zkLogin transactions

gRPC

#11299: New limit on concurrent checkpoint streaming clients (default 1024). Tune via grpc-api-config.max-concurrent-stream-subscribers. Monitor via Prometheus metric node_grpc_inflight_checkpoint_stream_subscribers.


Full Log: v1.21.1-rc...v1.22.1-rc

[Devnet] v1.22.0-beta

27 Apr 08:33
d4061f9

Choose a tag to compare

[Devnet] v1.22.0-beta Pre-release
Pre-release

Protocol

This release introduces protocol version 25

#10737: Removed zkLogin authentication support entirely

  • zkLogin signatures (including within multisig) are now rejected
  • JWK consensus updates no longer occur

Nodes (Validators and Full nodes)

#11209: Remove deprecated gRPC index tables. ⚠️⚠️⚠️ The migration may incur a downtime of several minutes upon restart of the full nodes, so operators are requested to stage it according to their SLA needs.⚠️⚠️⚠️

#10737:

  • Removed jwk_fetch_interval_seconds and zklogin_oauth_providers config options
  • Removed JWK periodic fetching and consensus submission

JSON-RPC

#11250: iota_{execute,dryRun}TransactionBlock endpoints now resolve move clever errors in the response.

#11292: ⚠️ Fix a type mismatch between the wire representation and the JSON-RPC spec. The patch renames former SequenceNumber2 type into SequenceNumberBigInt that is represented as a string. Any clients generated by the spec would be broken at this point, so this should not have an impact on existing downstream applications.

#10737: Breaking schema changes:

  • CompressedSignature and PublicKey: zkLogin variant reshaped from { ZkLogin: <bytes|id> } to the string literal ZkLoginDeprecated.
  • GenericSignature.ZkLoginAuthenticator renamed to ZkLoginAuthenticatorDeprecated with a null payload.
  • IotaTransactionBlockKind drops the AuthenticatorStateUpdateV1 branch; IotaEndOfEpochTransactionKind drops AuthenticatorStateCreate and AuthenticatorStateExpire; TransactionFilter.TransactionKind drops the "AuthenticatorStateUpdateV1" value.
  • Removed schema components: ZkLoginAuthenticator,ZkLoginAuthenticatorAsBytes, ZkLoginInputs, ZkLoginProof, ZkLoginPublicIdentifier, Bn254FqElement, Bn254FrElement, Claim, IotaActiveJwk, IotaJWK, IotaJwkId, IotaAuthenticatorStateExpire.

GraphQL

#11196: Subscription queries now accept an optional startAfter transaction digest to resume receiving transactions and events from a specific point. For more detailed information consult the graphql schema.

#10737: Hard removals from the public schema:

  • Query field verifyZkloginSignature.
  • Types ActiveJwk, ActiveJwkConnection, ActiveJwkEdge, AuthenticatorStateCreateTransaction, AuthenticatorStateExpireTransaction, AuthenticatorStateUpdateTransaction, ZkLoginVerifyResult.
  • Enum ZkLoginIntentScope.
  • TransactionBlockKindInput.AUTHENTICATOR_STATE_UPDATE_V1.
  • Union members of EndOfEpochTransactionKind and TransactionBlockKind that pointed at the removed types.

CLI

#10737:

  • Removed keytool commands: zk-login-sign-and-execute-tx, zk-login-enter-token, zk-login-sig-verify, zk-login-insecure-sign-personal-message
  • decode-or-verify-tx now shows "zkLogin is not supported" for zkLogin transactions

gRPC

#11299: New limit on concurrent checkpoint streaming clients (default 1024). Tune via grpc-api-config.max-concurrent-stream-subscribers. Monitor via Prometheus metric node_grpc_inflight_checkpoint_stream_subscribers.


Full Log: v1.21.1-beta...v1.22.0-beta

[Alphanet] v1.22.0-alpha

24 Apr 10:48
f3e563c

Choose a tag to compare

Pre-release

Protocol

This release introduces protocol version 25

#10737: Removed zkLogin authentication support entirely

  • zkLogin signatures (including within multisig) are now rejected
  • JWK consensus updates no longer occur

Nodes (Validators and Full nodes)

#11209: Remove deprecated gRPC index tables. ⚠️⚠️⚠️ The migration may incur a downtime of several minutes upon restart of the full nodes, so operators are requested to stage it according to their SLA needs.⚠️⚠️⚠️

#10737:

  • Removed jwk_fetch_interval_seconds and zklogin_oauth_providers config options
  • Removed JWK periodic fetching and consensus submission

JSON-RPC

#11250: iota_{execute,dryRun}TransactionBlock endpoints now resolve move clever errors in the response.

#11292: ⚠️ Fix a type mismatch between the wire representation and the JSON-RPC spec. The patch renames former SequenceNumber2 type into SequenceNumberBigInt that is represented as a string. Any clients generated by the spec would be broken at this point, so this should not have an impact on existing downstream applications.

#10737: Breaking schema changes:

  • CompressedSignature and PublicKey: zkLogin variant reshaped from { ZkLogin: <bytes|id> } to the string literal ZkLoginDeprecated.
  • GenericSignature.ZkLoginAuthenticator renamed to ZkLoginAuthenticatorDeprecated with a null payload.
  • IotaTransactionBlockKind drops the AuthenticatorStateUpdateV1 branch; IotaEndOfEpochTransactionKind drops AuthenticatorStateCreate and AuthenticatorStateExpire; TransactionFilter.TransactionKind drops the "AuthenticatorStateUpdateV1" value.
  • Removed schema components: ZkLoginAuthenticator,ZkLoginAuthenticatorAsBytes, ZkLoginInputs, ZkLoginProof, ZkLoginPublicIdentifier, Bn254FqElement, Bn254FrElement, Claim, IotaActiveJwk, IotaJWK, IotaJwkId, IotaAuthenticatorStateExpire.

GraphQL

#11196: Subscription queries now accept an optional startAfter transaction digest to resume receiving transactions and events from a specific point. For more detailed information consult the graphql schema.

#10737: Hard removals from the public schema:

  • Query field verifyZkloginSignature.
  • Types ActiveJwk, ActiveJwkConnection, ActiveJwkEdge, AuthenticatorStateCreateTransaction, AuthenticatorStateExpireTransaction, AuthenticatorStateUpdateTransaction, ZkLoginVerifyResult.
  • Enum ZkLoginIntentScope.
  • TransactionBlockKindInput.AUTHENTICATOR_STATE_UPDATE_V1.
  • Union members of EndOfEpochTransactionKind and TransactionBlockKind that pointed at the removed types.

CLI

#10737:

  • Removed keytool commands: zk-login-sign-and-execute-tx, zk-login-enter-token, zk-login-sig-verify, zk-login-insecure-sign-personal-message
  • decode-or-verify-tx now shows "zkLogin is not supported" for zkLogin transactions

gRPC

#11299: New limit on concurrent checkpoint streaming clients (default 1024). Tune via grpc-api-config.max-concurrent-stream-subscribers. Monitor via Prometheus metric node_grpc_inflight_checkpoint_stream_subscribers.


Full Log: v1.21.0-alpha...v1.22.0-alpha

[Mainnet] v1.21.1

22 Apr 07:21
edb4e8e

Choose a tag to compare

Protocol

This release enables Starfish consensus on Mainnet and introduces protocol version 24

#11073: Switch consensus protocol to Starfish in all networks

#11044: Bump RocksDB version to 0.24.0

#11039: Add tx_data_bytes and signing_digest to AuthContext. Add the signing Intent representation to the iota framework.

Nodes (Validators and Full nodes)

#11126: Authority gRPC metrics were renamed for consistency (inflight_grpc => authority_grpc_inflight_requests, grpc_requests => authority_grpc_requests, grpc_request_latency => authority_grpc_request_latency)

Indexer

#10988: Unwrapped objects are now included in transaction object changes. A run-backfill object-changes-unwrapped command is available to populate historical data.

#11040: iota_tryGetObjectBeforeVersion JSON-RPC endpoint returns the bcs encoded object bytes when an object is found

#10875: - Pruning mechanism switched to use the per-table watermarks, allowing for independent pruning of every table with retention policies configured separately for every table (using already existing --pruning-config-path argument)

  • Optimistic indexing now uses object based dependency check, making it resilient to pruning of old (dependent) transactions.
  • The --optimistic-pruner-batch-size CLI argument is deprecated and no longer used. Optimistic transactions are now pruned by the unified pruner.
  • RPC reads now detect querying pruned data ranges when possible and return appropriate error.
  • More aggressive autovacuuming has been configured for pruned tables. Operators using large databases should ensure sufficient shm_size (e.g. 2g) on the Postgres container for effective vacuuming.

#11116: 🪛 Fixes an issue with execution errors not being propagated on the transaction response errors fields.

#11120: ⚠️ Maintenance required: Introducing a new migration in to remove the redundant objects_owner index following v1.20. Operators should update their IOTA Indexer instances and restart the writer service. Database migration on restart is expected to take at least ~60 minutes! ⚠️

#11185: ⚠️iota-data-ingestion-core, the IndexerExecutor::run() is removed as part of CheckpointReaderV1 deprecation effort. Users shall migrate to IndexerExecutor::run_with_config() instead which will use the CheckpointReaderV2 as default. In this regard setup_single_workflow also had breaking changes, the remote_store_url accepts a RemoteUrl instead of a String.⚠️

JSON-RPC

#10988: Transaction responses now include unwrapped objects in the objectChanges field.

#10473: Expose effectiveCommissionRate as part of the IotaValidatorSummary in iotax_getLatestSystemStateV2 following IIP8

GraphQL

#10412: Introducing a new field effectiveCommissionRate in query paths for validators, following IIP8. Before IIP8 (i.e. protocol version 20) effectiveCommissionRate = commissionRate

#11120: ⚠️ Maintenance required: Introducing a new migration in IOTA Indexer requires updating GraphQL and restarting service.

CLI

#10866: Removed deprecated iota start, iota genesis, iota genesis-ceremony, and iota fire-drill stub commands

#10989: - Enables TLS on connections to validators over the gRPC
interface.

gRPC

#10989: - Enables TLS on connections to validators over the gRPC
interface.

REST API

#10566: ⚠️⚠️⚠️ The REST API has been fully removed in this release. ⚠️⚠️⚠️ In case a full node was set up as a checkpoint source for an indexer via REST API, reconfiguration is needed.From now on, the gRPC endpoint is used exclusively to serve checkpoints downstream. Updating such a node to the current release (with gRPC enabled) is expected to take at least 10-15 minutes of index migrations.


Full Log: v1.20.0-rc...v1.21.1-rc

[Testnet] v1.21.1-rc

15 Apr 07:04
e984ec9

Choose a tag to compare

[Testnet] v1.21.1-rc Pre-release
Pre-release

Protocol

This release introduces protocol version 24

#11073: Switch consensus protocol to Starfish in all networks

#11044: - Bump RocksDB version to 0.24.0

#11039: Add tx_data_bytes and signing_digest to AuthContext. Add the signing Intent representation to the iota framework.

Nodes (Validators and Full nodes)

#11126: Authority gRPC metrics were renamed for consistency (inflight_grpc => authority_grpc_inflight_requests, grpc_requests => authority_grpc_requests, grpc_request_latency => authority_grpc_request_latency)

Indexer

#10988: Unwrapped objects are now included in transaction object changes. A run-backfill object-changes-unwrapped command is available to populate historical data.

#11040: iota_tryGetObjectBeforeVersion JSON-RPC endpoint returns the bcs encoded object bytes when an object is found

#10875: - Pruning mechanism switched to use the per-table watermarks, allowing for independent pruning of every table with retention policies configured separately for every table (using already existing --pruning-config-path argument)

  • Optimistic indexing now uses object based dependency check, making it resilient to pruning of old (dependent) transactions.
  • The --optimistic-pruner-batch-size CLI argument is deprecated and no longer used. Optimistic transactions are now pruned by the unified pruner.
  • RPC reads now detect querying pruned data ranges when possible and return appropriate error.
  • More aggressive autovacuuming has been configured for pruned tables. Operators using large databases should ensure sufficient shm_size (e.g. 2g) on the Postgres container for effective vacuuming.

#11116: 🪛 Fixes an issue with execution errors not being propagated on the transaction response errors fields.

#11120: ⚠️ Maintenance required: Introducing a new migration in to remove the redundant objects_owner index following v1.20. Operators should update their IOTA Indexer instances and restart the writer service. Database migration on restart is expected to take at least ~60 minutes! ⚠️

#11185: ⚠️iota-data-ingestion-core, the IndexerExecutor::run() is removed as part of CheckpointReaderV1 deprecation effort. Users shall migrate to IndexerExecutor::run_with_config() instead which will use the CheckpointReaderV2 as default. In this regard setup_single_workflow also had breaking changes, the remote_store_url accepts a RemoteUrl instead of a String.⚠️

JSON-RPC

#10988: Transaction responses now include unwrapped objects in the objectChanges field.

#10473: Expose effectiveCommissionRate as part of the IotaValidatorSummary in iotax_getLatestSystemStateV2 following IIP8

GraphQL

#10412: Introducing a new field effectiveCommissionRate in query paths for validators, following IIP8. Before IIP8 (i.e. protocol version 20) effectiveCommissionRate = commissionRate

#11120: ⚠️ Maintenance required: Introducing a new migration in IOTA Indexer requires updating GraphQL and restarting service.

CLI

#10866: Removed deprecated iota start, iota genesis, iota genesis-ceremony, and iota fire-drill stub commands

#10989: - Enables TLS on connections to validators over the gRPC
interface.

gRPC

#10989: - Enables TLS on connections to validators over the gRPC
interface.

REST API

#10566: ⚠️⚠️⚠️ The REST API has been fully removed in this release. ⚠️⚠️⚠️ In case a full node was set up as a checkpoint source for an indexer via REST API, reconfiguration is needed.From now on, the gRPC endpoint is used exclusively to serve checkpoints downstream. Updating such a node to the current release (with gRPC enabled) is expected to take at least 10-15 minutes of index migrations.


Full Log: v1.20.0-rc...v1.21.1-rc

[Devnet] v1.21.1-beta

13 Apr 12:09
f678e03

Choose a tag to compare

[Devnet] v1.21.1-beta Pre-release
Pre-release

Protocol

This release introduces protocol version 24

#11073: Switch consensus protocol to Starfish in all networks

#11044: - Bump RocksDB version to 0.24.0

#11039: Add tx_data_bytes and signing_digest to AuthContext. Add the signing Intent representation to the iota framework.

Nodes (Validators and Full nodes)

#11126: Authority gRPC metrics were renamed for consistency (inflight_grpc => authority_grpc_inflight_requests, grpc_requests => authority_grpc_requests, grpc_request_latency => authority_grpc_request_latency)

Indexer

#10988: Unwrapped objects are now included in transaction object changes. A run-backfill object-changes-unwrapped command is available to populate historical data.

#11040: iota_tryGetObjectBeforeVersion JSON-RPC endpoint returns the bcs encoded object bytes when an object is found

#10875: - Pruning mechanism switched to use the per-table watermarks, allowing for independent pruning of every table with retention policies configured separately for every table (using already existing --pruning-config-path argument)

  • Optimistic indexing now uses object based dependency check, making it resilient to pruning of old (dependent) transactions.
  • The --optimistic-pruner-batch-size CLI argument is deprecated and no longer used. Optimistic transactions are now pruned by the unified pruner.
  • RPC reads now detect querying pruned data ranges when possible and return appropriate error.
  • More aggressive autovacuuming has been configured for pruned tables. Operators using large databases should ensure sufficient shm_size (e.g. 2g) on the Postgres container for effective vacuuming.

#11116: 🪛 Fixes an issue with execution errors not being propagated on the transaction response errors fields.

#11120: ⚠️ Maintenance required: Introducing a new migration in to remove the redundant objects_owner index following v1.20. Operators should update their IOTA Indexer instances and restart the writer service.

#11185: ⚠️iota-data-ingestion-core, the IndexerExecutor::run() is removed as part of CheckpointReaderV1 deprecation effort. Users shall migrate to IndexerExecutor::run_with_config() instead which will use the CheckpointReaderV2 as default. In this regard setup_single_workflow also had breaking changes, the remote_store_url accepts a RemoteUrl instead of a String.⚠️

JSON-RPC

#10988: Transaction responses now include unwrapped objects in the objectChanges field.

#10473: Expose effectiveCommissionRate as part of the IotaValidatorSummary in iotax_getLatestSystemStateV2 following IIP8

GraphQL

#10412: Introducing a new field effectiveCommissionRate in query paths for validators, following IIP8. Before IIP8 (i.e. protocol version 20) effectiveCommissionRate = commissionRate

#11120: ⚠️ Maintenance required: Introducing a new migration in IOTA Indexer requires updating GraphQL and restarting service.

CLI

#10866: Removed deprecated iota start, iota genesis, iota genesis-ceremony, and iota fire-drill stub commands

#10989: - Enables TLS on connections to validators over the gRPC
interface.

gRPC

#10989: - Enables TLS on connections to validators over the gRPC
interface.

REST API

#10566: ⚠️⚠️⚠️ The REST API has been fully removed in this release. ⚠️⚠️⚠️


Full Log: v1.20.0-beta...v1.21.1-beta

[Alphanet] v1.21.0-alpha

10 Apr 11:51
560cb89

Choose a tag to compare

Pre-release

Protocol

This release introduces protocol version 24

#11073: Switch consensus protocol to Starfish in all networks

#11044: - Bump RocksDB version to 0.24.0

#11039: Add tx_data_bytes and signed_tx_bytes to AuthContext. Add the signing Intent representation to the iota framework.

Nodes (Validators and Full nodes)

#11126: Authority gRPC metrics were renamed for consistency (inflight_grpc => authority_grpc_inflight_requests, grpc_requests => authority_grpc_requests, grpc_request_latency => authority_grpc_request_latency)

Indexer

#10988: Unwrapped objects are now included in transaction object changes. A run-backfill object-changes-unwrapped command is available to populate historical data.

#11040: iota_tryGetObjectBeforeVersion JSON-RPC endpoint returns the bcs encoded object bytes when an object is found

#10875: - Pruning mechanism switched to use the per-table watermarks, allowing for independent pruning of every table with retention policies configured separately for every table (using already existing --pruning-config-path argument)

  • Optimistic indexing now uses object based dependency check, making it resilient to pruning of old (dependent) transactions.
  • The --optimistic-pruner-batch-size CLI argument is deprecated and no longer used. Optimistic transactions are now pruned by the unified pruner.
  • RPC reads now detect querying pruned data ranges when possible and return appropriate error.
  • More aggressive autovacuuming has been configured for pruned tables. Operators using large databases should ensure sufficient shm_size (e.g. 2g) on the Postgres container for effective vacuuming.

#11116: 🪛 Fixes an issue with execution errors not being propagated on the transaction response errors fields.

#11120: ⚠️ Maintenance required: Introducing a new migration in to remove the redundant objects_owner index following v1.20. Operators should update their IOTA Indexer instances and restart the writer service.

#11185: ⚠️iota-data-ingestion-core, the IndexerExecutor::run() is removed as part of CheckpointReaderV1 deprecation effort. Users shall migrate to IndexerExecutor::run_with_config() instead which will use the CheckpointReaderV2 as default. In this regard setup_single_workflow also had breaking changes, the remote_store_url accepts a RemoteUrl instead of a String.⚠️

JSON-RPC

#10988: Transaction responses now include unwrapped objects in the objectChanges field.

#10473: Expose effectiveCommissionRate as part of the IotaValidatorSummary in iotax_getLatestSystemStateV2 following IIP8

GraphQL

#10412: Introducing a new field effectiveCommissionRate in query paths for validators, following IIP8. Before IIP8 (i.e. protocol version 20) effectiveCommissionRate = commissionRate

#11120: ⚠️ Maintenance required: Introducing a new migration in IOTA Indexer requires updating GraphQL and restarting service.

CLI

#10866: Removed deprecated iota start, iota genesis, iota genesis-ceremony, and iota fire-drill stub commands

#10989: - Enables TLS on connections to validators over the gRPC
interface.

gRPC

#10989: - Enables TLS on connections to validators over the gRPC
interface.

REST API

#10566: ⚠️⚠️⚠️ The REST API has been fully removed in this release. ⚠️⚠️⚠️


Full Log: v1.20.0-alpha...v1.21.0-alpha

[Mainnet] v1.20.1

08 Apr 08:33
4b42f54

Choose a tag to compare

Protocol

This release introduces protocol version 23

#10611: sponsor was added to TxContext

#10729: reference_gas_price, gas_price, gas_budget were added to TxContext

#10739: make tx_context::gas_budget public

Nodes (Validators and Full nodes)

#10902: FastCommitSyncer is now enabled by default; operators can disable it locally via enable_fast_commit_syncer: false in node config

#10754: The REST API client has been removed and all internal consumers now use gRPC. The REST API server is deprecated and will be removed in v1.21. ⚠️⚠️⚠️ Users should migrate to the gRPC APIs as a replacement for the REST API. ⚠️⚠️⚠️

Indexer

#10081: The --remote-store-url argument now uses the fullnode gRPC checkpoint stream as primary checkpoint ingestion source. The --rpc-client-url argument now uses the fullnode gRPC for transaction execution. ⚠️⚠️⚠️ Operators must ensure their node are running version v1.19.0 or higher and that the gRPC API is explicitly enabled in the node configuration (enable-grpc-api: true), as it is disabled by default. It is also advised to use the new indexer CLI commands; the deprecated CLI will be removed in v1.23. ⚠️⚠️⚠️

#10754: iota-data-ingestion-core users need to update to the latest version before the support for the REST API will be dropped in v1.21. The iota-analytics-indexer now uses --grpc-url arg instead of --rest-url. ⚠️⚠️⚠️ Operators must ensure their nodes are running version v1.20.0 or higher and that the gRPC API is explicitly enabled in the node configuration (enable-grpc-api: true), as it is disabled by default. ⚠️⚠️⚠️

#10963: From version v1.21.0, the CheckpointReaderV1 in iota-data-ingestion-core will be deprecated. ⚠️⚠️⚠️ Operators maintaining custom indexers are advised to migrate to CheckpointReaderV2 via IndexerExecutor::run_with_config. With pruning enabled on fullnodes, custom indexers will need CheckpointReaderV2 to use hybrid historical storage for syncing from genesis, making CheckpointReaderV1 obsolete. ⚠️⚠️⚠️

#10976: ⚠️ Maintenance required: Introducing a new migration in preparation of removing an index with the subsequent release v1.21. Operators should update their IOTA Indexer instances and restart the writer service.

#10789: Add the ability to sync checkpoints form historical & live storages as an alternative checkpoint source to fullnode.

GraphQL

#10081: The --node-rpc-url argument now uses the fullnode's gRPC API for transaction execution. ⚠️⚠️⚠️ Operators must ensure the gRPC API is enabled on the fullnode (see Indexer note above). ⚠️⚠️⚠️

#10976: ⚠️ Maintenance required: Introducing a new migration in IOTA Indexer requires updating GraphQL and restarting service.

CLI

#10663: The iota start and iota genesis commands have moved to iota-localnet. iota genesis-ceremony, iota fire-drill, and iota replay commands have moved to iota-tool.

#10600: Added vec support in --auth-call-args

#10952: Removed iota client name auction subcommands (bid, claim, metadata, start)

REST API

#10754: Deprecated. The REST API server will be removed in v1.21. Please migrate to the gRPC APIs.


Full Log: v1.19.1...v1.20.1

IOTA Wallet v1.6.0

08 Apr 12:44
d217cb8

Choose a tag to compare

Changelog

  • fix(apps-backend-client): Move url to shareable attributes (#11052) in #a8e4b41a9d
  • chore(apps-backend): Rework apps backend releases (#10928) in #561ebd5355
  • chore(wallet): Bump to v1.6.0 (#10986) in #6473b11d22
  • feat(wallet-dashboard): add connectedWallet amplitude event (#10950) in #f85705bdb2
  • feat(dapp): refactor getAppsBackend (#10145) in #46171b172d
  • chore(wallet, wallet-dashboard): revert and align amplitude event naming convention (#10873) in #cf12122557
  • chore(ui-kit): Animations for dialog and dropdown (#10693) in #caf344f8f4
  • feat(dashboard): update stake/unstake events for amplitude (#10690) in #9c6137c46c
  • chore(wallet): cleanup amplitude events (#10564) in #42cf5b593d
  • feat(dashboard): add amplitude element copied amplitude event. (#10679) in #7528cecc8d
  • feat(wallet): make inputs human readable (#10497) in #16bef0f2f6
  • chore(ts-sdk): requestIotaFromFaucet with polling (#10671) in #66d0c0dd1b
  • feat(amplitude): improve amplitude source flow (#10554) in #41ae71882d
  • fix(wallet): unlock accounts after create (#10576) in #d5e034c438
  • feat(dashboard): add "dialog context" amplitude plugin (#10670) in #801665ecf3
  • refactor(cli): extract localnet and debug related iota commands into separate binaries (#10663) in #61cdeb4a05
  • chore(wallet): remove dependency on feature flag WalletPasskeys (#10709) in #d511810182
  • chore(ts-sdk): Remove long time deprecated APIs (#10445) in #bd1fa0b5ee
  • chore(wallet): Move balance finder button (#10691) in #23d4672405
  • chore(wallet): Show loader while verifying accounts (#10628) in #6b05b9fc6d
  • feat(wallet): add password confirmation on reset click (#10601) in #385f6327b3
  • upstream(ts-sdks): ts-sdks ports batch #3 (#10617) in #2f3a1e9fdd
  • fix(pnpm): Patch immutable, svgo and multer vulnerabilities (#10637) in #0142ab554b
  • feat(bcs): improve names of bcs types so they can be used as struct types (#10515) in #045acb2784
  • feat(wallet): attach user global properties to every amplitude event (#9939) in #5490416b8a
  • fix(explorer): anti-bot delay for amplitude events (#10408) in #60bf81f884
  • fix(wallet): Proper navigation buttons in auto lock view (#10486) in #f9de0b84cd
  • feat(wallet): add dapp connect started amplitude event (#10397) in #4123058275
  • feat(amplitude): disable specific autocapture features in initAmplitude (#10482) in #f368ab1f7e
  • feat(wallet): add transaction opened event (#10424) in #0b37c13c12
  • feat(wallet): Update application disconnected amplitude event (#10400) in #cca3268d00
  • feat(wallet): update account creation started (#10422) in #a9d484a6b9
  • fix(wallet): Fix redirect in BackupMnemonicPage.tsx (#10561) in #a6d21f6ee9
  • chore(tooling): Bump @iota/names-sdk to 0.6.1 (#10565) in #01c5ae3535
  • feat(wallet): update accounts added amplitude event (#10398) in #5818904cc9
  • chore(wallet): Show loader while unlocking wallet in unlock dialog (#10487) in #34b46db02d
  • feat(wallet): update apps banner cta clicked amplitude event (#10387) in #d2ed90fb66
  • chore(apps-backend): add dapps (#10259) in #bb744c0606
  • feat(wallet): improve element copied and external link opened amplitude events (#10392) in #d578b2d07d
  • fix(wallet): Reprompt ledger connection if ledger is not connected (#10388) in #4e096896bc
  • chore(wallet): Remove duplicated enums and refactor logic (#10403) in #c74aec2a9d
  • chore(wallet): Switch from webpack to rspack (#10327) in #9733bf6252
  • fix(wallet): Remove unnecessary useEffect for derived state (#10377) in #e27f4bb748
  • fix(wallet): Remove unnecessary guard on Portal causing flashes. (#10352) in #b7680bc47a
  • feat(wallet): add rpId tests for passkeys (#10272) in #7d95c4c177
  • feat(wallet): Derive beyond 10 ledger accounts when importing (#9287) in #fc9eba3a26
  • fix(wallet): Avoid hooks to be called dynamically (#10353) in #b3f3d25d78
  • feat(wallet): implement unified password across all accounts (#10001) in #10ee7212f7
  • feat(wallet): update collectible card clicked amplitude event (#10401) in #60d546d1bc
  • feat(wallet): update collectible sent event and properties (#10360) in #b425674527
  • feat(wallet): add element copied amplitude event (#10268) in #14bb6e9c68
  • feat(wallet): add side panel changed amplitude event (#10245) in #dca66b50de
  • feat(wallet): Compute effectiveCommission rate (IIP8) (#10346) in #163f573883
  • feat(wallet): add external link opened amplitude event (#10326) in #67cba649fc
  • feat(wallet): update iota staked/unstaked amplitude event (#10361) in #9df9f01f3d
  • feat(wallet): update coins sent amplitude event (#10334) in #fb7b8c1682
  • chore(tooling): Bump Node version and types to v24 (#10045) in #54c7803740
  • feat(wallet): add wallet reset amplitude event (#10248) in #1b4c26425a
  • fix(wallet): missing key prop in iterator (#10356) in #5d70c34d39
  • feat(wallet): add collectibe hidden event (#10345) in #bd74a9facf
  • feat(wallet): add theme changed amplitude event (#10246) in #3e08d0f74d
  • feat(wallet): add balance finder analytics event (#10290) in #9f26644beb
  • feat(wallet): add account keys exported amplitude event (#10242) in #cf448506b4
  • feat(wallet): identify opened modals in amplitude (#10109) in #f3f2648af8
  • feat(wallet): rename Amplitude events and regenerate types (#10231) in #b6a21359d6
  • fix(wallet): update imports (#10329) in #be3018818d
  • feat(wallet): add auto lock updated amplitude event (#10247) in #202306d2a3
  • feat(wallet): add "account deleted" event (#10188) in #710ed41396
  • fix(tooling): prevent env plugin from blocking amplitude event delivery (#10323) in #81ea8c34a2
  • feat(wallet): add account renamed amplitude event (#10187) in #0f83ec3e81
  • chore(tooling): set up test enviroment for amplitude (#10111) in #5a194d3153
  • chore(wallet, docs, ts-sdk): Fix GHSA-43fc-jf86-j433: Upgrade axios to 1.13.5 (#10186) in #c04074695c
  • chore(wallet): Revamp RC and Dev icons (#10110) in #18581a094b
  • feat(wallet): improve passkey restoring flow (#9997) in #6a1955c110
  • chore(ui-icons): Add Sidepanel icon (#10067) in #bb33d49eb7
  • feat(wallet): Side Panel support (#9059) in #bef9e88f23
  • chore(wallet): filter accs based on mainPublicKey in balance finder (#9944) in #8c3f13a940
  • feat(wallet,explorer): refresh apps backed features (#9876) in #ba41dbc172
  • chore(wallet): Fix testId react warning (#9964) in #77df0a650b
  • chore(wallet): remove account main label (#9967) in #0528d86366
  • feat(wallet): show warning when sending to a name that matches a nickname (#9779) in #1ac29e7628
  • feat(tooling): disable all amplitude events and restrict tracking to production only (#9947) in #615a7ad18b
  • feat(wallet): show transaction hash when signing with ledger (#9791) in #7fa1fded91
  • feat(wallet): update passkeys copy texts (#9937) in #bac86d2cd2
  • feat(iota-wallet & wallet-dashboard): show old browser banner (#8915) in #0b3218da78
  • chore(npm): Update deps (#8913) in #aa5bb1f696
  • feat(wallet,dashboard): add staking edge case tests (#8906) in #3c0fe21605
  • feat(dapp): display network on tx dryrun (#9609) in #a7d3fd5fd7
  • fix(wallet): Properly route message signing on passkeys (#9905) in #59bfab78b6
  • feat(wallet): update passkeys rpId (#9890) in #9a1b89ea12
  • fix(wallet): Fix messed up css classes because of #9449 (#9863) in #4cbaf6da23
  • feat(wallet): differentiate between transaction and message in KeystoneProvider.tsx (#9449) in #e9a299c9ee
  • fix(wallet): react error in token details on homepage (#9858) in #ec79845e81
  • feat(wallet): add generic error when dry run execution fails (#9727) in #33ec40d85f
  • fix(apps): Fix GHSA-2w69-qvjg-hvjx (#9752) in #8a0100de43
  • fix(apps): Update to @iota/iota-names-sdk v0.5.1 (#9750) in #00046c7ed2
  • fix(wallet): Properly filter ledger accounts in balance finder (#9682) in #c28236656b
  • fix(wallet): adjust padding on wallet pages (#9659) in #55c2b94930
  • feat(wallet): add ledger errors (#9025) in #2df2fa0369
  • chore: update names sdk (#9588) in #0b1784df59
  • refactor(wallet): Update dev scripts of Wallet's README (#9284) in #10880bfacc
  • fix(wallet): unwrap accounts field properly in the reset password flow (#9290) in #aaf932eee0
  • feat(apps): update amplitude cookie management version and init process (#9654) in #d7e7aaf0e5