Skip to content

Commit

Permalink
Doc: adding v5.2 release notes.
Browse files Browse the repository at this point in the history
  • Loading branch information
furszy committed Jun 24, 2021
1 parent 11cbfd0 commit feba606
Showing 1 changed file with 46 additions and 177 deletions.
223 changes: 46 additions & 177 deletions doc/release-notes.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,21 @@
PIVX Core version v5.1.0 is now available from: <https://github.com/pivx-project/pivx/releases>
PIVX Core version v5.2.0 is now available from: <https://github.com/pivx-project/pivx/releases>

This is a new major version release, including various bug fixes and performance improvements, as well as updated translations.
This is a new major version release, including various bug fixes and visual improvements.

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

Recommended Update
Mandatory Update
==============

This version is an optional, but recommended, update for all users and services.
PIVX Core v5.2.0 is a mandatory update for all users. This release contains a protocol upgrade (to `70922`), 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 block height:
```
Mainnet: 2,927,000
```
Masternodes will need to be restarted once both the masternode daemon and the controller wallet have been upgraded.

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.

How to Upgrade
==============
Expand All @@ -24,207 +32,68 @@ For the following packages, no action is required by the user:
- 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, before being able to run PIVX v5.0.0:
For the other packages, the user must save the param files in the proper location, before being able to run PIVX v5.2.0:
- 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.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 is extensively tested on multiple operating systems using the Linux kernel, macOS 10.12+, and Windows 7 and later.

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

Notable Changes
v5.2.0 Change log
==============

- Faster blockchain synchronization and reindex.
- Faster GUI and overall responsiveness.
- Improved chain-state corruption recovery.
- Improved core performance and stability.
- A good amount of bugs fixed.

#### Disable PoW mining RPC Commands

A new configure flag has been introduced to allow more granular control over weather or not the PoW mining RPC commands are compiled into the wallet. By default they are not. This behavior can be overridden by passing `--enable-mining-rpc` to the `configure` script.
### GUI
- #2259 fix QT 5.15 `currentIndexChanged(QString)` obsolete method call (furszy)
- #2260 Generate FAQ answer content programmatically (Fuzzbawls)
- #2305 Show the window when double clicking the taskbar icon (furszy)
- #2353 [GUI] Add search option to My Addresses list in receive widget (PicklesRcool)
- #2374 [Backport] Fix memory leaks in qt/guiutil.cpp (random-zebra)
- #2379 [BugFix] fix "not updating GUI balance" race condition (furszy)
- #2377 [BugFix][GUI] Fix minimize and close bugs (furszy)
- #2401 [GUI] BugFix, disappearing text in comboboxes (furszy)

### Consensus
- #2258 [Script] Fix "split P2CS" vulnerability (random-zebra)
- #2428 [Consensus] Introduce 5.2 nuparams and use them to guard new P2CS rules (random-zebra)
- #2431 [Consensus] Bump active protocol version to 70922 (random-zebra)
- #2435 [Backport] Bump default block version to 10 (no enforcement) (random-zebra)
- #2441 [Consensus] v5.2 upgrade enforcement height (furszy).

v5.1.0 Change log
==============
### Tier Two Network (Masternodes / Budget)
- #2395 [budget] partially fixing a race condition that could cause a good peer to be banned (furszy)
- #2437 [Backport] Add tiertwo_governance_reorg functional test (random-zebra)
- ##2440 Align budget payee validity to highest voted budget check. (furszy)

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.

### Block and transaction handling
- #2150 Revamping block validation interface interaction with wallet (furszy)
- #2179 [Backport] Make CTransaction actually immutable (furszy)
- #2192 Support for validation interface signals in background thread (furszy)
- #2203 Call wallet/validation notify callbacks in scheduler thread (without cs_main) (furszy)
- #2213 Remove dead zc checks from ATMP (furszy)
- #2226 [Refactoring] Prune invalid UTXOs from the coins cache (random-zebra)
- #2295 [Net_Processing] Cleaner block processing workflow (furszy)
- #2290 [Test] Fix concurrency issues in ActivateBestChain + optimization (furszy)
- #2284 Removing unneeded block serialization and signal from ABC (furszy)
- #2243 [Protocol] Block version 9 (random-zebra)

