2.5.5 Chia blockchain 2025-08-19
Note that protocol changes between node, farmer, and harvester will require all entities to be upgraded
at the same time to 2.5.5. On a simple one machine setup, this will be handled by the installer.
But if you have more complicated topologies with remote farmers or harvesters, you will need to upgrade
all components.
Dr. Plotter is currently not compatible with Chia 2.5.5 because of the protocol changes above. Please do
not update to Chia 2.5.5 until a compatible version of Dr. Plotter is released.
2.5.5 will also make changes to the blockchain database that are incompatible with previous versions. If you
run 2.5.5 but later wish to downgrade to an earlier version, you will need to downgrade your database schema by
running the following command:
python -c "import sqlite3, sys, os; conn = sqlite3.connect(os.path.expanduser(sys.argv[1])); cursor = conn.execute('UPDATE coin_record SET spent_index = 0 WHERE spent_index = -1'); print(f'Updated {cursor.rowcount} records'); conn.commit(); conn.close()" <path to the db>
Replacing <path to the db>
with your actual database path.
What's Changed
Added
- Add
chia dev mempool
CLI commands to import, export, and benchmark the mempool - Add new error logging if the block cost fails to compute
- Add dicts to streamable
- Add independant Full Node RPC Validation Tool (
tools\validate_rpcs.py
) - Add Revocable CAT support to wallet (Chip 38)
- Add mempool optimizations and fixes in spend deduplication and singleton fast forward.
- Add mempool vault fast forward support
- Add unit tests to cover singleton fast forward dynamics
- Add new optional block creation algorithm to maximize transactions (set config.yaml
full_node:block_creation
to1
) - Add new config setting for block creation timeout (
full_node:block_creation_timeout
) - Add preparation for new plot format and expected hard fork (Chip 48)
- Add canonical CLVM serialization requirement after expected hard fork
Changed
- Harvester<->Farmer protocol change: compute plot filter on the harvester (Chip 48 prep)
- Farmer<->Node protocol change (Chip 48 prep)
- Backwards incompatible schema change for mempool fast-forward support
- Remove problematic
coins_added_at_height_cache
cache - Remove no longer needed
item_inclusion_filter
in the mempool - Significantly speedup mempool manager tests by not forcing them to request unneeded fixtures
- Refactor and add test for WSM puzzle hash endpoints
- Removed unneeded call to compute block cost
- Add puzzle hash generation to action scopes
- Remove direct secret key access from pool wallet
- Add ContextManager to FullNodePeers
- Simplify DB checks in
invariant_check_mempool
- log how long it took to call
peak_post_processing_2
- move
chia.types.aliases
tochia.server.aliases
- move tx processing queue entry classes
- Improve the serialisation of AddressManager
- Remove the dependency of
chia.consensus
on the modulechia.types
- Adapt
test_check_removals_with_block_creation
to cover both block generator creation versions - Use upstream miniupnpc 2.3.3
- Don't return addition coin records in CoinStore's new_block
- Avoid recomputing coin record names in
rollback_to_block
when we have access to them - move sp broadcast outside of blockchain mutex
- use
pyproject.toml
[project]
section (again) - Simplify
test_set_spent
- Leverage
execute_fetchall
in CoinStore'srollback_to_block
- Insert DB values in CoinStore's
new_block
without creating coin records - Also log the VDF field being compacted (thanks @xearl4)
- Avoid recomputing coin IDs in
run_new_block_benchmark
- Simplify
test_rollback
- Extract
_add_coin_records
out of CoinStore and simplify it - Simplify
test_num_unspent
- Simplify
test_basic_coin_store
- Optimize rolled back state construction in
_reconsider_peak
- Leverage CoinStore's
new_block
in SpendSim'sfarm_block
instead of custom coin store manipulation - Port NFT, pooling, DID, and Datalayer RPCs to
@marshal
decorator - Simplify SpendSim's
farm_block
- Migrate away from
clvm
imports - Pass coin IDs from Blockchain's
_reconsider_peak
to CoinStore'snew_block
to avoid recomputing them - Unify fork peak and reward coins handling between ForkInfo's
include_spends
andinclude_block
- Replace
CATWallet.create_new_cat_wallet
intest_cat_wallet.py
- Change minimium node version to 20 and npm version to 10
- Timelord: dont skip same peak if in unfinished cache
- Set app minimum macos version to macOS 13
- Bump
chia-rs
to0.27.0
- Bump
chiavdf
to1.1.11
- Bump
clvm
to0.9.14
- Bump
clvm-tools-rs
to0.1.48
Fixed
- Enable keccak softfork in the wallet (fixes #19480)
- Add some checks when trying to join the same pool already joined (fixes #7592)
- Allow DIDs from other wallets with NIL recovery lists (fixes #18947)
- Set AGG_SIG_ME_ADDITIONAL_DATA in config.yaml for simulator
- use index when fetching SP
- redact daemon websocket message logging
- less response failure error consumption
- Fixed some typos in comments (thanks @timesince)
- Fixed more typos in comments (thanks @racerole)
- Fixed yet more typos in comments (thanks @yetyear)
- Fixed typo in CONTRIBUTING.md (thanks @ctrlaltdel)
Removed
- Testing and support for Ubuntu LTS 20.04
- Testing and support for Debian 11 "Bullseye"