All notable changes to this project will be documented here.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Add ZK indexers.
- Add RPC request method whitelist to hproxy (#691).
- Add TBC notification system (#725).
- Add Continuum Transfuctioner protocol and daemon to handle threshold signatures (#752).
-
Move
testutilinto theinternal/package, removing it from the public API (#735). -
Update
localnetandlocalnodegeth-l1versions to 16.7 and fix tests (#746). -
Improved signal handling in the daemons (#763).
-
Fix bug that led to early exit during Daemon configuration parsing (#885)
-
Rework how PoP Miners and BFG work (#396). For details on running a v2 PoP Miner, see the
popmdreadme.- Rewrite
bfgdto serve as an API layer for finality data. PoP miners no longer usebfgd. - Remove
bssd. PoP payouts are now handled byop-geth. - Add indexing for Hemi Keystones published to Bitcoin by PoP miners (#549).
- Rewrite
popmd. To runpopmd, the following data sources are now required:- A Hemi
op-gethnode (for keystone notifications). - A "Gozer" Bitcoin data source, such as TBC, to retrieve Bitcoin data and publish PoP transactions. Gozer can also be used to provide fee estimations.
- A Hemi
- PoP Miners can now use either a static fee or dynamic fee estimations from Gozer.
- Rewrite
-
Rename Go module to
github.com/hemilabs/heminetwork/v2(add/v2suffix) (#622).
-
Add hproxyd, a simple and efficient RPC request proxy to replace
proxyd(#568, #574, #576). -
Add Prometheus metrics and health check endpoints to
bfgdandpopmd(#619). -
Add supply chain attestations for releases (#634).
- Add
bitcoin/gozerpackage: Bitcoin data interface layer, with a basic implementation for Blockstream (Electrs) and a complete implementation supporting the TBC RPC API (#562). - Add
bitcoin/vinzclorthopackage: Bitcoin wallet interface that handles creation and derivation of Bitcoin addresses (#562). - Add
bitcoin/zuulpackage: Interface for handling the storage of secret material, such as Bitcoin wallet private keys (#562).
- Add support for Bitcoin testnet4 (#521).
- Add indexing for Hemi Keystones published to Bitcoin by PoP miners (#549).
- Add Bitcoin mempool support (#549).
- Add transaction fee estimation (#549). This can be used by
popmdwhen creating PoP transactions. - Add Hemi Keystone height hash index with V4 database upgrade, allowing keystones to be retrieved at a specified block
height (#539). Used in
op-gethfor handling PoP payouts. - Add standalone TBC Docker image:
hemilabs/tbcd,ghcr.io/hemilabs/tbcd(#531).
Note
The localnode directory still uses an older version of the Hemi stack. After this release, all node-running
resources and documentation will move to a separate repository, maintained and versioned independently, with its own
changelog.
- Add easy-to-follow quickstart section to the node running documentation (#656).
-
Update localnode config with new testnet P2P nodes (#650).
-
Move common test utilities into a new
testutilpackage to reduce duplication and simply testing (#530). -
Update Hemi keystone genesis block on Bitcoin testnet4 to
00000000a14c6e63123ba02d7e9fd173d4b04412c71a31b7a6ab8bb3106c9231(#654). The previous block was removed by a long re-org. -
Replace
time.Afterwithtime.Tickto avoid issues on sleeping dev machines (#580).
-
Remove WebAssembly support from the PoP Miner (#526).
-
Remove
extool, an unused Electrum/Electrs CLI utility (#625).
- Fix duplicate
flag.Parsecall incmd/keygen(#565). - Fix typos across the codebase (#550, #564, #633, #658, #663).
Thank you to everyone who contributed to this release!
- @AL-CT
- @ClaytonNorthey92
- @Dzmitryy1812
- @Galoretka
- @jcvernaleo
- @joshuasing
- @kks-code
- @lechpzn
- @leopardracer
- @marcopeereboom
- @max-sanchez
- @moshderte
- @pxwanglu
- @tosynthegeek
- @yinwenyu6
Looking for the changelog for an older version? Check https://github.com/hemilabs/heminetwork/releases