Skip to content

Latest commit

 

History

History
160 lines (114 loc) · 7.82 KB

File metadata and controls

160 lines (114 loc) · 7.82 KB

Changelog

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.

Added

  • 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).

Changed

  • Update required Go version to Go 1.26 (#673, #698, #896).

  • Move testutil into the internal/ package, removing it from the public API (#735).

  • Update localnet and localnode geth-l1 versions to 16.7 and fix tests (#746).

  • Improved signal handling in the daemons (#763).

Fixed

  • Fix typos across the codebase (#694, #733, #751, #755).

  • Fix bug that led to early exit during Daemon configuration parsing (#885)

Breaking Changes

  • Rework how PoP Miners and BFG work (#396). For details on running a v2 PoP Miner, see the popmd readme.

    • Rewrite bfgd to serve as an API layer for finality data. PoP miners no longer use bfgd.
    • Remove bssd. PoP payouts are now handled by op-geth.
    • Add indexing for Hemi Keystones published to Bitcoin by PoP miners (#549).
    • Rewrite popmd. To run popmd, the following data sources are now required:
      • A Hemi op-geth node (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.
    • PoP Miners can now use either a static fee or dynamic fee estimations from Gozer.
  • Rename Go module to github.com/hemilabs/heminetwork/v2 (add /v2 suffix) (#622).

Added

bitcoin package

  • Add bitcoin/gozer package: Bitcoin data interface layer, with a basic implementation for Blockstream (Electrs) and a complete implementation supporting the TBC RPC API (#562).
  • Add bitcoin/vinzclortho package: Bitcoin wallet interface that handles creation and derivation of Bitcoin addresses (#562).
  • Add bitcoin/zuul package: Interface for handling the storage of secret material, such as Bitcoin wallet private keys (#562).

Tiny Bitcoin Client (TBC)

  • 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 popmd when 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-geth for handling PoP payouts.
  • Add standalone TBC Docker image: hemilabs/tbcd, ghcr.io/hemilabs/tbcd (#531).

localnode

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).

Changed

  • Update localnode config with new testnet P2P nodes (#650).

  • Move common test utilities into a new testutil package 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.After with time.Tick to avoid issues on sleeping dev machines (#580).

  • Update README.md file with current information (#593).

Removed

  • Remove WebAssembly support from the PoP Miner (#526).

  • Remove extool, an unused Electrum/Electrs CLI utility (#625).

Fixed

Contributors

Thank you to everyone who contributed to this release!


Looking for the changelog for an older version? Check https://github.com/hemilabs/heminetwork/releases