5.4.6.0-leisure
[5.4.6.0], 2024-03-02, leisure, "Miss Piggy"
https://github.com/gridcoin-community/Gridcoin-Research/releases/tag/5.4.6.0
This is the 5.4.6.0 leisure release, the final release in the Miss Piggy
milestone.
This is an important release that contains a number of bugfixes that enhance
stability for the wallet and implement poll caching, automatic background
updates and performance improvements for polls/voting. It also includes most
of the basic machinery needed to support the v13 block version protocol which
will be in the next mandatory at the following milestone, Natasha, although the
v13 block height has not been set, so we remain at v12 for now.
Some highlights:
- GUI control of sidestaking via settings -> options -> staking has been
implemented. Sidestaking has been converted over to integer arithmetic to
eliminate floating point consensus issues in preparation for the v13 mandatory,
which will support mandatory sidestaking. - Caching of polls in the client with automatic background updating, and poll
expiration reminders. This is a major improvement to polling. Some corrections
were made to how the wallet handles "my vote" tracking. - CMake build system support, which allows CMake to be used instead of
autotools. Note this does not yet work for Windows builds, but that is coming.
This should be helpful for maintainers. - Removal of almost all OpenSSL dependencies in favor of upstream native
implementations, with the exception of SSL RPC (deprecated anyway), and
indirect use through CURL, which is required in the scraper and a few other
areas. - A number of important fixes and updates, including a fix for the beacon
history stall problem that some folks have experienced, and an issue that caused
a major fork in testnet back in September 2023. - PR #2711 changes the JSON keys in the superblocks RPC command to lower snake
case, which is the RPC standard. This could cause scripts that process the
superblocks command output to fail, so a small adjustment to scripts that use
that command may be necessary.
A number of people besides myself contributed to this release. I would like to
thank the following people:
- @adriaanjoubert
- @CyberTailor
- @barton26
- @div72
- @theMarix
- @PrestackI
- @Pythonix
- The translation volunteers on Transifex
It is highly recommended that EVERYONE upgrade to this release.
There is much planned for Gridcoin in the future. I encourage folks to join the
discussion on Discord to participate.
Jim Owens
Added
- contrib: add nix file for compilation environment #2660 (@div72)
- gui: Make main Gridcoin window geometry save unique to datadir location #2661 (@jamescowens)
- build: Initial CMake support #2676 (@CyberTailor)
- util: Add
-shutdownnotify
andstartupnotify
options from upstream #2688 (@barton2526) - gui, staking: Implement facilities for mandatory sidestakes and sidestake GUI #2704 (@jamescowens)
- gui, voting: Implement poll result caching and poll stale indicator #2709 (@jamescowens)
- gui, projects: Implement greylist state for projects in GUI projects table #2715 (@jamescowens)
- gui, poll: Implement poll expiration reminders #2716 (@jamescowens)
- serialize: allow variants to be serialized #2729 (@div72)
- gui: Implement poll field length limiters in GUI forms #2742 (@jamescowens)
Changed
- consensus, contract, scraper, protocol, project, beacon, rpc: Replace remaining appcache sections with native structures #2639 (@jamescowens)
- build: update libsecp256k1 to v0.3.0 #2655 (@div72)
- build: Replace $(AT) with .SILENT #2674 (@barton2526)
- build: allow system bdb #2675 (@div72)
- Resize Header Column with Additional Text #2683 (@PrestackI)
- rpc: use RPCErrorCode everywhere #2687 (@Pythonix)
- wallet: SecureString to allow null characters #2690 (@barton2526)
- random: port some upstream changes #2696 (@div72)
- depends: Bump dependencies #2692 (@barton2526)
- doc: Update link to Discord server #2693 (@adriaanjoubert)
- rpc: Change capitalization, remove whitespace of rpc keys #2711 (@Pythonix)
- ci: bump MacOS version to 12 #2713 (@div72)
- depends: no-longer nuke libc++abi.so* in native_clang package #2719 (@div72)
- doc: update windows
-fstack-clash-protection
doc #2720 (@div72) - Silence
-Wcast-function-type
warning #2721 (@div72) - build: Use newest
config.{guess,sub}
available #2722 (@div72) - refactor: use the try_lock result in TryEnter #2723 (@div72)
- Updates for file src/qt/locale/bitcoin_en.ts in pt_PT #2726 (@gridcoin-community)
- ci: do not silently fail #2727 (@div72)
- Properly include Boost Array header #2730 (@theMarix)
- build: Update depends zlib to 1.3.1 #2734 (@jamescowens)
- util: Enhance Fraction class overflow resistance #2735 (@jamescowens)
- refactor: Fix compilation warnings #2737 (@jamescowens)
- gui, util: Improve upgrade dialog #2738 (@jamescowens)
- util: Improve allocation class #2740 (@jamescowens)
- translations: translation updates for Miss Piggy release #2745 (@jamescowens)
Removed
- gui: Disable snapshot GUI action #2700 (@jamescowens)
- build, crypto, script: remove most of OpenSSL usage #2705 (@div72)
- util: remove WSL 1 workaround in fs #2717 (@div72)
Fixed
- diagnostics: fix missing arg in ETTS warning #2684 (@div72)
- misc: fix include guard in netaddress.h #2695 (@div72)
- gui: Fix expired pending beacon display #2698 (@jamescowens)
- consensus: Fix 20230904 testnet forking issue #2703 (@jamescowens)
- gui: Fix filter by type in Transaction View #2708 (@jamescowens)
- depends: make fontconfig build under clang-16 #2718 (@div72)
- diag: fix researcher mode check #2725 (@div72)
- gui: Add missing switch cases for ALREADY_IN_MEMPOOL #2728 (@jamescowens)
- beacon, registry: Fix beacon history stall #2731 (@jamescowens)
- build: Implement comp_double comparison function in certain tests #2741 (@jamescowens)
- ci: change Qt path in CMake CI #2743 (@div72)
- net: Correct -tor argument handling #2744 (@jamescowens)