Skip to content

Commit

Permalink
Merge #1283: [Backport] 4.0.2 backports
Browse files Browse the repository at this point in the history
4663310 [GUI] Min window size (furszy)
5c76d51 Doc: Update manpages for 4.0.2 (Fuzzbawls)
79bfec9 Build: Bump version to 4.0.2 (Fuzzbawls)
82d0af7 Doc: Update release notes for 4.0.2 (Fuzzbawls)
3432e29 [GUI] Transaction record cold staking fixes. (furszy)
e5badbc [RPC] Don't do extra PoW round for pos blocks in 'generate' RPC Github-Pull: #1274 Rebased-From: 6b5ce00 (random-zebra)
7b8169c [Trivial] Update copyright headers for 4.0.2 (Fuzzbawls)
8faf4bf [Core] Update checkpoints for first v7 block (Fuzzbawls)
f6e8a14 [GUI] Add latest block number to topbar pushButtonSync Github-Pull: #1268 Rebased-From: 84b4ae4 (random-zebra)
8edfa83 [GUI] Connect P2CSUnlockOwner and P2CSUnlockStaker records to the model Github-Pull: #1265 Rebased-From: 4b24380 (random-zebra)
e475827 [GUI] CoinControlDialog, removing extra spacing char from the copy to clipboard texts. (furszy)
dbe2b3a [GUI] CoinControlDialog, copy to clipboard action implemented on every showed label + inform snackbar notifying the user. (furszy)
3404bd9 [Wallet] Don't add P2CS automatically to CWalletTx::GetLockedCredit Github-Pull: #1264 Rebased-From: 4789652 (random-zebra)
d1f5731 [GUI] Force NavMenu to show dashboard button at startup. (furszy)
cdee261 [GUI] Open the app's window in the smallest, currently available, size. (furszy)
fc766c8 [GUI] TransactionRecord type P2CSDelegationSentOwner and P2CSDelegationSent distinction. (furszy)
49de2e4 [Qt][Bug] Load the most recent instead of the first transactions (Fuzzbawls)
827ca3e [Bug][GUI] Double counted delegated balance fix. (furszy)

Pull request description:

  Updates the `4.0` branch with relevant merged PRs in preparation for tagging the `4.0.2` release.

  Included PRs:
  #1261
  #1267
  #1263
  #1266
  #1264
  #1269
  #1265
  #1268
  #1273
  #1272
  #1274
  #1279

Top commit has no ACKs.

Tree-SHA512: 561d9319d08756c040751c6ce145505610ed2ebc4351a87d9d3bb05ecb98df9f35d492e9e3eb7e111ce611268c4a24bb13720e3f81917a671038f8ab23f14de4
  • Loading branch information
