Be notified of new releases
Create your free GitHub account today to subscribe to this repository for new releases and build software alongside 31 million developers.Sign up
PIVX Core version 3.1.1 is now available from: https://github.com/pivx-project/pivx/releases
This is a new minor version release, including various bug fixes and performance improvements, as well as updated translations.
Please report bugs using the issue tracker at github: https://github.com/pivx-project/pivx/issues
PIVX Core v3.1.1 is a non-mandatory update to address bugs and introduce minor enhancements that do not require a network change.
How to Upgrade
If you are running an older version, shut it down. Wait until it has completely shut down (which might take a few minutes for older versions), then run the installer (on Windows) or just copy over /Applications/PIVX-Qt (on Mac) or pivxd/pivx-qt (on Linux).
PIVX Core is extensively tested on multiple operating systems using
the Linux kernel, macOS 10.8+, and Windows Vista and later.
Microsoft ended support for Windows XP on April 8th, 2014,
No attempt is made to prevent installing or running the software on Windows XP, you
can still do so at your own risk but be aware that there are known instabilities and issues.
Please do not report issues about Windows XP to the issue tracker.
PIVX Core should also work on most other Unix-like systems but is not
frequently tested on them.
❗️ ❗️ ❗️ MacOS 10.13 High Sierra ❗️ ❗️ ❗️
Currently there are issues with the 3.0.0+ gitian release on MacOS version 10.13 (High Sierra), no reports of issues on older versions of MacOS.
Fix spending for v1 zPIV created before block 1050020
The transition to v2 zPIV and reset of the accumulators caused blocks 1050000 - 1050010 to be accumulated twice. This was causing a number v1 zPIV to not create valid witnesses, and thus were not spendable. This problem is fixed by double accumulating blocks 1050000-1050010 when creating the witness. Any user that had issues spending zPIV v1 will now be able to convert that into PIV and then zPIV v2 (if desired).
Adjustment to staking properties to reduce orphaned blocks
zPIV stake set to update more frequently and lowering the stake hashdrift to 30 seconds to reduce the number of orphans being experienced by PIVX stakers.
Further work is being done to improve the efficiently of zPoS beyond this, and will be available in a subsequent release at a later date.
Fix wrongly displayed balance on Overview tab
Fixes a display issue introduced with a previous change. This was a "display only" issue, all your coins were there all the time.
Show progress percent for zpiv reindex operations
When starting the wallet with
-reindexzerocoin, these operations can take a considerable time to complete depending on system hardware. A progress percent on the splash screen is now shown for these processes to avoid confusion in thinking that the wallet has frozen.
Add TOR service icon to status bar
An icon is now shown for clients that are connected and operating over the TOR network. Included is a mouse-over tooltip showing the onion address associated with the client. This icon is only shown when a connection to the TOR network can be established, and will be hidden otherwise.
PIVX Daemon & Client (RPC Changes)
Fix listtransactions RPC function
This addresses an issue where new incoming transactions are not recorded properly, and subsequently, not returned with
listtransactions in the same session.
This fix was previously included in the
v188.8.131.52 tag, and relayed to affected exchanges/services, which typically use this command for accounting purposes. It is included here for completeness.
Switch to libsecp256k1 signature verification
Here is the long overdue update for PIVX to let go of OpenSSL in its consensus code. The rationale behind it is to avoid depending on an external and changing library where our consensus code is affected. This is security and consensus critical. PIVX users will experience quicker block validations and sync times as block transactions are verified under libsecp256k1.
The recent CVE-2018-0495 brings into question a potential vulnerability with OpenSSL (and other crypto libraries) that libsecp256k1 is not susceptible to.
Write to the zerocoinDB in batches
Instead of using a separate write operation for each and every bit of data that needs to be flushed to disk, utilize leveldb's batch writing capability. The primary area of improvement this offers is when reindexing the zerocoinDB (
-reindexzerocoin), which went from needing multiple hours on some systems to mere minutes.
Secondary improvement area is in ConnectBlock() when multiple zerocoin transactions are involved.
Resolution of excessive peer banning
It was found that following a forced closure of the PIVX core wallet (ungraceful), a situation could arise that left partial/incomplete data in the disk cache. This caused the client to fail a basic sanity test and ban any peer which was sending the (complete) data. This, in turn, was causing the wallet to become stuck. This issue has been resolved client side by guarding against this partial/incomplete data in the disk cache.
3.1.1 Change log
Detailed release notes follow. This overview includes changes that affect behavior, code moves, refactoring and string updates. For convenience in locating the code changes and accompanying discussion, both the pull request and git merge commit are mentioned.
8bf13a5ad[Crypto] Switch to libsecp256k1 signature verification and update the lib (warrows)
6b73598b9[MoveOnly] Remove zPIV code from main.cpp (presstab)
6c3bc8c76[Main] Check whether tx is in chain in ContextualCheckZerocoinMint(). (presstab)
1a82aec96[Core] Missing seesaw value for block 325000 (warrows)
d359c6136[Main] Write to the zerocoinDB in batches (Fuzzbawls)
b4d82c944[Build] Remove unnecessary BOOST dependency (Mrs-X)
b8c672c98[Build] Make sure Boost headers are included for libzerocoin (Fuzzbawls)
98c7a4f65[Travis] Add separate job to check doc/logprint/subtree (Fuzzbawls)
9950fce59[Depends] Update Qt download url (fanquake)
P2P Protocol and Network Code
a602d00eb[Budget] Make sorting of finalized budgets deterministic (Mrs-X)
3aa3e5c97[Net] Update hard-coded fallback seeds (Fuzzbawls)
c296b7572Fixed Multisend dialog to show settings properly (SHTDJ)
f0d894253[GUI] Fix wrongly displayed balance on Overview tab (Mrs-X)
217433561[GUI] Only enable/disable PrivacyDialog zPIV elements if needed. (presstab)
6dd752cb5[Qt] Show progress percent for zpiv reindex operations (Fuzzbawls)
9b6a42ba0[Qt] Add Tor service icon to status bar (Fuzzbawls)
14e125795[Qt] Remove useless help button from QT dialogs (windows) (warrows)
c66b7b632[Qt] Periodic translation update (Fuzzbawls)
766d5196c[Wallet] Write new transactions to wtxOrdered properly (Fuzzbawls)
779d8d597Fix spending for v1 zPIV created before block 1050020. (presstab)
6b525f0df[Wallet] Adjust staking properties to lower orphan rates. (presstab)
5f2e61d60[Wallet] Add some LOCK to avoid crash (warrows)
76c01a560[Doc] Change aarch assert sign output folder (Warrows)
d2ce04cc0[Tests] Fix chain ordering in budget tests (Fuzzbawls)
c6a57f664[Output] Properly log reason(s) for increasing a peer's DoS score. (Fuzzbawls)
f6bfb4ade[Utils] Add copyright header to logprint-scanner.py (Fuzzbawls)
Thanks to everyone who directly contributed to this release:
As well as everyone that helped translating on Transifex.