Skip to content

Releases: PIVX-Project/PIVX

v5.5.0rc1

04 Oct 05:15
v5.5.0rc1
b221c7f
Compare
Choose a tag to compare
v5.5.0rc1 Pre-release
Pre-release

First release candidate for the upcoming v5.5.0 release. This is primarily for use on testnet, and will be required to connect to testnet after Oct 6.

Full, finalized release notes will be available with the final release version.

v5.4.0

21 Dec 13:41
v5.4.0
e05705a
Compare
Choose a tag to compare

PIVX Core version v5.4.0 is now available from: https://github.com/pivx-project/pivx/releases

This is a new major version release, including a brand-new visual graphical interface for the Governance system, tier two network stability improvements, various bug fixes and performance enhancements, as well as updated translations.

Please report bugs using the issue tracker at github: https://github.com/pivx-project/pivx/issues

How to Upgrade

If you are running an older version, shut it down. Wait until it has completely shut down, then run the installer (on Windows) or just copy over /Applications/PIVX-Qt (on Mac) or pivxd/pivx-qt (on Linux).

Notable Changes

GUI

  • Brand-new governance graphic user interface! Styled for both themes, light and dark! Now you will be able to:
    • Watch and follow active proposals live.
    • Create new proposal using a simple three steps wizard (The wallet will automatically create the transaction and relay the proposal to the network without any further interaction).
    • Follow how many blocks left for the next superblock, the allocated and the available amounts.
    • Vote for proposals functionality with a multi-masternode voting wizard and change vote on-demand.
    • Filter proposals by status, votes count and more.
  • Masternode rewards have been included into the dashboard chart.
  • Address search functionality for cold-staking screen.
  • More precise after-fee calculation.
  • Wallet startup screen presenting needed disk space per-network.
  • Fix "null" name for wallet automatic backups.
  • Fix bug during restart process that blocked the wallet for being automatically restarted.

Wallet

  • Improved transaction inputs selection, preferring coins that have fewer ancestors (preventing tx rejection for long mempool chains).

  • Much faster shield transactions processing during block reception (faster synchronization for large wallets).

RPC Server

Deprecated 'autocombinerewards' Command

The autocombinerewards RPC command was soft-deprecated in v5.3.0 and replaced with explicit setter/getter commands setautocombinethreshold/getautocombinethreshold. PIVX Core, by default, will no longer accept the autocombinerewards command, returning a deprecation error, unless the pivxd/pivx-qt is started with the -deprecatedrpc=autocombinerewards option.

This command will be fully removed in v6.0.0.

Shield address support for RPC label commands

The setlabel RPC command now supports a shield address input argument to allow users to set labels for shield addresses. Additionally, the getaddressesbylabel RPC command will also now return shield addresses with a matching label.

Specify optional label for getnewshieldaddress

The getnewshieldaddress RPC command now takes an optional argument label (string) to denote the desired label for the generated address.

P2P connection management

  • Peers manually added through the addnode option or addnode RPC now have their own
    limit of sixteen connections which does not compete with other inbound or outbound
    connection usage and is not subject to the maxconnections limitation.

  • New connections to manually added peers are much faster.

v5.4.0 Change log

Block and transaction handling

  • #2549 Remove temporary guard for 5.3 rules pre-enforcement (random-zebra)
  • #2552 Restore pre-v5.3 guard for under-minting blocks rule (random-zebra)
  • #2591 Clean zc transactions from check() method (furszy)

P2P protocol and network code

  • #2587 Split resolve out of connect and add addnode parallel outbound connections limit (furszy)
  • #2677 [net_processing] Fix ignoring get data requests when fPauseSend is set on a peer (furszy)
  • #2682 [net] Remove assert(nMaxInbound > 0) (furszy)

Wallet

  • #2539 Sapling, restructure increment witnesses workflow (furszy)
  • #2625 Fix "null" backup file name (furszy)
  • #2601 Prefer coins that have fewer ancestors, sanity check txn before ATMP and rebroadcast functional test (furszy)