furszy committed Jan 16, 2020
2 parents 25a6cb5 + 4663310 commit ab06d6d
Show file tree
Hide file tree
Showing 69 changed files with 613 additions and 212 deletions.
2 changes: 1 addition & 1 deletion COPYING
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ Copyright (c) 2014-2015 Dash Developers
Copyright (c) 2011-2013 The PPCoin developers
Copyright (c) 2013-2014 The NovaCoin Developers
Copyright (c) 2014-2018 The BlackCoin Developers
Copyright (c) 2015-2019 PIVX Developers
Copyright (c) 2015-2020 PIVX Developers

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
2 changes: 1 addition & 1 deletion configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ dnl require autoconf 2.60 (AS_ECHO/AS_ECHO_N)
AC_PREREQ([2.60])
define(_CLIENT_VERSION_MAJOR, 4)
define(_CLIENT_VERSION_MINOR, 0)
define(_CLIENT_VERSION_REVISION, 1)
define(_CLIENT_VERSION_REVISION, 2)
define(_CLIENT_VERSION_BUILD, 0)
define(_CLIENT_VERSION_RC, 0)
define(_CLIENT_VERSION_IS_RELEASE, true)
Expand Down
8 changes: 4 additions & 4 deletions doc/man/pivx-cli.1
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.6.
.TH PIVX-CLI "1" "January 2020" "pivx-cli v4.0.1.0" "User Commands"
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.11.
.TH PIVX-CLI "1" "January 2020" "pivx-cli v4.0.2.0" "User Commands"
.SH NAME
pivx-cli \- manual page for pivx-cli v4.0.1.0
pivx-cli \- manual page for pivx-cli v4.0.2.0
.SH DESCRIPTION
PIVX Core RPC client version v4.0.1.0
PIVX Core RPC client version v4.0.2.0
.SS "Usage:"
.TP
pivx\-cli [options] <command> [params]
Expand Down
8 changes: 4 additions & 4 deletions doc/man/pivx-qt.1
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.6.
.TH PIVX-QT "1" "January 2020" "pivx-qt v4.0.1.0" "User Commands"
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.11.
.TH PIVX-QT "1" "January 2020" "pivx-qt v4.0.2.0" "User Commands"
.SH NAME
pivx-qt \- manual page for pivx-qt v4.0.1.0
pivx-qt \- manual page for pivx-qt v4.0.2.0
.SH DESCRIPTION
PIVX Core version v4.0.1.0 (64\-bit)
PIVX Core version v4.0.2.0 (64\-bit)
Usage:
.IP
pivx\-qt [command\-line options]
Expand Down
8 changes: 4 additions & 4 deletions doc/man/pivx-tx.1
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.6.
.TH PIVX-TX "1" "January 2020" "pivx-tx v4.0.1.0" "User Commands"
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.11.
.TH PIVX-TX "1" "January 2020" "pivx-tx v4.0.2.0" "User Commands"
.SH NAME
pivx-tx \- manual page for pivx-tx v4.0.1.0
pivx-tx \- manual page for pivx-tx v4.0.2.0
.SH DESCRIPTION
Pivx Core pivx\-tx utility version v4.0.1.0
Pivx Core pivx\-tx utility version v4.0.2.0
.SS "Usage:"
.TP
pivx\-tx [options] <hex\-tx> [commands]
Expand Down
8 changes: 4 additions & 4 deletions doc/man/pivxd.1
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.6.
.TH PIVXD "1" "January 2020" "pivxd v4.0.1.0" "User Commands"
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.11.
.TH PIVXD "1" "January 2020" "pivxd v4.0.2.0" "User Commands"
.SH NAME
pivxd \- manual page for pivxd v4.0.1.0
pivxd \- manual page for pivxd v4.0.2.0
.SH DESCRIPTION
Pivx Core Daemon version v4.0.1.0
Pivx Core Daemon version v4.0.2.0
.SS "Usage:"
.TP
pivxd [options]
Expand Down
83 changes: 30 additions & 53 deletions doc/release-notes.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
PIVX Core version *v4.0.1* is now available from: <https://github.com/pivx-project/pivx/releases>
PIVX Core version *v4.0.2* 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.

Expand All @@ -8,7 +8,7 @@ Please report bugs using the issue tracker at github: <https://github.com/pivx-p
Recommended Update
==============

PIVX Core v4.0.1 is NOT a mandatory update, and user 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.
PIVX Core v4.0.2 is NOT a mandatory update, and user can choose to stay with v4.0.0/v4.0.1 if they wish. However, v4.0.2 does contain minor bug fixes and performance improvements to address feedback from the v4.0.0/v4.0.1 versions.

How to Upgrade
==============
Expand All @@ -31,86 +31,63 @@ PIVX Core should also work on most other Unix-like systems but is not frequently
Notable Changes
==============

Account System Deprecation
--------------------------
Bug Fixes
--------------

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.
#### Double counting of delegated values

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.
Fixed a bug where the values/amounts for cold staking delegations was being double counted in the UI's available/total balance calculation.

Functional Test Suite Overhaul
------------------------------
#### Incorrect sorting for transaction loading

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](https://github.com/PIVX-Project/PIVX/pull/1218).
Fixed a bug where The 20,000 limit for loading wallet transactions was incorrectly sorting these transactions, resulting in the **first** 20,000 transactions to be loaded instead of the **most recent** 20,000 transactions.

RPC Changes
-----------
#### No information shown for spent cold stake delegations

### `delegatoradd`
Fixed a bug where the transaction record for spent cold stake delegations was showing as "No information".

This command now takes an additional optional argument (string: `label`) that allows associating a label with the added owner address in the address book.
GUI Changes
--------------

### `listdelegators`
#### Add latest block height to top bar

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 `delegatorremove` command).
The top bar's sync status button now shows the latest block height (number) when hovering over the button.

The default behavior of this command if the new argument isn't provided remains the same as before.
#### Coin Control copy functions

*v4.0.1* Change log
The coin control screen now allows for copying the various values to the OS clipboard

*v4.0.2* 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.

