Skip to main content

· 4 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.6.0 has been pre-released with the corresponding long running SRE PRs now merged into this release! See the release notes for details.

  • SRE team identified a ledger replay bug in the 10.6.0 release candidate whereby the legacy tracing system would no longer log ledger replay update statistics. A fix was implemented prior to tagging and pre-releasing.

  • Near the end of this biweekly reporting period, the preview network experienced a network partition. After an intense multi-team and community collaborative effort which the SRE team was participating in from the beginning, the bug causing the partition was identified and a new cardano-node version 10.5.2 was released to fix the issue. This version was deployed to the IOE preview machines immediately upon release and shortly afterwards to the rest of the IOE testnet and mainnet infra.

Repository Work -- Merged

Cardano-mainnet

  • Bump cardano-parts for v2025-11-18

  • Updated CloudFormation terraformState.nix and opentofu/cluster.nix for corresponding tagging updates

  • Added new required flake cluster attribute declaration for new required resource tagging

  • Added a matomo nix module prototype in prep for a legacy bitte cluster matomo migration to prod

  • Fixed script breakages caused by cardano-cli breaking changes

  • Adds a smash delisting

  • Rotates mainnet KES

  • Adjusts an alert for pool 1 infrequent forging threshold noise

    cardano-mainnet-pr-39

Cardano-parts

  • Bumps cardano-node pre-release to 10.6.0, mithril to 2543.1-hotfix and blockperf to a fix branch which includes a patch for the new tracing system proper blockperf configuration

  • Added rsync ssm help bash function and alias to the common machine profile

  • Added peer snapshot files to the ops library function generateStaticHTMLConfigs

  • Added new flakeModule cluster.nix options of infra.generic costCenter, owner and project

  • Added zsh devShell command completion

  • Updated a number of nixosModules to support both new and legacy tracing systems as well as 10.6.0 and 10.5.1 configuration differences

  • Updated template CloudFormation terraform state and opentofu cluster resource definitions for corresponding tagging updates

  • Fixed template script breakages caused by cardano-cli breaking changes included in the 10.6.0 pre-release

  • Fixed the profile-blockperf.nix nixosModule new tracing system configuration

    cardano-parts-release-v2025-11-18

Cardano-playground

  • Added book config updates for 10.6.0 pre-release environments: preprod, preview

  • Added sanchonet environment configs for community disaster test participation

  • Added a "New Pool" document explainer at docs/explain/new-pool.md

  • Added new required flake cluster attribute declaration for new required resource tagging

  • Added a matomo nix module prototype in prep for a legacy bitte cluster matomo migration to prod

  • Added wireguard tunnel endpoints as temporary R2 colo http streaming/timeout bucket workarounds

  • Added misc improvements to playground scripts for governance voting

  • Updated CloudFormation terraform state and opentofu cluster resource declarations for corresponding tagging updates

  • Updated CI to a smaller representative machine subset

  • Updated preview, preprod and non-prod test forgers with KES rotation

  • Fixed script breakages caused by cardano-cli breaking changes

  • Voted on a preview and preprod governance action with drep/pools and CC

    cardano-playground-pr-51

Iohk-nix

  • Merges non-forger and forger configs, with node handling differences internally based on forger status (ie: PeerSharing, TargetNumberOfKnownPeers, TargetNumberOfRootPeers)

  • Includes peerSnapshotFile for all networks, now at v2

  • Allows SRV records for bootstrap resource definitions

  • Adjust default networking mode to p2p without explicit declaration as the only mode for >= 10.6.0 is p2p

  • Bump minNodeVersion to 10.6.0 for default config changes

  • Testnet templates have been adjusted for plutus v3 cost model params at a mainnet matching 251 parameters and Dijkstra genesis added

    iohk-nix-pr-602

Repository Work In Progress -- PRs and Branches

· 3 min read
Alexey Kuleshevich

High level summary

Ledger team has successfully defined what sub-transaction really means for Nested Transactions in Dijkstra era. We've also reduced quite a bit of duplication with respect to how CDDL is specified with further improvements that are still in progress. We have fixed some serialization issues for Dijkstra era that we couldn't fix for previous eras, which had to do with preventing duplicates being supplied over the wire. Besides these improvements we've also cleaned up some deprecated functionality, reduced memory overhead in ledger state, improved performance of the epoch boundary transition and fixed some issues in conformance tests.

Low level summary