### P2P protocol and network code
- #2090 Fail instead of truncate command name in CMessageHeader (random-zebra)
- #2118 Inv, mempool and validation improvements (furszy)
- #2172 Improve and document SOCKS code (random-zebra)
### Build system:
- #2350 [build] depends macOS: point --sysroot to SDK (furszy)
- #2384 [depends] update Qt 5.9 source url (furszy)
- #2413 [CI] Remove Ubuntu 16.04 usage from GA workflow (furszy)
- #2433 [Build] Bump gitian descriptor version to 5.2 (fuzzbawls)

### Wallet
- #2126 [Backport] Wallet database handling abstractions/simplifications (furszy)
- #2044 Making CWalletTx store TransactionRef (furszy)
- #2117 [BUG][Wallet] Restore AddressBook when marking used keys in the keypool (random-zebra)
- #2197 Close DB on error (Fuzzbawls)
- #2195 Solve an incorrect MakeTransactionRef usage for ATMP call inside the wallet and unit tests (furszy)
- #2201 CTransactionRef migration + CWalletTx/CMerkleTx refactor (furszy)
- #2218 Guarding wallet access from init and print error for unknown MN collaterals (furszy)
- #2232 Berkeley DB v6 compatibility fix (random-zebra)
- #2225 Rescan chain for wallet transactions process re-written (furszy)
- #2209 Killing wallet and GUI cs_main locks (furszy)

### RPC and other APIs
- #2141 Fix argument parsing and example for getbalance (Fuzzbawls)
- #2147 fix getbalance transparent watch-only amount (furszy)
- #2154 `validateaddress` remove duplicate return address value (furszy)
- #2157 mnbudgetvote generalized, duplicated code cleaned (furszy)
- #2177 [BUG] Fix getblockindexstats-getfeeinfo with shield txes (random-zebra)
- #2283 `getwalletinfo`: Add last_processed_block return value (furszy)

### GUI
- #2173 Prevent invalid dashboard txs list filter value loaded from settings (furszy)
- #2178 [BUG][GUI] Fix CWalletTx* casts to CTransaction* (random-zebra)
- #2161 send widget, hide contacts menu when clear event is triggered (furszy)
- #2174 Use wchar_t API explicitly on Windows (Fuzzbawls)
- #2219 FAQ remove freshdesk and SwiftX mention (furszy)
- #2211 Reduce whitespace around qr code fixes #1562 (dnchk)
- #2228 Fixing few shutdown problems (furszy)
- #2229 Transaction filter, minimize model data request + cleanup (furszy)
- #2244 Pre-5.1 make translate (Fuzzbawls)
- #2249 Make box of PIVX Send address return to purple when it's empty (PicklesRcool)
- #2247 Fix double fade-in Topbar Available click animation. Issue 2216 (PicklesRcool)
- #2237 Set fee to highest possible if input is too big (dnchk)
- #2215 Automatically set the lowest possible Custom Fee when user provided fee is too low (MishaPozdnikin)
- #2321 [GUI] Fix Cold Staking address list (Fuzzbawls)
- #2327 [BUG] Fix crash when sending shield notes from the GUI with coin control (random-zebra)

### Tests and QA
- #2144 [BUG] Fix random range in feature_blockhashcache (random-zebra)
- #2146 Add checkblock benchmark test (random-zebra)
- #2148 [Core] Prevector Optimizations 2 (random-zebra)
- #2165 Check for diversified address equal to default one in zkeys_test (random-zebra)
- #2132 Add more cases to sighash_tests for malleated txes (random-zebra)
- #2153 Don't create dust outputs in small_txpuzzle_randfee (random-zebra)
- #2169 Introduce TestChainSetup fixture, pre-creating a N-blocks chain (random-zebra)
- #2190 Fix and enable zmq functional test in the test suite (furszy)
- #2176 Double spend inputs and notes unit tests coverage (furszy)
- #2194 [Backport] Disable the mempool P2P command when bloom filters disabled (furszy)
- #2189 [Bug][Refactoring] Miscellaneous fixes (random-zebra)
- #2206 script standard tests back ported (furszy)
- #2214 Fix various things -fsanitize complains about (random-zebra)
- #2221 updating rpc_invalidateblock.py to latest upstream (furszy)
- #2233 fix miner_tests block generation race condition (furszy)
- #2235 address.py: fix invalid `keyhash_to_p2pkh()` (furszy)
- #2254 sync_blocks and sync_mempool improvements (random-zebra)

