github Chia-Network/chia-blockchain 1.6.1

latest releases: 2.4.3, 2.4.3-rc3, 2.4.3-rc2...
22 months ago

1.6.1 is now available for download. This release adds Bladebit2, and its new disk based plotting support, as well as updated support for multi-asset trading through our Offers including NFT for NFT.

For Farmers:
Bladebit2 is coming out of Beta and is now available with support for disk based plotting along with the existing RAM based plotting accessible via the CLI or the GUI. For more information about the Bladebit2 update, see our blog post.

For End Users:
Offers update:

⚠️ Offers that are generated with this version 1.6.1 cannot be accepted with older versions of Chia. Chia 1.6.1 can accept any offer, including ones created with older versions.

  • We’ve completely redesigned the Offer creation experience so you can now create Offers and trade any combination of XCH, CATs, and NFTs
  • Spacescan has been added as another option to share your offers

NFT updates:

  • NFT for NFT trading is now available through the new Offers creation experience
  • Gallery now supports NFTs of video, audio, 3d, and document file formats so you can easily see and identify all of the NFTs that you own
  • When viewing an offer you can see the original minter DID to confirm you are buying from the correct collection
  • New setting to auto-hide or show NFTs that have been tagged as sensitive content
  • NFTs are now cached locally with controls to limit the amount of disk space used to help improve performance loading your NFT gallery

General update:

  • Wallet labeling so that you can assign a more memorable name to your wallet.
  • Windows installer has been updated to provide a more familiar installation experience on Windows.
  • Added beta logging state to enable capturing more details to help understand the wallet’s current conditions and make the log files more easily accessible
  • Added a beta logging state to enable capturing more details to help understand the wallet’s current conditions and make the log files more easily accessible

For Developers:

  • Improved message signing so you can use NFT ID, DID, wallet key to sign with in addition to using the HD path
  • New notification RPCs that can enable a user to send a notification to another wallet with a minimum spend to help prevent abuse. The initial use case is to support notifying NFT owners that they have an offer made on their NFT.

BTW, Security:
You may have heard about the recent OpenSSL vulnerabilities (GHSA-h8jm-2x53-xhp5, GHSA-8rwr-x37p-mx23). All native Chia installers use the 1.1.1 branch of OpenSSL and were never vulnerable to this attack. The concern only applies to source install power users, making it essential for these users to confirm they are not operating a vulnerable OpenSSL version.
We do suggest those operating on OpenSSL 3.0 and later ensure the patch status of your current version prior to running the source install as a security measure.
To check the version of OpenSSL on your system, you can run the following from your terminal:
python -c 'import ssl; print(ssl.OPENSSL_VERSION)')

Added

  • New node RPC for fee estimates /get_fee_estimate
  • Added support for labeling (naming) wallets (keys)
  • Added CLI option chia keys label
  • Added REMARK to ConditionOpcodes
  • Prevent creation of offers with 100% royalties
  • Added chia peer command to replace chia show -c
  • New wallet RPC /nft_mint_bulk and preliminary support for bulk minting
  • New wallet RPC /nft_calculate_royalties
  • New wallet signing RPCs /sign_message_by_address, /sign_message_by_id
  • New wallet CLI option chia wallet sign_message
  • New wallet RPC /push_transactions (thanks @stmharry)
  • New daemon command running_services to list all running services
  • Code coverage is now generated
  • Added on-chain wallet notification mechanism with CLI
  • Added log warning when inserting into the mempool takes longer than 2 seconds
  • Implement daemon system metrics logger based on beta config
  • Only produce plotter beta logs if beta: true, not if it just exists

