Jun 16, 2-3 PM (34)
Jun 16, 3-4 PM (28)
Jun 16, 4-5 PM (37)
Jun 16, 5-6 PM (17)
Jun 16, 6-7 PM (26)
Jun 16, 7-8 PM (9)
Jun 16, 8-9 PM (11)
Jun 16, 9-10 PM (4)
Jun 16, 10-11 PM (31)
Jun 16, 11-12 AM (9)
Jun 17, 12-1 AM (8)
Jun 17, 1-2 AM (8)
Jun 17, 2-3 AM (11)
Jun 17, 3-4 AM (4)
Jun 17, 4-5 AM (1)
Jun 17, 5-6 AM (6)
Jun 17, 6-7 AM (99)
Jun 17, 7-8 AM (33)
Jun 17, 8-9 AM (23)
Jun 17, 9-10 AM (56)
Jun 17, 10-11 AM (18)
Jun 17, 11-12 PM (19)
Jun 17, 12-1 PM (57)
Jun 17, 1-2 PM (28)
Jun 17, 2-3 PM (37)
Jun 17, 3-4 PM (26)
Jun 17, 4-5 PM (19)
Jun 17, 5-6 PM (16)
Jun 17, 6-7 PM (10)
Jun 17, 7-8 PM (14)
Jun 17, 8-9 PM (12)
Jun 17, 9-10 PM (37)
Jun 17, 10-11 PM (29)
Jun 17, 11-12 AM (14)
Jun 18, 12-1 AM (12)
Jun 18, 1-2 AM (8)
Jun 18, 2-3 AM (5)
Jun 18, 3-4 AM (11)
Jun 18, 4-5 AM (11)
Jun 18, 5-6 AM (11)
Jun 18, 6-7 AM (10)
Jun 18, 7-8 AM (20)
Jun 18, 8-9 AM (83)
Jun 18, 9-10 AM (45)
Jun 18, 10-11 AM (51)
Jun 18, 11-12 PM (23)
Jun 18, 12-1 PM (67)
Jun 18, 1-2 PM (14)
Jun 18, 2-3 PM (53)
Jun 18, 3-4 PM (44)
Jun 18, 4-5 PM (64)
Jun 18, 5-6 PM (24)
Jun 18, 6-7 PM (21)
Jun 18, 7-8 PM (13)
Jun 18, 8-9 PM (17)
Jun 18, 9-10 PM (23)
Jun 18, 10-11 PM (30)
Jun 18, 11-12 AM (26)
Jun 19, 12-1 AM (13)
Jun 19, 1-2 AM (9)
Jun 19, 2-3 AM (5)
Jun 19, 3-4 AM (2)
Jun 19, 4-5 AM (11)
Jun 19, 5-6 AM (4)
Jun 19, 6-7 AM (92)
Jun 19, 7-8 AM (18)
Jun 19, 8-9 AM (38)
Jun 19, 9-10 AM (39)
Jun 19, 10-11 AM (27)
Jun 19, 11-12 PM (30)
Jun 19, 12-1 PM (53)
Jun 19, 1-2 PM (66)
Jun 19, 2-3 PM (32)
Jun 19, 3-4 PM (61)
Jun 19, 4-5 PM (9)
Jun 19, 5-6 PM (4)
Jun 19, 6-7 PM (17)
Jun 19, 7-8 PM (16)
Jun 19, 8-9 PM (11)
Jun 19, 9-10 PM (45)
Jun 19, 10-11 PM (30)
Jun 19, 11-12 AM (8)
Jun 20, 12-1 AM (4)
Jun 20, 1-2 AM (0)
Jun 20, 2-3 AM (4)
Jun 20, 3-4 AM (1)
Jun 20, 4-5 AM (8)
Jun 20, 5-6 AM (6)
Jun 20, 6-7 AM (6)
Jun 20, 7-8 AM (6)
Jun 20, 8-9 AM (2)
Jun 20, 9-10 AM (2)
Jun 20, 10-11 AM (0)
Jun 20, 11-12 PM (2)
Jun 20, 12-1 PM (7)
Jun 20, 1-2 PM (1)
Jun 20, 2-3 PM (9)
Jun 20, 3-4 PM (11)
Jun 20, 4-5 PM (1)
Jun 20, 5-6 PM (0)
Jun 20, 6-7 PM (2)
Jun 20, 7-8 PM (8)
Jun 20, 8-9 PM (7)
Jun 20, 9-10 PM (0)
Jun 20, 10-11 PM (17)
Jun 20, 11-12 AM (5)
Jun 21, 12-1 AM (14)
Jun 21, 1-2 AM (0)
Jun 21, 2-3 AM (1)
Jun 21, 3-4 AM (0)
Jun 21, 4-5 AM (1)
Jun 21, 5-6 AM (0)
Jun 21, 6-7 AM (9)
Jun 21, 7-8 AM (1)
Jun 21, 8-9 AM (2)
Jun 21, 9-10 AM (2)
Jun 21, 10-11 AM (1)
Jun 21, 11-12 PM (2)
Jun 21, 12-1 PM (0)
Jun 21, 1-2 PM (17)
Jun 21, 2-3 PM (4)
Jun 21, 3-4 PM (10)
Jun 21, 4-5 PM (4)
Jun 21, 5-6 PM (8)
Jun 21, 6-7 PM (7)
Jun 21, 7-8 PM (19)
Jun 21, 8-9 PM (0)
Jun 21, 9-10 PM (1)
Jun 21, 10-11 PM (15)
Jun 21, 11-12 AM (15)
Jun 22, 12-1 AM (12)
Jun 22, 1-2 AM (6)
Jun 22, 2-3 AM (9)
Jun 22, 3-4 AM (4)
Jun 22, 4-5 AM (2)
Jun 22, 5-6 AM (29)
Jun 22, 6-7 AM (17)
Jun 22, 7-8 AM (49)
Jun 22, 8-9 AM (90)
Jun 22, 9-10 AM (53)
Jun 22, 10-11 AM (64)
Jun 22, 11-12 PM (74)
Jun 22, 12-1 PM (47)
Jun 22, 1-2 PM (56)
Jun 22, 2-3 PM (119)
Jun 22, 3-4 PM (46)
Jun 22, 4-5 PM (49)
Jun 22, 5-6 PM (29)
Jun 22, 6-7 PM (33)
Jun 22, 7-8 PM (13)
Jun 22, 8-9 PM (13)
Jun 22, 9-10 PM (11)
Jun 22, 10-11 PM (32)
Jun 22, 11-12 AM (36)
Jun 23, 12-1 AM (18)
Jun 23, 1-2 AM (18)
Jun 23, 2-3 AM (23)
Jun 23, 3-4 AM (11)
Jun 23, 4-5 AM (13)
Jun 23, 5-6 AM (30)
Jun 23, 6-7 AM (27)
Jun 23, 7-8 AM (33)
Jun 23, 8-9 AM (28)
Jun 23, 9-10 AM (38)
Jun 23, 10-11 AM (60)
Jun 23, 11-12 PM (45)
Jun 23, 12-1 PM (44)
Jun 23, 1-2 PM (30)
Jun 23, 2-3 PM (10)
3,657 commits this week Jun 16, 2026 - Jun 23, 2026
Update 2026-06-23T15:23:31Z
added:
* github:input-output-hk/mithril/82c155f42055077fdcd09dc9ff4612c4d6f8b660#mithril-client-cli
* github:input-output-hk/mithril/82c155f42055077fdcd09dc9ff4612c4d6f8b660#mithril-signer
removed:
* github:input-output-hk/mithril/7202b15f98ed9f33f569f142df85d69a80bb19fb#mithril-client-cli
* github:input-output-hk/mithril/7202b15f98ed9f33f569f142df85d69a80bb19fb#mithril-signer
Add `genSnapShots` generator for mark, set and go `SnapShots` in `LedgerState`.
Implements `genSnapShots` in `Test.Cardano.Ledger.Conway.Gen.SnapShots`,
which generates a plausible `SnapShots` value from a `LedgerState` for
use in tests.