Tier two network

  • #2565 [BUG] Consider also DMNs in CountEnabled and CountNetworks (random-zebra)
  • #2567 [BUG][TierTwo] MNB process refactor (furszy)
  • #2659 [TierTwo] Fix and improve several synchronization problems (furszy)

GUI

  • #2534 Add address search option in cold-staking widget (random-zebra)
  • #2593 [BUG] set locked label invisible for shield notes (furszy)
  • #2568 [BUG][GUI] Refine bytes/fee/"after fee" calculation in coin-control (random-zebra)
  • #2406 New Governance Graphical User Interface (furszy)
  • #2626 [BugFix] Schedule proposal broadcast only if the block has not passed yet (furszy)
  • #2627 Correct proposal large title for being cut when the app window width isn't big enough (furszy)
  • #2621 Show disk space requirement per-network (Fuzzbawls)
  • #2635 [Cleanup] Stop translating placeholder strings (Fuzzbawls)
  • #2577 Include MN Rewards in the dashboard chart (furszy)
  • #2564 Clean restart process (furszy)
  • #2661 [BUG] GUI: invalid locking of shield notes in coin control (random-zebra)
  • #2662 [GUI] Don't show UTXO locking options for shield notes (Fuzzbawls)
  • #2663 [Build] Sanitize governance UIs item naming (Fuzzbawls)
  • #2671 [GUI] Differentiate Budget payment output records from MNs block reward records (furszy)
  • #2664 [GUI] Fix proposal tooltip menu location skewing (Fuzzbawls)
  • #2670 [GUI] Governance, do not open the proposal creation wizard if node is in IBD (furszy)
  • #2665 [GUI] Fix governance nav button hover css (Fuzzbawls)
  • #2672 [GUI] Fix proposal name and URL size limit validation (furszy)

Build system

  • #2521 Add M1 mac homebrew path (Fuzzbawls)
  • #2522 Use latest config guess/sub (Fuzzbawls)
  • #2581 [Cleanup] Remove un-used TravisCI related files (Fuzzbawls)
  • #2523 Bump gmp to v6.2.1 (Fuzzbawls)
  • #2582 Fix Qt builds for M1 apple builds (Fuzzbawls)
  • #2588 Remove unused cargo-checksum.sh script (Fuzzbawls)
  • #2583 Bump Rust to v1.54.0 (Fuzzbawls)
  • #2589 [CMake] Further Apple M1 path improvements (Fuzzbawls)

RPC and other APIs

  • #2540 [Doc] Fix RPC/cli example in setautocombinethreshold help (random-zebra)
  • #2600 getnewshieldaddress add 'label' argument (furszy)
  • #2610 Remove auth cookie on shutdown (furszy)
  • #2608 Fully deprecate the autocombinerewards method (Fuzzbawls)
  • #2609 Shield address setlabel/getaddressesbylabel (Fuzzbawls)

Tests and QA

  • #2494 [Test] Script tests updates (furszy)
  • #2420 [BLS] Add wrapper around chiabls lib, worker, benchmarks and unit tests (random-zebra)
  • #2550 Add MN payments test coverage (furszy)
  • #2538 Improve benchmark precision (furszy)
  • #2616 Replace usage of tostring() with tobytes() (Fuzzbawls)
  • #2585 Secondary chains acceptance test coverage (furszy)
  • #2590 ci: Enable shellcheck linting (Fuzzbawls)
  • #2633 sapling_wallet_nullifiers.py whitelist peers to speed up tx relay (furszy)
  • #2634 fix coinstake input selection on secondary chains (furszy)
  • #2638 Fix intermittent mempool sync failures in sapling_wallet_nullifiers (random-zebra)
  • #2619 Add test case for node with a full "ask for" inv set (furszy)
  • #2641 Add linter for circular dependencies and start fixing them (random-zebra)