Features

  • PR-5361 - Disable old redeemer deserialization
  • PR-5316 - Store delegators in pool state
  • PR-5375 - More CDDL de-duplication
  • PR-5376 - Remove all deprecated functionality introduced before the latest release
  • PR-5384 - Remove Generic instance from BoundedRatio type
  • PR-5382 - Even more CDDL
  • PR-5391 - Store future pools in PState as StakePoolParams
  • PR-5396 - Replace okeyL method with toOKey
  • PR-5386 - Add a subtransactions field to DijkstraTxBodyRaw
  • PR-5402 - Add custom Show instance for the Mismatch type, to show the Relation between the values
  • PR-5398 - Intern stake credentials in reverse delegations
  • PR-5411 - Switch to using TypeData extension
  • PR-5394 - CDDL: Consolidate certificates and pool params
  • PR-5417 - Fix Monoid instance for VMap
  • PR-5397 - Limit protocol version to Word32 from version 12
  • PR-5373 - Make decoders fail when encountering duplicate elements in TxWits
  • PR-5430 - Reflect subtransactions in dijkstra CDDL

Testing

  • PR-5347 - Move or replace BabbageFeatures tests in cardano-ledger-test
  • PR-5385 - Fix stakepool-test in nightly build
  • PR-5184 - Write an ImpTest to reproduce #5170
  • PR-5370 - Add a golden test for duplicate certificates
  • PR-5406 - Update fls and enable test
  • PR-5415 - Run the specification rules of EPOCH and NEWEPOCH in conformance tests
  • PR-5423 - Clean cardano-ledger-conformance
  • PR-5428 - Update formal-ledger-specifications

Infrastructure and releasing

  • PR-5410 - Use ghc 9.10 for Haddocks in GH Pages CI
  • PR-5422 - Add support for nothunks == 0.3.*
  • PR-5348 - Update SECURITY.md
  • PR-5425 - Upgrade the version of Ruby used in GH CI to match the nix flake

· 2 min read
Jean-Philippe Raynaud

High level overview

This week, the Mithril team completed the first phase of decentralizing configuration parameters and made good progress on implementing a simple aggregator discovery mechanism. Additionally, they kept working on the SNARK-friendly STM library by designing its architecture, implementing the Schnorr signature scheme, refactoring error handling, and experimenting with a Jubjub curve implementation in the BLST library.

Finally, they fixed some bugs, made enhancements to the CI, and continued improving the protocol security page.

Low level overview

Features

  • Completed the issue Decentralization of configuration parameters - Phase 1 #2692
  • Worked on the issue Implement a simple aggregator discovery mechanism #2726
  • Worked on the issue Architecture of the SNARK-friendly STM library #2763
  • Worked on the issue Implement Schnorr signature scheme in STM #2756
  • Worked on the issue Refactor error handling in STM library #2764
  • Worked on the issue Experimental blst-Jubjub #2772
  • Worked on the issue Test Haskell DMQ node message authentication (KES signature) #2786

Protocol maintenance

  • Completed the issue Refactor AggregatorClient trait in signer #2759
  • Completed the issue Add fast bootstrap of Cardano node with LMDB UTxO-HD verification in CI #2679
  • Completed the issue Some tests fail in CI due to no space left on GitHub runners #2782
  • Worked on the issue Support optional cardano_transactions_signing_config #2780
  • Worked on the issue Enhance protocol security page on website #2703

· One min read
Ziyang Liu

High level summary

The Plutus team is finalizing work for the upcoming intra-era hard fork.

Four of the Value primitives have now been costed, and the remaining three are currently in progress. After this, the final step before will be performing end-to-end testing for all new features to be introduced in the hard fork.

We are also preparing a blog post on UPLC 2025, which will be published soon.

In parallel, we continue progressing on other tasks, including support case analysis related to Data.

Low level summary

Key Pull Requests Merged

Issues and Pull Requests In Progress

  • End-to-end testing for dropList
  • End-to-end testing for modular exponentiation
  • End-to-end testing for multi-scalar multiplication
  • End-to-end testing for Array primitives
  • End-to-end testing for Value primitives
  • End-to-end testing for unification of primitives across Plutus V1, V2 and V3

· One min read
Noon van der Silk

What did the team achieve?

  • Great progress on partial fanout #1468
  • Improved logging for failed HTTP requests #2315
  • Added API to get head opened time #2316
  • Worked on a new "SafeClose" client input to try and avoid closing when you have unburned minted tokens #2330
  • Progress on making sure hydra is in sync with the chain #2286
  • Linked the new VTech Hydra SDK!

What's next?

  • Finsh off work on "SafeClose" feature #2330
  • Build a demo using the VTech SDK #2353
  • Continue working on partial fanout #1468
  • Continue working on chain following approach #2206