The release of 4.0 was a historic event in many ways. The amount of work from design to development to communications to translations and marketing, along with the most rigorous QA testing regiment in PIVX history, delivered a near-flawless release. Of course with any technical release, especially one so massive there are inevitable bugs and other issues that come up. The dev team did an amazing job dealing with the majors leading up to 4.0 release.
4.0.1 covers some of the extra GUI improvements that were mentioned during testing and a few that could wait until after the full mandatory 4.0 release. Some of the other technical fixes are improvements to advancements already in place and provide the PIVX Community a Core Wallet to be proud of. Beautiful, secure, fast, initiative, advanced – an amazing platform for the next phase for PIVX.
PIVX Core version v4.0.1 is now available from https://github.com/pivx-project/pivx/releases
This is a new revision 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 v4.0.1 is NOT a mandatory update, and users can choose to stay with v4.0.0 if they wish. However, v4.0.1 does contain minor bug fixes and performance improvements to address feedback from the v4.0.0 version.
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.10+, 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.
Apple released it’s last Mountain Lion update on August 13, 2015, and officially ended support on December 14, 2015. PIVX Core software starting with v3.2.0 will no longer run on MacOS versions prior to Yosemite (10.10). Please do not report issues about MacOS versions prior to Yosemite to the issue tracker.
PIVX Core should also work on most other Unix-like systems but is not frequently tested on them.
Startup Fixes + Performance Improvements
There was a regression in the wallet startup flow causing an excessively growing time based on the amount of stored transactions. In the extreme situation of a wallet with 400k transactions, for example, it was taking over an hour.
4.0.1 fixes it and includes several performance improvements in the wallet’s startup flow.
Wallet with 450,000 transactions.
3.4.0 —> ~14 minutes.
4.0.0 —> +60 minutes.
4.0.1 —> ~8 minutes 🚀 .
NOTE: Currently the GUI interface only loads the latest 20k transaction records. A “load-on-demand” feature for such big wallets will be provided in a future release.
GUI Enable Smaller Window Resize
There was a request from many users about our GUI window not fitting in their less than 13 inches screens.
4.0.1 implemented a scrolled navigation bar and permit to decrease the screen height up to 620 px (4.0.0 minimum was 740px). Solving, in this way, the small devices fitting issue.
GUI Masternodes Locked Balance Bug Fix.
There was a bug in 4.0.0 not showing the locked balance (Masternodes collateral utxo) in the topbar’s available balance. 4.0.1 fixed it.
GUI Masternodes Start all and Start Missing flows.
The new Masternodes GUI is now implementing the Start all and Start missing flows.
RPC/GUI Rework staking status
Fixed bug with staking icon off while the wallet is actually staking.
Improved staking status detection and expanded getstakingstatus output.
Account System Deprecation
The internal accounting system is planned for removal in a future version. As such, this release contains notations in RPC help texts that state it’s deprecation.
Some instances of the term “account” are rather loose, and possibly technically incorrect (confusing “label” with “account”). These instances will be corrected in a subsequent pull request.
Functional Test Suite Overhaul
Our Regression/Functional testing suite has undergone a substantial overhaul, particularly in regards to the cached chain that can be used to speed up testing. Full details can be found in the description of #1218.
Further Zerocoin Code Cleanup
Initial cleanup work towards a clean zerocoin code sources. 4.1.0 will continue and finish this work.
The house needs to be organized for 5.0.0 new privacy protocol.
The staking_status is now the first attribute.
validtime has been removed and replaced with tiptime (displaying the time of the current block at the tip of the chain). Fixed enoughcoins attribute and added the following:
- staking_enabled (whether staking is enabled via conf file / startup flag)
- hashLastStakeAttempt (hash of the block on top of which the last stake attempt was made)
- heightLastStakeAttempt (height of the block on top of which the last stake attempt was made)
- timeLastStakeAttempt (time of the last stake attempt)
This command now takes an additional optional argument (string: label) that allows associating a label with the added owner address in the address book.
This command now takes an optional argument (boolean: fBlacklist) that allows the command to show only owner addresses that have been removed from the whitelist (done by using the delegatorremovecommand).
The default behavior of this command if the new argument isn’t provided remains the same as before.
importprivkey and importaddress
Added support for cold-staking addresses.
v4.0.1 Change log
Detailed release notes follow. For convenience in locating the code changes and accompanying discussion, both the pull request and git merge commit are mentioned.
f72660f89[Backport][Performance] Cache + guard best block hash. (furszy)
4f19cd0df[Cleanup] Remove unnecessary QtCreator files (Fuzzbawls)
2e4d9142f[Trivial] Remove spammy log in in StakeV1 (random-zebra)
2d6d48c74[Cleanup] Remove precomputing (Fuzzbawls)
51e7ea2a0[Cleanup] Remove precomputing II (random-zebra)
fcb21d851[Core][Trivial] Don’t log missing MNs during CleanAndRemove (random-zebra)
9cf807d80[Core] Rework staking status (random-zebra)
e7e1dd4d1[Trivial] Log log2_work value with 16 decimals (random-zebra)
23313ac4f[GUI][Trivial] Minor edits to written content (random-zebra)
a2912a9d6[GUI] MN creation wizard (furszy)
d49e4a6d6[Startup][GUI][Performance] Optimizations for huge wallets. (furszy)
e62da0bda[GUI] Masternodes start all and start missing flows implemented. (furszy)
f2d429114[GUI][Bug] Show locked balance in the available total amount. (furszy)
a3f09c422[Trivial][GUI] Minor changes within 4.0 wallet FAQ (NoobieDev12)
ec3c7d67b[GUI] Adding capability to decrease the screen size for small screens. (furszy)
276e1e08b[GUI] Every MN action checking tier two synced. (furszy)
f65d0d828[Qt] Initialize isLoading to false for CS view (Fuzzbawls)
69f897be3[Wallet] Remove un-necessary CheckTransaction call when loading wallet. (Fuzzbawls)
87c369bcc[Wallet] Graceful shutdown in the unlock corrupted wallet. (furszy)
ccb2402d4[Wallet] IsEquivalentTo commented (furszy)
310deb9b0[Model][Wallet][Performance] Several changes in txRecord updateStatus. (furszy)
d40686f43Clean up 4.0 compiler warnings (Cave Spectre)
1968f6107[Doc] Update build-unix.md file (Fuzzbawls)
80414f979[BUG][RPC] fix signature check (against old format) in mnbudgetrawvote (random-zebra)
fd43ba5f2[RPC] Add optional arguments to delegatoradd and listdelegators (random-zebra)
2bfde4e7b[RPC] Add coldstaking address support in importprivkey and importaddress (random-zebra)
441d790d8[RPC] Notate all account stuff as deprecated (Fuzzbawls)
a70e82a86[Tests] Functional Tests Suite Overhaul (random-zebra)
Thanks to everyone who directly contributed to this release:
- Cave Spectre
As well as everyone that helped translating on Transifex, the QA team during Testing and the Node hosts supporting our Testnet.