Miscellaneous

  • #2493 Locked memory manager updates (furszy)
  • #2547 util: Replace logprintf (but not logprint) macro with regular function (random-zebra)
  • #2545 util: Better url validation (random-zebra)
  • #2548 util: Add validation interface logging (random-zebra)
  • #2558 Cleaning unused code (furszy)
  • #2629 util: Support serialization of std::vector (random-zebra)
  • #2586 [Cleanup] Remove fNetworkNode and pnodeLocalHost, and encapsulate CNode id. (furszy)
  • #2579 pivx-cli better error handling + libevent RAII upstream backports (furszy)

Refactoring and cleanups

  • #2569 [Cleanup] Remove and deglobalize system.h global variables (furszy)
  • #2603 [Cleanup] Remove unused chain params (furszy)
  • #2630 [Cleanup] Remove unused variables and private fields (random-zebra)
  • #2642 scripted-diff: replace boost::optional with Optional<> wrapper (random-zebra)
  • #2646 [Refactoring] Break circ dependency init -> * -> init by extracting shutdown.h
  • #2643 [Refactoring] Remove checkpoints circular dependencies (random-zebra)
  • #2644 [Refactoring] remove circular dependency primitives/transaction <-> script/standard (random-zebra)

Credits

Thanks to everyone who directly contributed to this release:

  • Alexander Block
  • Anthony Towns
  • Carl Dong
  • Chris Stewart
  • Cory Fields
  • furszy
  • Fuzzbawls
  • gmaxwell
  • Gregory Maxwell
  • Gregory Sanders
  • Gregory Solarte
  • instagibbs
  • Jeffrey Czyz
  • Jim Posen
  • John Newbery
  • Kalle Alm
  • Karl-Johan Alm
  • Kaz Wesley
  • Luke Dashjr
  • MarcoFalke
  • Martin Ankerl
  • Matt Corallo
  • Nikolay Mitev
  • Pavel Janík
  • Pieter Wuille
  • practicalswift
  • Puru
  • random-zebra
  • Russell Yanofsky
  • Suhas Daftuar
  • Wladimir J. van der Laan

As well as everyone that helped translating on Transifex, and every single person who tested the release candidates.

v5.4.0rc2

16 Dec 18:34
v5.4.0rc2
beb1492
Compare
Choose a tag to compare
v5.4.0rc2 Pre-release
Pre-release

Second release candidate for the upcoming v5.4.0 release.

Full, finalized release notes will be available with the final release version.

v5.4.0rc1

30 Nov 00:01
v5.4.0rc1
08c6da7
Compare
Choose a tag to compare
v5.4.0rc1 Pre-release
Pre-release

First release candidate for the upcoming v5.4.0 release.

Full, finalized release notes will be available with the final release version.

v5.3.3

03 Nov 13:39
v5.3.3
d54e778
Compare
Choose a tag to compare

PIVX Core version v5.3.3 is now available from: https://github.com/pivx-project/pivx/releases.

This is a new optional but highly recommended point version release focused on solving the tier two network synchronization issues affecting v5.3 branch releases.

Technical details can be found in #2611 and #2622

How to Upgrade

If you are running an older version, shut it down. Wait until it has completely shut down then run the installer (on Windows) or just copy over /Applications/PIVX-Qt (on Mac) or pivxd/pivx-qt (on Linux).

Important Note

Masternodes will need to be restarted once both the masternode daemon and the controller wallet have been upgraded.

Extra GUI changes

The non-translated "Welcome to %1 wallet" in the welcome wizard dialog bug has been solved by #2617.

Credits

Thanks to everyone who directly contributed to this release:

  • furszy
  • fuzzbawls
  • random-zebra

As well as everyone that helped translating on Transifex.

v5.3.2.1

17 Oct 16:13
v5.3.2.1
cecb5fa
Compare
Choose a tag to compare

PIVX Core version v5.3.2.1 is now available from: https://github.com/pivx-project/pivx/releases.

This is a new optional patch version release focused on solving specific issues reported by the community.

Notable Changes

