Skip to content

Mithril v2513.0

Latest
Compare
Choose a tag to compare
@github-actions github-actions released this 28 Mar 09:00
· 215 commits to main since this release
2513.0
1fb85a7

Highlights:

  • ⚠️ Breaking changes in Mithril nodes:
    • Upgraded the minimum required glibc version from 2.31 to 2.35 for the pre-built Linux binaries
    • Mithril signer with versions <=0.2.200 must be updated following the cleanup of Thales era legacy code
    • Mithril client library with_snapshot_uploader function has been renamed to with_file_uploader.
  • 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 from DependencyContainer 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 ⚠️