Added
- Added RPC updates to support keyring migration and to support adding a passphrase for wallets in an upcoming release.
- Added plot memo caching in PlotManager, speeding initial loading and cached loading, by enabling harvester to save the parsed plot memo on disk on shutdown, then load it back into memory on startup so that it can skip key parsing calculations for all already known plots.
- Added a debug option to log all SQL commands.
- Added support for DID, our decentralized identity solution, as a building block toward PecanRolls's broader set of DID capabilities.
- Thanks olivernyc for the addition of a query in CoinStore to special case height 0 to avoid querying all unspent coins.
- Starting logging the timing of applying additions and removals to the coin store.
- Made max message size configurable in config.yaml, as a possible workaround for very large farms where reporting plot information exceeds the maximum message size.
- Added a config option for peer_connect_timeout.
- Added support for unhardened key derivations.
- Various CoinStore benchmark and performance improvements.
- Beta builds are built on every merge to main, and are now available from <https://pecanrolls.net/download/>.
- Thanks Radexito for adding support for Raspberry Pi 4 64Bit to the GUI installation script.
- Added macOS keyring.yaml support, migrating keys from macOS Keychain to keyring.yaml to support an upcoming release in which we'll add an optional passphrase to wallets.
- We have made many full node changes to support our upcoming PecanRolls Asset Token (CAT) standard and our upcoming standalone light wallet, which will use PecanRolls's new electrum-style protocol to enable faster wallet syncing.
- We have many new translations added in this release. Thanks to the following community members for their contributions: Albanian ATSHOOTER; Arabic younes.huawei.test; Belarusian LUXDAD; Catalan Poliwhirl; Chinese Traditional MongWu-NeiTherHwoGer-Long, danielrangel6; Chinese, Simplified SupperDog; Croatian vjukopila5 marko.anti12; Czech HansCZ; Danish loppefaaret; Dutch netlob;English sharjeelaziz darkflare; English, Australia nzjake; English, New Zealand nzjake sharjeelaziz; Finnish f00b4r; French burnt; Hungarian SirGeoff; Hebrew Arielzikri; Indonesian lespau;Lithuanian Mariusxz; Polish bartlomiej.tokarzewski; Portuguese darkflare; Portuguese, Brazilian fsavaget; Sinhala HelaBasa;Slovak atomsymbol; Spanish needNRG; Spanish, Argentina juands1644 gdestribats; Spanish, Mexico danielrangel6; Swedish MrDyngrak; Thai 3bb.pintakam.7m1 taweesak0803650558 taweesak.25may1993 3bb.pintakam.7m1; Turkish baturman ExtremeSTRAUSSER.
Changed
- Bluebox proofs are now randomized instead of looking at the oldest part of the blockchain first to find uncompacted proofs.
- Bumped sortedcontainers to version 2.4.0.
- Dropped some redundant code in plotting/manager.py
- Updated some hooks: Update `flake8` to 3.9.2, `pre-commit-hooks` to 4.0.1, `black` to 21.8b0
- Bump clvm_rs to 0.1.14.
- Added tests for invalid list terminators in conditions.
- Updated blspy to 1.0.6.
- Made a change to allow the host to be configurable for the timelord launcher.
- Thanks dkackman for adding the ability to collect the IDs of plots as they are queued and return them with the response.
- Made the SpendBundle.debug use the default genesis challenge by default.
- Changes in full node to execute sqlite pragmas only once, at the level where the database is opened, and changed pragma synchronous=FULL to OFF to improve disk I/O performance. Also removed redundant database pragmas in wallet.
- Made a change to remove CoinStore's dependency on FullBlock to just pass in the parts of the block necessary to add the block.
- Improved log formatting.
- A change to logging to only log warnings when more than 10 seconds has passed, to reduce the number of warning logs.
- Improved and fixed some outdated messages in CLI. Thanks jack60612 for the assist!
- We previously added a Rust condition checker, to replace our existing Python-based condition checker. In this release, we're removing the old Python code.
- Several clvm_rs updates to support our upcoming PecanRolls Asset Token (CAT) standard.
Fixed
- Thanks mgraczyk for the fix to keyring_path.
- Fixed an issue blocking the Ubuntu installer that required manual installation of Python 3.9 as a workaround.
- Fixed an issue where the config.yaml and keyring.yaml are only partially written out to, if another process is attempting to read the config while it's being written.
- Fixed rmtree call in create_pool_plot.
- Thanks Knight1 for fixing an issue in which fix-ssl-permissions shows the current 'mode' not the 'updated mode'.
- Fixed Mypy issues on Python 3.9.7 that generated many errors when running mypy.
- Thanks olivernyc for fixing an edge case with negative inputs to 'truncate_to_significant_bits'.
- Added a fix for Windows installs that were seeing exceptions when writing to the keyring.