GUI

  • The dashboard staking chart "last day of the month not being shown" bug was fixed.

  • The non-refreshed locked coins label, in the coin control dialog, for shield notes selection bug was fixed.

  • More accurate bytes, fee and "after fee" calculation in coin control.

  • The invalid presentation of non available translatable strings such as "Welcome to %1 wallet" bug was fixed.

RPC

  • The RPC sendmany command selecting, by default, non-confirmed utxo bug was fixed.

v5.3.2.1 Change log

GUI

  • #2568 [BUG][GUI] Refine bytes/fee/"after fee" calculation in coin-control (random-zebra)
  • #2578 [GUI] dashboard chart, fix last day of the month not being shown (furszy)
  • #2593 [GUI] [BUG] set locked label invisible for shield notes (furszy)
  • #2604 [GUI] Update translations from transifex for v5.3.2.1 (fuzzbawls)

RPC

  • #2592 [RPC][BUG] fix missing minimum depth set for legacy transactions. (furszy)

Credits

Thanks to everyone who directly contributed to this release:

  • furszy
  • fuzzbawls
  • random-zebra

As well as everyone that helped translating on Transifex.

v5.3.2

28 Sep 23:56
v5.3.2
c2f20ec
Compare
Choose a tag to compare

PIVX Core version v5.3.2 is now available from: https://github.com/pivx-project/pivx/releases

This is an important release that fixes a forking scenario where the node rejects and marks as invalid a valid block in a parallel branch.

We recommend everyone to update your node/wallet as soon as possible to not be affected by this issue.

Please report bugs using the issue tracker at github: https://github.com/pivx-project/pivx/issues

v5.3.1

22 Sep 14:28
v5.3.1
ba18588
Compare
Choose a tag to compare

PIVX Core version v5.3.1 is now available from: https://github.com/pivx-project/pivx/releases

This is an important release for stakers and Masternodes: including several tier two synchronization, GUI and build system bug fixes.
We recommend everyone to update your node/wallet.

Please report bugs using the issue tracker at github: https://github.com/pivx-project/pivx/issues

How to Upgrade

If you are running an older version, shut it down. Wait until it has completely shut down, then run the installer (on Windows) or just copy over /Applications/PIVX-Qt (on Mac) or pivxd/pivx-qt (on Linux).

Notable Changes

GUI

  • Duplicate transaction records bug fixed.
  • Not visible shield and/or cold staking contacts addresses list bug fixed

Tier Two Network

  • Not advancing (stalled) tier two synchronization bug fixed.
  • Spork signer not persisting new spork value to DB bug fixed.

Build system

  • "dirty" release build version name bug fixed.

5.3.1 Change log

GUI

  • #2530 [GUI][BUG] remove duplicated coll. confirmation check in MNModel::data (random-zebra)
  • #2491 [GUI] Translation cleanup (Fuzzbawls)
  • #2551 [BUG][GUI] Fix random double/triple transaction record issue (random-zebra)
  • #2557 [Trivial] Update labelSubtitleAddress text in send widget ui (random-zebra)
  • #2555 [GUI] Fix not visible contacts list for shield/CS addrs (furszy)

Consensus

  • #2562 [Consensus] Add checkpoints before v5.3.1 release (random-zebra)

Tier Two Network

  • #2553 [BUG] Spork signer doesn't persist new spork value to DB (random-zebra)
  • #2559 [BUG][TierTwo] Clear fulfilled requests when mnsync fails (random-zebra)
  • #2560 [Bug][TierTwo] Mark peer sync request msg fulfilled only if the broadcast was performed (furszy)

Build system

  • #2525 [Build] Get rid of CLIENT_DATE (furszy)
  • #2541 [Gitian][Bug] Ignore changes to relic_conf.h.in (Fuzzbawls)
  • #2546 [Snap] Fix nightly build's genbuild.sh patch (Fuzzbawls)

RPC

  • #2540 [RPC][Doc] Fix RPC/cli example in setautocombinethreshold help (random-zebra)

