Skip to content

Releases: Chia-Network/chia-blockchain

1.6.1-b1

26 Sep 19:41
81837a9
Compare
Choose a tag to compare
1.6.1-b1 Pre-release
Pre-release

This is the 1.6.1-b1 pre-release.
This is the first pre-release that will produce the first beta (-b1) builds for an upcoming 1.6.1 release.
Should the testing of this pre-release surface issues that need to be fixed prior to a full release, changes can be merged to main, and another pre-release will be created, which will be tagged as 1.6.1-b2.
The tag 1.6.1-b1 conforms to PyPi, NPM, and all other file extensions for various packages we build.

What's Changed

Read more

1.6.1-a1

21 Sep 19:40
3570752
Compare
Choose a tag to compare
1.6.1-a1 Pre-release
Pre-release

Alpha builds = internal CI testing

This is the 1.6.1-a1 pre-release.
This is the first pre-release that will produce the first alpha (-a1) builds to verify workflow functionality.
The testing of this pre-release should surface issues that result in fixes made to main.
If needed, the next subsequent build made to verify the functionality of a workflow should tagged as 1.6.1-a2.
The tag 1.6.1-a1 conforms to PyPi versioning, NPM versioning, and all other file extensions for various packages we build.

1.6.0

20 Sep 18:53
bf4759b
Compare
Choose a tag to compare

1.6.0 is now available for download. This release is largely focused on providing a new primitive called DataLayer for developers. We also have added a new feature enabling dust filtering when syncing a wallet.

Key features of DataLayer include:

Key Value Store

  • Tabular data can be stored as key/value pairs
  • Keys and values of each row are stored as binary and can be any data type, including for example JSON
  • The hash of the table (“root”) is stored in a singleton on chain

Data Propagation

  • Datalayer data can be hosted by most/any HTTP server, including cloud providers like AWS, Azure, GCP
  • Support for multiple URL mirrors of the data. Mirror URLs are announced on-chain to enable automatic discovery
  • Includes a basic HTTP server with Chia
  • Anyone can participate in ensuring the durability of blockchain data by hosting a mirror

Proof Of Inclusion

  • The Chia DataLayer singleton can be spent by its owner in a way that cryptographically proves the inclusion of a particular row (or multiple rows), specified by the hash of the data in that row

Two-Party Commit

  • Using DataLayer offer files and proofs of inclusion, two people can coordinate a simultaneous (“atomic”) update of their respective data

For end users:

Dust filtering

This is a new feature for end users that enables a wallet sync to ignore dust when calculating wallet balances. This benefits dusted wallets by further improving wallet sync speed through trusted or untrusted sync. After the first 200 transactions, the wallet will ignore coins below the dust size of 1 million mojos. Both the dust size threshold and the number of transactions are configurable in config.yaml. When dust is filtered the coin values do not show up in any transaction list and will also result in balances being calculated without the value of the dust being filtered. See our FAQ for more details.

Added

Changed

  • Delayed pool config update until after sync
  • Minor change to handling sync height to avoid race condition with blockchain DB
  • Ignore FileNotFoundError when checking SSL file permissions if the file doesn’t exist

