Releases: input-output-hk/mithril
Unstable Development Builds
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 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
2603distribution by @jpraynaud in #2924 - docs: final CHANGELOG for
2603.1distribution by @jpraynaud in #2962 - docs: add dev blog posts for distribution
2603by @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
KeyRegistrationtoMerkleTreeby @damrobi in #2959 - feat(stm): Implementing pre-aggregation primitives and fixes by @damrobi in #2964
- docs(website): fix
kprotocol 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
CardanoBlocksTransactionssignable 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...
Mithril v2603.1
Highlights
- Breaking Changes: Progress bars and spinners now output to
stderrinstead ofstdoutin Mithril client CLI - Deprecations: Deprecated
cardano_dbfunction in library/WASM; removedsnapshotfunction fromClientstruct; deprecated--backend v1flag in CLI (use--backend v2instead) - Decentralization Support: New
/protocol-configuration/{epoch}route for fetching aggregator configuration; refactored signer and aggregator to read network configurations fromMithrilNetworkConfigurationProvider; 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.91clippy warnings by @Alenar in #2757 - refactor: use shared aggregator client for signer and aggregrator by @Alenar in #2755
- docs: rotate documentation for
2543distribution by @jpraynaud in #2748 - docs: final CHANGELOG for '2543.0' distribution by @jpraynaud in #2751
- docs: add dev blog posts for distribution
2543by @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-hotfixby @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.tomlby @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
snapshotfunction by @Alenar in #2840 - feat: create new
LagrangeMithril 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
GetCardanoDatabaseListQueryby @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-clientby @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.92clippy 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
KesEvolutionstype 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
ConfigSecrettype and use it for aggregator blockfrost configuration by @Alenar in #2919 - Golden test for avk by @curiecrypt in #2904
- chore: update dependencies for distribution
2603by @jpraynaud in #2920 - Rename mithril-stm schnorr module by @damrobi in http...
Mithril v2603.1-pre
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
stderrinstead ofstdoutin Mithril client CLI. - Deprecations: Deprecated
cardano_dbfunction in library/WASM; removedsnapshotfunction fromClientstruct; deprecated--backend v1flag in CLI (use--backend v2instead) - Decentralization Support: New
/protocol-configuration/{epoch}route for fetching aggregator configuration; refactored signer and aggregator to read network configurations fromMithrilNetworkConfigurationProvider; 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.91clippy warnings by @Alenar in #2757 - refactor: use shared aggregator client for signer and aggregrator by @Alenar in #2755
- docs: rotate documentation for
2543distribution by @jpraynaud in #2748 - docs: final CHANGELOG for '2543.0' distribution by @jpraynaud in #2751
- docs: add dev blog posts for distribution
2543by @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-hotfixby @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.tomlby @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
snapshotfunction by @Alenar in #2840 - feat: create new
LagrangeMithril 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
GetCardanoDatabaseListQueryby @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-clientby @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.92clippy 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
KesEvolutionstype 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
ConfigSecrettype and use it for aggregator blockfrost configuration by @Alenar in #2919 - Golden test for avk by @curiecrypt in #2904
- chore: update d...
Mithril v2603.0-pre
Warning
This version has been superseded by 2603.1-pre
Highlights
- Breaking Changes: Progress bars and spinners now output to
stderrinstead ofstdoutin Mithril client CLI. - Deprecations: Deprecated
cardano_dbfunction in library/WASM; removedsnapshotfunction fromClientstruct; deprecated--backend v1flag in CLI (use--backend v2instead) - Decentralization Support: New
/protocol-configuration/{epoch}route for fetching aggregator configuration; refactored signer and aggregator to read network configurations fromMithrilNetworkConfigurationProvider; 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.91clippy warnings by @Alenar in #2757 - refactor: use shared aggregator client for signer and aggregrator by @Alenar in #2755
- docs: rotate documentation for
2543distribution by @jpraynaud in #2748 - docs: final CHANGELOG for '2543.0' distribution by @jpraynaud in #2751
- docs: add dev blog posts for distribution
2543by @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-hotfixby @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.tomlby @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
snapshotfunction by @Alenar in #2840 - feat: create new
LagrangeMithril 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
GetCardanoDatabaseListQueryby @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-clientby @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.92clippy 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
KesEvolutionstype 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
ConfigSecrettype and use it for aggregator blockfrost configuration by @Alenar in #2919 - Golden test for avk by @curiecrypt in #2904
- chore: update dependencies for distribut...
Mithril v2543.1-hotfix
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
- add cardano db verify step in the CI that fails on expected tampered/missing files by @turmelclem in #2685
- fix: flakiness in e2e tests in the CI by @jpraynaud in #2688
- fix: docker client command in documentation by @jpraynaud in #2695
- docs: final CHANGELOG for '2537.0' distribution by @jpraynaud in #2696
- docs: add dev blog posts for distribution
2537by @jpraynaud in #2697 - docs: rotate documentation for
2537distribution by @jpraynaud in #2682 - fix: doctests using deprecated functions in STM by @jpraynaud in #2698
- fix: Rust
1.90clippy warnings by @jpraynaud in #2699 - phase 0 : prepare decentralization parameters by @turmelclem in #2694
- refactor: update DMQ message structure by @jpraynaud in #2672
- Make cardano-db backend v2 as default by @turmelclem in #2706
- chore: fixed typos by @jeluard in #2708
- refactor: replace unmaintained
serde_ymldependency by @Alenar in #2711 - Fixing typo in bls PoP. by @damrobi in #2705
- feat: support multiple proof systems in STM by @jpraynaud in #2689
- Fix backward compatibilty issues by @turmelclem in #2731
- fix: flakiness in DMQ integration tests in CI by @jpraynaud in #2729
- Enhance STM library readability - Golden tests by @curiecrypt in #2642
- fix: do not build
rugwhen targetingmuslenv by @jpraynaud in #2735 - Decentralization of configuration parameters phase 1 by @turmelclem in #2702
- feat(client lib): add missing
Dummyre-export by @Alenar in #2737 - feat: add
/artifact/cardano-database/epoch/{epoch}route + support epoch expansion fromlatestin some routes by @Alenar in #2734 - chore(client-lib): deprecate current aggregator client and related builder functions by @Alenar in #2738
- feat: use unique
ProtocolInitializerper epoch in signer by @jpraynaud in #2739 - chore: update dependencies for distribution
2543by @jpraynaud in #2740 - feat: add Cardano compatibility in release notes by @jpraynaud in #2742
- feat: add fetching cardano database snapshots by epoch in client and cli by @Alenar in #2744
- chore(infra): double
google_storage_bucket_max_ageto 28 by @Alenar in #2747 - feat: integrate Haskell DMQ network by @jpraynaud in #2710
- docs: update CHANGELOG with '2543.0' distribution by @jpraynaud in #2749
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 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 |
| ------------------ | :--------------------...
Mithril v2543.0
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_clientandnewfunctions in theClientBuilderstruct of the client library - Bug fixes and performance improvements.
What's Changed
- add cardano db verify step in the CI that fails on expected tampered/missing files by @turmelclem in #2685
- fix: flakiness in e2e tests in the CI by @jpraynaud in #2688
- fix: docker client command in documentation by @jpraynaud in #2695
- docs: final CHANGELOG for '2537.0' distribution by @jpraynaud in #2696
- docs: add dev blog posts for distribution
2537by @jpraynaud in #2697 - docs: rotate documentation for
2537distribution by @jpraynaud in #2682 - fix: doctests using deprecated functions in STM by @jpraynaud in #2698
- fix: Rust
1.90clippy warnings by @jpraynaud in #2699 - phase 0 : prepare decentralization parameters by @turmelclem in #2694
- refactor: update DMQ message structure by @jpraynaud in #2672
- Make cardano-db backend v2 as default by @turmelclem in #2706
- chore: fixed typos by @jeluard in #2708
- refactor: replace unmaintained
serde_ymldependency by @Alenar in #2711 - Fixing typo in bls PoP. by @damrobi in #2705
- feat: support multiple proof systems in STM by @jpraynaud in #2689
- Fix backward compatibilty issues by @turmelclem in #2731
- fix: flakiness in DMQ integration tests in CI by @jpraynaud in #2729
- Enhance STM library readability - Golden tests by @curiecrypt in #2642
- fix: do not build
rugwhen targetingmuslenv by @jpraynaud in #2735 - Decentralization of configuration parameters phase 1 by @turmelclem in #2702
- feat(client lib): add missing
Dummyre-export by @Alenar in #2737 - feat: add
/artifact/cardano-database/epoch/{epoch}route + support epoch expansion fromlatestin some routes by @Alenar in #2734 - chore(client-lib): deprecate current aggregator client and related builder functions by @Alenar in #2738
- feat: use unique
ProtocolInitializerper epoch in signer by @jpraynaud in #2739 - chore: update dependencies for distribution
2543by @jpraynaud in #2740 - feat: add Cardano compatibility in release notes by @jpraynaud in #2742
- feat: add fetching cardano database snapshots by epoch in client and cli by @Alenar in #2744
- chore(infra): double
google_storage_bucket_max_ageto 28 by @Alenar in #2747 - feat: integrate Haskell DMQ network by @jpraynaud in #2710
- docs: update CHANGELOG with '2543.0' distribution by @jpraynaud in #2749
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 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...
Mithril v2543.0-pre
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_clientandnewfunctions in theClientBuilderstruct of the client library - Bug fixes and performance improvements.
What's Changed
- add cardano db verify step in the CI that fails on expected tampered/missing files by @turmelclem in #2685
- fix: flakiness in e2e tests in the CI by @jpraynaud in #2688
- fix: docker client command in documentation by @jpraynaud in #2695
- docs: final CHANGELOG for '2537.0' distribution by @jpraynaud in #2696
- docs: add dev blog posts for distribution
2537by @jpraynaud in #2697 - docs: rotate documentation for
2537distribution by @jpraynaud in #2682 - fix: doctests using deprecated functions in STM by @jpraynaud in #2698
- fix: Rust
1.90clippy warnings by @jpraynaud in #2699 - phase 0 : prepare decentralization parameters by @turmelclem in #2694
- refactor: update DMQ message structure by @jpraynaud in #2672
- Make cardano-db backend v2 as default by @turmelclem in #2706
- chore: fixed typos by @jeluard in #2708
- refactor: replace unmaintained
serde_ymldependency by @Alenar in #2711 - Fixing typo in bls PoP. by @damrobi in #2705
- feat: support multiple proof systems in STM by @jpraynaud in #2689
- Fix backward compatibilty issues by @turmelclem in #2731
- fix: flakiness in DMQ integration tests in CI by @jpraynaud in #2729
- Enhance STM library readability - Golden tests by @curiecrypt in #2642
- fix: do not build
rugwhen targetingmuslenv by @jpraynaud in #2735 - Decentralization of configuration parameters phase 1 by @turmelclem in #2702
- feat(client lib): add missing
Dummyre-export by @Alenar in #2737 - feat: add
/artifact/cardano-database/epoch/{epoch}route + support epoch expansion fromlatestin some routes by @Alenar in #2734 - chore(client-lib): deprecate current aggregator client and related builder functions by @Alenar in #2738
- feat: use unique
ProtocolInitializerper epoch in signer by @jpraynaud in #2739 - chore: update dependencies for distribution
2543by @jpraynaud in #2740 - feat: add Cardano compatibility in release notes by @jpraynaud in #2742
- feat: add fetching cardano database snapshots by epoch in client and cli by @Alenar in #2744
- chore(infra): double
google_storage_bucket_max_ageto 28 by @Alenar in #2747 - feat: integrate Haskell DMQ network by @jpraynaud in #2710
- docs: update CHANGELOG with '2543.0' distribution by @jpraynaud in #2749
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 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⚠️
Mithril v2537.0
Highlight
- Support for
Cardano node10.5.1in the signer and the aggregator - Support for stable
cardano_database_v2backend in themithril-clientlibrary - Support for stable
v2backend ofcardano-dbcommand and decommission ofcardano-db-v2command in client CLI - Support for stable
verifycommand to verify an existing Cardano database in the client CLI - Support for stable UTxO-HD snapshot converter
tools utxo-hd snapshot-convertercommand in client CLI - Support for pre-built Linux ARM binaries for the signer, client CLI, and aggregator
- Support for the Rust
2024edition (from2021edition) - 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 testworkflow. 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-commonphase 2: extract Mithril ticker by @Alenar in #2565 - Split
mithril-commonphase 2: extract Mithril era by @Alenar in #2569 - Split
mithril-commonphase 2: extract Mithril cardano node chain by @Alenar in #2570 - ci: add
--lockedto clippy in check step by @Alenar in #2573 - feat: revise OpenAPI compatibility enforcement by @dlachaume in #2572
- docs: rotate documentation for
2524distribution by @jpraynaud in #2564 - docs: final CHANGELOG for '2524.0' distribution by @jpraynaud in #2575
- docs: add dev blog post for distribution
2524by @jpraynaud in #2576 - Docs: add blog post for UTxO-HD ledger state snapshot conversion by @dlachaume in #2560
- chore: bump
mithril-stmdependency version constraint inmithril-commonby @jpraynaud in #2584 - fix: add missing
.mdfile 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
ProtocolKeyby @jpraynaud in #2557 - feat: enhance
tools utxo-hd snapshot-converterMithril client CLI command by @dlachaume in #2589 - ci: split Cardano DB download and ledger state snapshot conversion in
test-dockerjob by @dlachaume in #2592 - Adding command to verify cardano database by @turmelclem in #2574
- Split
mithril-commonphase 2: extract Mithril cardano node internal database by @Alenar in #2586 - Split
mithril-commonphase 2: extract Mithril api spec by @Alenar in #2593 - Split
mithril-commonphase 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/genesisendpoint by @Alenar in #2600 - ci: reactivate
action-gh-releasev2 in CI and pre-release workflows by @dlachaume in #2603 - chore: anticipate rust
1.88by @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_staticmakefile target by @Alenar in #2611 - Prepare project upgrade to Rust
2024edition 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-wasmjob 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 FailureGitHub workflow by @dlachaume in #2626 - Stabilization of cardano db v2 (aggregator) by @turmelclem in #2610
- Upgrade to Rust
2024edition by @dlachaume in #2613 - ci: add Linux arm64 support by @dlachaume in #2628
- fix: formatting issues with
cargo fmtby @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
CertificateChainSynchronizerand 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
CardanoNetworkimplementation by @dlachaume in #2643 - Chore: update dependencies for distribution
2530by @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_yamlwithserde_ymlby @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
TryFromforCertificateandCertificateRecordconversions 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 compatibilityworkflow 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.89clippy warnings by @jpraynaud in #2665 - feat: support Cardano node
10.5by @jpraynaud in #2664 - fix: infra for Cardano node
10.5by @jpraynaud in https://github.com/input-output-hk/mi...
Mithril v2537.0-pre
Highlight
- Support for
Cardano node10.5.1in the signer and the aggregator - Support for stable
cardano_database_v2backend in themithril-clientlibrary - Support for stable
v2backend ofcardano-dbcommand and decommission ofcardano-db-v2command in client CLI - Support for stable
verifycommand to verify an existing Cardano database in the client CLI - Support for stable UTxO-HD snapshot converter
tools utxo-hd snapshot-convertercommand in client CLI - Support for pre-built Linux ARM binaries for the signer, client CLI, and aggregator
- Support for the Rust
2024edition (from2021edition) - 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 testworkflow. 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-commonphase 2: extract Mithril ticker by @Alenar in #2565 - Split
mithril-commonphase 2: extract Mithril era by @Alenar in #2569 - Split
mithril-commonphase 2: extract Mithril cardano node chain by @Alenar in #2570 - ci: add
--lockedto clippy in check step by @Alenar in #2573 - feat: revise OpenAPI compatibility enforcement by @dlachaume in #2572
- docs: rotate documentation for
2524distribution by @jpraynaud in #2564 - docs: final CHANGELOG for '2524.0' distribution by @jpraynaud in #2575
- docs: add dev blog post for distribution
2524by @jpraynaud in #2576 - Docs: add blog post for UTxO-HD ledger state snapshot conversion by @dlachaume in #2560
- chore: bump
mithril-stmdependency version constraint inmithril-commonby @jpraynaud in #2584 - fix: add missing
.mdfile 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
ProtocolKeyby @jpraynaud in #2557 - feat: enhance
tools utxo-hd snapshot-converterMithril client CLI command by @dlachaume in #2589 - ci: split Cardano DB download and ledger state snapshot conversion in
test-dockerjob by @dlachaume in #2592 - Adding command to verify cardano database by @turmelclem in #2574
- Split
mithril-commonphase 2: extract Mithril cardano node internal database by @Alenar in #2586 - Split
mithril-commonphase 2: extract Mithril api spec by @Alenar in #2593 - Split
mithril-commonphase 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/genesisendpoint by @Alenar in #2600 - ci: reactivate
action-gh-releasev2 in CI and pre-release workflows by @dlachaume in #2603 - chore: anticipate rust
1.88by @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_staticmakefile target by @Alenar in #2611 - Prepare project upgrade to Rust
2024edition 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-wasmjob 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 FailureGitHub workflow by @dlachaume in #2626 - Stabilization of cardano db v2 (aggregator) by @turmelclem in #2610
- Upgrade to Rust
2024edition by @dlachaume in #2613 - ci: add Linux arm64 support by @dlachaume in #2628
- fix: formatting issues with
cargo fmtby @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
CertificateChainSynchronizerand 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
CardanoNetworkimplementation by @dlachaume in #2643 - Chore: update dependencies for distribution
2530by @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_yamlwithserde_ymlby @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
TryFromforCertificateandCertificateRecordconversions 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 compatibilityworkflow 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.89clippy warnings by @jpraynaud in #2665 - feat: support Cardano node
10.5by @jpraynaud in #2664 - fix: infra for Cardano node
10.5by @jpraynaud in https://github.com/input-output-hk/mi...
Mithril v2524.0
Highlights
- Support for
Cardano node10.4.1in 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-convertercommand in client CLI. - Unstable support for partial cardano database restoration in
cardano-databasecommand with--backend v2parameter. - 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 testworkflow by @dlachaume in #2457 - Chore: cleanup
snapshot_store_typeby @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
2517distribution by @jpraynaud in #2445 - Docs: final CHANGELOG for
2517.0distribution by @jpraynaud in #2462 - Docs: add dev blog post for distribution
2517by @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
2517by @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 v2activation by @jpraynaud in #2482 - Test: add Cardano node startup check to
Mithril Client multi-platform testworkflow by @dlachaume in #2476 - Fix: improve error handling in
mithril-installscript by @dlachaume in #2481 - chore: anticipate rust
1.87by @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
TestHttpServerDroplogic 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 testby @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
00000immutable 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.4by @jpraynaud in #2498 - fix(ci): reactivate Darwin
x86_64build in Hydra CI by @jpraynaud in #2538 - Chore: update dependencies for distribution
2524by @jpraynaud in #2544 - Organize STM - Module Single Signature by @curiecrypt in #2545
- Organize STM - Module Aggregate Signature by @curiecrypt in #2548
- Feat: add
mithril-clientCLI 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-releasev2.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-clientCLI command by @dlachaume in #2554 - client-lib/client-cli: calibrate max parallel dl by @Alenar in #2561
- docs: update CHANGELOG for
2524.0distribution 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...