Highlights:
⚠️ Breaking changes in Mithril nodes:- Upgraded the minimum required
glibc
version from2.31
to2.35
for the pre-built Linux binaries - Mithril signer with versions
<=0.2.200
must be updated following the cleanup ofThales
era legacy code - Mithril client library
with_snapshot_uploader
function has been renamed towith_file_uploader
.
- Upgraded the minimum required
- Support for
Cardano node
10.2.1
in 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
2506
distribution by @jpraynaud in #2283 - Docs: final CHANGELOG for '2506.0' distribution by @jpraynaud in #2311
- chore(ci): reactivate publish test for
mithril-client
by @Alenar in #2310 - explorer: use main
mithril-client-wasm
package by @Alenar in #2309 - Mithril dev blog review by @oduameh in #2302
- Docs: add dev blog post for distribution
2506
by @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-common
crate by extracting some modules by @sfauvel in #2304 - Replace the
TODO
by 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-sanchonet
network 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 certification
section in website by @jpraynaud in #2324 - Feat: Support Cardano node
10.2.1
pre-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-client
by @dlachaume in #2344 - Fix: Hydra CI fails with OpenSSL error (Linux x86_64) by @dlachaume in #2348
- Fix:
notify-on-failure
job 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
slave
signer registration mode by @jpraynaud in #2351 - Remove flakiness on should delay between retries tests by @sfauvel in #2352
- Docs: add features documentation for
mithril-client
library 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.1
by @jpraynaud in #2386 - refactor(aggregator): remove deprecated
configuration
field fromDependencyContainer
by @Alenar in #2385 - Chore: update dependencies for distribution
2513
by @jpraynaud in #2388 - Docs: update CHANGELOG for
2513.0
distribution 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 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⚠️