Skip to content

5.2.0.0-mandatory

Compare
Choose a tag to compare
@jamescowens jamescowens released this 01 Mar 02:57
· 2316 commits to development since this release
5.2.0.0
454f103

[5.2.0.0] 2021-03-01, mandatory, "Hilda"

The core team is proud to present the Hilda milestone release, which is a mandatory upgrade.

The mandatory aspect of the upgrade here is the complete fix for the "newbie bug" that was
not completely fixed in Gladys. This mandatory provides a permanent fix for the bug, and
also will pay newbie's back accrual when they stake post-fix to the point of their original
beacon confirmation superblock, as long as they have not already staked with their CPID. (For
reference, the "newbie bug" is where newly confirmed beacons would have their accruals
reset to zero at each superblock instead of continuing like they are supposed to.)

The transition height ("hard fork") is at 2197000, which will be approximately Sunday, March 14.
All nodes MUST be upgraded by then or face disconnection from the network. There is a disconnection
grace period of 2000 blocks higher than the hard fork, or 2199000. Any node not on 5.2.0.0 at that
time will automatically be disconnected.

In addition to the mandatory inducing changes, this release contains LOTS of goodies that should
improve the experience with the wallet. Some highlights:

  1. A Port of the data directory dialog box from Bitcoin Core for a brand new installation, allowing
    a different directory than the default to be specified. This will be memorized by the wallet as
    an alternative to providing a -datadir value on the command line. This should be especially useful
    for MacOS folks.

  2. Another goodie for the MacOS folks is the implementation of the AppNap manager ported from Bitcoin Core,
    which suspends AppNap when the wallet is staking to avoid lost stake opportunities.

  3. Significant optimizations were done to memory usage that reduce memory requirements by 30% or more.
    This should really help using the wallet on SBCs and also reduce hardware requirements on other
    platforms. It also results in another modest improvement in sync speed, although we are getting
    to the point of diminishing returns there. Mainnet can sync from zero in less than 2 hours on a
    fast machine.

  4. Several bottlenecks were removed in the GUI code that caused the wallet to bog down very badly
    if the wallet has a lot of transactions or a lot of UTXOs. This drastically improves the GUI experience,
    especially if resyncing an existing wallet from zero with the blockchain, or on a slower SBC.

  5. The GUI now remembers the size and position of the wallet window for both mainnet and testnet, and some
    font work was done to improve scaling on various displays. (The font and scaling work is still a
    work in progress, but it is much better than before.)

  6. A big bug was fixed in CreateTransaction that was causing insufficent fee transaction rejections
    and driving everyone crazy! This bug has actually been in there forever and is finally slayed!

  7. Related to #3, but also generally useful for folks interested in monitoring their staking
    efficiency are new measures in the getmininginfo RPC: staking_loop_efficiency measures the percent
    of elapsed time that is covered by an active staking loop, and staking_efficiency measures the overall
    staking efficiency, which takes into account staking_loop_efficiency and the UTXO's that are on
    cooldown.

  8. The beacon registry in the wallet, which holds in memory the beacons for the network, has received
    enhancements that solve some thorny problems related to contract lookback and beacon renewals, and
    does this with high performance by using leveldb for specialized storage of the beacon structures.

  9. Consolidateunspent has been enhanced. The function now allows the consolidation of ALL addresses
    to the specified address, and also allows the sweeping of associated change addresses.

  10. The wallet no longer depends on external IP resolvers, but instead uses the Bitcoin Core style of
    IP resolution. This also means the wallet will correctly update its IP if a notebook is put to sleep
    on one network and then awoken on another with a different IP. Before the wallet would have to be restarted
    to accept incoming connections. Note that UPNP can still be an issue though.

  11. Other bugfixes and enhancements too.

This was a pretty hefty release. We hope you enjoy it! :)

[5.2.0.0] 2021-03-01, mandatory, "Hilda"

Added

Changed

Removed

Fixed