Releases: input-output-hk/mithril
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 <[email protected]>" 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 <[email protected]>" [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 <[email protected]>" - 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 [[email protected]] and let us know of the outcome of your run of this process⚠️
</p...
Unstable Development Builds
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)).
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 <[email protected]>" 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 <[email protected]>" [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 <[email protected]>" - 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 [[email protected]] 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-3063c3e | ghcr.io/input-output-hk/mithril-aggregator:main-3063c3e |
| mithril-signer | mithril-signer:main-3063c3e | ghcr.io/input-output-hk/mithril-signer:main-3063c3e |
| mithril-client | mithril-client:main-3063c3e | ghcr.io/input-output-hk/mithril-client:main-3063c3e |
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
- @jeluard made their first contribution in https://github.com/input-output-hk...
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 <[email protected]>" imported
gpg: Total number processed: 1
gpg: imported: 1
- Step 7: Then verify the GPG signature of t...
Mithril v2524.0-pre
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-pre
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 <[email protected]>" imported
gpg: Total number processed: 1
gpg: imported: 1
- Step 7: Then verify the GPG si...
Mithril v2517.1
Highlights
Warning
🔥 This version fixes a bug in the 2517.0 distribution which caused the Cardano node to fail during startup when using a snapshot downloaded with the Mithril client.
Make sure you are using the Mithril client CLI with version 0.12.1.
⚠️ Breaking changes in Mithril client CLI and library as detailed in this blog post:- To fast bootstrap a Cardano node, the new
--include-ancillaryoption has been added to the Cardano node database command in the Mithril client CLI. - Without this option, only final immutable files are downloaded, and the ledger state must be computed from the genesis block when the Cardano node starts.
- The
--include-ancillaryoption requires the usage of an ancillary verification key (--ancillary-verification-keyorANCILLARY_VERIFICATION_KEY) which is specified in the Networks configuration page. - Clients from distribution [
2513] and earlier are not compatible with this change and must be updated.
- To fast bootstrap a Cardano node, the new
- Support for
Cardano node10.3.1in the signer and the aggregator - Support for origin tags in Mithril client library, CLI and WASM to record the origin of client requests.
- Bug fixes and performance improvements.
What's Changed
- feat: Separate location for ancillary for cardano database v1 by @Alenar in #2380
- refactor: prepare ancillary signing by @Alenar in #2393
- Chore: bump
glibcrequirement to2.35+in one-line installer by @jpraynaud in #2387 - Docs: rotate documentation for
2513distribution by @jpraynaud in #2390 - docs: final CHANGELOG for
2513.0distribution by @jpraynaud in #2395 - Docs: add dev blog post for distribution
2513by @jpraynaud in #2396 - Feat(e2e): support multiple aggregators in the e2e tests by @jpraynaud in #2378
- Docs: fix website documentation by @dlachaume in #2397
- feat: Sign ancillary files in aggregator by @Alenar in #2394
- Fix(infra): fix aggregator crash at startup in
testing-previewnetwork by @jpraynaud in #2399 - chore: anticipate rust
1.86by @Alenar in #2398 - Refactor: rename
master/slavesigner registration by @jpraynaud in #2400 - Feat(infra): split ssh keys for testing/production by @jpraynaud in #2401
- chore(infra): add ssh key for 'testing' and 'production' by @turmelclem in #2404
- Organize STM - Blst multi_sig module by @curiecrypt in #2405
- Feat: record origin of client requests in metrics by @sfauvel in #2411
- CI: include
CardanoDatabasein the backward compatibility test by @dlachaume in #2413 - Feat: include origin tag header for aggregator prover benchmark by @dlachaume in #2416
- explorer: support latest ancillary & cardano database v2 developments by @Alenar in #2418
- fix(aggregator): incorrect immutable files average and total size in cardano database v2 by @Alenar in #2419
- Docs: blog post for the Cardano node database v2 certification by @dlachaume in #2417
- Feat(infra): support
followeraggregator in infra by @jpraynaud in #2407 - Fix: signer infra volumes configuration by @jpraynaud in #2420
- feat: Verify ancillary artifacts in client by @Alenar in #2414
- Fix aggregator path in stress test by @sfauvel in #2421
- Refactor: Simplify the configuration of commands in aggregator by @dlachaume in #2423
- Refactor: Simplify the configuration of tools/era commands in aggregator by @dlachaume in #2434
- fix(aggregator): ancillary signing on evolving files by @Alenar in #2425
- feat(aggregator): Sign ancillary with GCP Kms by @Alenar in #2431
- Simplify injection container in aggregator by @sfauvel in #2435
- Refactor: Simplify the configuration of genesis command in aggregator by @dlachaume in #2432
- Doc: update Cardano node database v2 dev blog post by @jpraynaud in #2439
- Refactor: renaming and update aggregator node documentation by @dlachaume in #2438
- refactor: shared workspace dependencies by @Alenar in #2440
- Feat: support GCP KMS ancillary signature in infrastructure by @jpraynaud in #2433
- doc(website): update cardano node boostrap page with ancillary verification by @Alenar in #2441
- Chore: update dependencies for distribution
2517by @jpraynaud in #2443 - refactor: move SignaturePublisher to a dedicated module by @turmelclem in #2437
- Feat: Support Cardano node
10.3.1by @jpraynaud in #2447 - test: use a in memory logger for tests that needs to check logs by @Alenar in #2442
- Docs: update CHANGELOG for
2517.0distribution release by @jpraynaud in #2444 - Feat: support custom origin tags in infra by @jpraynaud in #2448
New Contributors
- @turmelclem made their first contribution in #2404
Full Changelog: 2513.0...2517.1
Crates Versions
| Crate | Version |
|---|---|
| mithril-aggregator | 0.7.44 |
| mithril-client | 0.12.2 |
| mithril-client-cli | 0.12.1 |
| mithril-client-wasm | 0.9.0 |
| mithril-common | 0.5.27 |
| mithril-signer | 0.2.243 |
| mithril-stm | 0.3.45 |
Networks Compatibility ⚠️
| Network | Compatible |
|---|---|
| release-mainnet | ✔ |
| release-preprod | ✔ |
| pre-release-preview | ✔ |
| testing-preview | ⛔ |
Distributions Compatibility ⚠️
| Compatibility | mithril-signer | mithril-client |
|---|---|---|
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 <[email protected]>" 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 <[email protected]>" [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 <[email protected]>" - there is a line with `Primary key fingerprint: 73FC 4C3D FD55 DBDC 428A D2B5 BE04 3...
Mithril v2517.0
Highlights:
⚠️ Breaking changes in Mithril client CLI and library:- To fast bootstrap a Cardano node, the new
--include-ancillaryoption has been added to the Cardano node database command in the Mithril client CLI. - Without this option, only final immutable files are downloaded, and the ledger state must be computed from the genesis block when the Cardano node starts.
- The
--include-ancillaryoption requires the usage of an ancillary verification key (--ancillary-verification-keyorANCILLARY_VERIFICATION_KEY) which is specified in the Networks configuration page. - Clients from distribution [
2513] and earlier are not compatible with this change and must be updated.
- To fast bootstrap a Cardano node, the new
- Support for
Cardano node10.3.1in the signer and the aggregator - Support for origin tags in Mithril client library, CLI and WASM to record the origin of client requests.
- Bug fixes and performance improvements.
What's Changed
- feat: Separate location for ancillary for cardano database v1 by @Alenar in #2380
- refactor: prepare ancillary signing by @Alenar in #2393
- Chore: bump
glibcrequirement to2.35+in one-line installer by @jpraynaud in #2387 - Docs: rotate documentation for
2513distribution by @jpraynaud in #2390 - docs: final CHANGELOG for
2513.0distribution by @jpraynaud in #2395 - Docs: add dev blog post for distribution
2513by @jpraynaud in #2396 - Feat(e2e): support multiple aggregators in the e2e tests by @jpraynaud in #2378
- Docs: fix website documentation by @dlachaume in #2397
- feat: Sign ancillary files in aggregator by @Alenar in #2394
- Fix(infra): fix aggregator crash at startup in
testing-previewnetwork by @jpraynaud in #2399 - chore: anticipate rust
1.86by @Alenar in #2398 - Refactor: rename
master/slavesigner registration by @jpraynaud in #2400 - Feat(infra): split ssh keys for testing/production by @jpraynaud in #2401
- chore(infra): add ssh key for 'testing' and 'production' by @turmelclem in #2404
- Organize STM - Blst multi_sig module by @curiecrypt in #2405
- Feat: record origin of client requests in metrics by @sfauvel in #2411
- CI: include
CardanoDatabasein the backward compatibility test by @dlachaume in #2413 - Feat: include origin tag header for aggregator prover benchmark by @dlachaume in #2416
- explorer: support latest ancillary & cardano database v2 developments by @Alenar in #2418
- fix(aggregator): incorrect immutable files average and total size in cardano database v2 by @Alenar in #2419
- Docs: blog post for the Cardano node database v2 certification by @dlachaume in #2417
- Feat(infra): support
followeraggregator in infra by @jpraynaud in #2407 - Fix: signer infra volumes configuration by @jpraynaud in #2420
- feat: Verify ancillary artifacts in client by @Alenar in #2414
- Fix aggregator path in stress test by @sfauvel in #2421
- Refactor: Simplify the configuration of commands in aggregator by @dlachaume in #2423
- Refactor: Simplify the configuration of tools/era commands in aggregator by @dlachaume in #2434
- fix(aggregator): ancillary signing on evolving files by @Alenar in #2425
- feat(aggregator): Sign ancillary with GCP Kms by @Alenar in #2431
- Simplify injection container in aggregator by @sfauvel in #2435
- Refactor: Simplify the configuration of genesis command in aggregator by @dlachaume in #2432
- Doc: update Cardano node database v2 dev blog post by @jpraynaud in #2439
- Refactor: renaming and update aggregator node documentation by @dlachaume in #2438
- refactor: shared workspace dependencies by @Alenar in #2440
- Feat: support GCP KMS ancillary signature in infrastructure by @jpraynaud in #2433
- doc(website): update cardano node boostrap page with ancillary verification by @Alenar in #2441
- Chore: update dependencies for distribution
2517by @jpraynaud in #2443 - refactor: move SignaturePublisher to a dedicated module by @turmelclem in #2437
- Feat: Support Cardano node
10.3.1by @jpraynaud in #2447 - test: use a in memory logger for tests that needs to check logs by @Alenar in #2442
- Docs: update CHANGELOG for
2517.0distribution release by @jpraynaud in #2444 - Feat: support custom origin tags in infra by @jpraynaud in #2448
New Contributors
- @turmelclem made their first contribution in #2404
Full Changelog: 2513.0...2517.0
Crates Versions
| Crate | Version |
|---|---|
| mithril-aggregator | 0.7.44 |
| mithril-client | 0.12.0 |
| mithril-client-cli | 0.12.0 |
| mithril-client-wasm | 0.9.0 |
| mithril-common | 0.5.27 |
| mithril-signer | 0.2.243 |
| mithril-stm | 0.3.45 |
Networks Compatibility ⚠️
| Network | Compatible |
|---|---|
| release-mainnet | ✔ |
| release-preprod | ✔ |
| pre-release-preview | ✔ |
| testing-preview | ⛔ |
Distributions Compatibility ⚠️
| Compatibility | mithril-signer | mithril-client |
|---|---|---|
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 <[email protected]>" 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 <[email protected]>" [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 <[email protected]>" - 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 [[email protected]] and let us know of the outcome of your run of this process⚠️
Mithril v2517.0-pre
Highlights:
⚠️ Breaking changes in Mithril client CLI and library:- To fast bootstrap a Cardano node, the new
--include-ancillaryoption has been added to the Cardano node database command in the Mithril client CLI. - Without this option, only final immutable files are downloaded, and the ledger state must be computed from the genesis block when the Cardano node starts.
- The
--include-ancillaryoption requires the usage of an ancillary verification key (--ancillary-verification-keyorANCILLARY_VERIFICATION_KEY) which is specified in the Networks configuration page. - Clients from distribution [
2513] and earlier are not compatible with this change and must be updated.
- To fast bootstrap a Cardano node, the new
- Support for
Cardano node10.3.1in the signer and the aggregator - Support for origin tags in Mithril client library, CLI and WASM to record the origin of client requests.
- Bug fixes and performance improvements.
What's Changed
- feat: Separate location for ancillary for cardano database v1 by @Alenar in #2380
- refactor: prepare ancillary signing by @Alenar in #2393
- Chore: bump
glibcrequirement to2.35+in one-line installer by @jpraynaud in #2387 - Docs: rotate documentation for
2513distribution by @jpraynaud in #2390 - docs: final CHANGELOG for
2513.0distribution by @jpraynaud in #2395 - Docs: add dev blog post for distribution
2513by @jpraynaud in #2396 - Feat(e2e): support multiple aggregators in the e2e tests by @jpraynaud in #2378
- Docs: fix website documentation by @dlachaume in #2397
- feat: Sign ancillary files in aggregator by @Alenar in #2394
- Fix(infra): fix aggregator crash at startup in
testing-previewnetwork by @jpraynaud in #2399 - chore: anticipate rust
1.86by @Alenar in #2398 - Refactor: rename
master/slavesigner registration by @jpraynaud in #2400 - Feat(infra): split ssh keys for testing/production by @jpraynaud in #2401
- chore(infra): add ssh key for 'testing' and 'production' by @turmelclem in #2404
- Organize STM - Blst multi_sig module by @curiecrypt in #2405
- Feat: record origin of client requests in metrics by @sfauvel in #2411
- CI: include
CardanoDatabasein the backward compatibility test by @dlachaume in #2413 - Feat: include origin tag header for aggregator prover benchmark by @dlachaume in #2416
- explorer: support latest ancillary & cardano database v2 developments by @Alenar in #2418
- fix(aggregator): incorrect immutable files average and total size in cardano database v2 by @Alenar in #2419
- Docs: blog post for the Cardano node database v2 certification by @dlachaume in #2417
- Feat(infra): support
followeraggregator in infra by @jpraynaud in #2407 - Fix: signer infra volumes configuration by @jpraynaud in #2420
- feat: Verify ancillary artifacts in client by @Alenar in #2414
- Fix aggregator path in stress test by @sfauvel in #2421
- Refactor: Simplify the configuration of commands in aggregator by @dlachaume in #2423
- Refactor: Simplify the configuration of tools/era commands in aggregator by @dlachaume in #2434
- fix(aggregator): ancillary signing on evolving files by @Alenar in #2425
- feat(aggregator): Sign ancillary with GCP Kms by @Alenar in #2431
- Simplify injection container in aggregator by @sfauvel in #2435
- Refactor: Simplify the configuration of genesis command in aggregator by @dlachaume in #2432
- Doc: update Cardano node database v2 dev blog post by @jpraynaud in #2439
- Refactor: renaming and update aggregator node documentation by @dlachaume in #2438
- refactor: shared workspace dependencies by @Alenar in #2440
- Feat: support GCP KMS ancillary signature in infrastructure by @jpraynaud in #2433
- doc(website): update cardano node boostrap page with ancillary verification by @Alenar in #2441
- Chore: update dependencies for distribution
2517by @jpraynaud in #2443 - refactor: move SignaturePublisher to a dedicated module by @turmelclem in #2437
- Feat: Support Cardano node
10.3.1by @jpraynaud in #2447 - test: use a in memory logger for tests that needs to check logs by @Alenar in #2442
- Docs: update CHANGELOG for
2517.0distribution release by @jpraynaud in #2444 - Feat: support custom origin tags in infra by @jpraynaud in #2448
New Contributors
- @turmelclem made their first contribution in #2404
Full Changelog: 2513.0...2517.0-pre
Crates Versions
| Crate | Version |
|---|---|
| mithril-aggregator | 0.7.44 |
| mithril-client | 0.12.0 |
| mithril-client-cli | 0.12.0 |
| mithril-client-wasm | 0.9.0 |
| mithril-common | 0.5.27 |
| mithril-signer | 0.2.243 |
| mithril-stm | 0.3.45 |
Networks Compatibility ⚠️
| Network | Compatible |
|---|---|
| release-mainnet | ⛔ |
| release-preprod | ⛔ |
| pre-release-preview | ✔ |
| testing-preview | ⛔ |
Distributions Compatibility ⚠️
| Compatibility | mithril-signer | mithril-client |
|---|---|---|
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 <[email protected]>" 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 <[email protected]>" [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 <[email protected]>" - 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 [[email protected]] and let us know of the outcome of your run of this process⚠️
Mithril v2513.0
Highlights:
⚠️ Breaking changes in Mithril nodes:- Upgraded the minimum required
glibcversion from2.31to2.35for the pre-built Linux binaries - Mithril signer with versions
<=0.2.200must be updated following the cleanup ofThalesera legacy code - Mithril client library
with_snapshot_uploaderfunction has been renamed towith_file_uploader.
- Upgraded the minimum required
- Support for
Cardano node10.2.1in the signer and the aggregator - End support for macOS x64 pre-built binaries for the client CLI
- Bug fixes and performance improvements.
What's Changed
- refactor(aggregator): simplify dependency builder by @Alenar in #2288
- Reduce e2e flakiness by changing protocol parameters by @sfauvel in #2301
- Fix mithril-aggregator genesis bootstrap flakiness in e2e tests by @Alenar in #2303
- Chore: update SSH keys in infra by @dlachaume in #2305
- fix: stm tests run time regression by @Alenar in #2307
- Docs: rotate documentation for
2506distribution by @jpraynaud in #2283 - Docs: final CHANGELOG for '2506.0' distribution by @jpraynaud in #2311
- chore(ci): reactivate publish test for
mithril-clientby @Alenar in #2310 - explorer: use main
mithril-client-wasmpackage by @Alenar in #2309 - Mithril dev blog review by @oduameh in #2302
- Docs: add dev blog post for distribution
2506by @jpraynaud in #2312 - Docs: add dev blog post for certificate chain security advisory by @jpraynaud in #2313
- Use a unique name for the cloud location of digests artifacts Cardano database by @sfauvel in #2314
- Cleanup unused dependencies and auto CI check by @Alenar in #2315
- Split
mithril-commoncrate by extracting some modules by @sfauvel in #2304 - Replace the
TODOby a explanation of the limits by @sfauvel in #2308 - ci: Bump build runner to ubuntu 22.04 by @Alenar in #2317
- chore: upgrade dockerfiles base image version to Debian 12 by @Alenar in #2319
testing-sanchonetnetwork decommission by @dlachaume in #2300- End support for MacOS x64 pre-built binaries by @dlachaume in #2277
- feat: client library for incremental Cardano database by @jpraynaud in #2289
- refactor(ci): use cache-version instead of 'v0-' in rust cache key prefix by @Alenar in #2323
- Fix wasm build in rust 1.85 by @Alenar in #2326
- feat: Implement an Unknown variant in the artifact locations by @sfauvel in #2320
- Docs: add new
Mithril certificationsection in website by @jpraynaud in #2324 - Feat: Support Cardano node
10.2.1pre-release by @jpraynaud in #2336 - feat: incremental cardano database restoration with client CLI by @dlachaume in #2318
- Minor editing/formatting improvements by @olgahryniuk in #2338
- Docs: add page for Cardano node database v2 certification by @jpraynaud in #2339
- Feat: add example crate for incremental Cardano database by @jpraynaud in #2337
- Cleanup legacy code from thales era by @Alenar in #2340
- Enhance artifact structure for incremental cardano db by @sfauvel in #2341
- Feat: improve disk space calculation for Incremental DB Restoration by @dlachaume in #2345
- fix: not blocking when computing size by @sfauvel in #2346
- Test: add integration test for incremental Cardano database in
mithril-clientby @dlachaume in #2344 - Fix: Hydra CI fails with OpenSSL error (Linux x86_64) by @dlachaume in #2348
- Fix:
notify-on-failurejob succeeds despite email sending failure by @dlachaume in #2349 - Code ADR for mithril-common by @Alenar in #2343
- Use consistent naming in the client cardano database api by @sfauvel in #2347
- Docs: update clients documentation for incremental Cardano DB by @dlachaume in #2350
- Chore: enhance versions bump script by @dlachaume in #2355
- Feat: implement aggregator
slavesigner registration mode by @jpraynaud in #2351 - Remove flakiness on should delay between retries tests by @sfauvel in #2352
- Docs: add features documentation for
mithril-clientlibrary by @dlachaume in #2358 - refactor(mithril-client): Optimize cardano db artifacts download by @Alenar in #2359
- Fix BLST bindings: Error handling for infinite values of sigs and vks by @curiecrypt in #2322
- Compress the digests file uploaded on gcp by @sfauvel in #2367
- Feat: verify minimum node version with squash database migration by @dlachaume in #2368
- Reduce flakiness in the ci by @sfauvel in #2370
- Refactor(aggregator): groundwork for ancillary signature by @Alenar in #2372
- Feat: move database vacuum to aggregator startup to avoid API interruptions during epoch transitions by @dlachaume in #2375
- Organize STM code by @curiecrypt in #2373
- Macro to implement the source trait by @sfauvel in #2377
- Reduce flakiness in tests by @sfauvel in #2379
- Organize STM code - Merkle Tree Module by @curiecrypt in #2374
- Error messages as warning in signer by @sfauvel in #2381
- Feat: Support Cardano node
10.2.1by @jpraynaud in #2386 - refactor(aggregator): remove deprecated
configurationfield fromDependencyContainerby @Alenar in #2385 - Chore: update dependencies for distribution
2513by @jpraynaud in #2388 - Docs: update CHANGELOG for
2513.0distribution release by @jpraynaud in #2389
Full Changelog: 2506.0...2513.0
Crates Versions
| Crate | Version |
|---|---|
| mithril-aggregator | 0.7.23 |
| mithril-client | 0.11.17 |
| mithril-client-cli | 0.11.11 |
| mithril-client-wasm | 0.8.6 |
| mithril-common | 0.5.14 |
| mithril-signer | 0.2.237 |
| mithril-stm | 0.3.42 |
Networks Compatibility ⚠️
| Network | Compatible |
|---|---|
| release-mainnet | ✔ |
| release-preprod | ✔ |
| pre-release-preview | ✔ |
| testing-preview | ⛔ |
Distributions Compatibility ⚠️
| Compatibility | mithril-signer | mithril-client |
|---|---|---|
2506.0 |
✔️ | ✔️ |
2450.0 |
✔️ | ✔️ |
2445.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](https://github.com/input-output-hk/mithril/releases/download...