Skip to content

0.4.0 - cardano-node 11.1.2 support

Choose a tag to compare

@GNP1-dev GNP1-dev released this 27 Sep 10:08
· 14 commits to main since this release

⚠️ Beta software, no warranty. PoolTerminal is early software and has mainly been exercised on one operator's setup. It is read-only by design and holds no key material, but it does hold SSH access to your block producer, and that limit is not a guarantee. It has had an AI-assisted code review, not an independent security audit. Provided as-is under Apache 2.0 with no warranty of any kind - you use it at your own risk. See SECURITY.md.

[0.4.0] - 2026-09-25

BREAKING: requires cardano-node 11.1.2 or later, cardano-cli 11.2.3.0 or
later, and (optional) cncli 6.8.0 or later.
Older versions are not
supported. When updated Guild scripts refuse an older node, PoolTerminal now
shows their message at connect instead of connecting with no pool ID.

Compatibility

  • Supported versions are declared on the About page and in the README:
    cardano-node and cardano-cli as a matched pair from the same node release,
    in the Guild Operators layout. Checked against a block producer and relay on
    node 11.1.2 after the September 2026 upgrade; see
    docs/audit/node-11.1.2-compat-2026-09-24.md.
  • db-sync 13.7.2.1 (schema 15.50.6) is now the tested schema. Any other
    schema, older or newer, is flagged "tested 15.50.6 - verify" on the Data tab
    and the History table.

Fixed

  • Ideal and Luck use the right stake snapshot. Ideal was calculated from
    the snapshot used for rewards, not the one that decides this epoch's leader
    slots, so Ideal and Luck were off by however much the pool's stake had
    changed between the two (for example 0.82 instead of 0.98). They now match
    cncli's leaderlog and gLiveView. History rows saved with the old value are
    corrected automatically.
  • Logs: presets searched only the last ~20 minutes on a block producer. A
    line cap ran before the filter, so "Restarts & startup" could not see a
    restart an hour old. The filter now runs first; "Restarts & startup" reads
    systemd's own start/stop messages over 14 days (sub-second) plus the node's
    startup lines for its latest start; full-log presets are capped at 7 days.
    Everything runs at the lowest CPU and IO priority.
  • Logs: presets now work on nodes that log JSON. "Errors & warnings" could
    never match a JSON log, and startup lines picked up unrelated fork switches.
  • Delegator deep-dive about 2 s faster on db-sync 13.7.2.1, which made
    epoch a slow view.
  • Guild env errors are shown at connect (for example its node/cli version
    check) instead of connecting with no pool ID; a block producer with no
    POOL_ID is flagged.
  • cardano-cli queries time out (tip and mempool 10 s, KES 20 s, stake
    snapshot 30 s, leader schedule 300 s) instead of freezing the dashboard on a
    mismatched cli/node pair; the message names the query.
  • Key and certificate file paths are no longer logged. The console and
    error messages say only whether the op-cert and VRF key were found; paths in
    cardano-cli errors are replaced with <key file>.
  • The db-sync "verify" note for an untested schema is shown again on the
    Data tab and the History table, not only in the console.
  • The mempool panel shows "unavailable" when its query fails, rather than
    an empty mempool, and no longer feeds zeros to alerts or history.
  • Pulse no longer scores a block producer's failed KES check as neutral.
  • The node version badge reads the node PoolTerminal is connected to, not
    whichever node on the host was found first.
  • Metrics: the Prometheus port is confirmed by its content, and a custom
    metrics prefix is detected, so panels no longer go silently empty.
  • The Logs blocklog path follows the Guild env's BLOCKLOG_DB, and cncli.db is
    opened read-only.

Changed

  • The mempool is shown in blocks (one block = 88 KB) on the Dashboard,
    its chart, the MAX column and the Relay tanks, instead of percentages that
    meant 2 blocks in one place and 1 block in another. The 2-block line is
    the one that matters network-wide: most pools run the default 2-block
    mempool, so from 2 blocks queued new transactions may be rejected across
    the network. Queue figures turn amber approaching 2 blocks and red at 2+,
    and the alert says so. Your own node's capacity fill (for example "0.6% of
    64 MB") is a small secondary line. The MAX column shows the all-time peak's
    date, and saved peaks are converted to blocks automatically.
  • SECURITY.md and the code review summary have been corrected: the review was
    AI-assisted, not an independent audit. See docs/security/.