Releases: dfinity/bitcoin-canister
release/2024-08-30
What's Changed
- feat: allow specifying rust features in docker by @ielashi in #318
- chore: remove legacy_preupgrade feature by @ielashi in #319
- chore: upgrade Cargo.lock deps and ic-cdk by @ielashi in #321
- fix: uploader canister compilation by @ielashi in #323
Full Changelog: release/2024-07-28...release/2024-08-30
release/2024-07-28
What's Changed
- Adds a new endpoint (
get_block_headers
) as specified in dfinity/interface-spec#298. - Reduces the maximum number of instructions in heartbeats from 4B to 1B. This helps keep the finalization rate of the subnet smooth and improves response times.
- Adds a config for eager evaluation of fees, which is useful for local dev environments.
- Adds the candid interface to the metadata section.
- Improves serialization of unstable blocks when upgrading
Full Changelog: release/2024-01-22...release/2024-07-28
release/2024-01-22
What's Changed
Bitcoin Canister
- feat: Periodically burn all the cycles in the Bitcoin canister by @dragoljub-duric in #268
Watchdog Canister
Full Changelog: release/2023-10-13...release/2024-01-22
release/2023-10-13
Fixes
- fix: Use vbyte for the computation of a transaction fee by @AlexandraZapuc in #225
- fix: deserialize
BlockTree
iteratively by @ielashi in #258 - fix: bound length of chain on testnet by @ielashi in #261
- fix: make api_access metric an enum by @maksymar in #222
Adds
- feat: Add Non-replicated Queries in the Bitcoin API by @dragoljub-duric in #250
release/2023-08-10
Changed
- test: add proptests for computing next header target. by @ielashi in #223
- chore: unify crate versions by moving them to workspace level by @maksymar in #229
- chore: update some crate revisions by @maksymar in #230
- chore: bump up candid to 0.9.1 by @maksymar in #231
- chore: Implement the
From
trait to access theTxid
bytes by @THLO in #232 - chore: add metadata to publish the ic-btc-interface crate by @ielashi in #233
- perf: add benchmark for the get_metrics endpoint. by @ielashi in #238
- perf: calculate the main chain height more efficiently by @ielashi in #237
- chore: add additional logs to the canister heartbeat by @ielashi in #239
- fix: add panic hook to bitcoin canister by @maksymar in #240
- docs: add docs on how to cut releases by @ielashi in #235
- perf: add benchmark for inserting block headers by @ielashi in #242
- feat: use
criterion
for running benchmarks by @ielashi in #243 - perf: make block header validation more efficient by @ielashi in #241
- refactor: move shared types in
ic-btc-types
crate by @ielashi in #244 - perf: skip next block headers if they are already inserted. by @ielashi in #245
- fix: add a bound on the length of the unstable chain in testnet/regtest by @ielashi in #246
- fix: drop next block headers above a certain instructions threshold by @ielashi in #247
- chore: [EXC-1379] remove interim code from previous upgrade by @ielashi in #248
Full Changelog: release/2023-07-06...release/2023-08-10
Fake Release
NOTE: This release is only maintained to not break existing clients. It is not a release that was deployed to production.
This release downgrades candid
from 0.9.0-beta.3
to 0.8.1
.
Since there is no actual changes to the Bitcoin canister this release is NOT going to be rolled-out to production and is only intended for the users who need to have the Wasm file with this specific candid
version.
Wasm Hash
3df5c5875aacfb3a2b3a680300d69d85e81eef56cd6c1f2e650290c8f422f193 ic-btc-canister.wasm.gz
release/2023-06-12
Summary
This release is primarily focusing on the integration and enhancement of the watchdog canister.
Key additions are the inclusion of a watchdog canister with configurations for both mainnet and testnet, configurable explorers, and its verification in the Docker build process and the checks-pass workflow.
Changes include refactoring for end-to-end tests and improved debugging, while fixes address issues around HTTP requests and metrics handling.
Added
- chore: add tests for explorer api abuse to watchdog canister #194 by @maksymar
- feat: add mainnet & testnet watchdog configs, add bitaps explorer API #196 by @maksymar
- feat: don't plot default values when missing data for watchdog canister metrics #197 by @maksymar
- chore: add watchdog jobs to checks-pass workflow #201 by @maksymar
- chore: fix LICENSE, add copyright owner #202 by @maksymar
- feat: add watchdog stop-switch for bitcoin canister #203 by @maksymar
- chore: expose bitcoin_canister api_access metric #205 by @maksymar
- feat: add configurable explorers for watchdog canister #209 by @maksymar
- chore: add watchdog-canister to docker #210 by @maksymar
- chore: add watchdog_canister to set_config_request api #211 by @maksymar
Changed
- chore: derive Serialize for SetConfigRequest #198 by @ielashi
- chore: refactor watchdog for e2e tests #206 by @maksymar
- chore: enable debug formatter for Config #212 by @maksymar
Fixed
- fix: watchdog canister running out of cycles when sending http_request (#195) by @maksymar
- fix: use f64::NAN as null value for watchdog canister metrics #199 by @maksymar
sha256sum
8cc43d3f40bb734a0c87f42ae19eee70c360f2d66a0c88c631f0f0e785505133 ic-btc-canister.wasm.gz
d1d2a6fdd63ef9d00218e40027c79004ca8bfb876b32851ca52e26b9b0a5526e uploader-canister.wasm.gz
d5c8486fd30203a3c0a195ab69e5f7832b39058109a6ae79e993f52e42b3f963 watchdog-canister.wasm.gz
release/2023-04-21
Added
- feat: add metric to track if the canister is synced by @ielashi in #167
- feat: add ic-http simple API for HTTP outcalls on the IC with mocks in tests by @maksymar in #172
- feat: create a watchdog canister to fetch Bitcoin block data from explorers by @maksymar in #177
- feat: add metrics to watchdog canister by @maksymar in #189
Changed
- feat: do not respond to requests when not fully synced by @dragoljub-duric in #151
- chore: upgrade dfx to 0.13.1 by @ielashi in #161
- optimize: cache block hash computations to speed up block insertions by @ielashi in #164
- chore: upgrade stable structures to version 0.5.2 by @ielashi in #176
- chore(deps): bump h2 from 0.3.16 to 0.3.17 by @dependabot in #184
Fixed
- fix: fix mocking concurrent http requests with transform functions in ic-http by @maksymar in #180
- fix: next block headers validation by @dragoljub-duric in #175
release/2023-03-31
2023-02-23
Changed
- Validating timestamps is now consistent with Bitcoin core. Timestamps are validated to ensure they aren't too far in the future.
- The fee for each endpoint is now charged in all cases (as opposed to only charging if the input is valid).
Fixed
- Correctly set the syncing flag in the
init
method.