github iotaledger/iota v1.4.1-beta
[Devnet] v1.4.1-beta

latest releases: wallet-v1.3.0, v1.6.1-rc, v1.6.0-beta...
pre-releaseone month ago

Protocol

IOTA Protocol Version in this release: 10

#7722: Enable the new sequencer logic on Testnet and Mainnet. The new logic affects the order of execution of shared object transactions within consensus commits. See IIP3 for more details.

#7797: Increase the committee size to 80 on all networks

#7808: Enable new consensus features on the mainnet such as round prober, distributed vote scoring, new commit rule and garbage collection

#7811: Batching blocks when a block fetching request is received

#7456: Introduction of the gas price feedback mechanism and enabling it on Devnet. The mechanism informs senders of cancelled (due to shared object congestion) transactions about suggested gas prices they should have paid in order for their transactions to be scheduled and successfully executed. The suggested gas price is embedded in the sequence numbers (thus, they are different from those prior to enabling the mechanism) of congested objects, and it is included in the error messages of cancelled transactions.

#7991: Child objects mutations will not be counted as modified if the owner, value and type of the child objects stays the same between the start and end of a transaction.

#8046: Adds a new protocol config options to enable additional signature and linkage checks.

Nodes (Validators and Full nodes)

#7341: Added error categorization to the error metrics and added new metrics (validator_service_client_id_source_config_mismatch, traffic_control_tally_error_types)

#7510: Add support for TLS connections with self-signed cert on validator gRPC interface.

#7553: - Execution cache sizes can now be adjusted in the node config

#7831: - Nodes now download only the missing formal snapshot files instead of fetching the entire snapshot.

#7867: - Add backpressure to the WritebackCache

#7456: AuthorityEpochTables now includes a new table deferred_transactions_v2, which additionally holds suggested gas price for deferred transactions across multiple consensus commit rounds. At each consensus commit round, nodes also run a suggested gas price calculator that keeps track of congestion info and calculates the suggested gas price if the mechanism is enabled.

#8012: - Add metrics:
- spam_client_threshold
- error_client_threshold
- spam_proxied_client_threshold
- error_proxied_client_threshold

Indexer

🚨🚨🚨Indexer deployments🚨🚨🚨: this release includes a new Indexer database table, tx_wrapped_or_deleted_objects, which requires backfilling. Please follow the instructions provided here: Backfilling Instructions.
In case any errors appear, please refer to the Error Handling section of the documentation.

#7360: Fixes system-state values in epoch tables.

#7532: the iota-data-ingestion-core supports reading checkpoints from hybrid historical storages. More information and examples on how to use the new feature can be found in #7424.

#7603: Adds a new RunBackfill CLI command to backfill DB
tables.

#7995: Adds a new column epochs.first_tx_sequence_number and repurposes epoch.epoch_total_transactions to epoch.network_total_transactions. This decouples epoch info from the checkpoints table, and eliminates db queries while extracting the data to persist. On the web interfaces (JSON-RPC, GraphQL) the view on the epoch data remains intact.

#7133: Introduces a new tx_wrapped_or_deleted_objects table as part of a new database migration. Adds a TransactionFilterV2::WrappedOrDeletedObject(object_id) variant to filter transactions that either wrapped, created and then wrapped, deleted, or unwrapped and then deleted the specified object. Introduces the new IndexerApi::query_transaction_blocks_v2 JSON-RPC API.

#8074: the iota-data-ingestion-core CheckpointReader applies the ReaderOptions.timeout_secs also for historical checkpoint reads, previously only live checkpoint reads were respecting the provided timeout value.

JSON-RPC

#7766: vector<u8> values for transaction inputs are parsed as raw vectors into the rpc response. Previously vectors with valid utf-8 codepoints were parsed as strings, which was error prone.

#7133: Introduces a new TransactionFilterV2::WrappedOrDeletedObject(object_id) variant to filter transactions that either wrapped, created and then wrapped, deleted, or unwrapped and then deleted the specified object. Introduces the new IndexerApi::query_transaction_blocks_v2 JSON-RPC API.

GraphQL

#7564: Rename domain to name for IOTA-Names queries.

#7133: Introduces a new TransactionFilter::WrappedOrDeletedObject(object_id) variant to filter transactions that either wrapped, created and then wrapped, deleted, or unwrapped and then deleted the specified object.

CLI

#7521: Added the -c short flag for the iota client upgrade command to pass the upgrade capability.

#7564: Rename domain to name in iota name commands.

#7582: Add support for IOTA-Names address resolution in command arguments.

#6777: Add --sender option to iota client call and iota client ptb commands, allowing users to override the default sender address when creating transactions. This enables compatibility with multisig workflows that require specifying a custom sender.

#7788: Fix the iota name availability command by relying on entry existence and not target address set.

#7704: Introduces a new keystore v2 format. If a keystore v1 file (iota.keystore + iota.aliases) is found then they are automatically migrated while keeping a copy of the old data named as (iota.keystore.migrated + iota.aliases.migrated).

#7812: Fixed iota keytool multi-sig-combine-partial-sig output to display multisigParsed details instead of a base64 string (still available from multisigSerialized field)

#7806: Support the --sender flag for all relevant IOTA-Names CLI
commands.

#7842: Allow 0x0 address in Move.toml for package upgrades.

#7813: don't select coins with less than 0.009 IOTA for gas payments in iota name commands

#7620: Add support for using a Ledger hardware wallet for all CLI signing operations. Use iota keytool import-ledger to import an account.

#7881: Added iota client serialized-tx, iota client serialized-tx-kind commands and added support for gas sponsoring with --gas-sponsor <address> and --tx-digest to client tx commands

#6647: Make iota client split-coin work with a single gas coin

#7918: Simplify the pay-iota command by making the input coins optional.

#7958: Added --gas-price and --gas-sponsor flags to iota client ptb. Also added support to accept multiple gas coins with --gas-coins

#7950: add default network environments { mainnet, testnet, devnet, localnet } to client.yaml

#8003: Removed obsolete prompt from iota client if no client.yaml existed

Rust SDK

#7429: Added ClientBuilder::tls_config() to allow custom rustls configurations. This is essential for platforms like Android that require special TLS initialization (e.g., using rustls-platform-verifier).

#7840: Adds support for custom user defined headers in IotaClientBuilder. You can define custom headers through the IotaClientBuilder::custom_headers function to be added right before building.

#7456: ExecutionError (and its equivalent ExecutionFailureStatus) now contains a new variant ExecutionCancelledDueToSharedObjectCongestionV2, which (besides congested objects) contains suggested gas price.

#7629: Add query_transaction_blocks_v2 and get_transactions_stream_v2 to support TransactionFilterV2.


Full Log: v1.3.1-beta...v1.4.1-beta

Don't miss a new iota release

NewReleases is sending notifications on new releases.