Upgrading from v1.3.1 to v1.4.0
This page covers upgrading from Mintlayer v1.3.x to v1.4.0. This release is less disruptive than v1.3.0: no storage version changes, no API server changes, and no resync required.
Consensus tightening (soft fork)
v1.4.0 tightens certain consensus rules, activated via a soft fork:
- Token metadata URIs can no longer contain arbitrary characters (the same restrictions as at token creation now apply to metadata URI updates).
- Transferring or burning a zero amount of a token is no longer allowed.
The testnet fork height is set to 787640. The mainnet fork height is yet to be decided. If you issue or manage tokens, make sure your tooling complies with the new URI restrictions before the fork activates on your network.
Node RPC: mempool_transactions ordering
The mempool_transactions method now returns transactions in the order in which they were originally inserted into the mempool, rather than sorting them by descendant score. Update any consumers that relied on the previous ordering.
Mempool cluster limits
The mempool now enforces limits on transaction clusters (a cluster is a set of unconfirmed transactions that depend on each other). Transactions that would form a cluster exceeding the limits are rejected:
- Default: max 64 transactions, max 100,000 bytes total per cluster.
If your service submits chains of many dependent transactions (e.g. batched token management operations), check the new limits and consider tuning:
- New node options:
--mempool-max-cluster-transaction-count,--mempool-max-cluster-size-bytes. - New RPC method:
mempool_get_config, returning the current mempool configuration.
Ledger hardware wallet support (beta)
wallet-create,wallet-recover, andwallet-openaccept a newledgersubcommand alongside the existingsoftwareandtrezor.- Wallet RPC: the
hardware_walletoption ofwallet_create,wallet_recover, andwallet_openaccepts the new valueledger.
P2P and mempool behavior notes
These changes are transparent for most setups, but worth knowing:
- Local transactions that were announced but never sent to any peer are re-announced after a few minutes.
- Re-adding an existing relayable transaction to the mempool triggers a re-announcement.
- Transactions are announced in batches at irregular intervals (previously each announcement had an individual random delay).
- The number of pending inbound connections is now limited.