Fulcrum v1.9.5: Hotfix Release

This version is a hotfix and performance improvement release of Fulcrum.

Fulcrum v1.9.5: Hotfix Release
  • "This is a hotfix release. 1.9.4 was a lemon - it contained a bug whereby the server would hang waiting for the mempool (due to inappropriate use of thread variable signals). It has been fixed. I sincerely apologize for the error on my part. All users of 1.9.4 should upgrade to 1.9.5 immediately."
  • "Otherwise, 1.9.4 was a good improvement for performance. 1.9.5 is just like 1.9.4 except it lacks the synch hang bug."

What's new (v1.9.4)

  • This is a bugfix + performance improvement release of Fulcrum.
  • In this release, the performance of mempool synching from bitcoind has been improved by as much as ~30% for large mempools.
  • Additionally, a rare corner-case bug related to mempool synching has been fixed. It is recommended that all admins running public Fulcrum servers update to v1.9.4 at their earliest convenience.

Changes

  • Performance! - Improved the performance of the SynchMempoolTask by ~30% for large mempools. This is particularly important when Fulcrum first starts up against a daemon that has chronically full mempools (such as on BTC). (#207).
  • Bugfix - A rare corner-case bug involving unsent scripthash notifications during some unlikely-but-possible mempool scenarios has been fixed. (#207).
  • Miscellaneous:
    • macOS: The source tree now includes a "fat" binary for librocksdb.a which work on both x86_64 and arm64 (Apple Silicon).
    • Refactored the SynchMempoolTask to a separate compilation unit
    • Other small nits.

GitHub Repo