The base snapshot is derived from the current instant stake via
`snapShotFromInstantStake`. Mark, set, and go snapshots are then
produced by altering the base snapshot which randomly samples zero or
more of the following operations and applies them in sequence:

- New stake registration: introduce a fresh credential delegated to an existing pool
- Stake address deregistration: remove a credential from active stake
- Stake address redelegation: redirect an already-delegated credential to a different pool
- First delegation: delegate a registered-but-undelegated credential to a pool
- Stake pool registration: add a new pool
- Stake amount change: adjust the stake of an existing credential
- Pool deregistration (set/go only): remove a pool and all its delegators

Pool deregistration is excluded from the mark snapshot because the SNAP
rule (which records the current stake distribution) runs before POOLREAP
(which processes pool retirements that have reached their epoch) in the
epoch transition, so retiring pools are still visible in mark.
refactor: address Copilot review on /scripts/:script_hash/utxos
- Import `Amount` as a type-only import (used only as a type).
- Type `reference_script_hash` as non-null: the query inner-joins `script`
  and filters on its hash, so the column is always present.
- Simplify the `amount` array construction using the `...(row.amount ?? [])`
  pattern already used by /accounts/:stake_address/utxos.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
feat: add /scripts/:script_hash/utxos endpoint
Lists the UTXOs that hold a given script as a reference script (CIP-33),
so a script hash can be resolved directly to its deployment UTXOs for use
as reference inputs (CIP-31) — without knowing/enumerating the holding
address.

