Add changelog fragment
Apr 13, 5-6 PM (25)
Apr 13, 6-7 PM (18)
Apr 13, 7-8 PM (13)
Apr 13, 8-9 PM (15)
Apr 13, 9-10 PM (22)
Apr 13, 10-11 PM (29)
Apr 13, 11-12 AM (13)
Apr 14, 12-1 AM (6)
Apr 14, 1-2 AM (8)
Apr 14, 2-3 AM (15)
Apr 14, 3-4 AM (4)
Apr 14, 4-5 AM (4)
Apr 14, 5-6 AM (63)
Apr 14, 6-7 AM (50)
Apr 14, 7-8 AM (101)
Apr 14, 8-9 AM (33)
Apr 14, 9-10 AM (21)
Apr 14, 10-11 AM (34)
Apr 14, 11-12 PM (42)
Apr 14, 12-1 PM (72)
Apr 14, 1-2 PM (96)
Apr 14, 2-3 PM (44)
Apr 14, 3-4 PM (35)
Apr 14, 4-5 PM (9)
Apr 14, 5-6 PM (20)
Apr 14, 6-7 PM (22)
Apr 14, 7-8 PM (14)
Apr 14, 8-9 PM (10)
Apr 14, 9-10 PM (11)
Apr 14, 10-11 PM (24)
Apr 14, 11-12 AM (24)
Apr 15, 12-1 AM (3)
Apr 15, 1-2 AM (9)
Apr 15, 2-3 AM (8)
Apr 15, 3-4 AM (1)
Apr 15, 4-5 AM (1)
Apr 15, 5-6 AM (32)
Apr 15, 6-7 AM (7)
Apr 15, 7-8 AM (25)
Apr 15, 8-9 AM (49)
Apr 15, 9-10 AM (40)
Apr 15, 10-11 AM (127)
Apr 15, 11-12 PM (53)
Apr 15, 12-1 PM (60)
Apr 15, 1-2 PM (43)
Apr 15, 2-3 PM (45)
Apr 15, 3-4 PM (29)
Apr 15, 4-5 PM (44)
Apr 15, 5-6 PM (21)
Apr 15, 6-7 PM (33)
Apr 15, 7-8 PM (15)
Apr 15, 8-9 PM (17)
Apr 15, 9-10 PM (5)
Apr 15, 10-11 PM (20)
Apr 15, 11-12 AM (16)
Apr 16, 12-1 AM (12)
Apr 16, 1-2 AM (6)
Apr 16, 2-3 AM (7)
Apr 16, 3-4 AM (3)
Apr 16, 4-5 AM (4)
Apr 16, 5-6 AM (8)
Apr 16, 6-7 AM (33)
Apr 16, 7-8 AM (32)
Apr 16, 8-9 AM (31)
Apr 16, 9-10 AM (27)
Apr 16, 10-11 AM (50)
Apr 16, 11-12 PM (56)
Apr 16, 12-1 PM (58)
Apr 16, 1-2 PM (30)
Apr 16, 2-3 PM (40)
Apr 16, 3-4 PM (46)
Apr 16, 4-5 PM (47)
Apr 16, 5-6 PM (56)
Apr 16, 6-7 PM (17)
Apr 16, 7-8 PM (68)
Apr 16, 8-9 PM (38)
Apr 16, 9-10 PM (11)
Apr 16, 10-11 PM (23)
Apr 16, 11-12 AM (23)
Apr 17, 12-1 AM (12)
Apr 17, 1-2 AM (8)
Apr 17, 2-3 AM (3)
Apr 17, 3-4 AM (4)
Apr 17, 4-5 AM (3)
Apr 17, 5-6 AM (9)
Apr 17, 6-7 AM (26)
Apr 17, 7-8 AM (96)
Apr 17, 8-9 AM (70)
Apr 17, 9-10 AM (53)
Apr 17, 10-11 AM (41)
Apr 17, 11-12 PM (58)
Apr 17, 12-1 PM (64)
Apr 17, 1-2 PM (39)
Apr 17, 2-3 PM (46)
Apr 17, 3-4 PM (36)
Apr 17, 4-5 PM (13)
Apr 17, 5-6 PM (9)
Apr 17, 6-7 PM (25)
Apr 17, 7-8 PM (22)
Apr 17, 8-9 PM (3)
Apr 17, 9-10 PM (16)
Apr 17, 10-11 PM (24)
Apr 17, 11-12 AM (16)
Apr 18, 12-1 AM (2)
Apr 18, 1-2 AM (2)
Apr 18, 2-3 AM (6)
Apr 18, 3-4 AM (1)
Apr 18, 4-5 AM (2)
Apr 18, 5-6 AM (2)
Apr 18, 6-7 AM (1)
Apr 18, 7-8 AM (2)
Apr 18, 8-9 AM (4)
Apr 18, 9-10 AM (4)
Apr 18, 10-11 AM (1)
Apr 18, 11-12 PM (6)
Apr 18, 12-1 PM (7)
Apr 18, 1-2 PM (8)
Apr 18, 2-3 PM (9)
Apr 18, 3-4 PM (0)
Apr 18, 4-5 PM (2)
Apr 18, 5-6 PM (6)
Apr 18, 6-7 PM (2)
Apr 18, 7-8 PM (2)
Apr 18, 8-9 PM (4)
Apr 18, 9-10 PM (9)
Apr 18, 10-11 PM (21)
Apr 18, 11-12 AM (23)
Apr 19, 12-1 AM (1)
Apr 19, 1-2 AM (4)
Apr 19, 2-3 AM (1)
Apr 19, 3-4 AM (0)
Apr 19, 4-5 AM (0)
Apr 19, 5-6 AM (2)
Apr 19, 6-7 AM (0)
Apr 19, 7-8 AM (2)
Apr 19, 8-9 AM (1)
Apr 19, 9-10 AM (1)
Apr 19, 10-11 AM (4)
Apr 19, 11-12 PM (7)
Apr 19, 12-1 PM (6)
Apr 19, 1-2 PM (8)
Apr 19, 2-3 PM (22)
Apr 19, 3-4 PM (7)
Apr 19, 4-5 PM (4)
Apr 19, 5-6 PM (3)
Apr 19, 6-7 PM (8)
Apr 19, 7-8 PM (3)
Apr 19, 8-9 PM (8)
Apr 19, 9-10 PM (6)
Apr 19, 10-11 PM (25)
Apr 19, 11-12 AM (23)
Apr 20, 12-1 AM (4)
Apr 20, 1-2 AM (5)
Apr 20, 2-3 AM (2)
Apr 20, 3-4 AM (7)
Apr 20, 4-5 AM (1)
Apr 20, 5-6 AM (6)
Apr 20, 6-7 AM (7)
Apr 20, 7-8 AM (29)
Apr 20, 8-9 AM (42)
Apr 20, 9-10 AM (36)
Apr 20, 10-11 AM (95)
Apr 20, 11-12 PM (42)
Apr 20, 12-1 PM (35)
Apr 20, 1-2 PM (53)
Apr 20, 2-3 PM (67)
Apr 20, 3-4 PM (45)
Apr 20, 4-5 PM (38)
Apr 20, 5-6 PM (10)
3,795 commits this week
Apr 13, 2026
-
Apr 20, 2026
Adapt to cli version automatically
Adapt to the cli version automatically
Adapt to cli version automatically
Adapt to the cli version automatically
docs: Update CI documentation and benchmark history
fix: scope test temp dirs to RUNNER_TEMP instead of globbing shared /tmp (#5239)
## Problem
The CI build host (`zur1-s-d-029`) runs ~28 GHA self-hosted runners
as a single user against **one shared tmpfs `/tmp`**. Any job running
`rm -rf /tmp/e2e-* /tmp/test-cluster*` on `if: always()` will wipe
sibling runners' **live** VolatileDB files.
Under UTxO-HD (cardano-node >= 10.7.0) the consensus layer re-opens
VolatileDB files by path through `fs-api`, so an unlinked
`blocks-*.dat` now crashes the node with
`ApiMisuse (ClosedDBError (UnexpectedFailure (FileSystemError
FsResourceDoesNotExist …)))`
instead of tolerating the unlink via open fd's.
This reproduced on master (`253d290bfd`) — Conway Integration Tests
crashed at 15:46:43 UTC on 2026-04-20 with two pool nodes failing
simultaneously on
`/tmp/test-cluster436150/pool-*/db/volatile/blocks-0.dat`.
See also upstream ouroboros-consensus#1991.
## Fix
- Set `TMPDIR: ${{ runner.temp }}` on every job that launches a local
test cluster or E2E run. `$RUNNER_TEMP` is per-job, per-runner, and
auto-cleaned by the runner service between jobs, so clusters live
in a private directory that sibling runners cannot touch.
- Drop the pre-existing dangerous cleanup in
`.github/workflows/linux-e2e.yml` and `.github/workflows/release.yml`
— `$RUNNER_TEMP` makes them redundant.
- Replace the shared fixed path `TMPDIR: /tmp/gha-bench` in
`linux-benchmarks.yml` and `restoration-benchmarks.yml` for the
same reason.
No new cleanup steps are introduced.
Remove `allowLeftOver` flag from `binaryGetDecoder` and simplify IP address decoders
No longer allow leftover bytes when decoding IPv4/IPv6 addresses regardless of decoder version.
fix: correct CBOR encoding and decoding for negative big ints (#41)
* fix: correct CBOR encoding and decoding for negative big ints Signed-off-by: Jonathan Lim <[email protected]> * fix: use alloc_integer instead of alloc Signed-off-by: Jonathan Lim <[email protected]> * chore: formatting Signed-off-by: Jonathan Lim <[email protected]> * chore: added tests showing the negative bigint handling Signed-off-by: Jonathan Lim <[email protected]> * style: formatting Signed-off-by: Jonathan Lim <[email protected]> --------- Signed-off-by: Jonathan Lim <[email protected]>
add Plutus Benchmarks (customSmallerIsBetter) benchmark result for edf4c582f4c245922c5dc3285482454716599edb
Remove trailing whitespace from CDDL files
Add huddleCodecSpec{Full,NoAnn} test harnesses.
Apply these to Redeemers.
Deploying to gh-pages from @ IntersectMBO/plutus@edf4c582f4c245922c5dc3285482454716599edb 🚀
fix: scope test temp dirs to RUNNER_TEMP instead of globbing shared /tmp
The build host runs ~28 GHA runners as a single user against one tmpfs /tmp, so any job running `rm -rf /tmp/e2e-* /tmp/test-cluster*` on `if: always()` wipes sibling runners' live VolatileDB files. Under UTxO-HD (node >= 10.7.0) the consensus layer re-opens these files by path and crashes with `FsResourceDoesNotExist` instead of tolerating the unlink via open fd's, which manifested as the Conway Integration Tests failure on master at 253d290bfd. Point TMPDIR at \$RUNNER_TEMP — per-job, per-runner, auto-cleaned by the runner service — so test clusters live in a private directory that sibling runners cannot touch. Drop the now-redundant (and dangerous) `rm -rf /tmp/...` cleanup steps from linux-e2e and release. Replace the shared `/tmp/gha-bench` fixed path in benchmarks with RUNNER_TEMP for the same reason.
Remove `allowLeftOver` flag from `binaryGetDecoder` and simplify IP address decoders
No longer allow leftover bytes when decoding IPv4/IPv6 addresses regardless of decoder version.
Remove trailing whitespace from CDDL files
refactor(ledger): add applyEraTransition function to encapulate all era rollovers
Signed-off-by: Chris Guiney <[email protected]>
Remove accidentally added code
Add `inline-unconditional-growth` flag, controlling aggressiveness of unconditional inlining
Reference published log-tailer image in testnet compose
Switches log-tailer to ghcr.io/cardano-foundation/cardano-node-antithesis/log-tailer:a7d1d7d (built from the previous commit). Antithesis cannot pull docker.io/alpine via its pull-through mirror, so the service needs a pre-published image.
Add log-tailer component with Dockerfile
Moves log-tailer.sh to components/log-tailer/ and adds an alpine-based Dockerfile so the image can be built and published via publish-images CI. Antithesis registry mirror only resolves pre-mirrored images, so a dedicated ghcr.io image is required.
clean docs in such a way it is refreshed every merge to master
Update head.hackage hash
This should fix the following error:
error: hash mismatch in fixed-output derivation '/nix/store/nzqbf3y4kqanwi2rq5h1n27qglhlmvmk-head.hackage.ghc.haskell.org.drv':
specified: sha256-7jhEysaHgczdNolOCuE9K6ZpLD3KJzsGSlgPHlZOvlg=
got: sha256-yFGpWo9ulwBEUyzTLKJBtbCWi7Ly4NEtocBRogdew9g=
Remove `allowLeftOver` flag from `binaryGetDecoder` and simplify IP address decoders
No longer allow leftover bytes when decoding IPv4/IPv6 addresses regardless of decoder version.
fix: scope test temp dirs to RUNNER_TEMP instead of globbing shared /tmp
The build host runs ~28 GHA runners as a single user against one tmpfs /tmp, so any job running `rm -rf /tmp/e2e-* /tmp/test-cluster*` on `if: always()` wipes sibling runners' live VolatileDB files. Under UTxO-HD (node >= 10.7.0) the consensus layer re-opens these files by path and crashes with `FsResourceDoesNotExist` instead of tolerating the unlink via open fd's, which manifested as the Conway Integration Tests failure on master at 253d290bfd. Point TMPDIR at \$RUNNER_TEMP — per-job, per-runner, auto-cleaned by the runner service — so test clusters live in a private directory that sibling runners cannot touch. Drop the now-redundant (and dangerous) `rm -rf /tmp/...` cleanup steps from linux-e2e and release. Replace the shared `/tmp/gha-bench` fixed path in benchmarks with RUNNER_TEMP for the same reason.