### Build system
- #2152 [CMake] Fix CMake builds on macOS Big Sur (Fuzzbawls)
- #2105 Don't compile PoW mining RPC commands by default (Fuzzbawls)
- #2198 [GA] Enable CMake macOS Build (Fuzzbawls)
- #2227 fixing gitian build fail with checksum mismatch (furszy)
- #2230 [GA] Dont run the feature_dbcrash test in GA (Fuzzbawls)

### Tier Two Network (Masternodes / Budget)
- #2143 [BUG] Fix deadlock in GetNextMasternodeInQueueForPayment (random-zebra)
- #2170 Better pivx.conf Masternode data error notification (furszy)
- #2186 Improving masternode check inputs and add process (furszy)
- #2450 [wallet] fix segfault for P2CS inputs in CreateTransaction (furszy)

### Miscellaneous
- #2082 Generic event handler interface (furszy)
- #2155 [Miner] Rewrite miner code with proper encapsulation + test coverage (furszy)
- #2162 [Refactoring] Avoid dereference-of-casted-pointer (random-zebra)
- #2166 [BUG] Flush the chainstate after pruning invalid entries (random-zebra)
- #2167 [Logs] Add new "sporks" debug logging category (Fuzzbawls)
- #2185 [Backport] Use static_cast instead of C-style casts for non-fundamental types (furszy)
- #2188 [Core] More efficient rolling Bloom filter (random-zebra)
- #2191 [BugFix] Shutdown, stop threadGroup before dump data to disk (furszy)
- #2207 Use non-atomic flushing with block replay (furszy)
- #2205 logging: Remove unused return value from logprintstr (random-zebra)
- #2223 [BUG] Fix some chainstate-init-order bugs (random-zebra)
- #2224 Removing `TX_ZEROCOINMINT` and `ScriptPubKeyToJSON` (furszy)

### Documentation
- #2187 WSL Depends builds need --disable-online-rust (Fuzzbawls)
- #2231 More Descriptive Budget RPCs (Liquid369)
- #2262 add reduce-memory.md (furszy)

### Refactoring
- #2089 Fix some -Wdeprecated-copy warnings (random-zebra)
- #2092 [Core] Migrate uint160 (CKeyID/CScriptID) to opaque blobs (random-zebra)
- #1974 [Refactoring] Use c++11 list initialization for maps/vectors (Fuzzbawls)
- #2168 [Tests] Fix tests order on test_runner --all (random-zebra)
- #2135 [Masternode] Manage status cleanup (furszy)
- #2184 Grouping misbehaving / cs_main lock calls into a single place (furszy)
- #2175 [Refactoring] Remove g_IsSapling active flag (random-zebra)
- #2164 Several updates to the base chain params structure (furszy)
- #2200 Minor content change for more precise description (NoobieDev12)
- #2181 [Refactoring] Sapling classes - initialize fields and pass parameters by reference (random-zebra)
- #2182 Default initialization for scalar and pointer fields (random-zebra)
- #2180 [Refactoring] Remove BaseOutPoint::GetHash (random-zebra)
- #2204 [Refactoring] Verify MessageSigner signatures with keyIDs (random-zebra)
- #2210 Implement CheckColdStake in TransactionSignatureChecker (random-zebra)
- #2212 [Misc] Init fixes + DisconnectBlock cleanup + zerocoin dead code removal (furszy)
- #2348 [Cleanup] Cleaning unused gitian fingerprints (furszy)

## Credits

Thanks to everyone who directly contributed to this release:

- Akio Nakamura
- Alex Morcos
- Alexey Vesnin
- Ambassador
- Antoine Riard
- Ben Woosley
- Bernhard M. Wiedemann
- Casey Rodarmor
- Chun Kuan Lee
- Cory Fields
- Dan Raviv
- dnchk
- Evan Klitzke
- fanquake
- furszy
- Fuzzbawls
- Hennadii Stepanov
- instagibbs
- Jeremy Rubin
- Jesse Cohen
- John Newbery
- Jonas Schnelli
- Jorge Timón
- João Barbosa
- Karl-Johan Alm
- Lenny Maiorani
- Liquid369
- Luke Dashjr
- Marco
- MarcoFalke
- Matt Corallo
- MishaPozdnikin
- Peter Todd
- PeterL73
- pierrenn
- Pieter Wuille
- practicalswift
- ken2812221
- Kittywhiskers Van Gogh
- random-zebra
- Suhas Daftuar
- PicklesRcool
- Sjors Provoost
- Volodia
- Willy Ko
- Wladimir J. van der Laan


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.

0 comments on commit feba606

Please sign in to comment.