Fixed

  • Fixed missing wallet state_changed events for GUI
  • Fixed several bugs related to wallet sync status
  • Fixed GUI issue for CAT offers where the CAT Tail would not show in the tooltip for Unknown CATs (Chia-Network/chia-blockchain-gui#950)

Known Issues

  • The CLI command chia configure --enable-data-server, and the config.yaml parameter at data_layer.run_server have no effect, and will be removed in the future
  • DataLayer offers cannot be accepted (take_offer) if the offer has inclusions for the exact same key/value data for both maker and taker inclusions.

1.5.1

23 Aug 17:26
6ec6bd7
Compare
Choose a tag to compare

Version 1.5.1 of the Chia reference client is now available to download. This release includes some under the hood improvements and fun new features.

Performance optimizations:

  • Wallet sync performance improvements when connected to a fully synced local trusted node or while in wallet only mode syncing to get much better speed and accuracy when syncing wallets with many coins and transactions. Wallet users will only see the full benefit if connected to a 1.5.1 node.
  • Full node sync performance improvements to decrease full node sync times as well as reduce system resources required to run a node and farm efficiently
  • Wallet syncing for the last used wallet key will begin as soon as the wallet service is started

NFT related updates:

  • NFT for CAT trading support in the GUI - create or take offers trading CATs for NFTs in the graphical user interface
  • Show/hide NFTs - Hide NFTs in your wallet so you don’t have to look at the NFT spam that is sent to you, or if you want to show off your collection without revealing everything
  • Send NFT to burn address - Send unwanted NFTs to an unspendable address
  • Handling wallet reorgs gracefully when dealing with NFTs

Other wallet updates

  • View the peers that you are connected to when clicking on the Wallet status indicator
  • GUI preferences are now stored in the mainnet directory to make them easier to find and if you wanted to keep different preferences for different GUI sessions

Deprecating legacy keyring support

  • All users starting this version will be required to migrate to the new keyring support using keyring.yaml in preparation for a future release that will fully deprecate legacy keyring support
  • The new keyring support was introduced in 1.3 and most users will have gone through the migration when generating a new key or when importing an existing key

Added

  • Add Source and Changelog to project_urls (Thanks @strayer!)
  • Add condition code constant for REMARK, an always true Chialisp condition
  • Add several wallet optimizations
  • Add chia db backup --backup_file <backup_file_destination> (Thanks @neurosis69!)
  • Add debug option to log all SQL commands for wallet db (Thanks @neurosis69!)
  • Additional data for get_wallet_balance and get_wallets endpoints
  • Add change_data to _state_changed since the later calls expect it
  • Add Program.replace
  • Add new_transaction() to DBWrapper2
  • Add RPCs for getting/extending the current derivation path index
  • Add symlinks to the UI RPM to mirror the .deb UI and the CLI installers
  • Add support for excluding coins in create_signed_transaction wallet RPC (Thanks @felixbrucker!)
  • Add small coin selection improvements
  • Add bulk cancel API
  • Introduce streamable.Field
  • Introduce Streamable.__post_init__ processing cache
  • Added minimum coin amount to various RPC calls
  • Added new full_node RPC called get_block_spends - Get spends for block using transaction generator
  • Support for remembering the last used wallet key
  • Documented deserialization length limitations (8191 bytes) in CLVM ROM. We recommend using a local version of the chialisp code when necessary

Changed

  • Huge speedup in trusted wallet sync
    • Previous time to sync 1000 tx: 90 seconds
    • New time: 2 seconds
  • Force keyring migration / Deprecate legacy keyring support
  • Renaming series -> editions (full deprecation) (Thanks @DrakoPensulo!)
  • Made various additions to the cache, and changes to validation to reduce CPU usage significantly
  • Log full errors when run_as_generator() throws error
  • Sort plot_paths before splitting it into batches
  • Skip plot_sync_callback if delta is None
  • Validate the path in add_plot_directory
  • Cache convert functions from dataclass_from_dict
  • Big thanks to @neurosis69 for the following:
    • Allow bigger chunks of bind variables per SQL statement
    • Execute SQL updates as chunks in _set_spent function for tx_removals
    • Optimized column selection in various tables to use specific columns rather than all columns
    • Write blockchain DB full node startup progress to debug.log
  • Clean up and Refactor chia show command
  • Increment the dirty counter when setting height-to-hash map entries
  • plotting.cache.DiskCache -> util.misc.VersionedBlob
  • Improve chia farm summary
  • Optimize std_hash in coin.py
  • Improved many tests
  • Remove big_ints list
  • Improved UX for plotnft claim
  • Upgrade chia-rs to streamable support
  • Allow switching keys during sync
  • Optimize get_hash by not double converting
  • Don't re-hash the same objects
  • Drop redundant PlotPathRequestData conversion
  • Make PlotsRefreshParameter streamable + use from_json_dict
  • Make Plot{Info|Path}RequestData streamable + use from_json_dict
  • Optimize request additions
  • Stop and join watchdog observer
  • Remove chia.util.path.mkdir()
  • Remove the constants_json field
  • Don't convert ConsensusConstants to/from JSON
  • Move some class methods out of Streamable
  • Request header blocks, and new rate limits
  • Replaced the python implementation of Coin with the Rust native Coin from chia_rs
  • Watchdog==2.1.9 for bad file descriptor avoidance
  • Be specific about *args in RpcServer state changed methods
  • Make WalletUserStore.create_wallet() raise on failure, and return non-optional
  • Switch back to official dnspython for v2.2.0
  • Not optional - WalletNode.wallet_state_manager, .server, .keychain_proxy
  • More uint64() for NFT coin amount
  • Delay WalletNode._new_peak_queue instantiation to avoid errors
  • Remove unused WalletCoinStore.get_unspent_coins_at_height
  • NFTInfo.royalty_puzzle_hash is Optional but not None here
  • Handle KeychainProxyConnectionFailure in Farmer.setup_keys
  • Made simplifications to the WalletCoinStore class
  • Removed wallet transaction store cache
  • Removed double bytes32 conversion
  • Turn dataclass_from_dict into streamable_from_dict
  • Replace service running_new_process= parameter by .setup_process_global_state() method
  • Changed wallet peer selection to prefer nodes in the following order
    1. trusted & synced
    2. untrusted & synced
    3. trusted & unsynced
    4. untrusted & unsynced
  • Simplified pool cache
  • Remove unused finished_sync_up_to (Thanks @olivernyc!)
  • Expand Field and introduce Streamable._streamable_fields
  • Removing logging.basicConfig() from ChiaServer.__init__()
  • Use coin selection algorithm for DID wallets
  • Simplify service start configuration loading
  • Wallet network messages now have higher priority than Node network messages
  • Wallet now checks the mempool before adding new transactions to the queue
  • Implemented new context manager for DB access (DBWrapper2) that supports nested transactions, improved support for concurrency, and simplified exception handling
  • Upgraded clvm-tools-rs to 0.1.19
  • Upgraded clvm_tools to 0.4.5
  • Simplify wallet transaction store
  • Remove unused _clear_database() functions
  • Optimized wallet DB queries using execute_fetchall
  • Optimize wallet set_spent()
  • Added support for minimum coin amount and excluding coins in select_coin RPC
  • Log chia_full_version_str in daemon and all services
  • On failure to get keys, log and return exception
  • Update certificate store as of July 19, 2022
  • Optimize puzzlehash generation (~65% faster)
  • Deprecated the ability to disable the keyring passphrase feature
  • Minor simplifications to derivation records
  • Update protocol message checks
  • Changed initial_num_public_keys default to 425
  • Minor optimizations for block store
  • Optimize get_coins_to_check()
  • Minor wallet optimizations when determining coin type
  • Avoid redundant printing of puzzle program in NFT uncurry attempt
  • Substantially reduced overall size of Chia packages
  • Log the plot refresh parameter on start
  • Log blockchain database file used along with schema version on startup
  • Removed redundant request for SubEpochData

Fixed

  • Log error for failed service start
  • Improve logging in plot_sync.{receiver|delta}
  • Fix default value assignments for dataclass_from_dict for streamable
  • Fix change_payout_instructions for invalid addresses
  • Fix SQL error when only config file is deleted
  • Fix issue with wallet not handling rejection from unsynced local node properly
  • Fix for transfer NFT with DID
  • Fix misleading argument name (Thanks @olivernyc!)
  • Fix knapsack coin selection
    • Old performance with 200k coins: 60 seconds
    • New: 0.78 seconds.
  • Fix trusted_peer example in initial-config.yaml by (Thanks @ojura!)
  • Replace existing simulator config & Fix simulator
  • Fix attribute error on FullNode.simulator_transaction_callback
  • Fix passphrase hint
  • Bump clvm_tools_rs for bug fix
  • Fix NFT > CAT Royalty splitting bug
  • Fixed mint_nft
  • Fix no keys loaded error by making KeychainProxy automatically reconnect when a connection is lost
  • Fix a migration bug of NFT table change
  • NFT wallet reorg fix
  • Fix NFT wallet naming issue
  • Can't shadow info which is NFTInfo in the first place
  • Initialize logging before Service instantiation
  • Make sure chia commands output help when no args are given (#11013) (Thanks @noneus!)
  • Fixed bugs in fork point calculation, and reduced number of times weight-proofs are validated
  • Fixed bug in starting the crawler (set service name to full_node)
  • NFT transfer/minting commands now validate the specified addresses
  • Block summaries of CAT1 offers in the RPC and CLI

1.5.0

26 Jul 18:26
787e96b
Compare
Choose a tag to compare

For those who have been collecting or trading CAT tokens, it’s time to upgrade to CAT2s. For more details on why we are upgrading the CAT standard, see our blog post here. If you have questions about this release and how it affects you, please start with our FAQ here.

CAT2 related updates:

  • Support for new CAT2 tokens fixing vulnerability, dropped support for CAT1 tokens
  • New wallet database is created and synced after upgrading to 1.5. This will help ensure a static copy of the previous database is available for reviewing previous transactions or offer history. Depending on the number of transactions in your wallet, please remember that the initial wallet sync may take a bit longer than normal.
  • Info tooltip next to tokens to help users understand why they won’t see their CAT1 tokens anymore
  • Link in tooltip that takes the user to cat1 balance website that also passes through the active wallet pub key
  • Link in tooltip to the blog post
  • Added display of current derivation index height
  • Allow user to manually update the derivation index to help ensure all coins are found and totaled up
    CAT1 offers will now show as an invalid offer. A link is provided to docs page that explains all the different reasons why an offer could be invalid including due to the offer including a CAT1.

Other related updates:

  • Updated NFT content to say “Editions” instead of “Series” in the user interface as well as in the command line
  • Updated CLI flags to deprecate flags for “series” and replace them with flags for “editions”
  • Show DIDs when viewing an offer for NFT to help users more easily identify and check offers for scam projects
  • Show “Chia Network” explicitly for the Chia DID that minted the Chia Friends collection
  • NFT with DID wallets are automatically created now when a new DID (aka “Profile”) is created
  • Fixed issue when viewing an offer for an NFT to show the NFT value plus the royalties as the total amount deducted when the offer is accepted
  • Updated DID wallet to use the new coin selection algorithm based on the knapsack protocol
  • Fixed some edge case handling with the new coin selection algorithm that made it difficult to create change for yourself

Added

  • Added derivation index information to the Wallet UI to show the current derivation index height
  • Added section in Settings to allow the user to manually update the derivation index height in order to ensure the wallet finds all the coins
  • Added a tooltip for users to understand why their CAT balance has changed as new CAT2 tokens get re-issued
  • There is now a blockchain_wallet_v2_r1_*.sqlite DB that will be created, which will sync from 0 to look for CAT2 tokens. This preserves a copy of your previous wallet DB so that you are able to look up previous transactions by using an older wallet client
  • Extended min_coin to RPC calls, and CLI for coin selection
  • Show DID in the offer preview for NFTs
  • Added wallet RPCs (get_derivation_index, update_derivation_index) to enable the GUI, and CLI to report what the current derivation index is for scanning wallet addresses, and also allows a user to move that index forward to broaden the set of addresses to scan for coins

Changed

  • Changed the DID Wallet to use the new coin selection algorithm that the Standard Wallet, and the CAT Wallet already use
  • Changed returning the result of send_transaction to happen after the transaction has been added to the queue, rather than it just being added to the mempool.
  • Increased the priority of wallet transactions vs full node broadcasted transactions, so we don't have to wait in line as a wallet user
  • Deprecated the -st, --series-total and -sn, --series-number RPC and CLI NFT minting options in favor of -ec, --edition-count and -en, --edition-number to align with NFT industry terms
  • When creating a DID profile, a DID-linked NFT wallet is automatically created
  • Update chia wallet take_offer to show NFT royalties that will be paid out when an offer is taken
  • Added a parameter to indicate how many additional puzzle hashes create_more_puzzle_hashes should create

Fixed

  • Fixed [CVE-2022-36447] where in tokens previously minted on the Chia blockchain using the CAT1 standard can be inflated in arbitrary amounts by any holder of the token. Total amount of the token can be increased as high as the malicious actor pleases. This is true for every CAT1 on the Chia blockchain, regardless of issuance rules. This attack is auditable on-chain, so maliciously altered coins can potentially be "marked" by off-chain observers as malicious.
  • Fixed issue that prevented websockets from being attempted if an earlier websocket failed
  • Fixed issue where test_smallest_coin_over_amount did not work properly when all coins were smaller than the amount
  • Fixed a performance issue with knapsack that caused it to keep searching for more coins than could actually be selected. Performance with 200k coins:
    • Old: 60 seconds
    • New: 0.78 seconds
  • Fixed offer compression backwards compatibility
  • Fixed royalty percentage check for NFT0 NFTs, and made the check for an offer containing an NFT more generalized
  • Fixed timing with asyncio context switching that could prevent networking layer from responding to ping

1.4.0

29 Jun 20:21
bd35cb1
Compare
Choose a tag to compare

Artists and developers (and everyone else) rejoice! The time has finally arrived as this is the much anticipated release for NFTs.

We took a comprehensive and empathy-first approach to understand the ecosystem, the technology’s benefits (both realized and unrealized), the challenges and the pain points. We built our NFT1 standard to offer novel and expanded functionality we believe addresses the friction NFT creators and collectors experience, as well as serve as the foundation to scale the technology into new use cases.

The changelog list below is long, but here’s the TLDR:

For creators:

  • Mint an NFT from the command line or through RPCs
  • Supports on-chain and off-chain metadata with cryptographic hashes at the time of minting
  • Add/update additional links to the NFT content to ensure permanence to the NFT
  • Upon minting, set a permanent royalty percentage and royalty wallet address to get paid on each sale that is enforced on-chain and independent of any marketplace
  • Mint an NFT and transfer to your profile (aka DID) to create the first step in provenance to your NFT
  • Add an off-chain license document that details the rules for others to use your NFT, along with an on-chain sha-256 hash of that document
  • New developer documentation to help you get started with NFTs

For everyday users:

  • Chia’s wallet now supports the following features:
    • View a gallery of your NFT images
    • Send an NFT to your IRL friends, family, and web3 frens
    • Receive an NFT at your XCH wallet address
    • Use Offers to buy or sell NFTs for XCH
    • Share NFT offers to dexie.space (with more integrations to come!)
    • Create and label a profile (aka DID) that links your identifier to the NFT and help build out provenance
    • Download the NFT content so you can have a copy of it to use anywhere

Download the latest update and start creating and building out your collections!

Known Issues

  • You can only mint one NFT per block if you’re using Chia’s CLI or RPC. We are currently working on a bulk minting tool that will address this. If you attempt to mint more than one NFT in a single block, you’ll receive “{'error': 'ALREADY_INCLUDING_TRANSACTION'}” as a WARNING in your log file. The CLI will indicate a successful transaction; it will not show this warning. The reason for this is because the mempool is rejecting your transaction, which happens after the wallet submits it. The transaction will be stuck in the Pending state.
    • Workaround: After minting an NFT, wait for the transaction to clear (approximately 1 minute) before attempting to mint another NFT. If you do see a Pending transaction in your wallet that doesn’t clear after several minutes, then you can remove it by doing the following:
      • GUI - Click the “Actions” dropdown and click “Delete Unconfirmed Transaction”
      • CLI - Run chia wallet delete_unconfirmed_transactions
  • When creating a new Profile (aka DID), the GUI will immediately show the availability of the new Profile, but any actions taken on the new profile, like transferring an NFT will result in an error until the Profile has been written and confirmed on chain.
    • Workaround: Wait for the Profile to be written on-chain and be sure add fees when creating a Profile to help speed up the process
  • When transferring an NFT to a Profile (aka DID), doing more than one in quick succession will result in 2nd, 3rd, etc., NFTs to get stuck in “update pending” state.
    • Workaround is to use the “Cancel Unconfirmed Transaction” on any of the NFTs that get stuck to unlock the NFTs
  • When on testnet, the offer history screen may show “Unknown” instead of “TXCH”.
    • Workaround is to restart the app

Added

Changed

  • New coin selection algorithm based on bitcoin knapsack. Previously chia selected the largest coin
  • Updated chiapos to 1.0.10
  • Updated chiavdf to 1.0.6
  • Updated blspy to 1.0.13
  • Updated setproctitle to 1.2.3
  • Updated PyYAML to 6.0
  • Updated pyinstaller to 5.0
  • Bump clvm_tools_rs version to 0.1.9 for clvm stepper and add a test
  • Modest speedup of syncing by batching coin lookups
  • Cmds: Use the new plot_count of get_pool_state in plotnft show
  • Set mempool size back to the original size at launch
  • Plotting|tests|setup: Improve PlotManager cache
  • Wallet: Drop unused WalletStateManager.get_derivation_index
  • Harvester: Tweak get_plots RPC
  • Remove explicit multidict version from setup.py
  • Simplify install.sh ubuntu version tracking
  • Optimize BLS verification when public key is repeated
  • Use Install.ps1 in build_windows.ps1
  • Updated warning about CHIA_ROOT being set when running init
  • Cmds: Adjust stop daemon output
  • Remove unused functions on MerkleSet
  • Optimize hash_coin_list()
  • Update CONTRIBUTING.md
  • Remove outdated 3.8 upgrade comment
  • Hint refactor
  • Replace MerkleSet with the rust implementation
  • Simplify SizedBytes and StructStream
  • Allow services to set a non-default max request body size limit
  • Reduce the redundant computations of coin_ids in block_body_validation
  • Uses the new from_bytes_unchecked method in blspy, to improve perfo…
  • Remove the cache from CoinStore
  • Keep daemon websocket alive during keyring unlock
  • Support searching derived addresses on testnet.
  • Optimize code to not perform useless subgroup checks
  • Restore missing hints being stored as None (instead of 0-length bytes)
  • Coin simplification
  • Harvester: Use a set instead of a list to speed up availability checks
  • Improved performance of debug log output
  • Update plotters installation to include an apt update - thanks to @TheLastCicada
  • Early return from _set_spent function - Thanks @neurosis69
  • Remove redundant condition in get_coin_records - Thanks @neurosis69
  • Write python version error to stderr - thanks to @LuaKT

Fixed

  • Fixed issues with harvesters not reconnecting properly - fixes #11466
  • Return not synced if there are no connections - fixes #12090
  • Fix issues with wallet resending transactions on various mempool and node errors - fixes #10873
  • Fix some issues with plotnft show (#11897)
  • Handle ephemeral ports and dual stack (ipv4 & ipv6)
  • Fix issues when wallet syncing and rolling back too far in the past
  • Fixes issues with the Farmer Reward dialog incorrectly reporting there is no private key (#11036)
  • Fix race condition, blockchain can change between two calls to get_peak
  • Wallet: Fix CATLineageStore creation in create_new_cat_wallet
  • Fix incorrect return in "rollback_to_block"
  • Wallet: Some rollback fixes
  • Fix issue with missing coins
  • Fix Newer block issue
  • Fix jsonify bool
  • Fix wallet introducers for testnet
  • Correct wallet CLI sent/received indication
  • Correct "Older block not found" error message
  • Print MempoolInclusionStatus as string
  • Optimize Program.curry()
  • Improve detection of disconnected websocket between services
  • Correct install.sh usage short options list
  • Make sure we set the sync to height correctly when we roll back

Thanks

  • Thanks to @antouhou for his assistance with publishing bls-signatures to npm
  • Special thanks to our Community Developers Alpha Group who helped us in testing
  • Thanks to @greimela for their contribution to the NFT project
  • Thanks to all of our NFT partners

Full Changelog: 1.3.5...1.4.0

1.3.5

11 May 16:58
0f5a6df
Compare
Choose a tag to compare

We've just released 1.3.5!

1.3.5 includes Python 3.10 support, fixes several bugs, and contains some quality of life improvements for small and large scale farmers.

Added

  • Added Support for Python 3.10
  • Performance improvements in harvesters during plot refresh. Large farmers likely no longer need to specify a very high plot refresh interval in config.yaml
  • Added CLI only .rpm and .deb packages to official release channels
  • Fixed an issue where some coins would be missing after a full sync
  • Enabled paginated plot loading and improved plot state reporting
  • Updated the farming GUI tab to fix several bugs
  • Fix infinite loop with timelord closing
  • Simplified install.sh ubuntu version tracking
  • Fixed memory leak on the farm page
  • Fixed list of plot files "in progress"
  • Various farmer rpc improvements
  • Improvements to the harvester get_plots RPC

Known Issues

There is a known issue where harvesters will not reconnect to the farmer automatically unless you restart the harvester. This bug was introduced in 1.3.4 and we plan to patch it in a coming release.

1.3.4

19 Apr 18:11
d154105
Compare
Choose a tag to compare

We've just released 1.3.4!
There's a bit of remodeling work on the GUI with this release, so we've added some context (and gifs!) to help you familiarize yourself with the changes. Check them out at our blog post - https://www.chia.net/2022/04/19/1.3.4-Improved-Token-Management.en.html
As always, we welcome your feedback.

Added

  • Creating an offer now allows you to edit the exchange between two tokens that will auto calculate either the sending token amount or the receiving token amount
  • When making an offer, makers can now create an offer including a fee to help get the transaction into the mempool when an offer is accepted
  • Implemented chia rpc command
  • New RPC get_coin_records_by_hint - Get coins for a given hint (Thanks @freddiecoleman)
  • Add maker fee to remaining offer RPCs
  • Add healthcheck endpoint to rpc services
  • Optional wallet type parameter for get_wallets and wallet show
  • Add select_coins RPC method by (Thanks @ftruzzi)
  • Added -n/--new-address option to chia wallet get_address
  • New DBWrapper supporting concurrent readers
  • Added config.yaml option to run the full_node in single-threaded mode
  • Build CLI only version of the Ubuntu packaged installer (.deb files)
  • Added new Ubuntu/Debian apt repo - https://github.com/Chia-Network/chia-blockchain/wiki/INSTALL#install-using-the-repository
  • Add /get_stray_cats API for accessing unknown CATs

Changed

  • Significant harvester protocol update: You will need to update your farmer and all your harvesters as this is a breaking change in the harvester protocol. The new protocol solves many scaling issues. In particular, the protocol supports sending delta changes to the farmer - so for example, adding plots to a farm results in only the new plots being reported. We recommend you update your farmer first
  • Left navigation bar in the GUI has been reorganized and icons have been updated
  • Settings has been moved to the new left hand nav bar
  • Token selection has been changed to a permanent column in the GUI instead of the drop down list along
  • Manage token option has been added at the bottom of the Token column to all users to show/hide token wallets
  • Users can show/hide token wallets. If you have automatically_add_unknown_cats in config.yaml set to false, new tokens will still show up there, but those wallets won’t get created until the token has been toggled on for the first time
  • CATs now have a link to Taildatabase.com to look up the Asset ID
  • Ongoing improvements to the internal test framework for speed and reliability
  • Updated clvm_tools to 0.4.4
  • Updated clvm_tools_rs to 0.1.7
  • Changed code to use by default the Rust implementation of clvm_tools (clvm_tools_rs)
  • Consolidated socket library to aiohttp and removed websockets dependency
  • During node startup, missing blocks in the DB will throw an exception
  • Updated cryptography to 36.0.2
  • The rust implementation of CLVM is now called chia_rs instead of clvm_rs
  • Updated code to use improved rust interface run_generator2
  • Code improvements to prefer connecting to a local trusted node over untrusted nodes

Fixed

  • Fixed issues with claiming self-pool rewards with and without a fee
  • Fixed wallet creation in edge cases around chain reorgs
  • Harvester: Reuse legacy refresh interval if new params aren't available
  • Fixed typos lastest > latest (Thanks @daverof)
  • Fixed typo in command line argument parsing for chia db validate
  • Improved backwards compatibility for node RPC calls get_blockchain_state and get_additions_and_removals
  • Fixed issue where --root_path option was not honored by chia configure CLI command
  • Fixed cases where node DB was not created initially using v2 format
  • Improved error messages from chia db upgrade
  • Capitalized display of Rpc -> RPC in chia show -s by (Thanks @hugepants)
  • Improved handling of chain reorgs with atomic rollback for the wallet
  • Handled cases where one node doesn't have the coin we are looking for
  • Fixed timelord installation for Debian
  • Checked for requesting items when creating an offer
  • Minor output formatting/enhancements for chia wallet show
  • Fixed typo and index issues in wallet database
  • Used the rust clvm version instead of python in more places
  • Fixed trailing bytes shown in CAT asset ID row when using chia wallet show
  • Maintain all chain state during reorg until the new fork has been fully validated
  • Improved performance of get_coin_records_by_names by using proper index (Thanks @roseiliend)
  • Improved handling of unknown pending balances
  • Improved plot load times

Known Issues

  • You cannot install and run chia blockchain using the macOS packaged DMG on macOS Mojave (10.14)
  • Pending transactions are not retried correctly and so can be stuck in the pending state unless manually removed and re-submitted

1.3.3

03 Apr 06:59
0269797
Compare
Choose a tag to compare

It has come to our attention that our attempt to keep the patch of our fix on Windows for OpenSSL CVE-2022-0778 limited, was too narrow, and did not in fact fix the Windows installers. This emergency release remedies that, and handles some other smaller edge cases.

Fixed

  • In version 1.3.2, our patch for the OpenSSL vulnerability was not complete for the Windows installer. (Thank you @xsmolasses of Core-Pool!)
  • MacOS would not update OpenSSL when installing via install.sh
  • Some debugging information remained in install.sh

1.3.2

01 Apr 23:06
cdb24ba
Compare
Choose a tag to compare

Recently, a vulnerability surfaced in OpenSSL. Leveraging this particular vulnerability against a Chia node would allow a bad actor to force it offline.
To protect your systems and maintain the network’s security, we have released version 1.3.2, specifically focused on addressing these vulnerabilities.
We strongly recommend that all users running a node (which should be most of you) update to version 1.3.2. As a note, this update will require restarting your node.

FAQ

Why is the updated version being released today?

We were notified about the vulnerability when it was made public, but at that time, there was no mitigation available and an unknown ETA on the fix. We did miss the follow-up fix announcement and will be reviewing our internal processes to ensure our quick response in the future.

Is my data/computer/identity safe?

There is no identified vulnerability to these items at this time.

Is my XCH safe?

Yep! (Even if you do not make this update, your XCH should still be safe as well). Though if you are not on 1.3.1 already, moving to 1.3.2 will have some of the same balance display caveats in releases 1.X to 1.3.0, of which you'll need to be mindful.

What are the actual changes in version 1.3.2?

The version 1.3.2 update is focused specifically on addressing the OpenSSL vulnerability by using OpenSSL version 1.1.1n. All documentation for changes can be found in these release notes.

What will be done in the future to ensure something like this doesn’t happen again?

Vulnerabilities are found all the time in software, and the organizations who rely on those libraries always need to be diligent to roll those updates into their software once known fixes are available and stable. We will continue to monitor for and incorporate those changes when required.

Is it safe to remain in a pool?

This update, and the related vulnerability, should have no impact on your Pooling efforts.

Fixed