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