### Core
- #1203 `f72660f89` [Backport][Performance] Cache + guard best block hash. (furszy)
- #1205 `4f19cd0df` [Cleanup] Remove unnecessary QtCreator files (Fuzzbawls)
- #1233 `2e4d9142f` [Trivial] Remove spammy log in in StakeV1 (random-zebra)
- #1234 `2d6d48c74` [Cleanup] Remove precomputing (Fuzzbawls)
- #1237 `51e7ea2a0` [Cleanup] Remove precomputing II (random-zebra)
- #1243 `fcb21d851` [Core][Trivial] Don't log missing MNs during CleanAndRemove (random-zebra)
- #1245 `9cf807d80` [Core] Rework staking status (random-zebra)
- #1252 `e7e1dd4d1` [Trivial] Log log2_work value with 16 decimals (random-zebra)
- #1273 `d114eda990` [Core] Update checkpoints for first v7 block (Fuzzbawls)

### GUI
- #1184 `23313ac4f` [GUI][Trivial] Minor edits to written content (random-zebra)
- #1211 `a2912a9d6` [GUI] MN creation wizard (furszy)
- #1217 `d49e4a6d6` [Startup][GUI][Performance] Optimizations for huge wallets. (furszy)
- #1221 `e62da0bda` [GUI] Masternodes start all and start missing flows implemented. (furszy)
- #1223 `f2d429114` [GUI][Bug] Show locked balance in the available total amount. (furszy)
- #1224 `a3f09c422` [Trivial][GUI] Minor changes within 4.0 wallet FAQ (NoobieDev12)
- #1228 `ec3c7d67b` [GUI] Adding capability to decrease the screen size for small screens. (furszy)
- #1250 `276e1e08b` [GUI] Every MN action checking tier two synced. (furszy)
- #1253 `f65d0d828` [Qt] Initialize isLoading to false for CS view (Fuzzbawls)
- #1261 `c02cc4acdd` [Bug][GUI] Double counted delegated balance. (furszy)
- #1267 `350184044d` [Qt][Bug] Load the most recent instead of the first transactions (Fuzzbawls)
- #1263 `1d0c1bb81c` [GUI] P2CS transaction divided in two types for visual accuracy. (furszy)
- #1266 `f659cbf1ef` [GUI] Quick minor GUI startup useful changes. (furszy)
- #1269 `0771075668` [GUI] CoinControlDialog, every copy to clipboard action implemented. (furszy)
- #1265 `da7c50eca1` [GUI] Connect P2CSUnlockOwner and P2CSUnlockStaker records to the model (random-zebra)
- #1268 `912cf67847` [GUI] Display latest block number in the top bar (random-zebra)
- #1279 `c09cd0d40f` [GUI] Transaction record cold staking fixes. (furszy)

### Wallet Code
- #1222 `69f897be3` [Wallet] Remove un-necessary CheckTransaction call when loading wallet. (Fuzzbawls)
- #1229 `87c369bcc` [Wallet] Graceful shutdown in the unlock corrupted wallet. (furszy)
- #1231 `ccb2402d4` [Wallet] IsEquivalentTo commented (furszy)
- #1240 `310deb9b0` [Model][Wallet][Performance] Several changes in txRecord updateStatus. (furszy)

### Build Systems
- #1199 `d40686f43` Clean up 4.0 compiler warnings (Cave Spectre)
- #1264 `1a12735df5` [Wallet] Don't add P2CS automatically to GetLockedCredit (random-zebra)

### Documentation
- #1207 `1968f6107` [Doc] Update build-unix.md file (Fuzzbawls)
- #1272 `d4a9475e40` [Trivial] Update copyright headers for 4.0.2 (Fuzzbawls)

### RPC Interface
- #1206 `80414f979` [BUG][RPC] fix signature check (against old format) in mnbudgetrawvote (random-zebra)
- #1238 `fd43ba5f2` [RPC] Add optional arguments to delegatoradd and listdelegators (random-zebra)
- #1242 `2bfde4e7b` [RPC] Add coldstaking address support in importprivkey and importaddress (random-zebra)
- #1251 `441d790d8` [RPC] Notate all account stuff as deprecated (Fuzzbawls)

### Testing Systems
- #1218 `a70e82a86` [Tests] Functional Tests Suite Overhaul (random-zebra)
- #1274 `f5c3552c96` [RPC] Remove extra PoW rounds in 'generate' (random-zebra)

## Credits

Thanks to everyone who directly contributed to this release:
- Cave Spectre
- Fuzzbawls
- Liquid369
- NoobieDev12
- Warrows
- furszy
- random-zebra

