5.4.2.0-leisure
[5.4.2.0] 2023-03-26, leisure, "LaVerne"
https://github.com/gridcoin-community/Gridcoin-Research/releases/tag/5.4.2.0
This is the 5.4.2.0 leisure release, the final release in the LaVerne milestone.
The changelog for this release is shorter than usual, but don't let that fool
you! Here are the most significant features in this release:
- #2540: HD wallet functionality (BIP32, but NOT BIP39 seed phrase support).
See details below. - #2620: Inclusion of Berkeley DB version 5.3 in tree and standardization of
all wallet.dat files to the bdb 5.3 format. THIS IS VERY IMPORTANT See
details below. - #2619: Optimization of critical section locking during poll refresh to fix
non-responsive GUI with wallets that have slow disks. This addresses the
complaint of non-responsive GUI when there are a lot of polls in progress and
the poll refresh is done on a computer with a regular HDD. - #2645, #2659: Improvements to the MRC request screen to improve information
and reduce confusion. - #2624: Update of pool cpids and avw rules. This adds the new pool (GRC Pool
5) to the list of valid pools for pool mode and also updates the poll % AVW
requirements passed by governance poll "Adopt New AVW Percentage Requirements
for Polls" c186e2fd5fa81541e74838c1f3b1268c471b55dc6c37aa1b3b9ea84ecd20801c. - #2612: Backport of Bitcoin Core ARMv8 SHA2 intrinsics which should speed up
newer ARM devices that are running a wallet.
For HD wallet functionality, please see the documentation in the PR:
#2540. Note that
people with existing wallets that choose to upgrade will have a HYBRID wallet
that contains both legacy private keys, the new hdseed key, and keys that are
generated from the hdseed. Backing up the hdseed covers all of the keys
generated from the hdseed, but not legacy keys. Those must also be backed up. It
is still safest to store copies of the wallet backup file(s) automatically
stored by the wallet every 24 hours in the walletbackups subdirectory of the
wallet data directory.
We have not yet implemented seed phrase support (BIP39).
IMPORTANT
If you are running a Windows wallet or certain Linux distribution wallets that
use the older Berkeley DB 4.8, such as Fedora or OpenSUSE, your Berkeley DB
version of your wallet.dat file will be upgraded automatically to 5.3 when you
first run Gridcoin after upgrading to this release. This should be completely
transparent to you. If for some reason you decide to downgrade, you need to be
aware that the older release will NOT successfully read your wallet.dat file
without doing a special procedure. If you downgrade to 5.4.1.0 or earlier,
before starting the downgraded wallet, you need to go to the data directory,
which is at %AppData%\GridcoinResearch on Windows or ~/.GridcoinResearch on
Linux by default, and go to the database subdirectory and delete the log.* files
found there. Then you can start the downgraded client and it should be able to
successfully read your wallet.dat file. If you downgrade and forget to do this,
your wallet will warn you about an unrecoverable error. If so, shut the wallet
down, and perform step discussed above, then restart. THIS IS ONLY NECESSARY IF
DOWNGRADING FROM THIS RELEASE.
The advantage of having everyone on the same bdb version, 5.3, is that
wallet.dat files will now be portable across ALL of Gridcoin's supported
operating systems/architectures that are on this version or higher (or were
already running bdb 5.3, such as Debian/Ubuntu, Mint, and Arch for example).
Just remember if you take a wallet.dat that is running on this release and move
it over to a machine running an earlier release on Windows, you will need to do
the procedure above or you will run into an error trying to read the
wallet.dat. Alternatively you can upgrade the target machine's wallet
installation before moving the wallet.dat, which would be preferred.
Thanks to the following contributors for this release:
- barton26
- delta1513
- div72
- jamescowens
- PrestackI
- pythonix
- sitiom
- theMarix
Enjoy!
Jim
[5.4.2.0] 2023-03-26, leisure, "LaVerne"
Added
- [3/3] key, wallet: HD wallets #2540 (@div72)
- ARMv8 SHA2 Intrinsics #2612 (@barton2526)
- build: vendor bdb 5.3 #2620 (@div72)
- scraper, gui: Add external adapter projects indication #2625 (@jamescowens)
- gui: implement INSUFFICIENT_MATURE_FUNDS status for the mrcmodel #2628 (@jamescowens)
- gui, accrual: Implement accrual limit warning #2636 (@jamescowens)
- rpc: add
getnodeaddresses
#2646 (@Pythonix) - consensus: Add new checkpoints #2651 (@barton2526)
Changed
- voting: Optimize poll locks #2619 (@jamescowens)
- util: move threadinterrupt.{cpp,h} to util #2613 (@Pythonix)
- gui, voting: Update pool cpids and avw rules #2624 (@jamescowens)
- ci: bump python and setup-python action version #2626 (@div72)
- gui: Change text from username to name (real name or nickname) #2633 (@jamescowens)
- locale: Translation update, phase 1 #2637 (@jamescowens)
- gui: Change MRC too soon to submit error to be less confusing #2645 (@jamescowens)
- locale: Update translations prior to release (phase 2/2) #2658 (@jamescowens)
- gui: Enhance MRC request form to avoid fee boost field confusion #2659 (@jamescowens)
Removed
none
Fixed
- net: Turn net structures into dumb storage classes (backport) #2561 (@Pythonix)
- build: Include native_X.mk before X.mk #2609 (@barton2526)
- depends: fix OpenSSL for Darwin builds #2610 (@div72)
- build: Change actions runner image to Focal, Force Lint to use 22.04, Change cd runner version #2611 (@barton2526)
- gui: don't show datadir error msgbox if arg isn't specified #2617 (@div72)
- rpc: Repair auditsnapshotaccrual rpc function #2621 (@jamescowens)
- gui: Correct updateBeaconIcon() function in bitcoingui.cpp #2622 (@jamescowens)
- wallet: Strengthen CWalletTx::RevalidateTransactions #2627 (@jamescowens)
- test: Fix Wambiguous-reversed-operator compiler warning, drop boost::assign #2632 (@barton2526)
- gui: Fix wallet overview displaying lower-case poll name #2640 (@delta1513)
- Fix and optimize ResendWalletTransactions #2642 (@jamescowens)
- build(nsis): Write registry keys to HKLM instead of HKCU, Install shortcuts for all users, Fix INSTALLDIR removal bug #2643 (@sitiom)
- gui: Fix TransactionRecord::decomposeTransaction to properly display self-sidestake #2647 (@jamescowens)
- rpc: Fixed the RPC error when running
help voting
while syncing #2649 (@delta1513) - build: Fix compilation with GCC 13 #2653 (@theMarix)
- rpc: Formatting - typo correction rpc help for listresearcheraccounts #2654 (@PrestackI)