Skip to main content

· 3 min read
John Lotoski

High level summary

The SRE team continues work on Cardano environment improvements and general maintenance.

Some notable recent changes, updates or improvements include:

  • Cardano-node 10.5.1 has now been promoted to a full release for mainnet use and has been deployed to all of IOE's node SRE testnet and mainnet clusters.

  • A new docker OCI tag of 10.5.1-docker is additionally available for any OCI image users who want to use the snapshot-converter binary from within the image. The snapshot converter can be found at path /usr/local/bin/snapshot-converter. New cardano-node OCI release images going forward will contain the snapshot converter to facilitate ledger backend state changes without having to rely on host level tooling or a fully ledger replay.

  • Cardano-parameters is a new repo which maintains the mainnet, preprod and preview protocol parameters with a daily update, as reported by the BlockFrost Cardano API service.

Repository Work -- Merged

Cardano-mainnet

  • Cardano-node release has been updated to 10.5.1. Rotates KES, cleans up 10.5.0 module code no longer needed and deploys select bootstraps with an EgressPollInterval modifier. cardano-mainnet-pr-37

Cardano-monitoring

  • A modernization and security update PR which updates most flake pins, patches grafana for CVE vulnerabilities, updates the opentofu-registry and adds filtering for alpha/beta versions, updates tofu resource declarations and recipes, migrates to SSH over SSM, fixes some race conditions on reboot and more. See the PR header for details. cardano-monitoring-pr-2

Cardano-node

  • For the purposes of a 10.5.1-docker OCI image tag, adds snapshot-converter to the nix overlay and bundles it into the cardano-node OCI image. Adds documentation with example command usage. cardano-node-compare

Cardano-parts

  • Cardano-node pre-release has been updated to 10.5.1. A nix packaged version of cardano-signer has been added, blockperf and credential-manager tools updated. Nix jobs for facilitating governance activities have been improved, easing operations. cardano-parts-release-v2025-07-23

  • Cardano-node release has been updated to 10.5.1. cardano-parts-release-v2025-07-25

Cardano-playground

  • Cardano-node pre-release has been updated to 10.5.1. Adds playground gov action support scripts, preview/preprod committee state changes and relevant gov action artifacts. Includes various improvements with cardano-parts release v2025-07-23. See the PR header for details. cardano-playground-pr-49

  • Cardano-node release has been updated to 10.5.1. Fixes a playground voting script to work with sops decrypt using bash array args; drops some deprecated code and updates cardano-book. cardano-playground-pr-50

Devx-ci

  • Nix-darwin was updated to 25.05 requiring updating of the Darwin guest bootstrap scripts as well as the Buildkite modules. Deprecated Hetzner Darwin materialization for a legacy ssh problem was removed and Hydra impermanence config was updated. devx-ci-compare

Repository Work In Progress -- PRs and Branches

· 3 min read
Alexey Kuleshevich

High level summary

This period we have finally finished significant refactoring on how we represent reward account state in the Ledger codebase, which not only allowed us to completely get rid of pointers in Conway era, but also drastically reduced complexity of accounts functionality and improved Ledger performance. More importantly this refactoring made accounts more extensible and will in future facilitate new features like: changes needed for Leios, full Chimeric Ledger through promotion of reward accounts to proper accounts, as well as ability to store multi-assets in the Treasury and submitting TreasuryWithdrawals governance actions that withdraw other assets except ADA.

Furthe more, we progressed with some features for the next intra-era hard fork as well as for the next Dijkstra era. We've implemented a long asked feature to report the pre-image of the script integrity hash upon validation failures, which will improve user experience and is planned to become available upon the next intra-era hardfork. With respect to Dijkstra implementation we've added new protocol parameters for values that ended up being hard coded in the Conway era. We also started on CDDL specification for the next era.

Besides that we had some progress on improving our test suite, took care of some technical debt and reduced complexity of certain aspects of Ledger implementation.

Low level summary

Features

  • PR-5156 - Rename EraSegWits to EraBlockBody and TxSeq to BlockBody
  • PR-5128 - Stop using UMap in favor of Accounts type family
  • PR-5179 - Add mkBasicBlockBody{Shelley,Alonzo} and txSeqBlockBody{Shelley,Alonzo}L
  • PR-5164 - Added DijkstraPParams
  • PR-5182 - Remove tx wrappers
  • PR-5163 - Change the type of dRepDeposits to CompactForm Coin
  • PR-5178 - Dijkstra: Prevent empty MultiAsset
  • PR-5172 - Replace PPViewHashesDontMatch with ScriptIntegrityHashMismatch starting from PV 11
  • PR-5192 - CDDL for Dijkstra