Expand Down
178 changes: 178 additions & 0 deletions doc/release-notes/release-notes-4.0.1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,178 @@
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>


Recommended Update
==============

PIVX Core v4.0.1 is NOT a mandatory update, and user 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).


Compatibility
==============

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](https://www.microsoft.com/en-us/WindowsForBusiness/end-of-xp-support), 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 August 13, 2015, and officially ended support on [December 14, 2015](http://news.fnal.gov/2015/10/mac-os-x-mountain-lion-10-8-end-of-life-december-14/). 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.


Notable Changes
==============

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.

Test:

Environment:

Wallet with 450,000 transactions.

Time:

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](https://github.com/PIVX-Project/PIVX/pull/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.

RPC Changes
-----------

### `getstakingstatus`

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)

### `delegatoradd`

This command now takes an additional optional argument (string: `label`) that allows associating a label with the added owner address in the address book.

### `listdelegators`

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 `delegatorremove` command).

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.

### Core
- #1203 `f72660f89` [Backport][Performance] Cache + guard best block hash. (furszy)
- #1205 `4f19cd0df` [Cleanup] Remove unnecessary QtCreator files (Fuzzbawls)
- #1233 `2e4d9142f` [Trivial] Remove spammy log in in StakeV1 (random-zebra)
- #1234 `2d6d48c74` [Cleanup] Remove precomputing (Fuzzbawls)
- #1237 `51e7ea2a0` [Cleanup] Remove precomputing II (random-zebra)
- #1243 `fcb21d851` [Core][Trivial] Don't log missing MNs during CleanAndRemove (random-zebra)
- #1245 `9cf807d80` [Core] Rework staking status (random-zebra)
- #1252 `e7e1dd4d1` [Trivial] Log log2_work value with 16 decimals (random-zebra)

### GUI
- #1184 `23313ac4f` [GUI][Trivial] Minor edits to written content (random-zebra)
- #1211 `a2912a9d6` [GUI] MN creation wizard (furszy)
- #1217 `d49e4a6d6` [Startup][GUI][Performance] Optimizations for huge wallets. (furszy)
- #1221 `e62da0bda` [GUI] Masternodes start all and start missing flows implemented. (furszy)
- #1223 `f2d429114` [GUI][Bug] Show locked balance in the available total amount. (furszy)
- #1224 `a3f09c422` [Trivial][GUI] Minor changes within 4.0 wallet FAQ (NoobieDev12)
- #1228 `ec3c7d67b` [GUI] Adding capability to decrease the screen size for small screens. (furszy)
- #1250 `276e1e08b` [GUI] Every MN action checking tier two synced. (furszy)
- #1253 `f65d0d828` [Qt] Initialize isLoading to false for CS view (Fuzzbawls)

### Wallet Code
- #1222 `69f897be3` [Wallet] Remove un-necessary CheckTransaction call when loading wallet. (Fuzzbawls)
- #1229 `87c369bcc` [Wallet] Graceful shutdown in the unlock corrupted wallet. (furszy)
- #1231 `ccb2402d4` [Wallet] IsEquivalentTo commented (furszy)
- #1240 `310deb9b0` [Model][Wallet][Performance] Several changes in txRecord updateStatus. (furszy)

### Build Systems
- #1199 `d40686f43` Clean up 4.0 compiler warnings (Cave Spectre)

### Documentation
- #1207 `1968f6107` [Doc] Update build-unix.md file (Fuzzbawls)

### RPC Interface
- #1206 `80414f979` [BUG][RPC] fix signature check (against old format) in mnbudgetrawvote (random-zebra)
- #1238 `fd43ba5f2` [RPC] Add optional arguments to delegatoradd and listdelegators (random-zebra)
- #1242 `2bfde4e7b` [RPC] Add coldstaking address support in importprivkey and importaddress (random-zebra)
- #1251 `441d790d8` [RPC] Notate all account stuff as deprecated (Fuzzbawls)

### Testing Systems
- #1218 `a70e82a86` [Tests] Functional Tests Suite Overhaul (random-zebra)

## Credits

Thanks to everyone who directly contributed to this release:
- Cave Spectre
- Fuzzbawls
- NoobieDev12
- furszy
- random-zebra

As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/pivx-project-translations/), the QA team during Testing and the Node hosts supporting our Testnet.
Loading

0 comments on commit ab06d6d

Please sign in to comment.