Releases: Chia-Network/chia-blockchain
Release list
2.7.4
What's Changed
Added
- Add PlotNFT v2 wallet, CLI/RPC integration, and farmer support
- Add V2 predictable plot filter primitives, signage point wiring, and activation
- Add harvester protocol 0.0.38 with V2 plot metadata
- Add new full block format and cost model
- Add canonical CLVM serialization
- Add rate limits v3 for
request_transactionandrespond_transaction - Add max limit for wallet processing of coin state updates
- Add automatic reorg testing to
WalletTestFramework - Add systemd logging support
- Add NFT media pipeline: preview verification & hardening, video playback controls, looping & gallery UX, IPFS gateway fetch, download timeout recovery, gallery filter by preview availability (thanks @jlobue10)
- Add user-selectable IPFS gateway for NFT resource fetching in GUI
- Add Chia theme variants and overview in GUI (thanks @twinedge39-web)
Changed
- Bump
chia_rsto 0.46.0 - Bump
chialispfrom 0.4.6 to 0.5.0 - Increase NFT offer limit to 20 from 10
- Refactor
pre_sp_tx_block - Factor out the sync pipeline
- Improve mempool atom- and pair-count awareness
- Improve mempool robustness
- Improve
UnfinishedBlockcache - Improve error handling when adding block batches
- Harden
RespondBlockshandling for incomplete responses - Block validation fast fail
- Harden cheap block parser bounds
- Short-circuit on invalid VDF data
- Better errors for weight proofs
- Use bisect for
request_ses_hashesSES lookup - Make farmer resilient to malformed pool difficulty responses
- Continue wallet subscriptions after a single peer fails
- Pass remaining CLVM cost budget when building Offer caches
- Make sure coins aren't being spent by any other spends in the spend bundle immediately after fast forward
- Allow at most one fast forward spend per singleton per spend bundle
- Respect the threshold after which we stop including mempool items with fast forward or dedup spends in
create_block_generator2 - Add a proper run-time check for spends that are eligible for fast forward
- Move raw hints query from
FullNodeAPIintoHintStore - Make
BlockStore.replace_proofown its write transaction - Slim
CoinStoreProtocoldown to the methods consensus uses - Add
BlockStoreProtocol; drop consensus dependency onchia.full_node - Replace
StreamableinActionScopewithcopy.deepcopy - Extract signing, clawback, and coin splitting functionality into separate modules
- Remove interested_ph_cache and initialize coin cache in init
- Annotate
did_wallet.py,trade_store.py,test_did.py,wallet_coin_store.py,wallet_puzzle_store.py,wallet_interested_store.py - Enable redundant expressions check in mypy
- Remove obsolete
add_condition_to_solutionand other dead code - Update minimum required click to 8.4.0
- Update cacert.pem from Mozilla CA bundle
- Demote
Nonechallenge_rootlog line inmake_sub_epoch_summary - Bump
cryptographyto 50.0.1 and use Chia wheel on macOS Intel - Improve singleton fast forward removals handling in mempool
- Update Electron and various audit-triggered dependencies in GUI
- Stop daemon broadcast events from rejecting pending wallet_ui requests in GUI
Deprecated
- Python 3.10 is deprecated as of this release
Fixed
- Handle
ConnectionErrorfromsend_bytesintest_large_message_disconnect_and_ban - Release the
batch_syncingslot on everyshort_sync_batchexit path - Fix DataLayer unsubscribe cleanup
- Add DataLayer self-heal for blobless stores
- Fix deadlock when creating the DataLayer wallet during sync
- Use singleton struct from singleton instead of DID inner puzzle
- Identify DL singletons in
determine_coin_typeand save computation - Return
Nonewhen anchored wallet timestamp lookup misses the peak header - If a dedup spend doesn't make it into the block, restore the dedup state
- Fix
install_gui.ps1when passing in a git commit/branch in Windows - Fix Electron source install not working
- Fix "Asset type is not valid" error when creating Offer to sell NFT in GUI
2.7.4-rc4
What's Changed
Changed
- Update GUI pin to 1059cdf1534f3d505cd15ac08d5d845de8184403 by @AmineKhaldi in #21379
Full Changelog: 2.7.4-rc3...2.7.4-rc4
2.7.4-rc3
What's Changed
Changed
- [CHIA-4410] update to cryptography 50.0.1 and use chia wheel on macos intel by @emlowe in #21357
- Update GUI pin to 94ef8d2763c6560ee7c1bfc7b28206482992be34 by @AmineKhaldi in #21361
Full Changelog: 2.7.4-rc2...2.7.4-rc3
2.7.4-rc2
What's Changed
Changed
- Bring-in CHIA-4405 Handle ConnectionError from send_bytes in test_large_message_disconnect_and_ban by @AmineKhaldi in #21336
- Bring-in CHIA-4395 Improve singleton fast forward removals handling by @AmineKhaldi in #21330
Full Changelog: 2.7.4-rc1...2.7.4-rc2
2.7.4-rc1
What's Changed
Added
- [LABS-355] PlotNFT2 Wallet by @Quexington in #20410
- Add systemd logging support by @wallentx in #20444
- [LABS-396] PlotNFT2 CLI & RPC Integration by @Quexington in #20481
- [CHIA-3815] add V2 predictable plot filter primitives by @almogdepaz in #21083
- Add Bugbot review context, update context by @almogdepaz in #21113
- [CHIA-3814] wire V2 filter challenge through signage points and validation by @almogdepaz in #21084
- [CHIA-3815] activate predictable V2 plot filter by @almogdepaz in #21091
- [LABS-397] Add v2 support to farmer by @Quexington in #20739
- [LABS-170] Add automatic reorg testing to
WalletTestFrameworkby @Quexington in #21211
Changed
- build(deps): bump form-data from 4.0.5 to 4.0.6 in /build_scripts/npm_macos by @dependabot[bot] in #21053
- build(deps): consolidated dependabot updates (2026-06-29) by @ibutterbot in #21055
- build(deps): bump form-data from 4.0.5 to 4.0.6 in /build_scripts/npm_linux by @dependabot[bot] in #21054
- build(deps): bump tar from 7.5.11 to 7.5.16 in /build_scripts/npm_windows by @dependabot[bot] in #21026
- build(deps): bump tar from 7.5.11 to 7.5.19 in /build_scripts/npm_macos by @dependabot[bot] in #21057
- CHIA-4275 Annotate did_wallet.py by @AmineKhaldi in #21042
- build(deps): bump js-yaml from 4.1.1 to 4.3.0 in /build_scripts/npm_macos by @dependabot[bot] in #21056
- build(deps): bump github/codeql-action from 4.36.1 to 4.36.2 by @dependabot[bot] in #21017
- CHIA-4277 Annotate trade_store.py by @AmineKhaldi in #21052
- [LABS-470] Fix mismatching Wallets with WalletProtocol by @Quexington in #21040
- factor out the sync pipeline by @arvidn in #21027
- [LABS-471] Remove contravariant from WalletProtocol by @Quexington in #21041
- CHIA-4285 Bring-in Arvid's fix for test_spam_message_too_large by @AmineKhaldi in #21076
- CHIA-4286 Bring-in Arvid's flakiness fix for test_transaction_ack_duplicate_without_resend_ignored by @AmineKhaldi in #21077
- build(deps): bump actions/cache from 5 to 6 by @dependabot[bot] in #21097
- CHIA-4287 Bring-in Arvid's allowed warnings as some tests leak aiohttp websocket clients by @AmineKhaldi in #21080
- Swap to azure code signing by @cmmarslender in #21116
- [LABS-472] Remove some
has/getattrin favor ofruntime_checkableprotocols by @Quexington in #21043 - [LABS-191] Port
chia wallet notificationsto@chia_commandframework by @Quexington in #21081 - [LABS-473] Fix
clvm_streamableto preserve typing through wrapping by @Quexington in #21044 - [LABS-474] Make sure
crcatis always bound by @Quexington in #21045 - [LABS-480] Remove interested_ph_cache and initialize coin cache in init by @Quexington in #21144
- Remove unused BlockHeightMapProtocol by @richardkiss in #21167
- build(deps): bump github/codeql-action from 4.36.2 to 4.37.0 by @dependabot[bot] in #21150
- build(deps): bump actions/cache from 5 to 6 by @dependabot[bot] in #21151
- build(deps): bump actions/setup-node from 6.4.0 to 7.0.0 by @dependabot[bot] in #21152
- CHIA-4283 Annotate test_did.py by @AmineKhaldi in #21071
- Add BlockStoreProtocol; drop consensus dependency on chia.full_node by @richardkiss in #21169
- Slim CoinStoreProtocol down to the methods consensus uses by @richardkiss in #21168
- Move raw hints query from FullNodeAPI into HintStore by @richardkiss in #21165
- build(deps): consolidated dependabot updates (2026-07-27) by @ibutterbot in #21182
- Make BlockStore.replace_proof own its write transaction by @richardkiss in #21166
- [LABS-192] Port
chia wallet vcsto@chia_commandframework by @Quexington in #21082 - build(deps): bump tar from 7.5.20 to 7.5.22 in /build_scripts/npm_macos by @dependabot[bot] in #21178
- build(deps): bump fast-uri from 3.1.3 to 3.1.4 in /build_scripts/npm_windows by @dependabot[bot] in #21176
- build(deps): bump actions/checkout from 6 to 7.0.0 by @dependabot[bot] in #21148
- [CHIA-4336] downgrade zstd to avoid yanked version by @emlowe in #21177
- CHIA-4329 Annotate wallet_coin_store.py by @AmineKhaldi in #21183
- [LABS-481] Remove unnecessary
serverfield from WSM by @Quexington in #21145 - [LABS-475] Fix basedpyright errors by @Quexington in #21048
- Port
get_coin_recordsandget_height_infoto@marshaldecorator by @Quexington in #21181 - [LABS-162] Replace
StreamableinActionScopewithcopy.deepcopyby @Quexington in #21170 - build(deps): bump coverallsapp/github-action from 2 to 2.3.6 by @dependabot[bot] in #21199
- build(deps): bump github/codeql-action from 4.37.0 to 4.37.2 by @dependabot[bot] in #21198
- build(deps): consolidated dependabot updates (2026-07-29) by @ibutterbot in #21214
- bump chia-rs to 0.46.0 by @arvidn in #21117
- [LABS-486] Remove useless
add_transactionfrom WSM by @Quexington in #21146 - [LABS-189] Port
chia wallet didto@chia_commandby @Quexington in #21114 - [LABS-476] Make CATWallet subclassing less problematic by @Quexington in #21051
- [CHIA-3666 CHIA-4173] add harvester protocol 0.0.38 with V2 plot metadata by @almogdepaz in #21092
- [CHIA-4271] Improve error handling when adding block batches by @emlowe in #21210
- CHIA-4330 Annotate wallet_puzzle_store.py by @AmineKhaldi in #21212
- [LABS-477] Basedpyright fixes for wallet tests by @Quexington in #21061
- [LABS-489] Generate Wallet RPC by @Quexington in #21141
- build(deps): bump undici from 6.27.0 to 6.28.0 in /build_scripts/npm_windows by @dependabot[bot] in #21219
- [CHIA-4292] Use singleton struct from singleton instead of DID innerpuz by @Quexington in #21221
- [LABS-488] Extract signing functionality to its own module by @Quexington in #21159
- [CHIA-4282] Harden RespondBlocks handling for incomplete responses by @emlowe in #21216
- Harden cheap block parser bounds by @TheLastCicada in #21021
- [LABS-190] Port
chia wallet nftto@chia_commandby @Quexington in #21118 - [LABS-484] Extract clawback functionality into its own module by @Quexington in #21160
- build(deps): bump ruff from 0.15.21 to 0.16.0 by @dependabot[bot] in #21238
- build(deps): bump fast-uri from 3.1.4 to 3.1.5 in /build_scripts/npm_windows by @dependabot[bot] in https://github.com/Chia-Networ...
2.7.3
What's Changed
Changed
- Allow
chia_getHeightInfoandchia_getCoinRecordsByNamesWalletConnect commands to bypass confirmation prompts for read-only queries
Fixed
- Fix confirmation dialogs not appearing on Linux (especially Wayland) when the
ready-to-showevent never fires - Fix Plot NFTs appearing assigned to the wrong key due to
launcherIdhex normalization - Fix log viewing in the reference wallet GUI by restoring missing Electron main-process imports
- Fix "Asset type is not valid" error when confirming offers to sell NFTs
2.7.3-rc2
2.7.3-rc1
What's Changed
Changed
- Allow
chia_getHeightInfoandchia_getCoinRecordsByNamesWalletConnect commands to bypass confirmation prompts for read-only queries
Fixed
- Fix confirmation dialogs not appearing on Linux (especially Wayland) when the
ready-to-showevent never fires - Fix Plot NFTs appearing assigned to the wrong key due to
launcherIdhex normalization - Fix log viewing in the reference wallet GUI by restoring missing Electron main-process imports
- Fix "Asset type is not valid" error when confirming offers to sell NFTs
- Fix WalletConnect JSON parsing for negative mojo amounts encoded as BigInt strings
Full Changelog: 2.7.2...2.7.3-rc1
2.7.2
What's Changed
Added
- Add Python 3.14 support
- Add Weight Proof v2 (WPv2) with MMR-based block commitments and optimized sub-epoch challenge segment tracking
- Add PlotNFT v2 drivers for pool launch, join/leave, and reward claim
- Add
/get_constantsRPC to full node - Add
get_full_node_peer_countRPC to wallet
Changed
- Add
offer_onlyoption tocreate_offer_for_ids - Change how
offer_onlyworks oncreate_offer_for_id - Add
get_fee_estimatewallet RPC that retrieves fee-per-cost estimates from a connected full node peer, allowing wallet clients to get fee guidance without calling the full node RPC directly - Use a separate config for pooling information
- Use
SQLITE_MAX_VARIABLE_NUMBERfor chunking limit - Simplify
TransactionQueueEntry - Speedup
test_ban_for_mismatched_tx_cost_fee - Improve state block handling in
WalletNode'svalidate_received_state_from_peer - Annotate
timelord_api.py - Annotate
timelord_launcher.py - Annotate
test_transactions.py - Support treating old consensus constant names as the new ones
- Improve collection of valid coin states in
WalletNode'sadd_states_from_peer - Make it clear that
bytes100is always exactly 100 bytes long - Annotate
server.py - Avoid recomputing peak header block in
WalletNode'swallet_short_sync_backtrack - Improve
fetch_coin_spend - Annotate
wallet_user_store.py - Add explicit None check in
full_node'sshort_sync_batchinstead of naked assert - Improve
validate_additions - Use
bad_elementintest_invalid_rc_sub_slot_vdf - Do not require peer for some wallet node APIs
- Improve macOS Intel CI timeout headroom
- Add configuration option to advertise rate limits v3 support
- Annotate
wallet_node_api.py
Fixed
- Pass unresolved name as server name in
ws_connect - Remove duplicate code from DID wallet
- Fix wallet sync wait after puzzle-hash derivation in
test_self_revoke - Handle stale peers during connection garbage collection
- Fix error handling in
chia plots check - Fix stale overflow
- Fix chia peer errors for invalid or missing services
- Isolate per-subscription failures in the DataLayer management loop
- Fix apparmor profile
- Fix off by one in cleanup (Thanks roopd3v)
- Skip DataLayer upload/cleanup for stores with no committed data
- Fix 407 cases
- Sanity check that PlotNFT memos match actual inner puzzle
- Upgrade
aiohttpto 3.14.0 to fix blockchain sync on slow connections (including Starlink Standby mode) - Fix Windows runner tag-lock failures with shallow checkout in
test-single - Upgrade
chia_rsto 0.45.0 - Upgrade
chia_rsto 0.45.1
Additional Notes
When building the Electron GUI from source, if you use Node.js version 24.16 or greater, only the first file will be extracted. As a result, the GUI won't install correctly. This is an issue with Node. We plan to fix this on our end in the next release. Meanwhile, for Chia 2.7.2, Node 24.15 is the newest supported version when installing the GUI from source.
In 2.7.1, we fixed a bug that prevented the GUI from loading properly. However, the issue still exists for confirmation dialogs in the Linux GUI. As a result, when performing operations such as sending funds, creating offers, etc, a timeout will occur. This only affects Linux, and it affects both 2.7.1 and 2.7.2. As a workaround, Linux users can continue to use the CLI for the aforementioned operations.