From f3bd6a9dee41f3d5ee800f7b8a4a9d19f0d57ccb Mon Sep 17 00:00:00 2001 From: Fuzzbawls Date: Wed, 29 Nov 2017 16:05:25 -0800 Subject: [PATCH] Bump Version to 3.0.6 Add Release Notes --- configure.ac | 4 +- doc/release-notes.md | 89 ++++++++++++++++++++++---------------------- src/clientversion.h | 4 +- 3 files changed, 48 insertions(+), 49 deletions(-) diff --git a/configure.ac b/configure.ac index a4f9532acabd7..f0e910ac216bc 100644 --- a/configure.ac +++ b/configure.ac @@ -2,8 +2,8 @@ dnl require autoconf 2.60 (AS_ECHO/AS_ECHO_N) AC_PREREQ([2.60]) define(_CLIENT_VERSION_MAJOR, 3) define(_CLIENT_VERSION_MINOR, 0) -define(_CLIENT_VERSION_REVISION, 5) -define(_CLIENT_VERSION_BUILD, 1) +define(_CLIENT_VERSION_REVISION, 6) +define(_CLIENT_VERSION_BUILD, 0) define(_CLIENT_VERSION_IS_RELEASE, true) define(_COPYRIGHT_YEAR, 2017) AC_INIT([Pivx Core],[_CLIENT_VERSION_MAJOR._CLIENT_VERSION_MINOR._CLIENT_VERSION_REVISION],[www.pivx.org],[pivx]) diff --git a/doc/release-notes.md b/doc/release-notes.md index 64ebdc41815b7..473e8a352f940 100644 --- a/doc/release-notes.md +++ b/doc/release-notes.md @@ -1,4 +1,4 @@ -PIVX Core version 3.0.4 is now available from: +PIVX Core version 3.0.6 is now available from: @@ -10,14 +10,6 @@ Please report bugs using the issue tracker at github: -Mandatory Update -============== - -PIVX Core v3.0.4 is a mandatory update for all users. This release contains various updates/fixes pertaining to the zPIV protocol, supply tracking, block transmission and relaying, as well as usability and quality-of-life updates to the GUI. - -Users will have a grace period to update their clients before versions prior to this release are no longer allowed to connect to this (and future) version(s). - - How to Upgrade ============== @@ -40,32 +32,42 @@ frequently tested on them. ### :exclamation::exclamation::exclamation: MacOS 10.13 High Sierra :exclamation::exclamation::exclamation: -**Currently there are issues with the 3.0.x gitian releases on MacOS version 10.13 (High Sierra), no reports of issues on older versions of MacOS.** +**Currently there are issues with the 3.0.x gitian releases on MacOS version 10.13 (High Sierra), no reports of issues on older versions of MacOS. As such, a High Sierra Only version is included below.** Notable Changes =============== -Refactoring of zPiv Spend Validation Code +Automated Database Corruption Repair --------------------- -zPiv spend validation was too rigid and did not give enough slack for reorganizations. Many staking wallets were unable to reorganize back to the correct blockchain when they had an orphan stake which contained a zPiv spend. zPiv double spending validation has been refactored to properly account for reorganization. +There have been cases of blockchain database corruption that can occur when PIVX client is not closed gracefully. The most common cases of corruption have been identified and the wallet will now automatically fix most of these corruptions. Certain corruption states are still unable to be fixed, but now provide more detailed error messages to the user as well as prompting the user to reindex their database. -Money Supply Calculation Fix +More Accurate Error Messages --------------------- -Coin supply incorrectly was counting spent zPiv as newly minted coins that are added to the coin supply, thus resulting in innacurate coin supply data. +Some error messages in the wallet have been too vague and done little to help developers and the support team properly identify issues. Error messages have been refined and are now more specific. -The coin supply is now correctly calculated and if a new wallet client is synced from scratch or if `-reindex=1` is used then the correct money supply will be calculated. If neither of these two options are used, the wallet client will automatically reindex the money supply calculations upon the first time opening the software after updating to v3.0.4. The reindex takes approximately 10-60 minutes depending on the hardware used. If the reindex is exited mid-process, it will continue where it left off upon restart. +Reduction of Debug Log Spam +--------------------- +Many 3rd party services have reported that their debug logs have been overloaded with messages about unknown transaction types. This log spam has been fixed. -Better Filtering of Transactions in Stake Miner +Removal of Heavy Running Transaction Search Code --------------------- -The stake miner code now filters out zPiv double spends that were rarely being slipped into blocks (and being rejected by peers when sent broadcast). +Many areas of the block validation code use a "slow" transaction search, which searches redundantly for transactions. This "slow" search has been removed upstream in Bitcoin and is now removed in PIVX. This provides a more efficient syncing process and generally better performing wallet. -More Responsive Shutdown Requests +Sync Fix for Block 908000 --------------------- -When computationally expensive accumulator calculations are being performed and the user requests to close the application, the wallet will exit much sooner than before. +Many wallets were having trouble getting past block 908000. This block recalculates certain aspects of the money supply and zPIV transactions, and is known to take longer to sync. Code has been added to allow block 908000 to be validated without the user needing to enter any special commands into the debug console. +Working Testnet +--------------------- +Testnet is now accessible with this release of the wallet. Testnet can be accessed using the `-testnet` startup flag. -3.0.4 Change log +zPIV Spending Fix +--------------------- +zPIV that were minted between block 891730 and 895400 were experiencing an error initializing the accumulator witness data correctly, causing an inability to spend those mints. This has been fixed. + + +3.0.6 Change log ================= Detailed release notes follow. This overview includes changes that affect @@ -73,37 +75,33 @@ behavior, not code moves, refactors and string updates. For convenience in locat the code changes and accompanying discussion, both the pull request and git merge commit are mentioned. +### RPC and other APIs +- #366 `f361344` Do not stringify beyond OP_ZEROCOINSPEND for CScript::ToString() (presstab) +- #385 `732bfb0` getspentzerocoinamount RPC call. (whateverpal) +- #417 `f97b409` [RPC] Fix typo for `obfuscation` RPC command (Patrick Collins) + +### Block and Transaction Handling +- #395 `5c5a9c6` [Main] Avoid slow transaction search with txindex enabled (Fuzzbawls) +- #405 `e415420` [Main] Automate database corruption fix caused by out of sync txdb. (presstab) +- #408 `beae959` Fix "accumulator does not verify" when spending zPIV. (presstab) +- #418 `90b0310` Fix edge case segfault. (presstab) + ### P2P Protocol and Network Code -- #294 `27c0943` Add additional checks for txid for zpiv spend. (presstab) -- #301 `b8392cd` Refactor zPiv tx counting code. Add a final check in ConnectBlock() (presstab) -- #306 `77dd55c` [Core] Don't send not-validated blocks (Mrs-X) -- #312 `5d79bea` [Main] Update last checkpoint data (Fuzzbawls) -- #325 `7d98ebe` Reindex zPiv blocks and correct stats. (presstab) -- #327 `aa1235a` [Main] Don't limit zPIV spends from getting into the mempool (Fuzzbawls) -- #329 `19b38b2` Update checkpoints. (presstab) -- #331 `b1fb710` [Consensus] Bump protocol. Activate via Spork 15. (rejectedpromise) +- #393 `58ec23f` [Testnet] Adjust testnet chainparams to new hard coded values. (presstab) ### Wallet -- #308 `bd8a982` [Minting] Clear mempool after invalid block from miner (presstab) -- #316 `ed192cf` [Minting] Better filtering of zPiv serials in miner. (presstab) +- #412 `2fb5f17` Double check tx size when creating zPIV tx's. (presstab) ### GUI -- #309 `f560ffc` [UI] Better error message when too much inputs are used for spending zPIV (Mrs-X) -- #317 `b27cb72` [UI] Wallet repair option to resync from scratch (Mrs-X) -- #323 `2b648be` [UI] Balance fix + bubble-help + usability improvements (Mrs-X) -- #324 `8cdbb5d` disable negative confirmation numbers. (Mrs-X) +- #384 `7897f60` [Qt] Periodic make translate (Fuzzbawls) ### Build System -- #322 `a91feb3` [Build] Add compile/link summary to configure (Fuzzbawls) +- #402 `e383b94` Change git info in genbuild.sh (Jon Spock) +- #419 `79956d4` [Travis] Add logprint-scanner.py to TravisCI (Fuzzbawls) ### Miscellaneous -- #298 `3580394` Reorg help to stop travis errors (Jon Spock) -- #302 `efb648b` [Cleanup] Remove unused variables (rejectedpromise) -- #307 `dbd801d` Remove hard-coded GIT_ARCHIVE define (Jon Spock) -- #314 `f1c830a` Fix issue causing crash when pivxd --help was invoked (Jon Spock) -- #326 `8b6a13e` Combine 2 LogPrintf statement to reduce debug.log clutter (Jon Spock) -- #328 `a6c18c8` [Main] PIVX not responding on user quitting app (Aaron Langford) - +- #401 `f30d9b7` [Scripts] LogPrint(f) scanner script (Sonic, PeterL73) +- #409 `4f78e67` Handle debug.log "CWalletTx::GetAmounts: Unknown transaction type" spam. (presstab) Credits ======= @@ -112,9 +110,10 @@ Thanks to everyone who directly contributed to this release: - Fuzzbawls - Jon Spock - Mrs-X -- furszy +- Patrick Collins +- PeterL73 - presstab -- rejectedpromise -- aaronlangford31 +- sonic +- whateverpal As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/pivx-project-translations/). diff --git a/src/clientversion.h b/src/clientversion.h index 5e84ae5f40e79..d1a644641571c 100644 --- a/src/clientversion.h +++ b/src/clientversion.h @@ -16,8 +16,8 @@ //! These need to be macros, as clientversion.cpp's and pivx*-res.rc's voodoo requires it #define CLIENT_VERSION_MAJOR 3 #define CLIENT_VERSION_MINOR 0 -#define CLIENT_VERSION_REVISION 5 -#define CLIENT_VERSION_BUILD 1 +#define CLIENT_VERSION_REVISION 6 +#define CLIENT_VERSION_BUILD 0 //! Set to true for release, false for prerelease or test build #define CLIENT_VERSION_IS_RELEASE true