- paged route GET /scripts/:script_hash/utxos
- query uses consumed_by_tx_id IS NULL for spentness
- response mirrors /addresses/:address/utxos, minus the deprecated tx_index
- requires @blockfrost/openapi 0.1.90

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Silence the Vite source-map warning in the Evolution template
The template excludes @evolution-sdk/evolution from pre-bundling, so its transitive @scure/bip39 is served raw. That package ships sourceMappingURL comments without the .map files, so Vite logs a "Failed to load source map" warning on every transform. Pre-bundling just @scure/bip39 drops the dangling comments; cosmetic only, the app builds and runs the same either way. The README documents the optimizeDeps block so the include is not mistaken for cruft later.
docs: chore(release): merge back v2026-05-11 version bump (#5299) The `release-candidate/v2026-05-11` branch bumped the package version to `2026.5.11` for the v2026-05-11 release but was never merged back to master, so master is still at `2026.4.17`. This trips the cabal-version drift guard in `scripts/release/release-candidate.sh`, failing the nightly Release workflow every night since 2026-05-11 (it aborts in `prepare` before any build). This merges the bump back. The delta vs the merge-base is 33 one-line version-string changes (`*.cabal`, `README.md`, `run/common/docker/run.sh`, `specifications/api/swagger.yaml`); `git merge-tree` reports no conflicts. Source commit: eb09b3ce24bf8152569947146f0850b0731d0ad1
chore(release): merge back v2026-05-11 version bump (#5299)
The `release-candidate/v2026-05-11` branch bumped the package version to
`2026.5.11` for the v2026-05-11 release but was never merged back to
master, so master is still at `2026.4.17`. This trips the cabal-version
drift guard in `scripts/release/release-candidate.sh`, failing the
nightly Release workflow every night since 2026-05-11 (it aborts in
`prepare` before any build).

This merges the bump back. The delta vs the merge-base is 33 one-line
version-string changes (`*.cabal`, `README.md`,
`run/common/docker/run.sh`, `specifications/api/swagger.yaml`); `git
merge-tree` reports no conflicts.
Scope deposit/recover chain events to current head
  The deposit script address is global — every node sees every deposit on
  the network. The two chain input patterns for OnDepositTx and OnRecoverTx
  used a wildcard head state with no headId guard, causing nodes to track
  and persist deposits from unrelated heads, contaminating pendingDeposits
  and the chain state history.

  Fix the four deposit/recover patterns in handleChainInput to match on
  the current head state and compare headIds. Mismatches return Continue
  [] [] (silent no-op) rather than Error NotOurHead, since observing
  foreign deposits is expected and normal on a shared network. Add a
  defence-in-depth headId guard in aggregateNodeState so that old foreign
  DepositRecorded events replayed from pre-fix event logs are also ignored.

  Add tests covering: foreign deposits/recovers while Open are ignored,
  own-head deposit and recovery while Closed, post-fanout recovery while
  Idle, and that OnDepositTx while Idle is always a no-op.

Signed-off-by: Sasha Bogicevic <[email protected]>
fix(pkgmgr): forward stdin to hook scripts so nested TTYs work (#538)
runHookScript left cmd.Stdin unset, so hook scripts ran with stdin
connected to /dev/null and no controlling terminal. The cardano-node
preInstall hook shells out to the mithril-client wrapper, which runs
"docker run -ti ...". Without a real stdin the nested TTY allocation
breaks, leaving the terminal in a bad state and orphaning the
long-running snapshot download in the background. Running the same
command manually works because a real TTY is present.

Wire cmd.Stdin to os.Stdin so the hook and its child processes inherit
our controlling terminal, restoring the behavior that the PTY removal
in commit 6a4df21 regressed.

Add tests covering stdin forwarding, exit-code handling, and a
Linux-only PTY test that asserts a TTY stdin is visible to the hook's
child (with a non-TTY control). The PTY test uses golang.org/x/sys/unix
rather than re-adding a pty dependency.

Signed-off-by: Chris Guiney <[email protected]>
Co-authored-by: Claude Opus 4.8 (1M context) <[email protected]>
Bound uplc-evaluator integration test teardown and run it nightly (#7817)
* uplc-evaluator: bound service teardown, add timeout safety net

Test teardown ran terminateProcess followed by an unbounded
waitForProcess, so a spawned service that missed SIGTERM hung the run
until the 2h CI cap (plutus-private#2257). Bound the wait and escalate to
SIGKILL, add a per-test tasty timeout as a safety net, and a regression
test that drives a SIGTERM-ignoring process.

* uplc-evaluator: drop integration tests from the per-PR required gate

The uplc-evaluator is a non-critical on-demand tool, so its integration
tests need not gate every PR. The test executable is still built on every
PR; the suite is run nightly instead. See plutus-private#2257.

* nightly: run uplc-evaluator integration tests

See plutus-private#2257.

* address copilot review on PR #7817

- plutus-benchmark/uplc-evaluator/test/Harness.hs:126 — re-check getProcessExitCode before SIGKILL escalation (https://github.com/IntersectMBO/plutus/pull/7817#discussion_r3414323806)