Skip to content

Commit

Permalink
Bump Version to 3.0.6
Browse files Browse the repository at this point in the history
Add Release Notes
  • Loading branch information
Fuzzbawls committed Nov 30, 2017
1 parent b0335f8 commit f3bd6a9
Show file tree
Hide file tree
Showing 3 changed files with 48 additions and 49 deletions.
4 changes: 2 additions & 2 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -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])
Expand Down
89 changes: 44 additions & 45 deletions doc/release-notes.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
PIVX Core version 3.0.4 is now available from:
PIVX Core version 3.0.6 is now available from:

<https://github.com/pivx-project/pivx/releases>

Expand All @@ -10,14 +10,6 @@ Please report bugs using the issue tracker at github:
<https://github.com/pivx-project/pivx/issues>


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
==============

Expand All @@ -40,70 +32,76 @@ 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
behavior, not code moves, refactors and string updates. For convenience in locating
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
=======
Expand All @@ -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/).
4 changes: 2 additions & 2 deletions src/clientversion.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit f3bd6a9

Please sign in to comment.