Changed

  • RPC incompatibility: /get_routes and /healthz now return a boolean for success (previously was a string)
  • New Windows installer created with electron-builder
  • Blsspy updated to 1.0.16
  • Chiavdf updated to 1.0.7
  • Chiapos updated to 1.0.11
  • Clvm_tools updated to 0.4.5
  • Chia_rs updated to 0.1.14
  • Clvm-tools-rs updated to 0.1.24
  • Aiohttp updated to 3.8.3
  • Colorlog updated to 6.7.0
  • Concurrent-log-handler updated to 0.9.20
  • Cryptography updated to 36.0.2
  • Filelock updated to 3.8.0
  • Keyring updated to 23.6.0
  • Click updated to 8.1.3
  • Dnspython updated to 2.2.1
  • Dnslib updated to 0.9.22
  • Zstd updated to 1.5.2.6
  • Updated various DataLayer CLI commands to accept root hash parameter
  • Pool config is updated after the wallet is fully synced (#12631)
  • Prior to adding DID coins, ensure coin is valid
  • Adding submodule branch override to Install-gui.ps1
  • Reverted change to change OR REPLACE -> OR FAIL in wallet_coin_store
  • Changed log level to INFO in Receiver.reset for plot sync
  • Modified /nft_get_info to include p2_address
  • Simplified WalletStateManager.coin_added()
  • Minor change to DataLayer mirror sync
  • Removed unnecessary split when starting daemon
  • Removed mostly unused wallet action store (wallet_action_store.py) and rearrange code as needed
  • Removed unused all_puzzle_hashes from wallet_puzzle_store
  • Removed "Total iterations since start" from chia show -s
  • Removed rate-limited wallet
  • Removed the beta program link from the warning in the CLI
  • Removed --enable-data-server from chia configure CLI
  • Improved RPC server start/stop
  • Drop partially implemented BIP39 passphrase support
  • Simplify key deletion in Keychain
  • Simplify public key getters in Keychain
  • Cleanup and reuse of wallet code
  • Return before fetching weight proof if a secondary sync task is running (Thanks @olivernyc!)
  • Dropped unused chia_minor_release_number
  • Just raise, not raise e when reraising
  • Optimized simple_solution_generator()
  • Allow developers to easily use standard Chia clvm puzzles and libraries
  • Skipped validating GTElement in mempool
  • Improved logging for chia plotters version errors
  • Performance improvements in subscribe_to_phs using CoinState from chia_rs
  • Performance improvements in wallet syncing by doing bulk coin record lookups
  • Performance improvements in wallet syncing by caching the last derivation path
  • Performance improvements in offer parsing by implementing a more efficient Program.uncurry()
  • Performance improvements in puzzle parsing by using rust parser (chia_rs) for Program.from_bytes()
  • Performance improvements in wallet by caching the uncurried puzzle in UncurriedPuzzle class
  • Implement generator_for_single_coin() in python instead of clvm
  • Optimize get_block_store by not parsing the full block
  • Avoid creating a list and enable short circuit behavior in bundle_suitable_for_compression()
  • Performance improvements when dealing with lots of trades (offers) by using a lookup table and not loading all trades from disk upfront
  • Minimized a chance where sudo prompts users for password in install.sh
  • Full_node: Dropped unused ultra priority lock
  • Full_node: Set defaults in SyncStore
  • Various performance and code cleanup in mempool handling
  • Significant scalability improvements in NFT handling
  • Minter DID now shown in output of chia wallet nft get_info and in GUI
  • Treehash optimization for DID wallet
  • Performance improvements by using get_puzzle_and_solution_for_coin() from chia_rs
  • Adds handling for daemon not sending initial_target_state (thanks @bolshoytoster) (#10058)
  • Reduced log noise during wallet syncing
  • Run get_puzzle_and_solution_for_coin and get_block_header expensive API requests in separate thread
  • Do not trigger the pending tx handler in some cases. Eliminates multiple ALREADY_INCLUDING_TRANSACTION errors for some operations, notably claiming self-pooling rewards
  • Defined a shared API for all wallet via a WalletProtocol class
  • Recompress CLVM generators
  • Removed unnecessary logging during plot creation
  • Made IP section in connections table 1 character wider to handle IPV6
  • Deprecated chia plotters install command
  • Improved handling of unfinished block messages
  • Stripped leading and trailing whitespace before bech32 decoding in various places
  • Fixed issues in the GUI with sending CAT transactions with a fee
  • Changed ctx.exit -> raise click.ClickException in CLI
  • Improved harvester logging

Fixed

  • Fixed a few instances of coin name logging
  • Fixed chia farm summary if using a remote full node (thanks @yan74)
  • Fixed comments in initial config where puzzle hash should be receive address (thanks @hugepants)
  • Fixed locking of main thread in validate_weight_proof_inner
  • Fixed several bugs with untrusted sync, and correct sync status
  • Fixed performance issue in wallet with offers
  • Minor fixes for related to running serialized programs
  • Fixed bug in remove_plot_directory when removing a directory not currently in the plot directory list (thanks @joshpainter)
  • Fixed the run_block utility to use chialisp_deserialization
  • Minor comment typo, hinting, and fixture cleanup
  • Fixed a crash that happens when plot directory config is empty
  • Set log levels per handler / Fix the log level in beta mode
  • Minimal fixup for daemon signal handling regression
  • Fixed CAT offer aggregation edge case (#13464)
  • Fixed memos & minter DID
  • Fixed logo URL in readme.md (thanks @SametBasturkk)
  • Fixed typo in wallet code puzlle -> puzzle (thanks @wizicer)
  • Fixed chia show -s with other options as well
  • Fixed issue with the wallet not syncing in untrusted mode, if connected to a trusted peer that is not synced
  • Improve handling of not synced peers
  • Sped up creation of puzzle hashes in the wallet
  • Replaced several handled tracebacks with standard log messages
  • Show Usage when running chia plotters (#13690)
  • Fixed marking the successfully added spend bundles to the reinitialized mempool when a new peak is available
  • Fixed errors output when stopping the daemon on CLI
  • Fixed incompatibility with Python 3.10.8 around accessing the _waiters private attribute of asyncio Semaphore class (#13636)
  • Fixed DataLayer issues with subscribing after unsubscribing to the same store/singleton (#13589)
  • Report to GUI when DID wallet is created
  • Check if offer file is present before trying to take offer
  • Properly catch and handle errors during shutdown while syncing
  • Fixed proof lookup and plot caching with bladebit plots that have dropped entries (#13084)
  • Fixed issues with accepting Datalayer offers where the offer inclusions has matching key/value data for both maker and taker inclusions
  • Fixed issues where ChiaLisp was compiled during import requiring write access to the directory (#11257) (thanks @lourkeur). To force compilation, developers can set environment variable CHIA_DEV_COMPILE_CLVM_ON_IMPORT
  • Removed tracking of dropped transactions dropped_tx (thanks @roseiliend)
  • Fixed a breaking change in get_puzzle_and_solution RPC

Known Issues

  • The new fee estimate RPC remains in development, and often returns a fee of zero regardless of the state of the mempool
  • Log files at WARNING level will show “Fee estimator error”. This is a harmless error and should be ignored.
  • When sending an NFT to a burn address will show the correct image, however the title and other metadata may not show the correct information. Check the NFTID and the image to confirm that you are sending the correct NFT to the burn address.
  • Certain characters used in the NFT title may trigger a javascript error message

New Contributors

Full Changelog: 1.6.0...1.6.1

Don't miss a new chia-blockchain release

NewReleases is sending notifications on new releases.