Credits

Thanks to everyone who directly contributed to this release:

  • furszy
  • Fuzzbawls
  • random-zebra
  • W. J. van der Laan

As well as everyone that helped translating on Transifex, the QA team during Testing and the node hosts supporting our Testnet.

v5.3.0

28 Aug 17:04
v5.3.0
04b80e4
Compare
Choose a tag to compare

PIVX Core version v5.3.0 is now available from: https://github.com/pivx-project/pivx/releases

Mandatory Update

PIVX Core v5.3.0 is a mandatory update for all users. This release contains new consensus rules and improvements that are not backwards compatible with older versions. Users will need to update their clients before enforcement of this update goes into effect.

Update enforcement is currently scheduled to go into effect at the following time:

Mainnet: block 3,014,000. ~10th September.

Masternodes will need to be restarted once both the masternode daemon and the controller wallet have been upgraded.
If you are running a Masternode over Tor, please read the "How To Upgrade" section.

Note: In preparation for the enforcement, upgraded peers will start rejecting non-upgraded peers few hours before the enforcement block height, we recommend everyone to be updated at max a day before the final time.

Please report bugs using the issue tracker at github: https://github.com/pivx-project/pivx/issues

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).

Important note for Masternodes running over Tor (v2 onion address):
Before starting the node, copy the content of the onion_private_key file, located inside the data directory into a new onion_v3_private_key file inside the same directory.
On linux: cp -f onion_private_key onion_v3_private_key.
If the onion_v3_private_key file already exist, replace the content with the content of the onion_private_key file.

This will allow you to bypass the v2 onion address deprecation and continue running the MN over Tor for now.
Be aware that the Tor network is completely removing v2 onion addresses support starting from Oct 15th (see "P2P and network changes" section).
After the v5.3 network upgrade enforcement, the MN will need to be migrated to run on a Tor v3 onion address (Update window Sept 15th - Oct 15th).
If it's not done on time, the node will drop off the network.

Sapling Parameters

In order to run, as all versions after 5.0.0, PIVX Core requires two files, sapling-output.params and sapling-spend.params (with total size ~50 MB), to be saved in a specific location.

For the following packages, no action is required by the user:

  • macOS release dmg binaries will use the params that are bundled into the .app bundle.
  • Windows installer .exe will automatically copy the files in the proper location.
  • Linux PPA/Snap installs will automatically copy the files in the proper location.

For the other packages, the user must save the param files in the proper location:

  • macOS/Linux tar.gz tarballs include a bash script (install-params.sh) to copy the parameters in the appropriate location.
  • Windows .zip users need to manually copy the files from the share/pivx folder to the %APPDATA%\PIVXParams directory.
  • self compilers can run the script from the repository sources (params/install-params.sh), or copy the files directly from the params subdirectory.

Compatibility

PIVX Core is extensively tested on multiple operating systems using the Linux kernel, macOS 10.12+, and Windows 7 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.

From PIVX Core v5.3 onwards, macOS versions earlier than 10.12 are no longer supported.

PIVX Core should also work on most other Unix-like systems but is not frequently tested on them.

The node's known peers are persisted to disk in a file called peers.dat. The format of this file has been changed in a backwards-incompatible way in order to accommodate the storage of Tor v3 and other BIP155 addresses. This means that if the file is modified by v5.3 or newer then older versions will not be able to read it. Those old versions, in the event of a downgrade, will log an error message "Incorrect keysize in addrman deserialization" and will continue normal operation as if the file was missing, creating a new empty one. (PR #2411)

Notable Changes

GUI changes

The launch-on-startup option is no longer available on macOS

Subtract Fee From Amount Control

