Releases: Chia-Network/chia-blockchain
1.0beta16
Added
- The Chia GUI now supports dark and light mode.
- The GUI now supports translations and localizations. If you'd like to add your language you can see the examples in the locales directory of the chia-blockchain repository.
chia check plots
now takes a-g
option that allows you to specify a matching path string to only check a single plot file, a wild card list of plot files, or all plots in a single directory instead of the default behavior of checking every directory listed in your config.yaml. A big thank you to @eFishCent for this pull request!- Better documentation of the various timelord options in the default config.yaml.
Changed
- The entire GUI has been refactored for code quality and performance.
- Updated to chiapos 0.12.32. This update significantly speeds up the F1/first table plot generation. It also now can log disk usage while plotting and generate graphs. More details in the chiapos release notes.
- Node losing or not connecting to another peer node (which is entirely normal behaviour) is now logged at INFO and not WARNING. Your logs will be quieter.
- Both the GUI and CLI now default to putting the second temporary directory files into the specified temporary directory.
- SSL Certificate handling was refactored along with Consensus constants, service launching, and internal configuration management.
- Updated to clvm 0.5.3. This fixed a bug in the
point_add
operator, that was causing taproot issues. This also removed theSExp.is_legit_list
function. There were significant refactoring of various smart transactions for simplicity and efficiency. - WalletTool was generally removed.
- Deprecated pep517.build for the new standard
python -m build --sdist --outdir dist .
- The chia-blockchain primary branch has been migrated from master to main.
Fixed
- A bug in bls-singatures/blspy could cause a stack overflow if too many signatures were verified at once. This caused the block of death at 11997 of the Beta 15 chain. Updated to 0.2.4 to address the issue.
- GUI Wallet now correctly updates around reorgs.
- chiapos 0.12.32 fixed a an out of bounds read that could crash the plotter. It also contains a fix to better handle the case of drive letters on Windows.
- Node would fail to start on Windows Server 2016 with lots of cores. This python issue explains the problem.
Known Issues
- On NTFS, plotting and farming can't use a path that includes a root mountpoint. This is fixed in an upcoming version but did not have enough testing time for this release.
1.0beta15
Changed
- The development tool WalletTool was refactored out.
- Update to clvm 0.5.3.
- As k=30 and k=31 are now ruled out for mainnet, the GUI defaults to a plot size of k=32.
Fixed
- Over time the new peer gossip protocol could slowly disconnect all peers and take your node offline.
- Sometimes on restart the peer connections database could cause fullnode to crash.
Added
- Choosing a larger k size in the GUI also increases the default memory buffer.
1.0beta14
[1.0beta14] aka Beta 1.14 - 2020-10-01
Added
- Node peers are now gossiped between nodes with logic to keep connected nodes on disparate internet networks to partially protect from eclipse attacks. This is the second to last step to remove our temporary introducer and migrate to DNS introducers with peer gossip modeled directly off of Bitcoin. This adds a new database of valid peer nodes that will persist across node restarts. This also makes changes to config.yaml's contents.
- For 'git clone' installs there is now a separate install-gui.sh which speeds up running install.sh for those who wish to run headless and makes docker and other automation simpler.
- The rate limited wallet library now supports coin aggregation for adding additional funds after the time of creation.
- Fees are now used in all applicable rate limited wallet calls
- New parameters for plotting: -r (number of threads) -s (stripe size) -u (number of buckets) in cli and GUI
- chiavdf now has full IFMA optimizations for processors that support it.
Changed
- Multithreading support in chiapos, as well as a new algorithm which is faster and does 70% less IO. This is a significant improvement in speed, much lower total writing, and configurability for different hardware environments.
- Default -b changed to 3072 to improve performance
- The correct amount of memory is used for plotting
sh install.sh
was upgraded so that on Ubuntu it will install any needed OS dependencies.- Wallet and puzzlehash generation have been refactored and simplified.
- Wallet has had various sync speed ups added.
- The rpc interfaces of all chia services have been refactored, simplified, and had various additional functionality added.
- Block timestamps are now stored in the wallet database. Both database versions were incremented and databases from previous versions will not work with Beta 14. However, upon re-sync all test chia since Beta 12 should appear in your wallet.
- All vestigial references to plots.yaml have been removed.
Fixed
- Temporary space required for each k size was updated with more accurate estimates.
- Tables in the README.MD were not rendering correctly on Pypi. Thanks again @altendky.
- Chiapos issue where memory was spiking and increasing
- Fixed working space estimates so they are exact
- Log all errors in chiapos
- Fixed a bug that was causing Bluebox vdfs to fail.
1.0beta13
[1.0beta13] aka Beta 1.13 - 2020-09-15
Added
- As noted in Beta 12, this is a new blockchain so test chia from Beta 11 and earlier are not preserved. Plots continue to work fine.
Changed
- Long_description_content_type is now set to improve chia-blockchian's Pypi entry. Thanks to @altendky for this pull request.
- A minor edit was made to clarify that excessive was only related to trolling in the Code of Conduct document.
Fixed
- When starting the GUI from an installer or the command line on Linux, if you had not previously generated a key on your machine, the generate new key GUI would not launch and you would be stuck with a spinner.
- Farmer display now correctly displays balance.
1.0beta12
[1.0beta12] aka Beta 1.12 - 2020-09-14
Added
- Rate limited wallets can now have unspent and un-spendable funds clawed back by the Admin wallet.
- You can now backup your wallet related metadata in an encrypted and signed file to a free service from Chia Network at backup.chia.net. Simply having a backup of your private key will allow you to fully restore the state of your wallet including coloured coins, rate limited wallets, distributed identity wallets and many more. Your private key is used to automatically restore the last backup you saved to the Chia backup cloud service. This service is open source and ultimately you will be able to configure your backups to go to backup.chia.net, your own installation, or a third party's version of it.
- Added a Code of Conduct in CODE_OF_CONDUCT.md.
- Added a bug report template in
.github/ISSUE_TEMPLATE/bug_report.md
.
Changed
- This is a new blockchain as we changed how the default puzzle hashes are generated and previous coins would not be easy to spend. Plots made with Beta 8 and newer continue to work, but all previous test chia are left on the old chain and do not migrate over. Configuration data like plot directories automatically migrate in your
~/.chia
directory. - Proof of Space now requires significantly less temp space to generate a new plot. A k=32 that used to require 524GiB now requires only 313GiB - generally a 40% decrease across all k sizes.
- When plotting, instead of 1 monolithic temp file, there are now 8 files - one for each of the 7 tables and one for sorting plot data. These files are deleted as the
-2
or-d
final file is written so the final file can fit within the footprint of the temporary files on the same filesystem. - We've made various additional CPU optimizations to the Proof of Space plotter that reduces plotting time by an additional 13%. These changes will also reduce CPU utilization in harvesting.
- We have ruled out k=30 for mainnet minimum plot size. k=31 may still make mainnet. k=32 and larger will be viable on mainnet.
- We moved to react-styleguidist to develop reusable components in isolation and better document the UI. Thanks to @embiem for this pull request.
- Coloured coins have been updated to simplify them, remove 'a', and stop using an 'auditor'.
- clvm has been significantly changed to support the new coloured coins implementation.
- Bumped cryptography to 3.1. Cryptography is now publishing ARM64 binary wheels to PyPi so Raspberry Pi installs should be even easier.
chia init
now automatically discovers previous releases in each new release.
Fixed
chia show -w
should now more reliably work. Wallet balances should be more often correct.- View -> Developer -> Developer Tools now correctly opens the developer tools. Thank you to @roxaaams for this pull request!
- Fixed 'Receive Address' typo in Wallet. Thanks @meurtn on Keybase.
- Fixed a typo in
chia show -w
with thanks to @pyl on Keybase. - In Windows the start menu item is now Chia Network and the icon in Add/Remove is updated.
1.0beta11
[1.0beta11] aka Beta 1.11 - 2020-08-24
Added
- The Chia UI now has a proper About menu entry that gives the various component versions and directs people to submit issues on GitHub. Thank you to @freddiecoleman for this pull request!
- Ability to run only the farmer, wallet, or timelord services, for more advanced configurations (chia run farmer-only, wallet-only, timelord-only)
Changed
- To complement the new About menu, we have revamped all Electron menus and made them OS native. There are now direct links to the Wiki, Keybase, and FAQ in the Help menu.
- There are minor improvements to how working space is calculated and displayed by the plotter. The plotter also has additional debugging information in its output.
- Successful plots only have an atomic rename.
Fixed
- kOffsetSize should have been 10 bits and not 9. This was causing plots, especially larger plots, to fail with "Error 0". This bug was introduced in Beta 8 with the new plot file format.
- A bug in aiosqlite was causing tests to hang - especially on the ci. This may also have been causing wallet database corruption.
chia show -w
now correctly outputs all wallet types and balances from the local wallet.
1.0beta10
[1.0beta10] aka Beta 1.10 - 2020-08-18
Added
- Meet our new Rate Limited wallet. You can now fund a wallet from an Admin wallet that will set how many coins can be spent over a given range of blocks for a given User wallet. Once combined with on chain wallet recovery, this makes it much easier to secure your "spending money" wallet so that if it is compromised you have time to get most of the funds back before an attacker can steal them all. This wallet should be considered alpha in this release as additional fixes and functionality will be coming in subsequent releases.
- We've added unhardened HD keys to bls-signatures for the smart wallets that need them. We've added significant cross project testing to our BLS implementation.
- The python implementation of bls-signatures is now current to the new specification.
chia show -b
now returns plot public key and pool public key for each block.- Added cbor2 binary wheels for ARM64 to the Chia simple site. Raspberry Pi should be just a little easier to install.
Changed
- Wallet addresses and other key related elements are now expressed in Chech32 which is the Chia implementation of Bech32. All of your old wallet addresses will be replaced with the new Chech32 addresses. The only thing you can't do is send test chia between 1.8/1.9 and 1.10 software. Anyone who upgrades to 1.10 will keep their transactions and balances of test chia from the earlier two releases however.
- We added a first few enhancements to plotting speed. For a k=30 on a ramdisk with
-b 64 GiB
it results in an 11% speedup in overall plotting speed and a 23% improvement in phase 1 speed. Many more significant increases in plotting speed are in the works. - The proof of space document in chiapos has been updated to the new format and edited for clarity. Additionally GitHub actions now has the on demand ability to create the PDF version.
- Relic has upstreamed our changes required for the IETF BLS standard. We now build directly from the Relic repository for all but Windows and will be migrating Windows in the next release.
- Improvements to coloured coin wallet.
- Minor improvements to the Coloured Coin wallet were integrated in advance of an upcoming re-factor.
- Smart wallet backup was upgraded to encrypt and sign the contents of the backup.
Fixed
- Proof of space plotting now correctly calculates the total working space used in the
-t
directory. chia show -w
now displays a message when balances cannot be displayed instead of throwing an error. Thanks to @freddiecoleman for this fix!- Fix issue with shutting down full node (full node processes remained open, and caused a spinner when launching Chia)
- Various code review alerts for comparing to a wider type in chiapos were fixed. Additionally, unused code was removed from chiapos
- Benchmarking has been re-enabled in bls-signatures.
- Various node security vulnerabilities were addressed.
- Updated keyring, various GitHub actions, colorlog, cbor2, and clvm_tools.
1.0beta9
[1.0beta9] aka Beta 1.9 - 2020-07-27
Added
- See wallet balances in command line:
chia show -w
- Retry opening invalid plots every 20 minutes (so you can copy a large plot into a plot directory.)
- We've added
chia keys sign
andchia keys verify
to allow farmers to certify their ownership of keys. - Windows BLS Signature library now uses libsodium for additional security.
- You can now backup and restore Smart Wallet metadata.
- Binary wheels for ARM64/aarch64 also build for python 3.7.
- See and remove plot directories from the UI and command line.
- You can now specify the memory buffer in UI.
- Optimized MPIR for Sandybridge and Ivybridge CPUs under Windows
Changed
chia start wallet-server
changed tochia start wallet
, for consistency.- All data size units are clarified to displayed in GiB instead of GB (powers of 1024 instead of 1000.)
- Better error messages for restoring wallet from mnemonic.
Fixed
- Fixed open_connection not being cancelled when node exits.
- Increase the robustness of node and wallet shutdown.
- Handle disconnection and reconnection of hard drives properly.
- Addressed pre-Haswell Windows signatures failing.
- MacOS, Linux x64, and Linux aarch64 were not correctly compiling libsodium in
the blspy/bls-signatures library. - Removed outdated "200 plots" language from Plot tab.
- Fixed spelling error for "folder" on Plot tab.
- Various node dependency security vulnerabilities have been fixed.
- Request peers was not returning currently connected peers older than 1 day.
- Fixed timeout exception inheritance changes under python 3.8 (pull 13528)
Deprecated
- Removed legacy scripts such as chia-stop-server, chia-restart-harvester, etc.
1.0beta8
[1.0beta8] aka Beta 1.8 - 2020-07-16
Added
- We have released a new plot file format. We believe that plots made in this
format and with these IETF BLS keys will work without significant changes
on mainnet at launch. - We now use chacha8 and blake3
for proof of space instead of the now deprecated AES methods. This shoul
increase plotting speed and support more processors. - Plot refreshing happens during all new challenges and only new/modified files are read.
- Updated blspy to use the
new IETF standard for BLS signatures. - Added a faster VDF process which generates n-wesolowski proofs quickly
after the VDF result is known. This requires a high number of CPUs. To use it,
set timelord.fast_algorithm = True in the config file. - Added a new type of timelord helper - blue boxes, which generate compact
proofs of time for existing proven blocks. This helps reducing the database
size and speeds up syncing a node for new users joining the network. Full nodes
send 100 random un-compact blocks per hour to blue boxes, and if
timelord.sanitizer_mode = True, the blue box timelord will work on those
challenges. Unlike the main timelord, average machines can run blue boxes
and contribute to the chain. Expect improvements to the install method for
blue boxes in future releases. - From the UI you can add a directory that harvester will always check for
existing and new plots. Harvester will only look in the specific directory you
specify so you'll have to add any subfolders you want to also contain plots. - The UI now asks for confirmation before closing and shows shutdown progress.
- UI now tries to shut down servers gracefully before exiting, and also closes
the daemon before starting. - The various sub repositories (chiapos, chiavdf, etc.) now build ARM64 binary
wheels for Linux with Python 3.8. This makes installing on Ubuntu 20.04 lts on
a Raspberry Pi 3 or 4 easy. - Ci's check to see if they have secret access and attempt to fail cleanly so
that ci runs successfully complete from PRs or forked repositories. - Farmer now sends challenges after a handshake with harvester.
- The bls-signatures binary wheels include libsodium on all but Windows which
we expect to add in future releases. - The chia executable is now available if installing from the Windows or MacOS
Graphical installer. Try./chia -h
from
~\AppData\Local\Chia-Blockchain\app-0.1.8\resources\app.asar.unpacked\daemon\
in Windows or
/Applications/Chia.app/Contents/Resources/app.asar.unpacked/daemon
on MacOS.
Changed
-
Minor changes have been made across the repositories to better support
compiling on OpenBSD. HT @n1000. -
Changed XCH units to TXCH units for testnet.
-
A push to a branch will cancel all ci runs still running for that branch.
-
Ci's now cache pip and npm caches between runs.
-
Improve test speed with smaller discriminants, less blocks, less keys, and
smaller plots. -
RPC servers and clients were refactored.
-
The keychain no longer supports old keys that don't have mnemonics.
-
The keychain uses BIP39 for seed derivation, using the "" passphrase, and
also stores public keys. -
Plots.yaml has been replaced. Plot secret keys are stored in the plots,
and a list of directories that harvester can find plots in are in config.yaml.
You can move plots around to any directory in config.yaml as long as the farmer
has the correct farmer's secret key too. -
Auto scanning of plot directories for .plot files.
-
The block header format was changed (puzzle hashes and pool signature).
-
Coinbase and fees coin are now in merkle set, and bip158 filter.
-
New harvester protocol with 2/2 harvester and farmer signatures, and modified
farmer and full node protocols. -
255/256 filter which allows virtually unlimited plots per harvester or drive.
-
Improved create_plots and check_plots scripts, which are now
"chia plots create" and "chia plots check". -
Add plot directories to config.yaml from the cli with "chia plots add".
-
Use real plot sizes in UI instead of a formula/
-
HD keys now use EIP 2333 format instead of BIP32, for compatibility with
other chains. -
Keys are now derived with the EIP 2334 (m/12381/8444/a/b).
-
Removed the ability to pass in sk_seed to plotting, to increase security.
-
Linux builds of chiavdf and blspy now use a fresh build of gmp 6.2.1.
Fixed
- uPnP now works on Windows.
- Log rotation should now properly rotate every 20MB and keep 7 historical logs.
- Node had a significant memory leak under load due to an extraneous fork
in the network code. - Skylake processors on Windows without AVX would fail to run.
- Harvester no longer runs into 512 maximum file handles open issue on Windows.
- The version generator for new installers incorrectly handled the "dev"
versions after a release tag. - Due to a python bug, ssl connections could randomly fail. Worked around
Python issue 29288 - Removed websocket max message limit, allowing for more plots
- Daemon was crashing when websocket gets improperly closed
Deprecated
- All keys generated before Beta 1.8 are of an old format and no longer useful.
- All plots generated before Beta 1.8 are no longer compatible with testnet and
should be deleted.
Known Issues
- For Windows users on pre Haswell CPUs there is a known issue that causes
"Given G1 element failed g1_is_valid check" when attempting to generate
keys. This is a regression from our previous fix when it was upstreamed into
relic. It can be fixed with this patch: https://github.com/Chia-Network/chia-blockchain/wiki/Windows-pre-Haswell-1.8-workaround
1.0beta7
[1.0beta7]
2020-06-08
Added
- Added ability to add plot from filesystem (you will need pool_pk and sk from plots.yaml.)
- Added ability to import private keys in the UI.
- Added ability to see private keys and mnemonic seeds in the keys menu
- User can specify log level in the config file (defaults to info.)
- The Windows installer is now signed by a Chia Network certificate. It may take some time to develop enough reputation to not warn multiple times during install.
Changed
- Plots are now refreshed in the UI after each plot instead of at the end of plotting.
- We have made performance improvements to plotting speed on all platforms.
- The command line plotter now supports specifying it's memory buffer size.
- Test plots for the simulation and testing harness now go into
~/.chia/test-plots/
- We have completely refactored all networking code towards making each Chia service use the same default networking infrastructure and move to websockets as the default networking wire protocol.
- We added additional improvements and more RPCs to the start daemon and various services to continue to make chia start/stop reliable cross platform.
- The install.sh script now discovers if it's running on Ubuntu less than 20.04 and correctly upgrades node.js to the current stable version.
- For GitHub ci builds of the Windows installer, editbin.exe is more reliably found.
- All installer ci builds now obtain version information automatically from setuptools_scm and convert it to an installer version number that is appropriate for the platform and type of release (dev versus release.)
- We now codesign the Apple .dmg installer with the Chia Network developer ID on both GitHub Actions and Azure Pipelines. We will be notarizing and distributing the Azure Pipelines version as it's built on MacOS Mojave (10.14.6) for stronger cross version support.
Fixed
- Having spaces in the path to a plot or temporary directory caused plotting to fail.
- Changing keys will no longer interrupt plotting log.
- 1.6 introduced a bug where certain very many core machines would sync the blockchain very slowly.
- The plotter log in the UI should scroll more reliably.
- The plotter UI should display the correct log on all platforms
- Starting chia now waits for the full node to be active before contacting the introducer.
Known issues
- Migration of plots from 1.6 to 1.7 is not working, A workaround is to rename ~/.chia/beta1.0b6 to ~/.chia/beta1.0b5 before running the new application, or just copy over the plots.yaml from the ~/.chia/beta1.0b6/config/plots.yaml to ~/.chia/beta1.0b7/config/plots.yaml
- Log rotation is not working properly