Skip to content

Releases: input-output-hk/mithril

Unstable Development Builds

27 Feb 14:42
b3312cd

Choose a tag to compare

Pre-release

Crates Versions

Crate Version
mithril-aggregator 0.8.29
mithril-client 0.13.3
mithril-client-cli 0.12.41
mithril-client-wasm 0.9.12
mithril-common 0.6.53
mithril-signer 0.3.20
mithril-stm 0.9.19

Networks Compatibility ⚠️

Network Compatible
release-mainnet
release-preprod
pre-release-preview
testing-preview

Cardano Node Compatibility

Network Mithril Aggregator Mithril Signer
release-mainnet Cardano 10.5.2+(*) Cardano 10.5.2+(*)
release-preprod Cardano 10.5.2+(*) Cardano 10.5.2+(*)
pre-release-preview Cardano 10.5.2+(*) Cardano 10.5.2+(*)
testing-preview Cardano 10.5.2+(*) Cardano 10.5.2+(*)

*: Up to the latest Cardano node version released at the time of this release.

Platform Support

Summary of the platforms for which pre-built binaries are provided.

Binary Linux x64 Linux arm64 macOS arm64 Windows x64
mithril-aggregator ✔ ⁽*⁾
mithril-signer ✔ ⁽*⁾
mithril-client ✔ ⁽*⁾

⁽*⁾⚠️ Linux arm64 builds are provided on a best-effort basis and are not officially supported.

Linux Requirements

The Linux binaries target glibc: to run them or install the .deb packages you must have glibc version 2.35+ installed.
Compatible systems include, but are not limited to, Ubuntu 22.04+ or Debian 12+ (Bookworm)).

Fetch the latest version of the unstable tag

The unstable tag is updated with a new commit id when a new unstable release is published.
To fetch the latest version of the unstable tag, execute the command:
git tag -d unstable && git fetch origin tag unstable

Download a binary asset

To simplify the installation and updating of Mithril binaries, we have created a one line installer that downloads and installs the Mithril binaries for you.
This installer is available for Linux and macOS and supports the Mithril signer, Mithril aggregator, and Mithril client CLI.

Use the following commands to install the Mithril nodes:

  • Download the Mithril signer in the current directory:
curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/input-output-hk/mithril/refs/heads/main/mithril-install.sh | sh -s -- -c mithril-signer -d unstable -p $(pwd)
  • Download the Mithril client CLI in the current directory:
curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/input-output-hk/mithril/refs/heads/main/mithril-install.sh | sh -s -- -c mithril-client -d unstable -p $(pwd)
  • Download the Mithril aggregator in the current directory:
curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/input-output-hk/mithril/refs/heads/main/mithril-install.sh | sh -s -- -c mithril-aggregator -d unstable -p $(pwd)

Verify the authenticity of a downloaded asset

Detailed procedure to verify an asset

  • Step 1: Identify the downloaded asset on your computer YOUR_ASSET_FILE
  • Step 2: Download the signed checksum file from this link CHECKSUM.asc and save it in the same folder as the asset
  • Step 3: In your terminal, go to the asset folder by running:
cd ***YOUR_ASSET_FOLDER***
  • Step 4: Then verify the checksum of the asset by running:
sha256sum -c ./CHECKSUM.asc 2>/dev/null | grep ***YOUR_ASSET_FILE***

You must see:

