Home / Input Output / plutus
Apr 20, 11-12 PM (2)
Apr 20, 12-1 PM (9)
Apr 20, 1-2 PM (4)
Apr 20, 2-3 PM (2)
Apr 20, 3-4 PM (2)
Apr 20, 4-5 PM (9)
Apr 20, 5-6 PM (1)
Apr 20, 6-7 PM (4)
Apr 20, 7-8 PM (3)
Apr 20, 8-9 PM (1)
Apr 20, 9-10 PM (0)
Apr 20, 10-11 PM (0)
Apr 20, 11-12 AM (0)
Apr 21, 12-1 AM (0)
Apr 21, 1-2 AM (0)
Apr 21, 2-3 AM (0)
Apr 21, 3-4 AM (0)
Apr 21, 4-5 AM (0)
Apr 21, 5-6 AM (0)
Apr 21, 6-7 AM (0)
Apr 21, 7-8 AM (5)
Apr 21, 8-9 AM (2)
Apr 21, 9-10 AM (0)
Apr 21, 10-11 AM (1)
Apr 21, 11-12 PM (3)
Apr 21, 12-1 PM (1)
Apr 21, 1-2 PM (1)
Apr 21, 2-3 PM (2)
Apr 21, 3-4 PM (0)
Apr 21, 4-5 PM (0)
Apr 21, 5-6 PM (0)
Apr 21, 6-7 PM (0)
Apr 21, 7-8 PM (0)
Apr 21, 8-9 PM (0)
Apr 21, 9-10 PM (0)
Apr 21, 10-11 PM (0)
Apr 21, 11-12 AM (0)
Apr 22, 12-1 AM (0)
Apr 22, 1-2 AM (0)
Apr 22, 2-3 AM (0)
Apr 22, 3-4 AM (0)
Apr 22, 4-5 AM (0)
Apr 22, 5-6 AM (0)
Apr 22, 6-7 AM (0)
Apr 22, 7-8 AM (0)
Apr 22, 8-9 AM (0)
Apr 22, 9-10 AM (0)
Apr 22, 10-11 AM (3)
Apr 22, 11-12 PM (2)
Apr 22, 12-1 PM (0)
Apr 22, 1-2 PM (6)
Apr 22, 2-3 PM (3)
Apr 22, 3-4 PM (0)
Apr 22, 4-5 PM (1)
Apr 22, 5-6 PM (0)
Apr 22, 6-7 PM (0)
Apr 22, 7-8 PM (0)
Apr 22, 8-9 PM (0)
Apr 22, 9-10 PM (0)
Apr 22, 10-11 PM (0)
Apr 22, 11-12 AM (0)
Apr 23, 12-1 AM (0)
Apr 23, 1-2 AM (0)
Apr 23, 2-3 AM (0)
Apr 23, 3-4 AM (0)
Apr 23, 4-5 AM (0)
Apr 23, 5-6 AM (0)
Apr 23, 6-7 AM (2)
Apr 23, 7-8 AM (1)
Apr 23, 8-9 AM (6)
Apr 23, 9-10 AM (3)
Apr 23, 10-11 AM (3)
Apr 23, 11-12 PM (3)
Apr 23, 12-1 PM (5)
Apr 23, 1-2 PM (3)
Apr 23, 2-3 PM (0)
Apr 23, 3-4 PM (3)
Apr 23, 4-5 PM (0)
Apr 23, 5-6 PM (0)
Apr 23, 6-7 PM (0)
Apr 23, 7-8 PM (0)
Apr 23, 8-9 PM (0)
Apr 23, 9-10 PM (0)
Apr 23, 10-11 PM (0)
Apr 23, 11-12 AM (1)
Apr 24, 12-1 AM (0)
Apr 24, 1-2 AM (0)
Apr 24, 2-3 AM (0)
Apr 24, 3-4 AM (0)
Apr 24, 4-5 AM (0)
Apr 24, 5-6 AM (0)
Apr 24, 6-7 AM (0)
Apr 24, 7-8 AM (0)
Apr 24, 8-9 AM (0)
Apr 24, 9-10 AM (3)
Apr 24, 10-11 AM (1)
Apr 24, 11-12 PM (4)
Apr 24, 12-1 PM (6)
Apr 24, 1-2 PM (5)
Apr 24, 2-3 PM (1)
Apr 24, 3-4 PM (4)
Apr 24, 4-5 PM (0)
Apr 24, 5-6 PM (1)
Apr 24, 6-7 PM (0)
Apr 24, 7-8 PM (0)
Apr 24, 8-9 PM (0)
Apr 24, 9-10 PM (0)
Apr 24, 10-11 PM (0)
Apr 24, 11-12 AM (0)
Apr 25, 12-1 AM (0)
Apr 25, 1-2 AM (0)
Apr 25, 2-3 AM (0)
Apr 25, 3-4 AM (0)
Apr 25, 4-5 AM (0)
Apr 25, 5-6 AM (0)
Apr 25, 6-7 AM (0)
Apr 25, 7-8 AM (0)
Apr 25, 8-9 AM (0)
Apr 25, 9-10 AM (0)
Apr 25, 10-11 AM (0)
Apr 25, 11-12 PM (0)
Apr 25, 12-1 PM (0)
Apr 25, 1-2 PM (0)
Apr 25, 2-3 PM (0)
Apr 25, 3-4 PM (0)
Apr 25, 4-5 PM (0)
Apr 25, 5-6 PM (0)
Apr 25, 6-7 PM (0)
Apr 25, 7-8 PM (0)
Apr 25, 8-9 PM (0)
Apr 25, 9-10 PM (0)
Apr 25, 10-11 PM (0)
Apr 25, 11-12 AM (0)
Apr 26, 12-1 AM (0)
Apr 26, 1-2 AM (0)
Apr 26, 2-3 AM (0)
Apr 26, 3-4 AM (0)
Apr 26, 4-5 AM (0)
Apr 26, 5-6 AM (0)
Apr 26, 6-7 AM (0)
Apr 26, 7-8 AM (0)
Apr 26, 8-9 AM (0)
Apr 26, 9-10 AM (0)
Apr 26, 10-11 AM (0)
Apr 26, 11-12 PM (0)
Apr 26, 12-1 PM (0)
Apr 26, 1-2 PM (0)
Apr 26, 2-3 PM (0)
Apr 26, 3-4 PM (0)
Apr 26, 4-5 PM (0)
Apr 26, 5-6 PM (0)
Apr 26, 6-7 PM (0)
Apr 26, 7-8 PM (0)
Apr 26, 8-9 PM (0)
Apr 26, 9-10 PM (0)
Apr 26, 10-11 PM (1)
Apr 26, 11-12 AM (1)
Apr 27, 12-1 AM (0)
Apr 27, 1-2 AM (1)
Apr 27, 2-3 AM (0)
Apr 27, 3-4 AM (0)
Apr 27, 4-5 AM (0)
Apr 27, 5-6 AM (0)
Apr 27, 6-7 AM (0)
Apr 27, 7-8 AM (0)
Apr 27, 8-9 AM (2)
Apr 27, 9-10 AM (0)
Apr 27, 10-11 AM (2)
Apr 27, 11-12 PM (0)
127 commits this week Apr 20, 2026 - Apr 27, 2026
Add negative golden tests for invalid-identifier parse errors (#7742)
Freeze the current (unhelpful) error output for three forms of invalid
UPLC identifier:
- `foo-bar`                — hyphen followed by non-digits
- `foo-123-456`            — double `-NNN` suffix
- `pubKeyHash-305478r71`   — hyphen + digits + more letters (the shape
  Scalus 0.16.0's `toUplcOptimized` emits, from issue #7742)

All three cases produce misleading diagnostics today — notably the
Scalus case reports the error 8+ characters past the offending name.
Capturing the status quo as goldens so that a follow-up improvement to
name-parser diagnostics shows up as an explicit golden-file diff.
Point parser diagnostics at the offending name (#7742)
When the unquoted-identifier parser finishes, require that the next char
is a real word-boundary (not another identifier char and not another
'-'). Otherwise the caller wrote something like `pubKeyHash-305478r71`,
`foo-bar` or `foo-123-456`: the '-NNN' we just consumed as the numeric
unique-suffix is not actually terminal, and the prefix interpretation
would silently mis-parse. Consume the remainder of the extended
identifier so the diagnostic can cite the full bad text, then raise a
new `InvalidIdentifier` custom parser error with a caret on the start
of the identifier and an actionable hint to quote it with backticks.

For the original Scalus 0.16.0 HTLC reproducer this changes the error
from `htlc.uplc:448:39: unexpected '(' expecting ')'` (on a lambda 8+
chars past the real site) to `htlc.uplc:447:41: Invalid identifier
'pubKeyHash-305478r71'` — on the offending name itself.

The three negative goldens added in the previous commit are updated to
the new message; all 3886 tests across plutus-core/untyped-plutus-core/
plutus-ir pass unchanged.
Point parser diagnostics at the offending name (#7742)
When the unquoted-identifier parser finishes, require that the next char
is a real word-boundary (not another identifier char and not another
'-'). Otherwise the caller wrote something like `pubKeyHash-305478r71`,
`foo-bar` or `foo-123-456`: the '-NNN' we just consumed as the numeric
unique-suffix is not actually terminal, and the prefix interpretation
would silently mis-parse. Consume the remainder of the extended
identifier so the diagnostic can cite the full bad text, then raise a
new `InvalidIdentifier` custom parser error with a caret on the start
of the identifier and an actionable hint to quote it with backticks.

For the original Scalus 0.16.0 HTLC reproducer this changes the error
from `htlc.uplc:448:39: unexpected '(' expecting ')'` (on a lambda 8+
chars past the real site) to `htlc.uplc:447:41: Invalid identifier
'pubKeyHash-305478r71'` — on the offending name itself.

The three negative goldens added in the previous commit are updated to
the new message; all 3886 tests across plutus-core/untyped-plutus-core/
plutus-ir pass unchanged.
Add negative golden tests for invalid-identifier parse errors (#7742)
Freeze the current (unhelpful) error output for three forms of invalid
UPLC identifier:
- `foo-bar`                — hyphen followed by non-digits
- `foo-123-456`            — double `-NNN` suffix
- `pubKeyHash-305478r71`   — hyphen + digits + more letters (the shape
  Scalus 0.16.0's `toUplcOptimized` emits, from issue #7742)

All three cases produce misleading diagnostics today — notably the
Scalus case reports the error 8+ characters past the offending name.
Capturing the status quo as goldens so that a follow-up improvement to
name-parser diagnostics shows up as an explicit golden-file diff.
scripts/interactive-release.sh: use path: prefix for flake refs
Nix's default `.#` flake ref treats the flake as a Git-tracked input; in
bare-repo + worktree setups this produces "Path 'flake.nix' is not
tracked" errors even though the file is tracked. The `path:` prefix
sidesteps Git and reads the directory directly, with identical output
in standard clones. Encountered during Plutus 1.62.0.0 release, step 6
(`publish-gh-release`).