* A breaking backwards compatibility issue was introduced in 2.4.0 in the daemon RPC call `add_private_key`. We expect to resolve this in a future release.
* You cannot import or use a 12-word mnemonic key with 2.4.0 or 2.4.1. To import and use a 12-word mnemonic key we recommend you use 2.3.1. This will be resolved in a future release
- A breaking backwards compatibility issue was introduced in 2.4.0 in the daemon RPC call `add_private_key`. We expect to resolve this in a future release.
- You cannot import or use a 12-word mnemonic key with 2.4.0 or 2.4.1. To import and use a 12-word mnemonic key we recommend you use 2.3.1. This will be resolved in a future release
### Deprecated
macOS 11 (Big Sur) is deprecated. This release (2.4.1) will be the last release to support macOS 11
## 2.4.0 Chia blockchain 2024-06-20
## What's Changed
### Added
* Soft fork 5: disallow infinity G1 points as public keys in AGG_SIG_* conditions
* DL: Added support for updating multiple datastores in a single batch update
* Add unfinished block to state change event (thanks @felixbrucker)
* CHIP-0026 Mempool Updates
* Preliminary support for observer mode. Ability to add public keys via CLI
- Soft fork 5: disallow infinity G1 points as public keys in `AGG_SIG_*` conditions
- DL: Added support for updating multiple datastores in a single batch update
- Add unfinished block to state change event (thanks @felixbrucker)
- CHIP-0026 Mempool Updates
- Preliminary support for observer mode. Ability to add public keys via CLI
### Changed
* Remove `tx_records` from `dl_update_multiple` RPC (breaking change)
* DL: optimizations for autoinsert and upsert
* Increase farmer fill rate to 70%
* Use Rust types for `RecentChainData`, `ProofBlockHeader` and `WeightProof`
* Use Rust version of `MerkleSet`
* Remove unused files
* Make a couple of DAOWallet methods return lists of transaction records
* Simplify `MerkleSet` by making it immutable
* Add ability to profile the farmer process
* Remove unused current_inner from PoolState
* Optimize `launcher_id_to_p2_puzzle_hash()`
* Add genesis challenge to `get_network_info` RPC
* Puzzle hash optimizations
* Optimize key derivation in the wallet
* Add optional trusted CIDR list
* Make `BLSCache` a proper class
* Split capabilities for each service
* Use kv compressed in DL batch update
* Updated gui to `electron 30.0.9`
* Bump `chia_rs` to `0.9.0` and update G1Element handling
* Bump `boto3` to `1.34.114`
* Bump `chiabip158` to `1.5.1`
* Bump `clvm` to `0.9.10`
* Bump `aiohttp` to `3.9.4`
* Bump `filelock` to `3.14.0`
* Bump `importlib-resources` to `6.4.0`
* Bump `keyring` to `25.1.0`
* Bump `dnspython` to `2.6.1`
* Bump `typing-extensions` to `4.11.0`,
* Bump `packaging` to `24.0`
* Bump `hsms` to `0.3.1`,
- Remove `tx_records` from `dl_update_multiple` RPC (breaking change)
- DL: optimizations for autoinsert and upsert
- Increase farmer fill rate to 70%
- Use Rust types for `RecentChainData`, `ProofBlockHeader` and `WeightProof`
- Use Rust version of `MerkleSet`
- Remove unused files
- Make a couple of DAOWallet methods return lists of transaction records
- Simplify `MerkleSet` by making it immutable
- Add ability to profile the farmer process
- Remove unused current_inner from PoolState
- Optimize `launcher_id_to_p2_puzzle_hash()`
- Add genesis challenge to `get_network_info` RPC
- Puzzle hash optimizations
- Optimize key derivation in the wallet
- Add optional trusted CIDR list
- Make `BLSCache` a proper class
- Split capabilities for each service
- Use kv compressed in DL batch update
- Updated gui to `electron 30.0.9`
- Bump `chia_rs` to `0.9.0` and update G1Element handling
- Bump `boto3` to `1.34.114`
- Bump `chiabip158` to `1.5.1`
- Bump `clvm` to `0.9.10`
- Bump `aiohttp` to `3.9.4`
- Bump `filelock` to `3.14.0`
- Bump `importlib-resources` to `6.4.0`
- Bump `keyring` to `25.1.0`
- Bump `dnspython` to `2.6.1`
- Bump `typing-extensions` to `4.11.0`,
- Bump `packaging` to `24.0`
- Bump `hsms` to `0.3.1`,
### Fixed
* Add bytes type to `DerivationRecord.pubkey`
* Do not return unexpected coins from `get_coin_state`
* Fix memo plotid
* Filter out duplicate coins returned by `RequestPuzzleState`
* fix confusion between prompt and don't prompt in the plotnft CLI
* drop deprecated `authentication_public_key` from pool config
* Fixed some typos (thanks @wersfeds)
* Make sure to use no more than 61 cpus on windows (fixes #17967)
* Handle reorgs in data layer wallet
* Modify `VerifiedCredential.launch` to handle multiple source coins
* Add tx_config and extra_conditions to DID creation endpoint
* DL: Return exception and error from `get_kv_diff` when either of the hashes has no data
* Link trade cancellations with announcements
* Add coin id index to coin state batching
* Remove homebrew rpaths from `_ssl.cpython.so` on macOS during build (fixes #18099)
* Aligned `lerna` and `nx` versions
* Set permissions in DEB `postinst.sh` for chrome-sandbox (fixes #17956)
- Add bytes type to `DerivationRecord.pubkey`
- Do not return unexpected coins from `get_coin_state`
- Fix memo plotid
- Filter out duplicate coins returned by `RequestPuzzleState`
- fix confusion between prompt and don't prompt in the plotnft CLI
- drop deprecated `authentication_public_key` from pool config
- Fixed some typos (thanks @wersfeds)
- Make sure to use no more than 61 cpus on windows (fixes #17967)
- Handle reorgs in data layer wallet
- Modify `VerifiedCredential.launch` to handle multiple source coins
- Add tx_config and extra_conditions to DID creation endpoint
- DL: Return exception and error from `get_kv_diff` when either of the hashes has no data
- Link trade cancellations with announcements
- Add coin id index to coin state batching
- Remove homebrew rpaths from `_ssl.cpython.so` on macOS during build (fixes #18099)
- Aligned `lerna` and `nx` versions
- Set permissions in DEB `postinst.sh` for chrome-sandbox (fixes #17956)
### Deprecated
macOS 11 (Big Sur) is deprecated. This release (2.4.0) will be the last release to support macOS 11
## 2.3.1 Chia blockchain 2024-04-28
### Added
* Added `warp.green` CATs (`wUSDC.b`, `wmilliETH.b`, `wUSDC`, `wmilliETH`, `wUSDT`) to the known CAT list
- Added `warp.green` CATs (`wUSDC.b`, `wmilliETH.b`, `wUSDC`, `wmilliETH`, `wUSDT`) to the known CAT list
## 2.3.0 Chia blockchain 2024-05-01
### Fixed
* Fixed `Install.ps1` for PowerShell 7.4
* Fixed readability of `Could not find parent coin` error log by printing hex and not bytes
* Fixed some shutdown log spam by ensuring signal objects for signal handlers (fixes #17578)
* Fixed negative plot sync durations not crashing the harvester (fixes #15027) (thanks @felixbrucker)
* Fixed log spam by only logging warnings about protocol mismatches for farmer and harvester
* Fixed log spam by logging rollbacks only if heights are actually deleted
* Fixed DID update metadata issue (fixes #17412)
* Fixed error codes and add more test coverage for message conditions
* Fixed non-development source install
* Fixed reorg from 0
* Fixed (again) Datalayer download banning
* Improved timelord skip peak logic.
* Used click.Path for make_offer command filename (fixes #10920)
* Handle when xch_target_address in config doesn't decode correctly (fixes #16995)
* Delete unconfirmed Clawback TX
* tighten up the check for duplicate UnfinishedBlocks before requesting that block
* Optimized Datalayer `get_key_by_node`
* Added test for observance of melted CAT balance (fixes #17727)
* increase backwards compatibility by using default values for peer file path
* Added `--skip-keyring` option to `chia start` and use in GUI (fixes #17848)
- Fixed `Install.ps1` for PowerShell 7.4
- Fixed readability of `Could not find parent coin` error log by printing hex and not bytes
- Fixed some shutdown log spam by ensuring signal objects for signal handlers (fixes #17578)
- Fixed negative plot sync durations not crashing the harvester (fixes #15027) (thanks @felixbrucker)
- Fixed log spam by only logging warnings about protocol mismatches for farmer and harvester
- Fixed log spam by logging rollbacks only if heights are actually deleted
- Fixed DID update metadata issue (fixes #17412)
- Fixed error codes and add more test coverage for message conditions
- Fixed non-development source install
- Fixed reorg from 0
- Fixed (again) Datalayer download banning
- Improved timelord skip peak logic.
- Used click.Path for make_offer command filename (fixes #10920)
- Handle when xch_target_address in config doesn't decode correctly (fixes #16995)
- Delete unconfirmed Clawback TX
- tighten up the check for duplicate UnfinishedBlocks before requesting that block
- Optimized Datalayer `get_key_by_node`
- Added test for observance of melted CAT balance (fixes #17727)
- increase backwards compatibility by using default values for peer file path
- Added `--skip-keyring` option to `chia start` and use in GUI (fixes #17848)
### Added
* Added Python 3.12 support
* Added new subscription and wallet sync protocol support (will be used by the wallet in future releases)
* Added Chip-25 Message Conditions support (https://github.com/Chia-Network/chips/pull/98)
* Added support for HTTP redirect for the pool url (thanks @felixbrucker)
* Added `use_delta_sync` option for faster wallet sync (thanks @felixbrucker)
* Added Datalayer RPC pagination.
* Added Datalayer multiple batch updates with `submit_on_chain` option.
* Added `get_network_info` RPC to daemon
* Added `new_unfinished_block2` support in Chia seeder
* Added Hint support for SpendSim
- Added Python 3.12 support
- Added new subscription and wallet sync protocol support (will be used by the wallet in future releases)
- Added Chip-25 Message Conditions support (https://github.com/Chia-Network/chips/pull/98)
- Added support for HTTP redirect for the pool url (thanks @felixbrucker)
- Added `use_delta_sync` option for faster wallet sync (thanks @felixbrucker)
- Added Datalayer RPC pagination.
- Added Datalayer multiple batch updates with `submit_on_chain` option.
- Added `get_network_info` RPC to daemon
- Added `new_unfinished_block2` support in Chia seeder
- Added Hint support for SpendSim
### Changed
* Transition `FullBlock`, `BlockRecord`, `CoinSpend`, and `HeaderBlock` to rust
* Move tests - all tests and infrastructure are now included in the chia-blockchain package under `chia/_tests`
* Remove `Announcement` class in favor of `Condition` subclasses
* Remove `ignore_max_send_amount`
* Use `psutil.cpu_affinity()` instead of `os.cpu_count()`
* Stop automatic transaction pushing by wallets
* Unify transaction pushing
* For testing purposes added support for non-ssl rpc clients
* Return TXs from CATWallet and Offer creation
* Remove all install.sh code that installs python and leave it to the user to install separately
* Remove old `unhashable` special case in `Streamable`
* Optimize `validate_removals()`
* Remove support for migrating peers from legacy file format
* Set unique peer filenames when swapping to/from testnets
* Cleaner cli output for rpc client fetch errors
* Optimized Datalayer subscription handling by using a `QueuedAsyncPool` for `DataLayer.periodically_manage_data()`
* Update README.md links for wiki & faq sunset
* Update README formatting and links (thanks @bknox83)
* Turned concatenation of strings to f-strings (thanks @eukub)
* Remove dead code in `multiprocess_validation`
* Improve logging of the height-to-hash and sub-epoch-summaries cache
* Pass full version in `Handshake` (thanks @felixbrucker)
* Separate protocol versions for full_node, farmer, harvester, wallet
* Optimized v1 to v2 DB upgrade
* Datalayer: Avoid manage data loop delay for self subscriptions
* Datalayer: Don't download DAT files that are already on disk
* Datalayer: `get_proof` optimizations - use get_ancestors_optimized
* Datalayer: Optimize insert/upsert/delete by using `get_node_by_key`
* Datalayer: stop using fee config setting and remove from initial config
* Datalayer: Optimize clean_node_table's query and speedup by leveraging relaxed foreign_keys
* Enabled compression for cli rpm
* Bump `chia_rs` to `0.6.1`
* Bump `clvm_tools` to `0.4.9`
* Bump `chiavdf` to `1.1.4`
* Bump `chiapos` to `2.0.4`
* Bump `clvm` to `0.9.9`
* Bump `aiohttp` to `3.9.2`
* Bump `anyio` to `4.3.0`
* Bump `boto3` to `1.34.46`
* Bump `aiosqlite` to `0.20.0`
* Bump `colorlog` to `6.8.2`
* Bump `cryptography` to `42.0.5`
* Bump `keyring` to `24.3.1`
* Bump `dnspython` to `2.5.0`
* Bump `watchdog` to `4.0.0`
* Bump `dnslib` to `0.9.24`
* Bump `typing-extensions` to `4.10.0`
- Transition `FullBlock`, `BlockRecord`, `CoinSpend`, and `HeaderBlock` to rust
- Move tests - all tests and infrastructure are now included in the chia-blockchain package under `chia/_tests`
- Remove `Announcement` class in favor of `Condition` subclasses
- Remove `ignore_max_send_amount`
- Use `psutil.cpu_affinity()` instead of `os.cpu_count()`
- Stop automatic transaction pushing by wallets
- Unify transaction pushing
- For testing purposes added support for non-ssl rpc clients
- Return TXs from CATWallet and Offer creation
- Remove all install.sh code that installs python and leave it to the user to install separately
- Remove old `unhashable` special case in `Streamable`
- Optimize `validate_removals()`
- Remove support for migrating peers from legacy file format
- Set unique peer filenames when swapping to/from testnets
- Cleaner cli output for rpc client fetch errors
- Optimized Datalayer subscription handling by using a `QueuedAsyncPool` for `DataLayer.periodically_manage_data()`
- Update README.md links for wiki & faq sunset
- Update README formatting and links (thanks @bknox83)
- Turned concatenation of strings to f-strings (thanks @eukub)
- Remove dead code in `multiprocess_validation`
- Improve logging of the height-to-hash and sub-epoch-summaries cache
- Pass full version in `Handshake` (thanks @felixbrucker)
- Separate protocol versions for full_node, farmer, harvester, wallet
- Optimized v1 to v2 DB upgrade
- Datalayer: Avoid manage data loop delay for self subscriptions
- Datalayer: Don't download DAT files that are already on disk
- Datalayer: `get_proof` optimizations - use get_ancestors_optimized
- Datalayer: Optimize insert/upsert/delete by using `get_node_by_key`
- Datalayer: stop using fee config setting and remove from initial config
- Datalayer: Optimize clean_node_table's query and speedup by leveraging relaxed foreign_keys
- Enabled compression for cli rpm
- Bump `chia_rs` to `0.6.1`
- Bump `clvm_tools` to `0.4.9`
- Bump `chiavdf` to `1.1.4`
- Bump `chiapos` to `2.0.4`
- Bump `clvm` to `0.9.9`
- Bump `aiohttp` to `3.9.2`
- Bump `anyio` to `4.3.0`
- Bump `boto3` to `1.34.46`
- Bump `aiosqlite` to `0.20.0`
- Bump `colorlog` to `6.8.2`
- Bump `cryptography` to `42.0.5`
- Bump `keyring` to `24.3.1`
- Bump `dnspython` to `2.5.0`
- Bump `watchdog` to `4.0.0`
- Bump `dnslib` to `0.9.24`
- Bump `typing-extensions` to `4.10.0`
### Known Issues
* Please be aware that logging at `DEBUG` log level may log your local keyring passphrase to the log file. Note this is **not** your key mnemonic.
- Please be aware that logging at `DEBUG` log level may log your local keyring passphrase to the log file. Note this is **not** your key mnemonic.
## 2.2.1 Chia blockchain 2024-03-4
### Fixed
* Fixed issue with finding bladebit and madmax plotters in CLI and GUI (thanks @nanofarmer)
* Fixed issue with banning peers due to incorrect `INVALID_TRANSACTIONS_FILTER_HASH` and `INVALID_BLOCK_COST` log errors (#17620)
- Fixed issue with finding bladebit and madmax plotters in CLI and GUI (thanks @nanofarmer)
- Fixed issue with banning peers due to incorrect `INVALID_TRANSACTIONS_FILTER_HASH` and `INVALID_BLOCK_COST` log errors (#17620)
## 2.2.0 Chia blockchain 2024-02-28
* Thanks to @bhorvitz for major help debugging a performance issue during coin DB lookup
- Thanks to @bhorvitz for major help debugging a performance issue during coin DB lookup
### Fixed
* Fix TX amount calculation in trade manager (fixes #16842)
* Subscribe to DIDs that come into wallet (fixes #17242)
* Remove duplicate short option from make_offer command (fixes #17371)
* add `SerializedProgram.to()` to simplify some code
* include information for `setuptools_scm` in git archives
* fix type mismatch with `Optional[bytes]` and `bytes` in `wallet/conditions.py`
* fixed typo in `get_coin_record_by_name` docstring (thanks @Abakrombie)
* Fixed readme links (thanks @Abakrombie)
* DL: Don't allow mirrors with empty urls (fixes #16920)
* DL: Improve input for CLI `add_missing_files` (fixes #17039)
* DL: Use unsubscribe queue to relax subscriptions lock
* DL: Use Datalayer banning logic for HTTP download failures
* extend the mempool tests for timelocks, and improve error codes
* extend measured sizes for plot check with value for larger K sizes (thanks @neurosis69)
* Add a few missing type annotations
* Log string header_hash on long validation warnings
* Fix sorted for dictionary keys of both bytes/xch
* Fixed an issue where `chia wallet did transfer` command mistreats the type of `fee`
* Fix signage point message for remote harvesters with large numbers of pools
* undo BlockRecord cache insert, when DB fails
* Warn if running `install-plotter.sh` as root
- Fix TX amount calculation in trade manager (fixes #16842)
- Subscribe to DIDs that come into wallet (fixes #17242)
- Remove duplicate short option from make_offer command (fixes #17371)
- add `SerializedProgram.to()` to simplify some code
- include information for `setuptools_scm` in git archives
- fix type mismatch with `Optional[bytes]` and `bytes` in `wallet/conditions.py`
- fixed typo in `get_coin_record_by_name` docstring (thanks @Abakrombie)
- Fixed readme links (thanks @Abakrombie)
- DL: Don't allow mirrors with empty urls (fixes #16920)
- DL: Improve input for CLI `add_missing_files` (fixes #17039)
- DL: Use unsubscribe queue to relax subscriptions lock
- DL: Use Datalayer banning logic for HTTP download failures
- extend the mempool tests for timelocks, and improve error codes
- extend measured sizes for plot check with value for larger K sizes (thanks @neurosis69)
- Add a few missing type annotations
- Log string header_hash on long validation warnings
- Fix sorted for dictionary keys of both bytes/xch
- Fixed an issue where `chia wallet did transfer` command mistreats the type of `fee`
- Fix signage point message for remote harvesters with large numbers of pools
- undo BlockRecord cache insert, when DB fails
- Warn if running `install-plotter.sh` as root
### Added
* Support for third-party, farmer-rewarded, Harvesters (Chip-22)
* Singleton fast forward
* Verify p2 delegated conditions signatures and add a new SigningMode for Tangem cards (thanks @MarvinQuevedo)
* DL: add upsert action
* DL: Add support for generating and verifying DataLayer Proofs of Inclusions `get_proof` and `verify_proof`
* Improve transparency of what full nodes are doing and where they spend their time with additional Mempool logging
* add feature to profile just the block validation
* Add `--override` flag to `make_offer`
* Add full node RPC `get_aggsig_additional_data` to get the aggsig additional data
* Add fork height & rolled_back_records to block event for metrics
* extend Block validation timing logs to measure just the CLVM and conditions
* Add support for defining a list of full node peers to connect to (thanks @felixbrucker)
* Add preliminary support for getting coin states in batches
* improve mempool reorg logic when the peak is a non-transaction block
* Add `additions` and `removals` to `get_offer_summary` API response (thanks @mikehw)
* improve handling of `UnfinishedBlock`s
* Add testnet11 constants to config if missing when configuring to run on testnet
* We have added several new translations in this release. Thanks to WNFT, advlive, hezoushe
- Support for third-party, farmer-rewarded, Harvesters (Chip-22)
- Singleton fast forward
- Verify p2 delegated conditions signatures and add a new SigningMode for Tangem cards (thanks @MarvinQuevedo)
- DL: add upsert action
- DL: Add support for generating and verifying DataLayer Proofs of Inclusions `get_proof` and `verify_proof`
- Improve transparency of what full nodes are doing and where they spend their time with additional Mempool logging
- add feature to profile just the block validation
- Add `--override` flag to `make_offer`
- Add full node RPC `get_aggsig_additional_data` to get the aggsig additional data
- Add fork height & rolled_back_records to block event for metrics
- extend Block validation timing logs to measure just the CLVM and conditions
- Add support for defining a list of full node peers to connect to (thanks @felixbrucker)
- Add preliminary support for getting coin states in batches
- improve mempool reorg logic when the peak is a non-transaction block
- Add `additions` and `removals` to `get_offer_summary` API response (thanks @mikehw)
- improve handling of `UnfinishedBlock`s
- Add testnet11 constants to config if missing when configuring to run on testnet
- We have added several new translations in this release. Thanks to WNFT, advlive, hezoushe
### Changed
* reorg optimizations
* bump `chia_rs` to `0.4.1`
* initiate phasing out of the `coin_solutions` name in JSON structs
* slight simplification to `get_min_fee_rate()`
* Remove `coin_solutions` from `SpendBundle` entirely
* use rust types for `VDFInfo`, `VDFProof` and `ClassgroupElement`
* evict entries continuously from `seen_unfinished_blocks`
* move `tools/legacy_keyring.py` to `chia/legacy/keyring.py`
* Rust `proof-of-space`, `reward chain` and `foliage` types
* DL: Compress `get_keys_values` output by hash.
* replace hardcoded value for `db_readers` (thanks @neurosis69)
* use rust types for `slots`, `SubEpochSummary` and `SubEpochData`
* Update default testnet to testnet11
* remove old work-around for a bug in version `1.1.4` and earlier
* use rust implementation of `SerializedProgram`
* Rework block fill logic to fill blocks with more SpendBundles (transactions)
* fix typo in logging
* increase farmer block fill rate to 60%
* Force the use of `coin_puzzle_hash` index to `get_unspent_lineage_info_for_puzzle_hash`
- reorg optimizations
- bump `chia_rs` to `0.4.1`
- initiate phasing out of the `coin_solutions` name in JSON structs
- slight simplification to `get_min_fee_rate()`
- Remove `coin_solutions` from `SpendBundle` entirely
- use rust types for `VDFInfo`, `VDFProof` and `ClassgroupElement`
- evict entries continuously from `seen_unfinished_blocks`
- move `tools/legacy_keyring.py` to `chia/legacy/keyring.py`
- Rust `proof-of-space`, `reward chain` and `foliage` types
- DL: Compress `get_keys_values` output by hash.
- replace hardcoded value for `db_readers` (thanks @neurosis69)
- use rust types for `slots`, `SubEpochSummary` and `SubEpochData`
- Update default testnet to testnet11
- remove old work-around for a bug in version `1.1.4` and earlier
- use rust implementation of `SerializedProgram`
- Rework block fill logic to fill blocks with more SpendBundles (transactions)
- fix typo in logging
- increase farmer block fill rate to 60%
- Force the use of `coin_puzzle_hash` index to `get_unspent_lineage_info_for_puzzle_hash`
## 2.1.4 Chia blockchain 2024-01-10
### Fixed
* Update chia_rs to 0.2.15 for AMD K10 architecture (fixes #16386)
- Update chia_rs to 0.2.15 for AMD K10 architecture (fixes #16386)
### Changed
* improved CPU usage due to tight loop in `send_transaction()`
* improve performance of `total_mempool_fees()` and `total_mempool_cost()`
* reduced the default maximum peer count to 40 from 80 (only applies to new configs)
* changed to `normal` SQlite db sync option (previously was `full`)
* reduced the mempool size to 10 blocks from 50 blocks (improves performance)
* improve performance of the mempool by batch fetching items from the db
- improved CPU usage due to tight loop in `send_transaction()`
- improve performance of `total_mempool_fees()` and `total_mempool_cost()`
- reduced the default maximum peer count to 40 from 80 (only applies to new configs)
- changed to `normal` SQlite db sync option (previously was `full`)
- reduced the mempool size to 10 blocks from 50 blocks (improves performance)
- improve performance of the mempool by batch fetching items from the db
## 2.1.3 Chia blockchain 2023-12-18
### Fixed
* Fixed a regression in 2.1.2 that could cause a farmer to fail to be able to create a block in some cases
- Fixed a regression in 2.1.2 that could cause a farmer to fail to be able to create a block in some cases
## 2.1.2 Chia blockchain 2023-12-13
### Fixed
* Fix deep reorgs and add tests
* Reduce possible Signage Point bursts by forwarding 4 most recent cached SPs only
* Fix condition serialization in RPC client
* Fix DID resync to not create DID wallets that don't belong to the current key
* Fix `get_block_spends` to work correctly post hard-fork
* Shutdown on startup failure and log to the log if possible
* fix issue with syncing testnet10 from 0
* Chunk SQLite query for old TR/TX conversion (fixes #16589)
* Allow set_status to overwrite trade in store (fixes #16461)
* Add cache to wallet node preventing resend of processing TX
* Correct `FullNodeDiscovery.pending_tasks` typo without `s`
* Fix `chia wallet coins list` by adding NFT, DID, DAO_CAT to wallets denominated in mojos
* generalize JSON serializer
* Fix possible peak height race
* Fix invalid sync request
* request blocks in batches of 32 instead of 33 (saves 3% bandwidth)
* Fix `get_block_generator` fork detection
* Fix set_status accidental arg (fixes #16817)
* Fix issues with upgrading Chia via RPM by claiming ownership of `/opt/chia` in the RPM
* clean out `/opt/chia` before install and after removal of rpm
- Fix deep reorgs and add tests
- Reduce possible Signage Point bursts by forwarding 4 most recent cached SPs only
- Fix condition serialization in RPC client
- Fix DID resync to not create DID wallets that don't belong to the current key
- Fix `get_block_spends` to work correctly post hard-fork
- Shutdown on startup failure and log to the log if possible
- fix issue with syncing testnet10 from 0
- Chunk SQLite query for old TR/TX conversion (fixes #16589)
- Allow set_status to overwrite trade in store (fixes #16461)
- Add cache to wallet node preventing resend of processing TX
- Correct `FullNodeDiscovery.pending_tasks` typo without `s`
- Fix `chia wallet coins list` by adding NFT, DID, DAO_CAT to wallets denominated in mojos
- generalize JSON serializer
- Fix possible peak height race
- Fix invalid sync request
- request blocks in batches of 32 instead of 33 (saves 3% bandwidth)
- Fix `get_block_generator` fork detection
- Fix set_status accidental arg (fixes #16817)
- Fix issues with upgrading Chia via RPM by claiming ownership of `/opt/chia` in the RPM
- clean out `/opt/chia` before install and after removal of rpm
### Added
* Allow DApps to use WalletConnect to sign customized puzzles by extending sign APIs
* Add support for lists of peers in the config (thanks @felixbrucker)
* Update to support looking up mnemonic by just the first 4 letters of each word
* Allow the daemon to use TLS v1.2 via config flag (thanks @dkackman)
* Add systemd init files to CLI-only Linux packages
* DL: remove data from the DB on unsubscribe
- Allow DApps to use WalletConnect to sign customized puzzles by extending sign APIs
- Add support for lists of peers in the config (thanks @felixbrucker)
- Update to support looking up mnemonic by just the first 4 letters of each word
- Allow the daemon to use TLS v1.2 via config flag (thanks @dkackman)
- Add systemd init files to CLI-only Linux packages
- DL: remove data from the DB on unsubscribe
### Changed
* ban peers for 10 minutes when violating consensus rules
* Remove `tx_endpoint` from `select_coins`
* DID wallet coin_added by @ytx1991 in https://github.com/Chia-Network/chia-blockchain/pull/16256
* Use network overrides for default port for WalletPeers
* Improve clarity of legacy support policy language
* Add config option to set rpc timeout and use it for simulator tests
* rename `ClassgroupElement.from_bytes()`
* Optimize CRCAT trades
* harmonize `SerializedProgram` with `Program`
* Swap some info logs in seeder to warning
* Distinguish `insufficient_partials` from `invalid_partials`
* transition away from `__bytes__` conversion for fixed-size integers
* Use BLS from `chia_rs` and stop using `blspy` wheel in chia-blockchain
* simplify the interface to `mempool_manager.new_peak()`
* reduce redundant calls to compute the header hash
* Change `-h` to `-k` for `--key` flag for datalayer `get_value` cli command
* Update `chia_rs` to `0.2.13`
* Update `clvm_tools` to `0.4.7`
* Update `aiohttp` to `3.9.1` (fixes a WebSocket bug introduced in 3.9.0)
* Change `chia show keys --show-mnemonic-seed` to also show farmer private key (thanks xchdata1)
* Adjust ban times when unable to download properly DL DAT files
* return `List[TransactionRecord]` from nft bulk mint functions
* DL: delete full files when subscribed to a datastore per config
- ban peers for 10 minutes when violating consensus rules
- Remove `tx_endpoint` from `select_coins`
- DID wallet coin_added by @ytx1991 in https://github.com/Chia-Network/chia-blockchain/pull/16256
- Use network overrides for default port for WalletPeers
- Improve clarity of legacy support policy language
- Add config option to set rpc timeout and use it for simulator tests
- rename `ClassgroupElement.from_bytes()`
- Optimize CRCAT trades
- harmonize `SerializedProgram` with `Program`
- Swap some info logs in seeder to warning
- Distinguish `insufficient_partials` from `invalid_partials`
- transition away from `__bytes__` conversion for fixed-size integers
- Use BLS from `chia_rs` and stop using `blspy` wheel in chia-blockchain
- simplify the interface to `mempool_manager.new_peak()`
- reduce redundant calls to compute the header hash
- Change `-h` to `-k` for `--key` flag for datalayer `get_value` cli command
- Update `chia_rs` to `0.2.13`
- Update `clvm_tools` to `0.4.7`
- Update `aiohttp` to `3.9.1` (fixes a WebSocket bug introduced in 3.9.0)
- Change `chia show keys --show-mnemonic-seed` to also show farmer private key (thanks xchdata1)
- Adjust ban times when unable to download properly DL DAT files
- return `List[TransactionRecord]` from nft bulk mint functions
- DL: delete full files when subscribed to a datastore per config
## 2.1.1 Chia blockchain 2023-10-11
### Fixed
- Changed electron version for GUI to 25.9.0 to fix whitescreen issues seen on some linux systems (fixes #16538)
## 2.1.0 Chia blockchain 2023-10-05
### Added
- Credential Restricted CATs
- Add timelock information to Trades and Transactions
- Add ergonomic timelock parsing to RPCs
@@ -370,6 +394,7 @@ macOS 11 (Big Sur) is deprecated. This release (2.4.0) will be the last release
- Bladebit Hybrid disk mode
### Changed
- Remove CAT1 UX guards
- Dedup offer cancellation logic
- upgrade electron-builder to 24.6.3 and Lerna to 7.1.3
@@ -394,6 +419,7 @@ macOS 11 (Big Sur) is deprecated. This release (2.4.0) will be the last release
- Update install-gui.sh to check Node 18 and npm 9
### Fixed
- Fixed python3-venv in install.sh (thanks @d1m1trus)
- Change include_standard_libraries for CLVM compilation default to True
- Fix `GENERATOR_MOD2` to have the same cost as `GENERATOR_MOD`
- Subscribe to the change children of CATs
@@ -593,11 +623,13 @@ macOS 11 (Big Sur) is deprecated. This release (2.4.0) will be the last release
## 1.8.1 Chia blockchain 2023-05-17
### Changed
- Updated testnet softfork height so softfork rules take effect on testnet immediately
- Move to Discord in docs and install scripts (#15193)
- Optimize compact proofs
### Fixed
- Issue where CLI only listed first 50 NFTs by hardcoding `num` param when listing NFTs from CLI
- Issue where wallet might display `RuntimeError: dictionary changed size during iteration` by avoiding dict changes while iterating in `handle_nft`
- Issue where node had trouble keeping peers with `assert self.peak is not None` error by not adding transactions to the mempool before it has a valid peak (fixes #15217)
@@ -605,6 +637,7 @@ macOS 11 (Big Sur) is deprecated. This release (2.4.0) will be the last release
## 1.8.0 Chia blockchain 2023-05-03
### Added
- Added `chia completion` command
- Added wallet_removed to `state_changes` messages to support wallet removal in GUI
- Add support to `cat_spend` RPC for running TAIL
@@ -613,6 +646,7 @@ macOS 11 (Big Sur) is deprecated. This release (2.4.0) will be the last release
- DataLayer plugin support and infrastructure
### Changed
- Fix soft fork to 60 days
- Don't subscribe to all coin ids in the DB
- Handle trade coins in the `try` block of `new_coin_state`
@@ -633,6 +667,7 @@ macOS 11 (Big Sur) is deprecated. This release (2.4.0) will be the last release
- List the columns for `INSERT` into `coin_record`
### Fixed
- Disconnect untrusted peers if we find a trusted synced one
- Only compile CLVM if source newer than hex
- Fixed windows issues with passphrase prompt on CLI by flushing prompt (Fixes #14889)
@@ -659,6 +694,7 @@ macOS 11 (Big Sur) is deprecated. This release (2.4.0) will be the last release
## 1.7.1 Chia blockchain 2023-03-22
### Added
-`get_transaction_memo` wallet RPC
-`set_wallet_resync_on_startup` wallet RPC to reset wallet sync data on wallet restart
-`nft_count_nfts` wallet RPC - counts NFTs per wallet or for all wallets
@@ -671,6 +707,7 @@ macOS 11 (Big Sur) is deprecated. This release (2.4.0) will be the last release
-`Rate limiting` log messages are themselves rate limited
- Notified GUI when wallets are removed
@@ -686,6 +723,7 @@ macOS 11 (Big Sur) is deprecated. This release (2.4.0) will be the last release
- Changed mempool backend to use an in-memory SQLite DB
### Fixed
- Quieted wallet log output for `Record: ... not in mempool` (fixes #14452)
- Quieted log output for `AttributeError: 'NoneType' object has no attribute '_get_extra_info`
- Reduced log output for `Using previous generator for height`
@@ -701,6 +739,7 @@ macOS 11 (Big Sur) is deprecated. This release (2.4.0) will be the last release
- Improved the accuracy of the wallet sync status indication
### Deprecated
-`curry-and-treehash` Chialisp library replaced by new `curry` library
## 1.7.0 Chia blockchain 2023-02-15
@@ -1190,7 +1229,7 @@ macOS 11 (Big Sur) is deprecated. This release (2.4.0) will be the last release
- Added RPCs for NFT (see <https://docs.chia.net/docs/12rpcs/nft_rpcs>)
- Enable stricter mempool rule when dealing with multiple extra arguments
- Added a retry when loading pool info from a pool at 2 minute intervals
- Added CLI options `--sort-by-height` and –sort-by-relevance` to `chia wallet get_transactions`
- Added CLI options `--sort-by-height` and `-–sort-by-relevance` to `chia wallet get_transactions`
- Harvester: Introduce `recursive_plot_scan`
- Add libgmp-dev to Bladebit installation - thanks to @TheLastCicada
- Add support for multiple of the same CAT in aggregate offers - Thanks to @roseiliend
@@ -1414,7 +1453,7 @@ There is a known issue where harvesters will not reconnect to the farmer automat
- Added new CLI option, chia keys derive, to allow deriving any number of keys in various ways. This is particularly useful to do an exhaustive search for a given address using chia keys derive search.
- Div soft fork block height set to 2,300,000.
- Added the ability to add an optional fee for creating and changing plot NFTs.
- Added *multiprocessing_start_method:* entry in config.yaml that allows setting the python *start method* for multiprocessing (default is *spawn* on Windows & MacOS, *fork* on Unix).
- Added `multiprocessing_start_method:` entry in config.yaml that allows setting the python _start method_ for multiprocessing (default is `spawn` on Windows & MacOS, `fork` on Unix).
- Added option to "Cancel transaction" accepted offers that are stuck in "pending".
### Changed
@@ -1479,7 +1518,7 @@ There is a known issue where harvesters will not reconnect to the farmer automat
- If you start with wallet mode and then switch to farmer mode and back to wallet mode, the full node will continue to sync in the background. To get the full node to stop syncing after switching to wallet mode, you will need to close the Chia and relaunch the Chia app.
- Wallets with large number of transactions or large number of coins will take longer to sync (more than a few minutes), but should take less time than a full node sync. It could fail in some cases.
- Huge numbers cannot be put into amount/fee input for transactions in the GUI.
- Some Linux systems experience excessive memory usage with the value *default*/*python_default*/*fork* configured for *multiprocessing_start_method:*. Setting this value to *spawn* may produce better results, but in some uncommon cases, is know to cause crashes.
- Some Linux systems experience excessive memory usage with the value `default`/`python_default`/`fork` configured for `multiprocessing_start_method:`. Setting this value to `spawn` may produce better results, but in some uncommon cases, is know to cause crashes.
- Sending a TX with too low of a fee can cause an infinite spinner in the GUI when the mempool is full.
- Workaround: Restart the GUI, or clear unconfirmed TX.
- Claiming rewards when self-pooling using CLI will show an error message, but it will actually create the transaction.
@@ -1489,7 +1528,7 @@ There is a known issue where harvesters will not reconnect to the farmer automat
### Added
- Farmers rejoice: today's release integrates two plotters in broad use in the Chia community: Bladebit, created by @harold-b, and Madmax, created by @madMAx43v3r. Both of these plotters bring significant improvements in plotting time. More plotting info [here](https://github.com/Chia-Network/chia-blockchain/wiki/Alternative--Plotters).
- This release also includes several important performance improvements as a result of last weekends "Dust Storm", with two goals in mind: make sure everyone can farm at all times, and improve how many transactions per second each node can accept, especially for low-end hardware. Please know that these optimizations are only the first wave in a series of many over the next few releases to help address this going forward. While the changes we have implemented in this update may not necessarily solve for *every* possible congestion scenario, they should go a long way towards helping low-end systems perform closer to expectations if this happens again.
- This release also includes several important performance improvements as a result of last weekends "Dust Storm", with two goals in mind: make sure everyone can farm at all times, and improve how many transactions per second each node can accept, especially for low-end hardware. Please know that these optimizations are only the first wave in a series of many over the next few releases to help address this going forward. While the changes we have implemented in this update may not necessarily solve for _every_ possible congestion scenario, they should go a long way towards helping low-end systems perform closer to expectations if this happens again.
- Performance improvements for nodes to support higher transaction volumes, especially for low powered devices like RaspBerry Pi. Full details at [#9050](https://github.com/Chia-Network/chia-blockchain/pull/9050).
- Improved multi-core usage through process pools.
- Prioritized block validation.
@@ -1535,7 +1574,7 @@ We have some great improvements in this release: We launched our migration of ke
### Changed
- Truncate points_[found,acknowledged]_24h to 24 hours at each signage point.
- Truncate points\_[found,acknowledged]\_24h to 24 hours at each signage point.
- Improved reliability of test_farmer_harvester_rpc.py, by increasing the interval between harvester checks, which should avoid spamming logs with excessive plot refreshing and cache updates.
- Thanks @cross for change that allows using IPv6 address in config.yaml for remote harvesters and other chia services.
- Change to stop creating unused indexes in block_records and full_blocks tables.
@@ -1662,7 +1701,7 @@ submissions. Thanks to @RuiZhe for Chinese, Traditional; @HansCZ for Czech;
### Changed
- Thanks @altendky for Correct * to ** kwargs unpacking in time_out_assert().
- Thanks @altendky for Correct `*` to `**` kwargs unpacking in time_out_assert().
- Thanks @altendky for changing the default to paginate to chia wallet get_transactions to address cases such as piping and output redirection to a file where the command previously just hung while waiting for the user to press c for the next page.
- Removed commented-out debug breakpoints.
- Enabled Rust condition checker to add the ability to parse the output conditions from a generator program in Rust. It also validates some of the conditions in Rust.
@@ -1761,7 +1800,7 @@ OG plots made before this release can continue to be farmed side by side with th
-`chia configure` now supports command line updates to peer count and target peer count.
- Thank you @gldecurtins for adding logging support for remote syslog.
- Thanks to @maran and @Animazing for adding farmer and pool public key display to the RPC.
- We have added translations for Hungarian, Belarusian, Catalan, and Albanian. For Hungarian thanks to @SirGeoff, @azazio@onokaxxx, @rolandfarkasCOM, @HUNDavid , @horvathpalzsolt, @stishun74, @tusdavgaming, @idotitusz, @rasocsabi, @mail.kope, @gsprblnt, @mbudahazi, @csiberius, @tomatos83, @zok42, @ocel0t, @rwtoptomi, @djxpitke, @ftamas85, @zotya0330, @fnni, @kapabeates, @zamery, @viktor.gonczi, @pal.suta, @miv, and @Joeman_. For Belarusian thanks to @shurix83, @haxycgm, and @metalomaniax. For Catalan thank you to @Poliwhirl, @Pep-33, @marqmarti, @meuca, @Guiwdin, @carlescampi, @jairobtx, @Neoares, @darknsis, @augustfarrerasgimeno, and @fornons. Finally for Albanian thanks to @ATSHOOTER and @lakedeejay. We apologize if we missed anyone and welcome corrections.
- We have added translations for Hungarian, Belarusian, Catalan, and Albanian. For Hungarian thanks to @SirGeoff, @azazio@onokaxxx, @rolandfarkasCOM, @HUNDavid , @horvathpalzsolt, @stishun74, @tusdavgaming, @idotitusz, @rasocsabi, @mail.kope, @gsprblnt, @mbudahazi, @csiberius, @tomatos83, @zok42, @ocel0t, @rwtoptomi, @djxpitke, @ftamas85, @zotya0330, @fnni, @kapabeates, @zamery, @viktor.gonczi, @pal.suta, @miv, and @Joeman\_. For Belarusian thanks to @shurix83, @haxycgm, and @metalomaniax. For Catalan thank you to @Poliwhirl, @Pep-33, @marqmarti, @meuca, @Guiwdin, @carlescampi, @jairobtx, @Neoares, @darknsis, @augustfarrerasgimeno, and @fornons. Finally for Albanian thanks to @ATSHOOTER and @lakedeejay. We apologize if we missed anyone and welcome corrections.
- Our release process is now fully automated from tagging a release to publishing installers to all of the appropriate locations and now makes the release artifacts available via torrents as well.
- All Chia repositories now automatically build M1 wheels and create a new MacOS M1 native installer.
- New CLI command `chia plotnft` to manage pools.
@@ -2013,7 +2052,7 @@ Batch process weight proof epochs in groups of 900 to fit below May 2020 sqlite
### Changed
- The plotter in bitfield mode is much improved in plotting speed (~15% faster than in 1.0.3), now requires 28% less temporary space (238.3 GiB/256 GB), and now uses its maximum memory in phase 1 and only needs 3389MiB for optimal sorting of a k32. Total writes should also be down by about 20%. On almost all machines we expect bitfield to be as fast or faster. For CPUs that predate the [Nehalem architecture](https://en.wikipedia.org/wiki/Nehalem_(microarchitecture)), bitfield plotting will not work and you will need to use no bitfield. Those CPUs were generally designed before 2010.
- The plotter in bitfield mode is much improved in plotting speed (~15% faster than in 1.0.3), now requires 28% less temporary space (238.3 GiB/256 GB), and now uses its maximum memory in phase 1 and only needs 3389MiB for optimal sorting of a k32. Total writes should also be down by about 20%. On almost all machines we expect bitfield to be as fast or faster. For CPUs that predate the [Nehalem architecture](<https://en.wikipedia.org/wiki/Nehalem_(microarchitecture)>), bitfield plotting will not work and you will need to use no bitfield. Those CPUs were generally designed before 2010.
- The `src` directory in chia-blockchain has been changed to `chia` to avoid namespace collisions.
- GUI install builds have been simplified to rely on one `.spec` file in `chia/`
- The weight proof timeout can now be configured in config.yaml.
@@ -3158,7 +3197,7 @@ relic. We will make a patch available for these systems shortly.
### Added
- There is now full transaction support on the Chia blockchain. In this initial Beta 1.0 release, all transaction types are supported though the wallets and UIs currently only directly support basic transactions like coinbase rewards and sending coins while paying fees. UI support for our [smart transactions](https://github.com/Chia-Network/wallets/blob/main/README.md) will be available in the UIs shortly.
- Wallet and Node GUI’s are available on Windows, Mac, and desktop Linux platforms. We now use an Electron UI that is a full light client wallet that can also serve as a node UI. Our Windows Electron Wallet can run standalone by connecting to other nodes on the network or another node you run. WSL 2 on Windows can run everything except the Wallet but you can run the Wallet on the native Windows side of the same machine. Also the WSL 2 install process is 3 times faster and *much* easier. Windows native node/farmer/plotting functionality are coming soon.
- Wallet and Node GUI’s are available on Windows, Mac, and desktop Linux platforms. We now use an Electron UI that is a full light client wallet that can also serve as a node UI. Our Windows Electron Wallet can run standalone by connecting to other nodes on the network or another node you run. WSL 2 on Windows can run everything except the Wallet but you can run the Wallet on the native Windows side of the same machine. Also the WSL 2 install process is 3 times faster and _much_ easier. Windows native node/farmer/plotting functionality are coming soon.
- Install is significantly easier with less dependencies on all supported platforms.
- If you’re a farmer you can use the Wallet to keep track of your earnings. Either use the same keys.yaml on the same machine or copy the keys.yaml to another machine where you want to track of and spend your coins.
- We have continued to make improvements to the speed of VDF squaring, creating a VDF proof, and verifying a VDF proof.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.