[5.3.3.0] 2022-02-27, leisure, "Janice"
https://github.com/gridcoin-community/Gridcoin-Research/releases/tag/5.3.3.0
The Gridcoin core developers are proud to release 5.3.3.0 which represents the
Janice milestone. This is actually a very large leisure release. On the surface
you will notice few changes, but there were a lot of updates under the hood,
including a number of bug fixes that should make the operation of the wallet a
lot smoother.
I would like to call out @barton2526 and @div72 specifically for their
contributions to this release. @barton2526 did a tremendous number of important
ports of functionality/changes/fixes from upstream. @div72 worked on some
critically important areas, including implementation of a Github integrated
automated release build capability, that will be used for this and succeeding
releases (See #2249.) There were other significant contributors too. Janice
was truly a group effort.
While this version is not a mandatory, I have noticed some nodes are still
running 5.3.0.0 or 5.3.1.0. In particular I STRONGLY urge folks running versions
prior to 5.3.2.0 to upgrade, as there have been many bug fixes since the
5.3.0.0 release that can affect the operation of the wallet, not to mention
the advancement of the GUI.
Enjoy. The next milestone is Kermit's Mom, which is going to be a mandatory and
will include some big items, including the long awaited MRC.
Jim Owens
Specific user notes:
The -reindex option has now been implemented to allow rebuilding the block-
chain transaction database from the block data file. This is similar to a
bootstrap but uses the in-place blockchain data files instead. Similarly the
existing -loadblock option has been improved to accept multiple data files.The blocks on the main screen will now show a percent progress indicator
during sync.The CPID detection code in the wallet now prefers the CPID implied by the
email configured in the wallet in the case multiple CPIDs are indicated in
the boinc client_state.xml file (i.e. a potential split CPID situation).A privacy mode has been implemented for the GUI main screen that can be
activated by Ctrl-Shift-M.-rpcwait and -rpcwaittimeout have been implemented following upstream
behavior.Obsolete config settings are now removed from the config file to help
eliminate confusion from no longer used settings and remove the old beacon
keys (pre-Fern), which are no longer valid (and haven't been for a long time).Fix for the bug that would result in the current poll not being properly
updated on the main screen, especially after a poll expires.Alt-7 was assigned as the hotkey for locking and unlocking the wallet in
the GUI. (Alt-1 through Alt-6 select the Overview - voting buttons.)
[5.3.3.0] 2022-02-27, leisure, "Janice"
Added
- build: add stack-clash and control-flow protection options to hardening flags, don't enable it for Windows #2284 (@barton2526)
- build: add upstream compiler warnings #2288 (@jamescowens)
- rpc: Create getblockbymintime #2290 (@RoboticMind)
- cd: generate release binaries using GitHub actions #2249 (@div72)
- util: port upstream span changes #2323 (@div72)
- rpc: add additional ban time fields to listbanned #2334 (@barton2526)
- test: Add sanity_tests from upstream #2343 (@barton2526)
- util, test: Don't allow Base58 decoding of non-Base58 strings. Add Base58 tests. Add whitespace tests. #2345 (@barton2526)
- test: Add tests for monetary value formatting and parsing. Clean up includes in rpc_tests #2348 (@barton2526)
- rpc: Implement -rpcwait and -rpcwaittimeout #2349 (@jamescowens)
- test: Add crypto_tests (@upstream #2372 from barton2526)
- test: Add test for GCC bug 90348 #2380 (@barton2526)
- build: add python3.10, 3.11 alias to AC_PATH_PROGS call in configure #2386 (@barton2526)
- wallet, contract: Implement contract change option #2388 (@jamescowens)
- gui: Implement privacy mode #2399 (@jamescowens)
- util: Implement -reindex option, improve -loadblock option #2394 (@jamescowens)
- gui: Implement Alt-7 for unlock and lock of wallet #2406 (@jamescowens)
- gui, voting: Add a one minute timer to check for current poll expiring and update gui #2416 (@jamescowens)
- gui: Implement a warning about split CPID/email mismatch condition #2414 (@jamescowens)
- util: clean obsolete config keys #2424 (@div72)
- net: Implement an upper limit of 950 for max network connections #2426 (@jamescowens)
Changed
- build: libevent 2.1.12-stable #2226 (@barton2526)
- build: Bump minimum QT support to 5.9.5, Remove obsolete checks #2251 (@barton2526)
- doc: Update to https where possible #2230 (@barton2526)
- refactor: Replace fprintf with tfm::format #2262 (@barton2526)
- qt: Replace deprecated QSignalMapper by lambda expressions #2261 (@barton2526)
- refactor: Use functions guaranteed to be locale independent (ToLower, IsDigit, IsSpace) #2265 (@barton2526)
- refactor: Replace std::to_string with locale-independent alternative #2266 (@barton2526)
- refactor: small python cleanup #2267 (@barton2526)
- refactor: Replace local dependent string functions with non-locale versions in strencodings.h/cpp #2270 (@amescowens)
- ci: Update KNOWN_VIOLATIONS list for the linter for functions we don't care are locale-dependent #2271 (@barton2526)
- refactor: move block storage functions to src/node/blockstorage #2273 (@div72)
- refactor: Replace deprecated Qt::SystemLocale{Short,Long}Date, Fix 'QDateTime is deprecated' warnings #2275 (@barton2526)
- rpc: optimize getblockbynumber #2289 (@barton2526)
- gui: Update connect statements to conform to Qt 5 standard #2281 (@jamescowens)
- depends: Bump ccache and curl #2297 (@barton2526)
- ci: only print depends/apt output if the step fails #2287 (@div72)
- depends: Update to openSSL 1.1.1l #2302 (@barton2526)
- rpc: Don't use floating point in getreceivedbyaddress #2310 (@barton2526)
- LibreSSL doesn't define OPENSSL_VERSION, use LIBRESSL_VERSION_TEXT instead #2306 (@barton2526)
- build: update m4 #2317 (@div72)
- qt: Replace deprecated Qt functions #2316 (@barton2526)
- build: set minimum required Boost to 1.60 #2318 (@barton2526)
- util: Don't use gmtime() or localtime() #2319 (@barton2526)
- build: Update univalue subtree #2335 (@barton2526)
- refactor: use include guards instead of #pragma once #2336 (@div72)
- refactor: Scraper thread safety and code cleanup #2315 (@jamescowens)
- qt: Follow Qt docs when implementing rowCount and columnCount #2333 (@barton2526)
- qt: Notificator class refactoring. Notificator always takes 3 args. Remove Growl support. #2352 (@barton2526)
- build: pin OpenSSL version for MacOS #2354 (@div72)
- build, util: Update leveldb to 1.22 (@upstream Bitcoin #2353 from jamescowens)
- test: Update transaction_tests and associated JSON files from upstream #2356 (@barton2526)
- test: Update script_p2sh_tests from upstream #2357 (@barton2526)
- refactor: port upstream ui_interface changes #2355 (@div72)
- contract: parse strings for claim and message types #2359 (@div72)
- test: Update sigopcount_tests and transaction_tests from upstream #2361 (@barton2526)
- test, refactor: Update script_tests from upstream #2360 (@barton2526)
- test: Update util_tests from upstream #2363 (@barton2526)
- test: Update script test JSON files from upstream #2364 @barton2526)
- refactor: split clientversion from version #2367 (@div72)
- random: port upstream random changes #2368 (@div72)
- refactor: convert C-style (void) parameter lists to C++ style () #2373 (@barton2526)
- build: Disable -fcf-protection for mingw win32 #2377 (@jamescowens)
- gui: Add text output and dialog boxes for -help and -version in GUI client #2378 (@jamescowens)
- test, refactor: Use FastRandomContext for all tests. Add a header for test_gridcoin #2381 (@barton2526)
- depends: avoid system harfbuzz and bz2 #2382 (@barton2526)
- doc: Update Windows build instructions #2383 (@barton2526)
- refactor: replace QDateTime::fromTime_t with QDateTime::fromSecsSinceEpoch #2387 (@barton2526)
- util: Port of Bitcoin upstream base58.h/cpp at a85442f62bf157b07849accd495c55c73535dc73 #2384 (@jamescowens)
- test: update base58_encode_decode.json from upstream #2391 (@barton2526)
- depends: Port libdmg-hfsplus changes from upstream #2389 (@barton2526)
- doc: Port newer build documentation from Bitcoin #2162 (@nathanielcwm)
- rpc: Change getmininginfo to getstakinginfo #2393 (@jamescowens)
- researcher: Prefer CPID with active beacon for primary CPID #2404 (@scribblemaniac)
- contract: separate legacy type parsing #2396 (@div72)
- refactor: Pass values by reference #2408 (@Pythonix)
- net: only adjust time with data from outbound nodes #2411 (@div72)
- rpc: Change call to FormatISO8601DateTime to FormatISO8601DateTimeDashSep in scanforunspent #2413 (@jamescowens)
- build: Adjust depends packages to successfully compile on OpenSUSE #2260 (@jamescowens)
- gui: Enable masking of cpid in privacy mode #2420 (@jamescowens)
- doc: Update license year range to 2022 #2421 (@barton2526)
- contrib: install_db4: use local config.guess/sub #2436 (@div72)
- gui: update translations #2442 (@div72, @3man001)
Removed
- qt: Remove stray QT4 references #2220 (@barton2526)
- util: Remove old boost hacks/workarounds #2231 (@barton2526)
- refactor: Remove sprintf and printf #2269 (@jamescowens)
- depends: Remove boost::program_options dependency #2277 (@barton2526)
- refactor: Drop noop gcc version checks #2278 (@barton2526)
- util: Remove unused itostr #2280 (@barton2526)
- util: Remove deprecated random number generator functions #2236 (@jamescowens)
- depends: cleanup package configure flags #2279 (@barton2526)
- rpc: remove 'label' filter for rpc command help #2282 (@barton2526)
- wallet: remove unused fNoncriticalErrors variable from CWalletDB::FindWalletTx #2283 (@barton2526)
- refactor: Optimize and Cleanup CScript::FindAndDelete #2294 (@barton2526)
- wallet: Remove unused AskPassphraseDialog::Decrypt #2299 (@barton2526)
- refactor, qt: Drop redundant setEditTriggers(NoEditTriggers) calls, Fix typo in QtInputSupport check #2308 (@barton2526)
- release: Remove gitian #2293 (@jamescowens)
- util: Update scheduler and remove Boost chrono #2330 (@jamescowens)
- qt: remove gridcoinresearch.pro #2332 (@div72)
- test: Remove unused function dumpKeyInfo #2347 (@barton2526)
- build: remove glibc back compat #2351 (@barton2526)
- net: remove SOCKS4 support (@core and GUI #2385 from barton2526)
- net: remove obsolete "reply" command #2366 (@div72)
- net: Remove I2P support from netbase & Correct HE IPv6 Tunnel Broker #2409 (@Pythonix)
- qt: Remove locked coins loop #2410 (@Pythonix)
Fixed
- wallet: Close DB on error, use memory_cleanse #2221 (@barton2526)
- build: Clean remnants of QTBUG-34748 fix #2224 (@barton2526)
- build: use -isysroot over --sysroot on macOS #2225 (@barton2526)
- trivial, rpc: Fix and cleanup listreceivedbyX documentation, General Typos #2227 (@barton2526)
- trivial: Unbreak build with Boost 1.72.0 #2228 (@barton2526)
- doc: Large collection of typos, grammar fixes, and proper capitalization #2247 (@barton2526)
- lint: Fix linter warning, fix typo #2276 (@barton2526)
- qt: Do not translate file extensions #2295 (@barton2526)
- refactor: Drop redundant QString calls #2296 (@barton2526)
- rpc: Print OpenSSL version fix #2298 (@barton2526)
- gui: Add back in accidentally deleted condition for UnlockStaking and Unlock cases in AskPassphraseDialog::textChanged() #2305 (@jamescowens)
- rpc: ParseHash: Fail when length is not 64 #2313 (@barton2526)
- Fix locking on WSL using flock instead of fcntl #2314 (@barton2526)
- rpc: Fix breakage in protocol.cpp caused by change atoi to ParseInt #2307 (@jamescowens)
- net: Small upstream FIXME #2320 (@barton2526)
- refactor: Fix advanced compiler warnings #2292 (@jamescowens)
- poll: Fix the possible infinite loop warning on GetChoices() in result.cpp #2322 (@jamescowens)
- qt: fix broken research wizard signal #2324 (@div72)
- refactor: Fix three minor code scanner findings #2327 (@barton2526)
- Fix build with Boost 1.77.0 #2329 (@barton2526)
- build: Misc upstream depends fixes #2331 (@barton2526)
- wallet: Fix improper indent in encryptWallet #2339 (@jamescowens)
- wallet: Bugfix - Fundrawtransaction: don't terminate when keypool is empty #2337 (@barton2526)
- depends: Fix build for Apple Silicon #2342 (@div72)
- build: fix -fstack-clash-protection spam for Clang #2340 (@div72)
- util, test: Don't allow Base32/64-decoding or ParseMoney(…) on strings with embedded NUL characters. Add tests. Add negative test case. #2344 (@barton2526)
- test: Repair transaction_tests.cpp (baseline) #2350 (@jamescowens)
- scraper: Fix scraper deadlock and make activebeforesb dynamic (not require restart) #2358 (@jamescowens)
- scraper: Move lock on cs_mapParts in RecvManifest #2370 (@jamescowens)
- build: Make changes to use Gridcoin x.y.z.w client versions #2371 (@jamescowens)
- refactor, build: Upstream fixes for the /crypto files. Implement Keccak and SHA3 #2365 (@barton2526)
- util: fix FormatVersion #2376 (@div72)
- net: initialize nMessageSize to uint32_t max #2390 (@barton2526)
- contract: fix double usage of contract change addresses #2395 (@div72)
- build: patch qt to explicitly define previously implicit header include #2397 (@div72)
- Fix breakage introduced by use of FormatISO8601DateTime #2398 (@jamescowens)
- gui: Fix bug in recent transaction list #2403 (@jamescowens)
- build: Drop macports support #2401 (@barton2526)
- util: Check if specified config file cannot be opened #2400 (@barton2526)
- net: Fix masking of irrelevant bits in address groups #2412 (@Pythonix)
- rpc: accept int block number for getblocksbatch #2415 (@scribblemaniac)
- staking, gui: Fixes a missing miner search interval update for no coins corner case #2430 (@jamescowens)
- gui: Add uiInterface.BeaconChanged() call after ActivatePending #2438 (@jamescowens)