./***YOUR_ASSET_FILE***: OK
  • Step 5: Download the public key file from this link public-key.gpg and save it in the same folder as the asset
  • Step 6: Then import the GPG public key:
gpg --import ./public-key.gpg

You must see something like:

gpg: key : public key "Input Output / Mithril <mithril@iohk.io>" imported
gpg: Total number processed: 1
gpg:               imported: 1
  • Step 7: Then verify the GPG signature of the checksum file:
gpg --verify ./CHECKSUM.asc

You must see something like:

gpg: Signature made Mon 05 Dec 2022 04:53:54 PM CET
gpg:                using RSA key 35EDE9D47BBA62A2F388E655899ACD26B8BCA0D2
gpg: Good signature from "Input Output / Mithril <mithril@iohk.io>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: 35ED E9D4 7BBA 62A2 F388  E655 899A CD26 B8BC A0D2

The signature is valid if and only if:

  • there is a line with gpg: Good signature from "Input Output / Mithril <mithril@iohk.io>"
  • there is a line with Primary key fingerprint: 73FC 4C3D FD55 DBDC 428A D2B5 BE04 3B79 FDA4 C2EE
  • Step 8:
    If you successfully validated all the steps of this process, then you have successfully verified the authenticity of the asset ✔️
    If not, contact us at [mithril@iohk.io] and let us know of the outcome of your run of this process ⚠️

Download a Docker image

You can directly pull prebuilt Mithril Docker images:

Binary Image name URL
mithril-aggregator mithril-aggregator:main-b3312cd ghcr.io/input-output-hk/mithril-aggregator:main-b3312cd
mithril-signer mithril-signer:main-b3312cd ghcr.io/input-output-hk/mithril-signer:main-b3312cd
mithril-client mithril-client:main-b3312cd ghcr.io/input-output-hk/mithril-client:main-b3312cd

What's Changed

  • fix(signer): avoid panic on invalid signed_beacon id by @leepl37 in #2940
  • core(stm/snark): integrate certificate circuit prototype as it is (future_snark) by @hjeljeli32 in #2938
  • feat(stm): Implementation of the digest trait for the Poseidon hash from Midnight by @damrobi in #2936
  • SNARK-friendly STM: New Key Registration by @curiecrypt in #2880
  • refactor: SNARK-friendly version of Aggregate Verification Key by @jpraynaud in #2951
  • fix(signer): avoid sqlite bind panic by @leepl37 in #2953
  • feat(stm): Merkle Tree Leaf for Snark proof by @curiecrypt in #2957
  • docs: rotate documentation for 2603 distribution by @jpraynaud in #2924
  • docs: final CHANGELOG for 2603.1 distribution by @jpraynaud in #2962
  • docs: add dev blog posts for distribution 2603 by @jpraynaud in #2965
  • feat: also import blocks into cardano database when importing data from chain by @Alenar in #2960
  • refactor(stm): Remove possibility of panic during conversion from KeyRegistration to MerkleTree by @damrobi in #2959
  • feat(stm): Implementing pre-aggregation primitives and fixes by @damrobi in #2964
  • docs(website): fix k protocol parameter description by @jpraynaud in #2975
  • feat: optional throttling when reading blocks from the chain by @Alenar in #2966
  • Implement artifacts builder for cardano blocks and transactions by @turmelclem in #2963
  • Update 2026-01-29-distribution-2603.md by @olgahryniuk in #2986
  • fix: synchronization from incomplete certificate chain in follower aggregator by @jpraynaud in #2978
  • feat: implement a DMQ consumer deduplicator by @jpraynaud in #2977
  • test(snark): Golden tests for the STM Halo2 circuit by @hjeljeli32 in #2968
  • implement artifact rest api routes for cardano blocks and transactions by @turmelclem in #2980
  • refactor: preliminary works before addition of CardanoBlocksTransactions signable builder by @Alenar in #2992
  • fix: DMQ publisher error on rejected local submission response by @jpraynaud in #2972
  • fix(devnet): Docker images by @jpraynaud in #2996
  • fix(stm): Fix the implementation difference for schnorr signature between cpu and circuit by @damrobi in #2994
  • feat: add Copilot review guidelines in CI by @jpraynaud in #2999
  • feat: compute and persist blocks transactions block range roots by @Alenar in #2995
  • implement signing configuration for cardano blocks and transactions by @turmelclem in #2991
  • feat(stm): SNARK Key registration by @curiecrypt in...
Read more

Mithril v2603.1

29 Jan 14:13
2603.1
567a8e8

Choose a tag to compare

Highlights

  • Breaking Changes: Progress bars and spinners now output to stderr instead of stdout in Mithril client CLI
  • Deprecations: Deprecated cardano_db function in library/WASM; removed snapshot function from Client struct; deprecated --backend v1 flag in CLI (use --backend v2 instead)
  • Decentralization Support: New /protocol-configuration/{epoch} route for fetching aggregator configuration; refactored signer and aggregator to read network configurations from MithrilNetworkConfigurationProvider; follower aggregators can now read configurations from leader aggregator
  • Miscellaneous: Replaced CExplorer API with Blockfrost API for pool names/tickers discovery; support for new Lagrange Mithril era; bug fixes and performance improvements
  • Unstable: DMQ protocol support in signer, aggregator and relay; aggregator discovery mechanism in client library and CLI.

What's Changed

  • Decentralization of configuration parameters phase 1 - new aggregator route by @turmelclem in #2741
  • fix: Rust 1.91 clippy warnings by @Alenar in #2757
  • refactor: use shared aggregator client for signer and aggregrator by @Alenar in #2755
  • docs: rotate documentation for 2543 distribution by @jpraynaud in #2748
  • docs: final CHANGELOG for '2543.0' distribution by @jpraynaud in #2751
  • docs: add dev blog posts for distribution 2543 by @jpraynaud in #2752
  • ci: enhance npm publish workflow by @Alenar in #2753
  • docs: update blog post distribution 2543 by @jpraynaud in #2774
  • fix: apply hotfix of 2345.1-hotfix by @jpraynaud in #2773
  • fix: install on aarch64 by @SupernaviX in #2776
  • fix: syntax error in shell script by @SupernaviX in #2777
  • refactor(signer): split signer aggregator client into several small business services by @Alenar in #2775
  • Decentralization of configuration parameters phase 1 - Aggregator local parameters by @turmelclem in #2736
  • chore: remove uneeded crates type from most Cargo.toml by @Alenar in #2783
  • ci(test-client): check fast bootstrap after lmdb conversion by @Alenar in #2778
  • chore(ci): upgrade actions versions by @Alenar in #2784
  • fix(ci): support hotfix branches in backcompat workflow by @Alenar in #2787
  • fix: docs and explorer websites vulnerabilities by @jpraynaud in #2788
  • Stm error handling with anyhow by @curiecrypt in #2765
  • refactor: support optional cardano transaction signing config by @Alenar in #2789
  • Implementation of Schnorr signature module for mithril-stm. by @damrobi in #2761
  • ci: add a backward compatibility checks to the end-to-end runner by @Alenar in #2816
  • feat: stabilize cardano database v2 - phase4 by @Alenar in #2819
  • SNARK-friendly STM: Re-organize modules by @curiecrypt in #2804
  • chore: update signed entity type timeouts by @jpraynaud in #2829
  • fix: websites vulnerabilities by @jpraynaud in #2834
  • feat: stabilize cardano database v2 - phase4 - wasm client by @Alenar in #2821
  • fix: client wasm ci-test using removed snapshot function by @Alenar in #2840
  • feat: create new Lagrange Mithril era by @jpraynaud in #2839
  • fix: explorer dependency vulnerability by @jpraynaud in #2841
  • feat: prepare aggregator client usage in mithril client and publication by @Alenar in #2842
  • fix: wrong output type for GetCardanoDatabaseListQuery by @Alenar in #2843
  • feat: simple aggregator discovery by @jpraynaud in #2779
  • fix: add missing published crates in CI by @jpraynaud in #2846
  • refactor(mithril-client-library): switch http backend to new shared mithril-aggregator-client by @Alenar in #2847
  • ci: Check external crates licenses compatibility by @Alenar in #2848
  • fix(ci): crates already published guard was not working by @Alenar in #2849
  • ci: accelerate hydra ci by @Alenar in #2851
  • fix: Rust 1.92 clippy warnings by @Alenar in #2853
  • feat(client-cli): add cardano docker run command to snapshot converter output by @Alenar in #2852
  • ci(client multiplatform test): add a new download + conversion case for conversion to legacy legder snapshot by @Alenar in #2854
  • Moving mithril-stm errors into corresponding module by @damrobi in #2850
  • chore: enhance and align usage of the anyhow across crates by @Alenar in #2858
  • feat: support Haskell DMQ node pool id authentication by @jpraynaud in #2859
  • feat: activate DMQ protocol by @jpraynaud in #2862
  • enhance errors context by @Alenar in #2863
  • SNARK-friendly STM: Remove basic verifier by @curiecrypt in #2845
  • feat: add "total successful" metrics for signature and signer registrations by @Alenar in #2865
  • fix: avoid DMQ node flooding on consumer error by @jpraynaud in #2868
  • SNARK-friendly STM: Revise Generic Digest to support multiple hash functions by @curiecrypt in #2864
  • fix: KES signer period by @jpraynaud in #2867
  • SNARK-friendly STM: jubjub wrapper by @curiecrypt in #2828
  • Golden Tests for Merkle Tree Batch Commitment by @curiecrypt in #2874
  • SNARK-friendly STM: Support multiple Merkle Tree leaves by @curiecrypt in #2866
  • Golden Tests for Single Signature by @curiecrypt in #2877
  • fix: better support for signature registration errors in aggregator signature processor by @jpraynaud in #2873
  • doc: add DMQ node setup in Mithril signer guide by @jpraynaud in #2872
  • doc: add aggregator setup guide by @jpraynaud in #2876
  • refactor: introduce KesEvolutions type by @jpraynaud in #2869
  • SNARK-friendly STM: Remove Deprecated Items by @curiecrypt in #2881
  • SNARK-friendly STM: Single signature of concatenation proof by @curiecrypt in #2875
  • feat: use final DMQ magic numbers by @jpraynaud in #2885
  • docs: add dev blog post for multiple aggregators testing program by @jpraynaud in #2884
  • docs: add dev blog post for DMQ testing program with SPOs by @jpraynaud in #2883
  • ci: fix aggregator stress test parameters handling by @Alenar in #2900
  • Golden test for Closed Key Registration by @curiecrypt in #2901
  • feat: use released Haskell DMQ node in e2e tests by @jpraynaud in #2902
  • fix(cli): handle file write errors in verification report by @leepl37 in #2899
  • ci: optimize rust test disk space usage by @Alenar in #2916
  • feat(aggregator): replace cexplorer pools ticker retriever with a blockfrost based implementation by @Alenar in #2896
  • feat: add ConfigSecret type and use it for aggregator blockfrost configuration by @Alenar in #2919
  • Golden test for avk by @curiecrypt in #2904
  • chore: update dependencies for distribution 2603 by @jpraynaud in #2920
  • Rename mithril-stm schnorr module by @damrobi in http...
Read more

Mithril v2603.1-pre

23 Jan 09:42
2603.1-pre
567a8e8

Choose a tag to compare

Mithril v2603.1-pre Pre-release
Pre-release

Note

This version fixes a bug in the signer statistics identified in 2603.0-pre

Highlights

  • Breaking Changes: Progress bars and spinners now output to stderr instead of stdout in Mithril client CLI.
  • Deprecations: Deprecated cardano_db function in library/WASM; removed snapshot function from Client struct; deprecated --backend v1 flag in CLI (use --backend v2 instead)
  • Decentralization Support: New /protocol-configuration/{epoch} route for fetching aggregator configuration; refactored signer and aggregator to read network configurations from MithrilNetworkConfigurationProvider; follower aggregators can now read configurations from leader aggregator
  • Miscellaneous: Replaced CExplorer API with Blockfrost API for pool names/tickers discovery; support for new Lagrange Mithril era; bug fixes and performance improvements
  • Unstable: DMQ protocol support in signer, aggregator and relay; aggregator discovery mechanism in client library and CLI.

What's Changed

  • Decentralization of configuration parameters phase 1 - new aggregator route by @turmelclem in #2741
  • fix: Rust 1.91 clippy warnings by @Alenar in #2757
  • refactor: use shared aggregator client for signer and aggregrator by @Alenar in #2755
  • docs: rotate documentation for 2543 distribution by @jpraynaud in #2748
  • docs: final CHANGELOG for '2543.0' distribution by @jpraynaud in #2751
  • docs: add dev blog posts for distribution 2543 by @jpraynaud in #2752
  • ci: enhance npm publish workflow by @Alenar in #2753
  • docs: update blog post distribution 2543 by @jpraynaud in #2774
  • fix: apply hotfix of 2345.1-hotfix by @jpraynaud in #2773
  • fix: install on aarch64 by @SupernaviX in #2776
  • fix: syntax error in shell script by @SupernaviX in #2777
  • refactor(signer): split signer aggregator client into several small business services by @Alenar in #2775
  • Decentralization of configuration parameters phase 1 - Aggregator local parameters by @turmelclem in #2736
  • chore: remove uneeded crates type from most Cargo.toml by @Alenar in #2783
  • ci(test-client): check fast bootstrap after lmdb conversion by @Alenar in #2778
  • chore(ci): upgrade actions versions by @Alenar in #2784
  • fix(ci): support hotfix branches in backcompat workflow by @Alenar in #2787
  • fix: docs and explorer websites vulnerabilities by @jpraynaud in #2788
  • Stm error handling with anyhow by @curiecrypt in #2765
  • refactor: support optional cardano transaction signing config by @Alenar in #2789
  • Implementation of Schnorr signature module for mithril-stm. by @damrobi in #2761
  • ci: add a backward compatibility checks to the end-to-end runner by @Alenar in #2816
  • feat: stabilize cardano database v2 - phase4 by @Alenar in #2819
  • SNARK-friendly STM: Re-organize modules by @curiecrypt in #2804
  • chore: update signed entity type timeouts by @jpraynaud in #2829
  • fix: websites vulnerabilities by @jpraynaud in #2834
  • feat: stabilize cardano database v2 - phase4 - wasm client by @Alenar in #2821
  • fix: client wasm ci-test using removed snapshot function by @Alenar in #2840
  • feat: create new Lagrange Mithril era by @jpraynaud in #2839
  • fix: explorer dependency vulnerability by @jpraynaud in #2841
  • feat: prepare aggregator client usage in mithril client and publication by @Alenar in #2842
  • fix: wrong output type for GetCardanoDatabaseListQuery by @Alenar in #2843
  • feat: simple aggregator discovery by @jpraynaud in #2779
  • fix: add missing published crates in CI by @jpraynaud in #2846
  • refactor(mithril-client-library): switch http backend to new shared mithril-aggregator-client by @Alenar in #2847
  • ci: Check external crates licenses compatibility by @Alenar in #2848
  • fix(ci): crates already published guard was not working by @Alenar in #2849
  • ci: accelerate hydra ci by @Alenar in #2851
  • fix: Rust 1.92 clippy warnings by @Alenar in #2853
  • feat(client-cli): add cardano docker run command to snapshot converter output by @Alenar in #2852
  • ci(client multiplatform test): add a new download + conversion case for conversion to legacy legder snapshot by @Alenar in #2854
  • Moving mithril-stm errors into corresponding module by @damrobi in #2850
  • chore: enhance and align usage of the anyhow across crates by @Alenar in #2858
  • feat: support Haskell DMQ node pool id authentication by @jpraynaud in #2859
  • feat: activate DMQ protocol by @jpraynaud in #2862
  • enhance errors context by @Alenar in #2863
  • SNARK-friendly STM: Remove basic verifier by @curiecrypt in #2845
  • feat: add "total successful" metrics for signature and signer registrations by @Alenar in #2865
  • fix: avoid DMQ node flooding on consumer error by @jpraynaud in #2868
  • SNARK-friendly STM: Revise Generic Digest to support multiple hash functions by @curiecrypt in #2864
  • fix: KES signer period by @jpraynaud in #2867
  • SNARK-friendly STM: jubjub wrapper by @curiecrypt in #2828
  • Golden Tests for Merkle Tree Batch Commitment by @curiecrypt in #2874
  • SNARK-friendly STM: Support multiple Merkle Tree leaves by @curiecrypt in #2866
  • Golden Tests for Single Signature by @curiecrypt in #2877
  • fix: better support for signature registration errors in aggregator signature processor by @jpraynaud in #2873
  • doc: add DMQ node setup in Mithril signer guide by @jpraynaud in #2872
  • doc: add aggregator setup guide by @jpraynaud in #2876
  • refactor: introduce KesEvolutions type by @jpraynaud in #2869
  • SNARK-friendly STM: Remove Deprecated Items by @curiecrypt in #2881
  • SNARK-friendly STM: Single signature of concatenation proof by @curiecrypt in #2875
  • feat: use final DMQ magic numbers by @jpraynaud in #2885
  • docs: add dev blog post for multiple aggregators testing program by @jpraynaud in #2884
  • docs: add dev blog post for DMQ testing program with SPOs by @jpraynaud in #2883
  • ci: fix aggregator stress test parameters handling by @Alenar in #2900
  • Golden test for Closed Key Registration by @curiecrypt in #2901
  • feat: use released Haskell DMQ node in e2e tests by @jpraynaud in #2902
  • fix(cli): handle file write errors in verification report by @leepl37 in #2899
  • ci: optimize rust test disk space usage by @Alenar in #2916
  • feat(aggregator): replace cexplorer pools ticker retriever with a blockfrost based implementation by @Alenar in #2896
  • feat: add ConfigSecret type and use it for aggregator blockfrost configuration by @Alenar in #2919
  • Golden test for avk by @curiecrypt in #2904
  • chore: update d...
Read more

Mithril v2603.0-pre

21 Jan 14:04
2603.0-pre
f3ea8fb

Choose a tag to compare

Mithril v2603.0-pre Pre-release
Pre-release

Warning

This version has been superseded by 2603.1-pre

Highlights

  • Breaking Changes: Progress bars and spinners now output to stderr instead of stdout in Mithril client CLI.
  • Deprecations: Deprecated cardano_db function in library/WASM; removed snapshot function from Client struct; deprecated --backend v1 flag in CLI (use --backend v2 instead)
  • Decentralization Support: New /protocol-configuration/{epoch} route for fetching aggregator configuration; refactored signer and aggregator to read network configurations from MithrilNetworkConfigurationProvider; follower aggregators can now read configurations from leader aggregator
  • Miscellaneous: Replaced CExplorer API with Blockfrost API for pool names/tickers discovery; support for new Lagrange Mithril era; bug fixes and performance improvements
  • Unstable: DMQ protocol support in signer, aggregator and relay; aggregator discovery mechanism in client library and CLI.

What's Changed

  • Decentralization of configuration parameters phase 1 - new aggregator route by @turmelclem in #2741
  • fix: Rust 1.91 clippy warnings by @Alenar in #2757
  • refactor: use shared aggregator client for signer and aggregrator by @Alenar in #2755
  • docs: rotate documentation for 2543 distribution by @jpraynaud in #2748
  • docs: final CHANGELOG for '2543.0' distribution by @jpraynaud in #2751
  • docs: add dev blog posts for distribution 2543 by @jpraynaud in #2752
  • ci: enhance npm publish workflow by @Alenar in #2753
  • docs: update blog post distribution 2543 by @jpraynaud in #2774
  • fix: apply hotfix of 2345.1-hotfix by @jpraynaud in #2773
  • fix: install on aarch64 by @SupernaviX in #2776
  • fix: syntax error in shell script by @SupernaviX in #2777
  • refactor(signer): split signer aggregator client into several small business services by @Alenar in #2775
  • Decentralization of configuration parameters phase 1 - Aggregator local parameters by @turmelclem in #2736
  • chore: remove uneeded crates type from most Cargo.toml by @Alenar in #2783
  • ci(test-client): check fast bootstrap after lmdb conversion by @Alenar in #2778
  • chore(ci): upgrade actions versions by @Alenar in #2784
  • fix(ci): support hotfix branches in backcompat workflow by @Alenar in #2787
  • fix: docs and explorer websites vulnerabilities by @jpraynaud in #2788
  • Stm error handling with anyhow by @curiecrypt in #2765
  • refactor: support optional cardano transaction signing config by @Alenar in #2789
  • Implementation of Schnorr signature module for mithril-stm. by @damrobi in #2761
  • ci: add a backward compatibility checks to the end-to-end runner by @Alenar in #2816
  • feat: stabilize cardano database v2 - phase4 by @Alenar in #2819
  • SNARK-friendly STM: Re-organize modules by @curiecrypt in #2804
  • chore: update signed entity type timeouts by @jpraynaud in #2829
  • fix: websites vulnerabilities by @jpraynaud in #2834
  • feat: stabilize cardano database v2 - phase4 - wasm client by @Alenar in #2821
  • fix: client wasm ci-test using removed snapshot function by @Alenar in #2840
  • feat: create new Lagrange Mithril era by @jpraynaud in #2839
  • fix: explorer dependency vulnerability by @jpraynaud in #2841
  • feat: prepare aggregator client usage in mithril client and publication by @Alenar in #2842
  • fix: wrong output type for GetCardanoDatabaseListQuery by @Alenar in #2843
  • feat: simple aggregator discovery by @jpraynaud in #2779
  • fix: add missing published crates in CI by @jpraynaud in #2846
  • refactor(mithril-client-library): switch http backend to new shared mithril-aggregator-client by @Alenar in #2847
  • ci: Check external crates licenses compatibility by @Alenar in #2848
  • fix(ci): crates already published guard was not working by @Alenar in #2849
  • ci: accelerate hydra ci by @Alenar in #2851
  • fix: Rust 1.92 clippy warnings by @Alenar in #2853
  • feat(client-cli): add cardano docker run command to snapshot converter output by @Alenar in #2852
  • ci(client multiplatform test): add a new download + conversion case for conversion to legacy legder snapshot by @Alenar in #2854
  • Moving mithril-stm errors into corresponding module by @damrobi in #2850
  • chore: enhance and align usage of the anyhow across crates by @Alenar in #2858
  • feat: support Haskell DMQ node pool id authentication by @jpraynaud in #2859
  • feat: activate DMQ protocol by @jpraynaud in #2862
  • enhance errors context by @Alenar in #2863
  • SNARK-friendly STM: Remove basic verifier by @curiecrypt in #2845
  • feat: add "total successful" metrics for signature and signer registrations by @Alenar in #2865
  • fix: avoid DMQ node flooding on consumer error by @jpraynaud in #2868
  • SNARK-friendly STM: Revise Generic Digest to support multiple hash functions by @curiecrypt in #2864
  • fix: KES signer period by @jpraynaud in #2867
  • SNARK-friendly STM: jubjub wrapper by @curiecrypt in #2828
  • Golden Tests for Merkle Tree Batch Commitment by @curiecrypt in #2874
  • SNARK-friendly STM: Support multiple Merkle Tree leaves by @curiecrypt in #2866
  • Golden Tests for Single Signature by @curiecrypt in #2877
  • fix: better support for signature registration errors in aggregator signature processor by @jpraynaud in #2873
  • doc: add DMQ node setup in Mithril signer guide by @jpraynaud in #2872
  • doc: add aggregator setup guide by @jpraynaud in #2876
  • refactor: introduce KesEvolutions type by @jpraynaud in #2869
  • SNARK-friendly STM: Remove Deprecated Items by @curiecrypt in #2881
  • SNARK-friendly STM: Single signature of concatenation proof by @curiecrypt in #2875
  • feat: use final DMQ magic numbers by @jpraynaud in #2885
  • docs: add dev blog post for multiple aggregators testing program by @jpraynaud in #2884
  • docs: add dev blog post for DMQ testing program with SPOs by @jpraynaud in #2883
  • ci: fix aggregator stress test parameters handling by @Alenar in #2900
  • Golden test for Closed Key Registration by @curiecrypt in #2901
  • feat: use released Haskell DMQ node in e2e tests by @jpraynaud in #2902
  • fix(cli): handle file write errors in verification report by @leepl37 in #2899
  • ci: optimize rust test disk space usage by @Alenar in #2916
  • feat(aggregator): replace cexplorer pools ticker retriever with a blockfrost based implementation by @Alenar in #2896
  • feat: add ConfigSecret type and use it for aggregator blockfrost configuration by @Alenar in #2919
  • Golden test for avk by @curiecrypt in #2904
  • chore: update dependencies for distribut...
Read more

Mithril v2543.1-hotfix

07 Nov 16:42
2543.1-hotfix
5d5571e

Choose a tag to compare

Highlights

Warning

🔥 This version fixes a bug in the 2543.0 distribution which can prevent the Mithril signer to sign when (re)started.

Make sure you are using the Mithril signer with version 0.2.276.

What's Changed

New Contributors

Full Changelog: 2537.0...2543.1-hotfix

Crates Versions

Crate Version
mithril-aggregator 0.7.90
mithril-client 0.12.34
mithril-client-cli 0.12.33
mithril-client-wasm 0.9.7
mithril-common 0.6.25
mithril-signer 0.2.276
mithril-stm 0.5.5

Networks Compatibility ⚠️

Network Compatible
release-mainnet
release-preprod
pre-release-preview
testing-preview

Cardano Node Compatibility

Network Mithril Aggregator Mithril Signer
release-mainnet Cardano 10.4.1+(*) Cardano 10.4.1+(*)
release-preprod Cardano 10.4.1+(*) Cardano 10.4.1+(*)
pre-release-preview Cardano 10.4.1+(*) Cardano 10.4.1+(*)
testing-preview Cardano 10.4.1+(*) Cardano 10.4.1+(*)

*: Up to the latest Cardano node version released at the time of this release.

Platform Support

Summary of the platforms for which pre-built binaries are provided.

Binary Linux x64 Linux arm64 macOS arm64 Windows x64
mithril-aggregator ✔ ⁽*⁾
mithril-signer ✔ ⁽*⁾
mithril-client ✔ ⁽*⁾

⁽*⁾⚠️ Linux arm64 builds are provided on a best-effort basis and are not officially supported.

Linux Requirements

The Linux binaries target glibc: to run them or install the .deb packages you must have glibc version 2.35+ installed.
Compatible systems include, but are not limited to, Ubuntu 22.04+ or Debian 12+ (Bookworm)).

Download a binary asset

To simplify the installation and updating of Mithril binaries, we have created a one line installer that downloads and installs the Mithril binaries for you.
This installer is available for Linux and macOS and supports the Mithril signer, Mithril aggregator, and Mithril client CLI.

Use the following commands to install the Mithril nodes:

  • Download the Mithril signer in the current directory:
curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/input-output-hk/mithril/refs/heads/main/mithril-install.sh | sh -s -- -c mithril-signer -d 2543.1-hotfix -p $(pwd)
  • Download the Mithril client CLI in the current directory:
curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/input-output-hk/mithril/refs/heads/main/mithril-install.sh | sh -s -- -c mithril-client -d 2543.1-hotfix -p $(pwd)
  • Download the Mithril aggregator in the current directory:
curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/input-output-hk/mithril/refs/heads/main/mithril-install.sh | sh -s -- -c mithril-aggregator -d 2543.1-hotfix -p $(pwd)

Verify the authenticity of a downloaded asset

Detailed procedure to verify an asset

  • Step 1: Identify the downloaded asset on your computer YOUR_ASSET_FILE
  • Step 2: Download the signed checksum file from this link CHECKSUM.asc and save it in the same folder as the asset
  • Step 3: In your terminal, go to the asset folder by running:
cd ***YOUR_ASSET_FOLDER***
  • Step 4: Then verify the checksum of the asset by running:
sha256sum -c ./CHECKSUM.asc 2>/dev/null | grep ***YOUR_ASSET_FILE***

You must see:

./***YOUR_ASSET_FILE***: OK
  • Step 5: Download the public key file from this link public-key.gpg and save it in the same folder as the asset
  • Step 6: Then import the GPG public key:
gpg --import ./public-key.gpg

You must see something like:

gpg: key : public key "Input Output / Mithril <mithril@iohk.io>" imported
gpg: Total number processed: 1
gpg:               imported: 1
  • Step 7: Then verify the GPG signature of the checksum file:
gpg --verify ./CHECKSUM.asc

You must see something like:

gpg: Signature made Mon 05 Dec 2022 04:53:54 PM CET
gpg:                using RSA key 35EDE9D47BBA62A2F388E655899ACD26B8BCA0D2
gpg: Good signature from "Input Output / Mithril <mithril@iohk.io>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: 35ED E9D4 7BBA 62A2 F388  E655 899A CD26 B8BC A0D2

The signature is valid if and only if:

  • there is a line with gpg: Good signature from "Input Output / Mithril <mithril@iohk.io>"
  • there is a line with Primary key fingerprint: 73FC 4C3D FD55 DBDC 428A D2B5 BE04 3B79 FDA4 C2EE
  • Step 8:
    If you successfully validated all the steps of this process, then you have successfully verified the authenticity of the asset ✔️
    If not, contact us at [mithril@iohk.io] and let us know of the outcome of your run of this process ⚠️

Download a Docker image

You can directly pull prebuilt Mithril Docker images:

| Binary | Image name | URL |
| ------------------ | :--------------------...

Read more

Mithril v2543.0

03 Nov 14:11
2543.0
3063c3e

Choose a tag to compare

Warning ⚠️

We have noticed a problem with the Mithril signer 0.2.273, released with this distribution, which can prevent the signer to sign when (re)started.

A hotfix for the signer has been released in 2543.1-hotfix.

Highlights

  • Support for default incremental backend (v2) for Cardano database restoration in the client library, CLI and WASM
  • Support for enhanced verification of a Cardano database which provides a list of tampered and missing files in case of failure in the client library and CLI
  • Support for artifacts retrieval by epoch for the Cardano database and Cardano stake distribution in the client library, CLI and WASM
  • Deprecation of the with_aggregator_client and new functions in the ClientBuilder struct of the client library
  • Bug fixes and performance improvements.

What's Changed

New Contributors

Full Changelog: 2537.0...2543.0

Crates Versions

Crate Version
mithril-aggregator 0.7.90
mithril-client 0.12.34
mithril-client-cli 0.12.33
mithril-client-wasm 0.9.7
mithril-common 0.6.25
mithril-signer 0.2.273
mithril-stm 0.5.5

Networks Compatibility ⚠️

Network Compatible
release-mainnet
release-preprod
pre-release-preview
testing-preview

Cardano Node Compatibility

Network Mithril Aggregator Mithril Signer
release-mainnet Cardano 10.4.1+(*) Cardano 10.4.1+(*)
release-preprod Cardano 10.4.1+(*) Cardano 10.4.1+(*)
pre-release-preview Cardano 10.4.1+(*) Cardano 10.4.1+(*)
testing-preview Cardano 10.4.1+(*) Cardano 10.4.1+(*)

*: Up to the latest Cardano node version released at the time of this release.

Platform Support

Summary of the platforms for which pre-built binaries are provided.

Binary Linux x64 Linux arm64 macOS arm64 Windows x64
mithril-aggregator ✔ ⁽*⁾
mithril-signer ✔ ⁽*⁾
mithril-client ✔ ⁽*⁾

⁽*⁾⚠️ Linux arm64 builds are provided on a best-effort basis and are not officially supported.

Linux Requirements

The Linux binaries target glibc: to run them or install the .deb packages you must have glibc version 2.35+ installed.
Compatible systems include, but are not limited to, Ubuntu 22.04+ or Debian 12+ (Bookworm)).

Download a binary asset

To simplify the installation and updating of Mithril binaries, we have created a one line installer that downloads and installs the Mithril binaries for you.
This installer is available for Linux and macOS and supports the Mithril signer, Mithril aggregator, and Mithril client CLI.

Use the following commands to install the Mithril nodes:

  • Download the Mithril signer in the current directory:
curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/input-output-hk/mithril/refs/heads/main/mithril-install.sh | sh -s -- -c mithril-signer -d 2543.0 -p $(pwd)
  • Download the Mithril client CLI in the current directory:
curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/input-output-hk/mithril/refs/heads/main/mithril-install.sh | sh -s -- -c mithril-client -d 2543.0 -p $(pwd)
  • Download the Mithril aggregator in the current directory:
curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/input-output-hk/mithril/refs/heads/main/mithril-install.sh | sh -s -- -c mithril-aggregator -d 2543.0 -p $(pwd)

Verify the authenticity of a downloaded asset

Detailed procedure to verify an asset

  • Step 1: Identify the downloaded asset on your computer YOUR_ASSET_FILE
  • Step 2: Download the signed checksum file from this link CHECKSUM.asc and save it in the same folder as the asset
  • Step 3: In your terminal, go to the asset folder by running:
cd ***YOUR_ASSET_FOLDER***
  • Step 4: Then verify the checksum of the asset by running:
sha256sum -c ./CHECKSUM.asc 2>/dev/null | grep ***YOUR_ASSET_FILE***

You must see:

./***YOUR_ASSET_FILE***: OK
  • Step 5: Download the public key file from this link public-key.gpg and save it in the same folder as the asset
  • Step 6: Then import the GPG public key:
gpg --import ./public-key.gpg

You must see something like:

gpg: key : public key "Input Output / Mithril <mithril@iohk.io>" imported
gpg: Total number processed: 1
gpg:               imported: 1
  • Step 7: Then verify the GPG signature of the checksum file:
gpg --verify ./CHECKSUM.asc

You must see something like:

gpg: Signature made Mon 05 Dec 2022 04:53:54 PM CET
gpg:                using RSA key 35EDE9D47BBA62A2F388E655899ACD26B8BCA0D2
gpg: Good signature from "Input Output / Mithril <mithril@iohk.io>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: 35ED E9D4 7BBA 62A2 F388  E655 899A CD26 B8BC A0D2

The signature is valid if and only if:

  • there is a line with gpg: Good signature from "Input Output / Mithril <mithril@iohk.io>"
  • there is a line with `Primary key fingerprint: 73FC 4C3D FD55 DBDC 428A D2B5 BE04 3B7...
Read more

Mithril v2543.0-pre

23 Oct 08:30
2543.0-pre
3063c3e

Choose a tag to compare

Mithril v2543.0-pre Pre-release
Pre-release

Highlights

  • Support for default incremental backend (v2) for Cardano database restoration in the client library, CLI and WASM
  • Support for enhanced verification of a Cardano database which provides a list of tampered and missing files in case of failure in the client library and CLI
  • Support for artifacts retrieval by epoch for the Cardano database and Cardano stake distribution in the client library, CLI and WASM
  • Deprecation of the with_aggregator_client and new functions in the ClientBuilder struct of the client library
  • Bug fixes and performance improvements.

What's Changed

New Contributors

Full Changelog: 2537.0...2543.0-pre

Crates Versions

Crate Version
mithril-aggregator 0.7.90
mithril-client 0.12.34
mithril-client-cli 0.12.33
mithril-client-wasm 0.9.7
mithril-common 0.6.25
mithril-signer 0.2.273
mithril-stm 0.5.5

Networks Compatibility ⚠️

Network Compatible
release-mainnet
release-preprod
pre-release-preview
testing-preview

Cardano Node Compatibility

Network Mithril Aggregator Mithril Signer
release-mainnet Cardano 10.4.1+(*) Cardano 10.4.1+(*)
release-preprod Cardano 10.4.1+(*) Cardano 10.4.1+(*)
pre-release-preview Cardano 10.4.1+(*) Cardano 10.4.1+(*)
testing-preview Cardano 10.4.1+(*) Cardano 10.4.1+(*)

*: Up to the latest Cardano node version released at the time of this release.

Platform Support

Summary of the platforms for which pre-built binaries are provided.

Binary Linux x64 Linux arm64 macOS arm64 Windows x64
mithril-aggregator ✔ ⁽*⁾
mithril-signer ✔ ⁽*⁾
mithril-client ✔ ⁽*⁾

⁽*⁾⚠️ Linux arm64 builds are provided on a best-effort basis and are not officially supported.

Linux Requirements

The Linux binaries target glibc: to run them or install the .deb packages you must have glibc version 2.35+ installed.
Compatible systems include, but are not limited to, Ubuntu 22.04+ or Debian 12+ (Bookworm)).

Download a binary asset

To simplify the installation and updating of Mithril binaries, we have created a one line installer that downloads and installs the Mithril binaries for you.
This installer is available for Linux and macOS and supports the Mithril signer, Mithril aggregator, and Mithril client CLI.

Use the following commands to install the Mithril nodes:

  • Download the Mithril signer in the current directory:
curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/input-output-hk/mithril/refs/heads/main/mithril-install.sh | sh -s -- -c mithril-signer -d 2543.0-pre -p $(pwd)
  • Download the Mithril client CLI in the current directory:
curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/input-output-hk/mithril/refs/heads/main/mithril-install.sh | sh -s -- -c mithril-client -d 2543.0-pre -p $(pwd)
  • Download the Mithril aggregator in the current directory:
curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/input-output-hk/mithril/refs/heads/main/mithril-install.sh | sh -s -- -c mithril-aggregator -d 2543.0-pre -p $(pwd)

Verify the authenticity of a downloaded asset

Detailed procedure to verify an asset

  • Step 1: Identify the downloaded asset on your computer YOUR_ASSET_FILE
  • Step 2: Download the signed checksum file from this link CHECKSUM.asc and save it in the same folder as the asset
  • Step 3: In your terminal, go to the asset folder by running:
cd ***YOUR_ASSET_FOLDER***
  • Step 4: Then verify the checksum of the asset by running:
sha256sum -c ./CHECKSUM.asc 2>/dev/null | grep ***YOUR_ASSET_FILE***

You must see:

./***YOUR_ASSET_FILE***: OK
  • Step 5: Download the public key file from this link public-key.gpg and save it in the same folder as the asset
  • Step 6: Then import the GPG public key:
gpg --import ./public-key.gpg

You must see something like:

gpg: key : public key "Input Output / Mithril <mithril@iohk.io>" imported
gpg: Total number processed: 1
gpg:               imported: 1
  • Step 7: Then verify the GPG signature of the checksum file:
gpg --verify ./CHECKSUM.asc

You must see something like:

gpg: Signature made Mon 05 Dec 2022 04:53:54 PM CET
gpg:                using RSA key 35EDE9D47BBA62A2F388E655899ACD26B8BCA0D2
gpg: Good signature from "Input Output / Mithril <mithril@iohk.io>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: 35ED E9D4 7BBA 62A2 F388  E655 899A CD26 B8BC A0D2

The signature is valid if and only if:

  • there is a line with gpg: Good signature from "Input Output / Mithril <mithril@iohk.io>"
  • there is a line with Primary key fingerprint: 73FC 4C3D FD55 DBDC 428A D2B5 BE04 3B79 FDA4 C2EE
  • Step 8:
    If you successfully validated all the steps of this process, then you have successfully verified the authenticity of the asset ✔️
    If not, contact us at [mithril@iohk.io] and let us know of the outcome of your run of this process ⚠️

...
Read more

Mithril v2537.0

17 Sep 13:50
2537.0
6a7107e

Choose a tag to compare

Highlight

  • Support for Cardano node 10.5.1 in the signer and the aggregator
  • Support for stable cardano_database_v2 backend in the mithril-client library
  • Support for stable v2 backend of cardano-db command and decommission of cardano-db-v2 command in client CLI
  • Support for stable verify command to verify an existing Cardano database in the client CLI
  • Support for stable UTxO-HD snapshot converter tools utxo-hd snapshot-converter command in client CLI
  • Support for pre-built Linux ARM binaries for the signer, client CLI, and aggregator
  • Support for the Rust 2024 edition (from 2021 edition)
  • Bug fixes and performance improvements.

What's Changed

  • Organize STM - Module Parameters by @curiecrypt in #2553
  • fix: rename artifact on wasm test failure in Mithril Client multi-platform test workflow. by @dlachaume in #2566
  • fix: bytes codec in STM library by @jpraynaud in #2556
  • feat(mithril-client lib): stabilize cardano-database-v2 by @Alenar in #2563
  • Split mithril-common phase 2: extract Mithril ticker by @Alenar in #2565
  • Split mithril-common phase 2: extract Mithril era by @Alenar in #2569
  • Split mithril-common phase 2: extract Mithril cardano node chain by @Alenar in #2570
  • ci: add --locked to clippy in check step by @Alenar in #2573
  • feat: revise OpenAPI compatibility enforcement by @dlachaume in #2572
  • docs: rotate documentation for 2524 distribution by @jpraynaud in #2564
  • docs: final CHANGELOG for '2524.0' distribution by @jpraynaud in #2575
  • docs: add dev blog post for distribution 2524 by @jpraynaud in #2576
  • Docs: add blog post for UTxO-HD ledger state snapshot conversion by @dlachaume in #2560
  • chore: bump mithril-stm dependency version constraint in mithril-common by @jpraynaud in #2584
  • fix: add missing .md file extension by @dlachaume in #2587
  • Docs: dev blog post for Cardano database backend switch by @jpraynaud in #2583
  • fix(ci): publish of wasm packages to npm when Cargo.toml version dont match package.json by @Alenar in #2588
  • docs: update post for UTxO-HD ledger state snapshot converter by @jpraynaud in #2591
  • feat: support bytes codec in ProtocolKey by @jpraynaud in #2557
  • feat: enhance tools utxo-hd snapshot-converter Mithril client CLI command by @dlachaume in #2589
  • ci: split Cardano DB download and ledger state snapshot conversion in test-docker job by @dlachaume in #2592
  • Adding command to verify cardano database by @turmelclem in #2574
  • Split mithril-common phase 2: extract Mithril cardano node internal database by @Alenar in #2586
  • Split mithril-common phase 2: extract Mithril api spec by @Alenar in #2593
  • Split mithril-common phase 2: extract Mithril test http server by @Alenar in #2594
  • Remove cardano-db-v2 and make cardano-db --backend v2 stable by @turmelclem in #2595
  • prettier 3.6 by @Alenar in #2601
  • filip(feat): docs site redesign by @fstoqnov-iohk in #2597
  • aggregator: add /certificate/genesis endpoint by @Alenar in #2600
  • ci: reactivate action-gh-release v2 in CI and pre-release workflows by @dlachaume in #2603
  • chore: anticipate rust 1.88 by @Alenar in #2604
  • remove batch verify aggr and rename gen to generate by @curiecrypt in #2598
  • filip(fix): add client side wrapper to homepage by @fstoqnov-iohk in #2605
  • filip(fix): force re-render to initialise scrollY framer motion hooks by @fstoqnov-iohk in #2607
  • feat: abstract KES signature process by @jpraynaud in #2606
  • docsite & explorer: add serve_static makefile target by @Alenar in #2611
  • Prepare project upgrade to Rust 2024 edition by @dlachaume in #2608
  • filip(fix): rewrite scroll-based animation with pure css/js to exclude framer by @fstoqnov-iohk in #2612
  • ci: improve test-mithril-client-wasm job debugging by uploading logs as artifacts by @dlachaume in #2614
  • Enhance STM library readability - Rename Structs by @curiecrypt in #2602
  • test:enhance certificate chain builder and mock build by @Alenar in #2615
  • feat: add DMQ publisher/consumer in signer/aggregator by @jpraynaud in #2599
  • ci: replace Sendgrid usage in Test Notify on Failure GitHub workflow by @dlachaume in #2626
  • Stabilization of cardano db v2 (aggregator) by @turmelclem in #2610
  • Upgrade to Rust 2024 edition by @dlachaume in #2613
  • ci: add Linux arm64 support by @dlachaume in #2628
  • fix: formatting issues with cargo fmt by @dlachaume in #2631
  • Enhance STM library readability - Deprecate Old Structs by @curiecrypt in #2629
  • Add print in output of the client CLI version at each command execution by @turmelclem in #2630
  • feat: add support for Mithril era transition in clients by @dlachaume in #2633
  • Enhance STM library readability - Rename functions by @curiecrypt in #2632
  • feat: Add CertificateChainSynchronizer and make follower aggregators start their chain by synchronising with their leader by @Alenar in #2634
  • fix(dmq): add missing KES period in 'DmqMsg' by @jpraynaud in #2636
  • make website more future-proof by @Alenar in #2641
  • refactor: unify and extend CardanoNetwork implementation by @dlachaume in #2643
  • Chore: update dependencies for distribution 2530 by @jpraynaud in #2644
  • ci: add extra information to release notes by @dlachaume in #2646
  • fix: escape $(pwd) and format installation commands by @dlachaume in #2648
  • refactor: rethink dummies test doubles by @Alenar in #2647
  • chore: replace serde_yaml with serde_yml by @dlachaume in #2649
  • refactor: common test utils by @Alenar in #2650
  • fix: mithril metric tests build by @Alenar in #2654
  • chore: add a link to the CI badge and Crates by @Olexandr88 in #2645
  • refactor: use TryFrom for Certificate and CertificateRecord conversions by @dlachaume in #2652
  • chore: add and unify badges to all published projects by @Alenar in #2655
  • Document immutables folder discovery is recursive by @turmelclem in #2656
  • fix: restore missing section in unstable release notes by @dlachaume in #2659
  • ci: add support for testing a specific release in Backward compatibility workflow by @dlachaume in #2658
  • fix: add write access check for install path in one-line installer by @dlachaume in #2660
  • add shared aggregator client by @Alenar in #2661
  • chore: update nightly workflow schedule by @jpraynaud in #2663
  • fix: Rust 1.89 clippy warnings by @jpraynaud in #2665
  • feat: support Cardano node 10.5 by @jpraynaud in #2664
  • fix: infra for Cardano node 10.5 by @jpraynaud in https://github.com/input-output-hk/mi...
Read more

Mithril v2537.0-pre

11 Sep 08:52
2537.0-pre
6a7107e

Choose a tag to compare

Mithril v2537.0-pre Pre-release
Pre-release

Highlight

  • Support for Cardano node 10.5.1 in the signer and the aggregator
  • Support for stable cardano_database_v2 backend in the mithril-client library
  • Support for stable v2 backend of cardano-db command and decommission of cardano-db-v2 command in client CLI
  • Support for stable verify command to verify an existing Cardano database in the client CLI
  • Support for stable UTxO-HD snapshot converter tools utxo-hd snapshot-converter command in client CLI
  • Support for pre-built Linux ARM binaries for the signer, client CLI, and aggregator
  • Support for the Rust 2024 edition (from 2021 edition)
  • Bug fixes and performance improvements.

What's Changed

  • Organize STM - Module Parameters by @curiecrypt in #2553
  • fix: rename artifact on wasm test failure in Mithril Client multi-platform test workflow. by @dlachaume in #2566
  • fix: bytes codec in STM library by @jpraynaud in #2556
  • feat(mithril-client lib): stabilize cardano-database-v2 by @Alenar in #2563
  • Split mithril-common phase 2: extract Mithril ticker by @Alenar in #2565
  • Split mithril-common phase 2: extract Mithril era by @Alenar in #2569
  • Split mithril-common phase 2: extract Mithril cardano node chain by @Alenar in #2570
  • ci: add --locked to clippy in check step by @Alenar in #2573
  • feat: revise OpenAPI compatibility enforcement by @dlachaume in #2572
  • docs: rotate documentation for 2524 distribution by @jpraynaud in #2564
  • docs: final CHANGELOG for '2524.0' distribution by @jpraynaud in #2575
  • docs: add dev blog post for distribution 2524 by @jpraynaud in #2576
  • Docs: add blog post for UTxO-HD ledger state snapshot conversion by @dlachaume in #2560
  • chore: bump mithril-stm dependency version constraint in mithril-common by @jpraynaud in #2584
  • fix: add missing .md file extension by @dlachaume in #2587
  • Docs: dev blog post for Cardano database backend switch by @jpraynaud in #2583
  • fix(ci): publish of wasm packages to npm when Cargo.toml version dont match package.json by @Alenar in #2588
  • docs: update post for UTxO-HD ledger state snapshot converter by @jpraynaud in #2591
  • feat: support bytes codec in ProtocolKey by @jpraynaud in #2557
  • feat: enhance tools utxo-hd snapshot-converter Mithril client CLI command by @dlachaume in #2589
  • ci: split Cardano DB download and ledger state snapshot conversion in test-docker job by @dlachaume in #2592
  • Adding command to verify cardano database by @turmelclem in #2574
  • Split mithril-common phase 2: extract Mithril cardano node internal database by @Alenar in #2586
  • Split mithril-common phase 2: extract Mithril api spec by @Alenar in #2593
  • Split mithril-common phase 2: extract Mithril test http server by @Alenar in #2594
  • Remove cardano-db-v2 and make cardano-db --backend v2 stable by @turmelclem in #2595
  • prettier 3.6 by @Alenar in #2601
  • filip(feat): docs site redesign by @fstoqnov-iohk in #2597
  • aggregator: add /certificate/genesis endpoint by @Alenar in #2600
  • ci: reactivate action-gh-release v2 in CI and pre-release workflows by @dlachaume in #2603
  • chore: anticipate rust 1.88 by @Alenar in #2604
  • remove batch verify aggr and rename gen to generate by @curiecrypt in #2598
  • filip(fix): add client side wrapper to homepage by @fstoqnov-iohk in #2605
  • filip(fix): force re-render to initialise scrollY framer motion hooks by @fstoqnov-iohk in #2607
  • feat: abstract KES signature process by @jpraynaud in #2606
  • docsite & explorer: add serve_static makefile target by @Alenar in #2611
  • Prepare project upgrade to Rust 2024 edition by @dlachaume in #2608
  • filip(fix): rewrite scroll-based animation with pure css/js to exclude framer by @fstoqnov-iohk in #2612
  • ci: improve test-mithril-client-wasm job debugging by uploading logs as artifacts by @dlachaume in #2614
  • Enhance STM library readability - Rename Structs by @curiecrypt in #2602
  • test:enhance certificate chain builder and mock build by @Alenar in #2615
  • feat: add DMQ publisher/consumer in signer/aggregator by @jpraynaud in #2599
  • ci: replace Sendgrid usage in Test Notify on Failure GitHub workflow by @dlachaume in #2626
  • Stabilization of cardano db v2 (aggregator) by @turmelclem in #2610
  • Upgrade to Rust 2024 edition by @dlachaume in #2613
  • ci: add Linux arm64 support by @dlachaume in #2628
  • fix: formatting issues with cargo fmt by @dlachaume in #2631
  • Enhance STM library readability - Deprecate Old Structs by @curiecrypt in #2629
  • Add print in output of the client CLI version at each command execution by @turmelclem in #2630
  • feat: add support for Mithril era transition in clients by @dlachaume in #2633
  • Enhance STM library readability - Rename functions by @curiecrypt in #2632
  • feat: Add CertificateChainSynchronizer and make follower aggregators start their chain by synchronising with their leader by @Alenar in #2634
  • fix(dmq): add missing KES period in 'DmqMsg' by @jpraynaud in #2636
  • make website more future-proof by @Alenar in #2641
  • refactor: unify and extend CardanoNetwork implementation by @dlachaume in #2643
  • Chore: update dependencies for distribution 2530 by @jpraynaud in #2644
  • ci: add extra information to release notes by @dlachaume in #2646
  • fix: escape $(pwd) and format installation commands by @dlachaume in #2648
  • refactor: rethink dummies test doubles by @Alenar in #2647
  • chore: replace serde_yaml with serde_yml by @dlachaume in #2649
  • refactor: common test utils by @Alenar in #2650
  • fix: mithril metric tests build by @Alenar in #2654
  • chore: add a link to the CI badge and Crates by @Olexandr88 in #2645
  • refactor: use TryFrom for Certificate and CertificateRecord conversions by @dlachaume in #2652
  • chore: add and unify badges to all published projects by @Alenar in #2655
  • Document immutables folder discovery is recursive by @turmelclem in #2656
  • fix: restore missing section in unstable release notes by @dlachaume in #2659
  • ci: add support for testing a specific release in Backward compatibility workflow by @dlachaume in #2658
  • fix: add write access check for install path in one-line installer by @dlachaume in #2660
  • add shared aggregator client by @Alenar in #2661
  • chore: update nightly workflow schedule by @jpraynaud in #2663
  • fix: Rust 1.89 clippy warnings by @jpraynaud in #2665
  • feat: support Cardano node 10.5 by @jpraynaud in #2664
  • fix: infra for Cardano node 10.5 by @jpraynaud in https://github.com/input-output-hk/mi...
Read more

Mithril v2524.0

16 Jun 13:06
2524.0
7bf7033

Choose a tag to compare

Highlights

  • Support for Cardano node 10.4.1 in the signer and the aggregator
  • Support for recording client types origin (library, CLI and WASM) in the aggregator metrics.
  • Unstable support for UTxO-HD snapshot converter tools utxo-hd snapshot-converter command in client CLI.
  • Unstable support for partial cardano database restoration in cardano-database command with --backend v2 parameter.
  • Bug fixes and performance improvements.

What's Changed

  • Fix: websites vulnerabilities by @jpraynaud in #2453
  • test(ci): add ancillary verification key and include ancillary option in Mithril Client multi-platform test workflow by @dlachaume in #2457
  • Chore: cleanup snapshot_store_type by @dlachaume in #2456
  • Optimize signer and aggregator state machines run interval by @Alenar in #2454
  • Fix: better error handling for era reader adapter parameters in infra by @jpraynaud in #2452
  • Docs: rotate documentation for 2517 distribution by @jpraynaud in #2445
  • Docs: final CHANGELOG for 2517.0 distribution by @jpraynaud in #2462
  • Docs: add dev blog post for distribution 2517 by @jpraynaud in #2463
  • Update examples with separate ancillary download & fix post cdbv2 immutables restored statistic by @Alenar in #2449
  • Feat: extend documentation tool for subcommand configurations by @dlachaume in #2455
  • Fix: Apply hot fix for client restoration by @dlachaume in #2466
  • Set correct package name for mithril-client-cli by @noonio in #2465
  • Docs: add dev blog post for client breaking changes in 2517 by @jpraynaud in #2467
  • Docs: add dev blog post for client security advisory by @jpraynaud in #2469
  • Feat: implement signature publisher decorators in signer by @dlachaume in #2468
  • Aggregator: Re-implement the CloudBackendUploader with gcloud-storage crate by @Alenar in #2475
  • Add warning in client about ancillary files by @turmelclem in #2473
  • Chore: update testing ssh keys by @jpraynaud in #2479
  • aggregator: fix setting public access to files uploaded to GCP storage by @Alenar in #2480
  • Docs: update dev blog post for Cardano DB v2 activation by @jpraynaud in #2482
  • Test: add Cardano node startup check to Mithril Client multi-platform test workflow by @dlachaume in #2476
  • Fix: improve error handling in mithril-install script by @dlachaume in #2481
  • chore: anticipate rust 1.87 by @Alenar in #2483
  • Feat: implement a signature processor for DMQ by @jpraynaud in #2477
  • Fix: include the two latest ledger state snapshots in the ancillary archive by @dlachaume in #2484
  • Organize STM - Module participant by @curiecrypt in #2412
  • Test: execute full workspace tests on macOS/Windows excluding unsupported packages by @dlachaume in #2485
  • Docs: clarify networks supported Cardano node versions by @jpraynaud in #2496
  • Record signatures origin in the signature processor by @turmelclem in #2489
  • Fix: Simplify TestHttpServer Drop logic to prevent test flakiness by @dlachaume in #2495
  • Fix: chain reader client cache drop on error by @jpraynaud in #2501
  • feat: read ancillary verification key from both clap arguments and configuration files by @turmelclem in #2499
  • feat: add ancillary verification key in client-cli configuration files by @turmelclem in #2512
  • feat: cleanup unexpected files in immutable folder after download by @Alenar in #2502
  • Fix: display missing logs in Mithril Client multi-platform test by @dlachaume in #2513
  • fix(client-cli): improve message format about fast boostrap by @turmelclem in #2514
  • fix: check of unexpected file too eager on all network except devnet by @Alenar in #2517
  • fix: missing 00000 immutable files with Cardano DB v2 by @jpraynaud in #2520
  • feat: support in memory UTxO-HD ledger state snapshots by @Alenar in #2521
  • Feat: support Cardano node 10.4 by @jpraynaud in #2498
  • fix(ci): reactivate Darwin x86_64 build in Hydra CI by @jpraynaud in #2538
  • Chore: update dependencies for distribution 2524 by @jpraynaud in #2544
  • Organize STM - Module Single Signature by @curiecrypt in #2545
  • Organize STM - Module Aggregate Signature by @curiecrypt in #2548
  • Feat: add mithril-client CLI command for UTxO-HD ledger state snapshot conversion by @dlachaume in #2518
  • Record usage of client type in metrics by @turmelclem in #2546
  • chore(infra): update ssh key for 'testing' by @turmelclem in #2555
  • client-cli: merge cardano-database-v2 command into 'v1' command by @Alenar in #2547
  • fix(ci): temporary enforce softprops/action-gh-release v2.2.2 by @Alenar in #2559
  • Allow new header client type by @turmelclem in #2558
  • Feat: documentation and CI tests for UTxO-HD ledger state snapshot conversion mithril-client CLI command by @dlachaume in #2554
  • client-lib/client-cli: calibrate max parallel dl by @Alenar in #2561
  • docs: update CHANGELOG for 2524.0 distribution release by @jpraynaud in #2562

New Contributors

Full Changelog: 2517.1...2524.0

Crates Versions

Crate Version
mithril-aggregator 0.7.58
mithril-client 0.12.11
mithril-client-cli 0.12.11
mithril-client-wasm 0.9.1
mithril-common 0.5.35
mithril-signer 0.2.249
mithril-stm 0.4.2

Networks Compatibility ⚠️

Network Compatible
release-mainnet
release-preprod
pre-release-preview
testing-preview

Distributions Compatibility ⚠️

Compatibility mithril-signer mithril-client
2517.1 ✔️ ✔️
2517.0 ✔️ ✔️
2513.0 ✔️
2506.0 ✔️
2450.0 ✔️

Linux Requirements

The Linux binaries target glibc: to run them or install the .deb packages you must have glibc version 2.35+ installed.
Compatible systems include, but are not limited to, Ubuntu 22.04+ or Debian 12+ (Bookworm)).

Verify the authenticity of a downloaded asset

Detailed procedure to verify an asset

  • Step 1: Identify the downloaded asset on your computer YOUR_ASSET_FILE
  • Step 2: Download the signed checksum file from this link CHECKSUM.asc and save it in the same folder as the asset
  • Step 3: In your terminal, go to the asset folder by running:
cd ***YOUR_ASSET_FOLDER***
  • Step 4: Then verify the checksum of the asset by running:
sha256sum -c ./CHECKSUM.asc 2>/dev/null | grep ***YOUR_ASSET_FILE***

You must see:

./***YOUR_ASSET_FILE***: OK
  • Step 5: Download the public key file from this link public-key.gpg and save it in the same folder as the asset
  • Step 6: Then import the GPG public key:
gpg --import ./public-key.gpg

You must see something like:

gpg: key : public key "Input Output / Mithril <mithril@iohk.io>" imported
gpg: Total number processed: 1
gpg:               imported: 1
  • Step 7: Then verify the GPG signature of t...
Read more