A new checkbox in the send widget allows the user to deduct the fee from the transaction recipient amount.
The most common use-case is when sending the whole balance, or a selection of UTXOs, without getting any change back.
If the transaction has multiple recipients, each recipient can be checked with a toggleable button in the context menu, and the fee will be split, and subtracted evenly from the outputs selected (PR #2347).

Settings

A new checkbox added to the wallet settings to enable or disable automatic port mapping with NAT-PMP.
If both UPnP and NAT-PMP are enabled, a successful allocation from UPnP prevails over one from NAT-PMP.

Note: Successful automatic port mapping requires a router that supports either UPnP or NAT-PMP (PR #2338).

RPC-Console

The GUI RPC-Console now accepts "parenthesized syntax", nested commands, and simple queries (PR #2282.
A new command help-console (available only on the GUI console) documents how to use it:

This console accepts RPC commands using the standard syntax.
    example:    getblockhash 0

This console can also accept RPC commands using parenthesized syntax.
    example:    getblockhash(0)

Commands may be nested when specified with the parenthesized syntax.
    example:    getblock(getblockhash(0) true)

A space or a comma can be used to delimit arguments for either syntax.
    example:    getblockhash 0
                getblockhash,0

Named results can be queried with a non-quoted key string in brackets.
    example:    getblock(getblockhash(0) true)[tx]

Results without keys can be queried using an integer in brackets.
    example:    getblock(getblockhash(0),true)[tx][0]

P2P and network changes

Tor v3 hidden services support - addrv2 message (BIP155)

This release adds support for Tor version 3 hidden services, and rumoring them over the network to other peers using BIP155. Version 2 hidden services are still supported by PIVX Core, but the Tor network has started deprecating them, and will remove support soon. (PR #2411)

The Tor onion service that is automatically created by setting the -listenonion configuration parameter will now be created as a Tor v3 service instead of Tor v2. The private key that was used for Tor v2 (if any) will be left untouched in the onion_private_key file in the data directory (see -datadir) and can be removed if not needed. PIVX Core will no longer attempt to read it. The private key for the Tor v3 service will be saved in a file named onion_v3_private_key. To use the deprecated Tor v2 service (not recommended), then onion_private_key can be copied over onion_v3_private_key, e.g.
cp -f onion_private_key onion_v3_private_key.

Removal of reject network messages from PIVX Core (BIP61)

Nodes on the network can not generally be trusted to send valid ("reject") messages, so this should only ever be used when connected to a trusted node.
Please use the recommended alternatives if you rely on this feature:

  • Testing or debugging of implementations of the PIVX P2P network protocol should be done by inspecting the log messages that are produced by a recent version of PIVX Core. PIVX Core logs debug messages (-debug=<category>) to a stream (-printtoconsole) or to a file (-debuglogfile=<debug.log>).

  • Testing the validity of a block can be achieved by specific RPCs (submitblock)

  • Testing the validity of a transaction can be achieved by specific RPCs (sendrawtransaction)

  • Wallets should not use the absence of "reject" messages to indicate a transaction has propagated the network, nor should wallets use "reject" messages to set transaction fees. Wallets should rather use fee estimation to determine transaction fees. Thus, they could wait until the transaction has confirmed (taking into account the fee target they set (compare the RPC estimatesmartfee) or listen for the transaction announcement by other network peers to check for propagation.

Multi-wallet support

PIVX Core now supports loading multiple, separate wallets (PR #2337) with individual balances, keys and received transactions.

Multi-wallet is enabled by using more than one -wallet argument when starting PIVX client, either on the command line or in the pivx.conf config file.

In pivx-qt, only the first wallet will be displayed and accessible for creating and signing transactions. GUI selectable multiple wallets will be supported in a future version. However, even in 5.3, other loaded wallets will remain synchronized to the node's current tip in the background.

PIVX Core 5.3.0 contains the following changes to the RPC interface and pivx-cli for multi-wallet:

  • When running PIVX Co...

v5.3.0rc1

22 Aug 22:04
v5.3.0rc1
245992a
Compare
Choose a tag to compare
v5.3.0rc1 Pre-release
Pre-release

First release candidate for the upcoming v5.3.0 release.

Full, finalized release notes will be available with the final release version.