Testing

  • PR-5173 - Add a nix sha256 for the constrained-generators srp
  • PR-5059 - Translate some tests from BabbageFeatures to Imp test
  • PR-5180 - Fix for CERTS constraint generators
  • PR-5188 - SRP for constrained generators via nix inputs
  • PR-5189 - Update and fix formal-ledger-specifications
  • PR-5193 - Translate tests from BabbageFeatures to Imp test (part 2)

Infrastructure and releasing

  • PR-5185 - Update data-files in Dijkstra cabal file to fix tests failing in hydra

· One min read
Damian Nadales

High level summary

  • Drafted Linear Leios in the Haskell simulator (#466).
  • Introduced refactorings and optimizations to prepare the code base for weighted chain optimizations, required for Peras (#1591, #1598).
  • Merged a labeling feature into async (#164) to enable auto-labeling of threads based on a Cabal flag. This is required to ensure thread labeling in cardano-node (#6086), which, in turn, will help debug issues during development.
  • Fixed a snapshot deserialization error in Byron (#1577).
  • Updated quick-check-state-machine and fs-sim for QuickCheck 2.16 (#53, #54, #105).
  • Make lsm-trees buildable with IOG's contra-tracer (#776).
  • Started integrating LSM trees into ouroboros-consensus, aiming at version 10.7 of cardano-node (#1572).
  • Integrated the stubbed Dijkstra era into ouroboros-consensus (#1567).
  • Updated the storage tests to the new version of quickcheck-lockstep (#1585).
  • Enabled by #1585, the Genesis State Machine Tests now use quickcheck-dynamic (#1413).

· 2 min read
Ziyang Liu

High level summary

Plutus Core

  • Following the support for case analysis on booleans and integers, we have now also merged the support for case analysis on lists. This allows UPLC programs to destruct lists using case expressions instead of built-in functions, which is more efficient.

  • Supporting case analysis on bulit-in pairs and unit is in progress.

  • We are working on enabling all built-in functions, as well as sums-of-products, in all Plutus ledger languages (Plutus V1, V2 and V3) at the upcoming intra-era hard fork.

  • We are working on adding a new built-in type representing Value, along with built-in functions operating on Values.

  • We continue to work on adding the multi-scalar multiplization primitive.

Plinth

  • We added a utility to generate .plutus file from CompiledCode. This has the same behavior as Cardano API's writeFileTextEnvelope. It allows one to generate .plutus conveniently without depending on Cardano API.

  • We added a new emitter mode logWithCallTraceEmitter, which uses trace messages generated by the profile-all flag of the Plinth compiler to create call trace of the functions that led to the evaluation failure.

  • We added more realistic scripts in plutus-benchmark written in Plinth, including the open oracle protocol scripts and the cardano-loans scripts, providing improved coverage for evaluating the impact of language and compiler changes.

  • We are working on compiling Haskell's Bool into UPLC's built-in boolean type, instead of Scott or sums-of-products encoded boolean.

Formal Methods

  • We added built-in arrays to the Plutus metatheory.

Low level summary

Key Pull Requests Merged

Issues and Pull Requests In Progress

· 2 min read
Marcin Szamotulski

Overview of sprints 91, 92

Cardano-Node changes

The default value for PeerSharing configuration option in cardano-node-10.5.1 will be:

  • false if the node is configured as a block producer
  • true if the node is configured as a relay

See PR#6284, PR#6274.

We also deprecated cardano-node run command line flag --non-producing-node in favour of --start-as-non-producing-node.

Chain-Sync

We modified chain-sync timeout implementation. The idle timeout will be chosen randomly each time chain-sync mini-protocol enters StIdle state, while before the timeout was fixed during connection lifetime (although it was still random). This was done to eliminate survivor bias, where long-lived connections were those which had longer timeouts. Now it should be fairer for all connections.

Note that this timeout will be triggered due to a suffciently large gap between consecutive blocks, as a result of Cardano's probabilistic schedule.

See PR#4980.

SRV support according to CIP#155

We merged SRV support according to CIP#155, see PR#5131.

PeerSharing in InitiatorOnlyMode

We made it possible to configure PeerSharing on connections which negotiated InitiatorOnlyDiffusionMode. See (PR#5148, Issue#5124).

Releases

Ongoing work

We are currently focused on dmq-node for Mithril (Issue#5117) and testing the new tx-submission system (Issue#3311)

Other changes