Skip to content

cardano-testnet: declare supported cli/node versions via README + --version output #6548

@Jimbo4350

Description

@Jimbo4350

Summary

cardano-testnet currently has no user-facing declaration of which cardano-cli and cardano-node versions it supports. The only source of truth is cardano-testnet.cabal (lines 44–45) and users have no way to answer "which cli/node should I use with this cardano-testnet?" without reading cabal files.

Prior art

The existing matrix at https://docs.cardano.org/developer-resources/release-notes/comp-matrix/ covers cardano-node / db-sync / rosetta-java / graphql / wallet but does not include cardano-cli or cardano-api. The backing repo cardano-foundation/docs-cardano-org was archived 2025-07-22, so extending it is not a viable path.

Proposal

Two one-time changes. Zero per-release maintenance.

1. README "Supported versions" section

Add to cardano-testnet/README.md:

cardano-testnet is designed to run the cardano-cli and cardano-node that ship in the same release. Mixing binaries across releases is unsupported; use cli and node from the same release tarball as this cardano-testnet.

The cardano-api and cardano-cli versions this build was compiled against are printed by cardano-testnet --version.

One rule covers every version pair. Leans on the existing major-version compat guarantee from consensus/network for same-release binaries.

2. Extend cardano-testnet --version

Report the cardano-api and cardano-cli versions this build was compiled against, sourced from the VERSION_cardano_api and VERSION_cardano_cli CPP macros cabal auto-generates based on the resolved dependency versions, so the cabal file remains the sole source of truth.

Target output:

cardano-testnet X.Y.Z - linux-x86_64 - ghc-9.6
git rev <sha>
built against cardano-api X.Y.Z.W
built against cardano-cli X.Y.Z.W

Why not the alternatives

  • docs.cardano.org matrix update — external dependency, repo archived, no update cadence we control.
  • Matrix-generating GHA — higher upfront cost for value a single-sentence policy already captures.

Acceptance

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions