From d4c877e0b4b2ba38a90584c0e93368f72792ab51 Mon Sep 17 00:00:00 2001
From: Jacco <4022046+basetunnel@users.noreply.github.com>
Date: Wed, 18 Mar 2026 14:43:08 +0100
Subject: [PATCH] Release 1.60.0.0
---
.../cardano-constitution.cabal | 18 +-
doc/docusaurus/docusaurus-examples.cabal | 32 ++--
plutus-benchmark/plutus-benchmark.cabal | 164 +++++++++---------
plutus-conformance/plutus-conformance.cabal | 10 +-
plutus-core/CHANGELOG.md | 12 ++
...0227_102126_unsafeFixIO_exec_serialised.md | 4 -
.../20260309_132321_unsafeFixIO_apply2case.md | 3 -
plutus-core/plutus-core.cabal | 22 +--
plutus-executables/plutus-executables.cabal | 18 +-
plutus-ledger-api/CHANGELOG.md | 13 ++
.../20260304_script_context_builder.md | 3 -
...how_instance_for_tokenname_assumes_utf8.md | 43 -----
plutus-ledger-api/plutus-ledger-api.cabal | 34 ++--
plutus-metatheory/CHANGELOG.md | 7 +
...0260316_190525_unsafeFixIO_uapplytocase.md | 3 -
plutus-metatheory/plutus-metatheory.cabal | 12 +-
plutus-tx-plugin/CHANGELOG.md | 16 ++
.../20260303_122044_unsafeFixIO_anchor.md | 9 -
...20260310_193430_unsafeFixIO_unsupported.md | 4 -
plutus-tx-plugin/plutus-tx-plugin.cabal | 30 ++--
plutus-tx/CHANGELOG.md | 9 +
...13_174459_unsafeFixIO_asdata_destructor.md | 5 -
plutus-tx/plutus-tx.cabal | 12 +-
23 files changed, 233 insertions(+), 250 deletions(-)
delete mode 100644 plutus-core/changelog.d/20260227_102126_unsafeFixIO_exec_serialised.md
delete mode 100644 plutus-core/changelog.d/20260309_132321_unsafeFixIO_apply2case.md
delete mode 100644 plutus-ledger-api/changelog.d/20260304_script_context_builder.md
delete mode 100644 plutus-ledger-api/changelog.d/20260316_110616_yuriy.lazaryev_issue_7638_show_instance_for_tokenname_assumes_utf8.md
delete mode 100644 plutus-metatheory/changelog.d/20260316_190525_unsafeFixIO_uapplytocase.md
delete mode 100644 plutus-tx-plugin/changelog.d/20260303_122044_unsafeFixIO_anchor.md
delete mode 100644 plutus-tx-plugin/changelog.d/20260310_193430_unsafeFixIO_unsupported.md
delete mode 100644 plutus-tx/changelog.d/20260313_174459_unsafeFixIO_asdata_destructor.md
diff --git a/cardano-constitution/cardano-constitution.cabal b/cardano-constitution/cardano-constitution.cabal
index ae4f066a8be..5ee23f3b036 100644
--- a/cardano-constitution/cardano-constitution.cabal
+++ b/cardano-constitution/cardano-constitution.cabal
@@ -1,6 +1,6 @@
cabal-version: 3.0
name: cardano-constitution
-version: 1.59.0.0
+version: 1.60.0.0
license: Apache-2.0
license-files:
LICENSE
@@ -86,10 +86,10 @@ library
, base >=4.9 && <5
, containers
, filepath
- , plutus-core ^>=1.59
- , plutus-ledger-api ^>=1.59
- , plutus-tx ^>=1.59
- , plutus-tx-plugin ^>=1.59
+ , plutus-core ^>=1.60
+ , plutus-ledger-api ^>=1.60
+ , plutus-tx ^>=1.60
+ , plutus-tx-plugin ^>=1.60
, regex-tdfa
, safe
, template-haskell
@@ -132,10 +132,10 @@ test-suite cardano-constitution-test
, containers
, directory
, filepath
- , plutus-core ^>=1.59
+ , plutus-core ^>=1.60
, plutus-core:plutus-core-testlib
- , plutus-ledger-api ^>=1.59
- , plutus-tx ^>=1.59
+ , plutus-ledger-api ^>=1.60
+ , plutus-tx ^>=1.60
, QuickCheck
, serialise
, tasty
@@ -152,4 +152,4 @@ executable create-json-envelope
build-depends:
, base
, cardano-constitution
- , plutus-ledger-api ^>=1.59
+ , plutus-ledger-api ^>=1.60
diff --git a/doc/docusaurus/docusaurus-examples.cabal b/doc/docusaurus/docusaurus-examples.cabal
index 448f61c7270..45291350b92 100644
--- a/doc/docusaurus/docusaurus-examples.cabal
+++ b/doc/docusaurus/docusaurus-examples.cabal
@@ -40,10 +40,10 @@ library docusaurus-code
build-depends:
, base >=4.9 && <5
- , plutus-core ^>=1.59
- , plutus-ledger-api ^>=1.59
- , plutus-tx ^>=1.59
- , plutus-tx-plugin ^>=1.59
+ , plutus-core ^>=1.60
+ , plutus-ledger-api ^>=1.60
+ , plutus-tx ^>=1.60
+ , plutus-tx-plugin ^>=1.60
executable example-cip57
import: lang, ghc-version-support, os-support
@@ -54,9 +54,9 @@ executable example-cip57
build-depends:
, base ^>=4.18
, containers
- , plutus-ledger-api ^>=1.59
- , plutus-tx ^>=1.59
- , plutus-tx-plugin ^>=1.59
+ , plutus-ledger-api ^>=1.60
+ , plutus-tx ^>=1.60
+ , plutus-tx-plugin ^>=1.60
executable example-evaluation
import: lang, ghc-version-support, os-support
@@ -66,9 +66,9 @@ executable example-evaluation
other-modules: Paths_docusaurus_examples
build-depends:
, base ^>=4.18
- , plutus-ledger-api ^>=1.59
- , plutus-tx ^>=1.59
- , plutus-tx-plugin ^>=1.59
+ , plutus-ledger-api ^>=1.60
+ , plutus-tx ^>=1.60
+ , plutus-tx-plugin ^>=1.60
, plutus-tx:plutus-tx-testlib
, text
@@ -87,9 +87,9 @@ executable example-builtin-array
build-depends:
, base ^>=4.18
, colourista
- , plutus-core ^>=1.59
- , plutus-tx ^>=1.59
- , plutus-tx-plugin ^>=1.59
+ , plutus-core ^>=1.60
+ , plutus-tx ^>=1.60
+ , plutus-tx-plugin ^>=1.60
, plutus-tx:plutus-tx-testlib
, text
@@ -109,6 +109,6 @@ executable quickstart
, base >=4.9 && <5
, base16-bytestring
, bytestring
- , plutus-ledger-api ^>=1.59
- , plutus-tx ^>=1.59
- , plutus-tx-plugin ^>=1.59
+ , plutus-ledger-api ^>=1.60
+ , plutus-tx ^>=1.60
+ , plutus-tx-plugin ^>=1.60
diff --git a/plutus-benchmark/plutus-benchmark.cabal b/plutus-benchmark/plutus-benchmark.cabal
index 5999ae510ab..f00e7de47ab 100644
--- a/plutus-benchmark/plutus-benchmark.cabal
+++ b/plutus-benchmark/plutus-benchmark.cabal
@@ -95,9 +95,9 @@ library plutus-benchmark-common
, deepseq
, directory
, filepath
- , plutus-core ^>=1.59
+ , plutus-core ^>=1.60
, plutus-core:flat
- , plutus-ledger-api ^>=1.59
+ , plutus-ledger-api ^>=1.60
, plutus-tx:plutus-tx-testlib
, tasty
, tasty-golden
@@ -124,9 +124,9 @@ library nofib-internal
, base >=4.9 && <5
, deepseq
, plutus-benchmark-common
- , plutus-core ^>=1.59
- , plutus-tx ^>=1.59
- , plutus-tx-plugin ^>=1.59
+ , plutus-core ^>=1.60
+ , plutus-tx ^>=1.60
+ , plutus-tx-plugin ^>=1.60
executable nofib-exe
import: lang, ghc-version-support, os-support
@@ -139,9 +139,9 @@ executable nofib-exe
, nofib-internal
, optparse-applicative
, plutus-benchmark-common
- , plutus-core ^>=1.59
+ , plutus-core ^>=1.60
, plutus-core:flat
- , plutus-tx ^>=1.59
+ , plutus-tx ^>=1.60
, prettyprinter
, transformers
@@ -179,9 +179,9 @@ test-suite plutus-benchmark-nofib-tests
, base >=4.9 && <5
, nofib-internal
, plutus-benchmark-common
- , plutus-core ^>=1.59
+ , plutus-core ^>=1.60
, plutus-core:plutus-core-testlib
- , plutus-tx ^>=1.59
+ , plutus-tx ^>=1.60
, plutus-tx:plutus-tx-testlib
, tasty
, tasty-hunit
@@ -208,9 +208,9 @@ library lists-internal
, base >=4.9 && <5
, mtl
, plutus-benchmark-common
- , plutus-core ^>=1.59
- , plutus-tx ^>=1.59
- , plutus-tx-plugin ^>=1.59
+ , plutus-core ^>=1.60
+ , plutus-tx ^>=1.60
+ , plutus-tx-plugin ^>=1.60
executable list-sort-exe
import: lang, ghc-version-support, os-support
@@ -221,7 +221,7 @@ executable list-sort-exe
, lists-internal
, monoidal-containers
, plutus-benchmark-common
- , plutus-core ^>=1.59
+ , plutus-core ^>=1.60
benchmark lists
import: lang, ghc-version-support, os-support
@@ -233,7 +233,7 @@ benchmark lists
, criterion >=1.5.9.0
, lists-internal
, plutus-benchmark-common
- , plutus-ledger-api ^>=1.59
+ , plutus-ledger-api ^>=1.60
test-suite plutus-benchmark-lists-tests
import: lang, ghc-version-support, os-support
@@ -250,8 +250,8 @@ test-suite plutus-benchmark-lists-tests
, base >=4.9 && <5
, lists-internal
, plutus-benchmark-common
- , plutus-core:plutus-core-testlib ^>=1.59
- , plutus-tx:plutus-tx-testlib ^>=1.59
+ , plutus-core:plutus-core-testlib ^>=1.60
+ , plutus-tx:plutus-tx-testlib ^>=1.60
, tasty
, tasty-quickcheck
@@ -265,7 +265,7 @@ library casing-internal
, base >=4.9 && <5
, mtl
, plutus-benchmark-common
- , plutus-core ^>=1.59
+ , plutus-core ^>=1.60
benchmark casing
import: lang, ghc-version-support, os-support
@@ -277,7 +277,7 @@ benchmark casing
, casing-internal
, criterion >=1.5.9.0
, plutus-benchmark-common
- , plutus-ledger-api ^>=1.59
+ , plutus-ledger-api ^>=1.60
---------------- data ----------------
@@ -290,7 +290,7 @@ library data-internal
, bytestring
, mtl
, plutus-benchmark-common
- , plutus-core ^>=1.59
+ , plutus-core ^>=1.60
benchmark data
import: lang, ghc-version-support, os-support
@@ -303,7 +303,7 @@ benchmark data
, criterion >=1.5.9.0
, data-internal
, plutus-benchmark-common
- , plutus-ledger-api ^>=1.59
+ , plutus-ledger-api ^>=1.60
---------------- force-delay ----------------
@@ -322,7 +322,7 @@ library force-delay-internal
, filepath
, optparse-applicative
, plutus-benchmark-common
- , plutus-core ^>=1.59
+ , plutus-core ^>=1.60
, plutus-core:flat
, text
@@ -335,8 +335,8 @@ benchmark force-delay
, base >=4.9 && <5
, force-delay-internal
, plutus-benchmark-common
- , plutus-core ^>=1.59
- , plutus-ledger-api ^>=1.59
+ , plutus-core ^>=1.60
+ , plutus-ledger-api ^>=1.60
---------------- validation ----------------
@@ -352,7 +352,7 @@ library validation-internal
, filepath
, optparse-applicative
, plutus-benchmark-common
- , plutus-core ^>=1.59
+ , plutus-core ^>=1.60
, plutus-core:flat
benchmark validation
@@ -363,8 +363,8 @@ benchmark validation
build-depends:
, base >=4.9 && <5
, plutus-benchmark-common
- , plutus-core ^>=1.59
- , plutus-ledger-api ^>=1.59
+ , plutus-core ^>=1.60
+ , plutus-ledger-api ^>=1.60
, validation-internal
test-suite validation-tests
@@ -379,10 +379,10 @@ test-suite validation-tests
, directory
, filepath
, plutus-benchmark-common
- , plutus-core ^>=1.59
+ , plutus-core ^>=1.60
, plutus-core:flat
, plutus-core:plutus-core-testlib
- , plutus-tx ^>=1.59
+ , plutus-tx ^>=1.60
, plutus-tx:plutus-tx-testlib
, tasty
, validation-internal
@@ -399,8 +399,8 @@ benchmark validation-decode
, bytestring
, criterion >=1.5.9.0
, deepseq
- , plutus-core ^>=1.59
- , plutus-ledger-api ^>=1.59
+ , plutus-core ^>=1.60
+ , plutus-ledger-api ^>=1.60
, validation-internal
---------------- validation-full ----------------
@@ -415,8 +415,8 @@ benchmark validation-full
, bytestring
, criterion >=1.5.9.0
, deepseq
- , plutus-core ^>=1.59
- , plutus-ledger-api ^>=1.59
+ , plutus-core ^>=1.60
+ , plutus-ledger-api ^>=1.60
, validation-internal
---------------- Cek cost model calibration ----------------
@@ -433,10 +433,10 @@ benchmark cek-calibration
, lens
, mtl
, plutus-benchmark-common
- , plutus-core ^>=1.59
- , plutus-ledger-api ^>=1.59
- , plutus-tx ^>=1.59
- , plutus-tx-plugin ^>=1.59
+ , plutus-core ^>=1.60
+ , plutus-ledger-api ^>=1.60
+ , plutus-tx ^>=1.60
+ , plutus-tx-plugin ^>=1.60
---------------- Signature verification throughput ----------------
@@ -452,9 +452,9 @@ executable ed25519-costs
, cardano-crypto-class
, hedgehog
, plutus-benchmark-common
- , plutus-core ^>=1.59
- , plutus-tx ^>=1.59
- , plutus-tx-plugin ^>=1.59
+ , plutus-core ^>=1.60
+ , plutus-tx ^>=1.60
+ , plutus-tx-plugin ^>=1.60
-- Calculate the predicted costs of sequences of ed25519 signature verification
-- operations and compare them with a golden file.
@@ -471,10 +471,10 @@ test-suite ed25519-costs-test
, cardano-crypto-class
, hedgehog
, plutus-benchmark-common
- , plutus-core ^>=1.59
+ , plutus-core ^>=1.60
, plutus-core:plutus-core-testlib
- , plutus-tx ^>=1.59
- , plutus-tx-plugin ^>=1.59
+ , plutus-tx ^>=1.60
+ , plutus-tx-plugin ^>=1.60
---------------- BLS12-381 experiments ----------------
@@ -492,10 +492,10 @@ library bls12-381lib-internal
, bytestring
, hedgehog
, plutus-benchmark-common
- , plutus-core ^>=1.59
- , plutus-ledger-api ^>=1.59
- , plutus-tx ^>=1.59
- , plutus-tx-plugin ^>=1.59
+ , plutus-core ^>=1.60
+ , plutus-ledger-api ^>=1.60
+ , plutus-tx ^>=1.60
+ , plutus-tx-plugin ^>=1.60
-- Print out predicted costs of various scripts involving BLS12-381 operations
executable bls12-381-costs
@@ -519,7 +519,7 @@ test-suite bls12-381-costs-test
, base >=4.9 && <5
, bls12-381lib-internal
, plutus-benchmark-common
- , plutus-core:plutus-core-testlib ^>=1.59
+ , plutus-core:plutus-core-testlib ^>=1.60
-- Run benchmarks for various scripts involving BLS12-381 operations
benchmark bls12-381-benchmarks
@@ -533,8 +533,8 @@ benchmark bls12-381-benchmarks
, bytestring
, criterion >=1.5.9.0
, plutus-benchmark-common
- , plutus-ledger-api ^>=1.59
- , plutus-tx ^>=1.59
+ , plutus-ledger-api ^>=1.60
+ , plutus-tx ^>=1.60
---------------- script contexts ----------------
@@ -551,9 +551,9 @@ library script-contexts-internal
build-depends:
, base >=4.9 && <5
- , plutus-ledger-api ^>=1.59
- , plutus-tx ^>=1.59
- , plutus-tx-plugin ^>=1.59
+ , plutus-ledger-api ^>=1.60
+ , plutus-tx ^>=1.60
+ , plutus-tx-plugin ^>=1.60
test-suite plutus-benchmark-script-contexts-tests
import: lang, ghc-version-support, os-support
@@ -569,8 +569,8 @@ test-suite plutus-benchmark-script-contexts-tests
build-depends:
, base >=4.9 && <5
, plutus-core:plutus-core-testlib
- , plutus-tx ^>=1.59
- , plutus-tx-plugin ^>=1.59
+ , plutus-tx ^>=1.60
+ , plutus-tx-plugin ^>=1.60
, plutus-tx:plutus-tx-testlib
, script-contexts-internal
, tasty
@@ -601,11 +601,11 @@ library marlowe-internal
, mtl
, newtype-generics
, plutus-benchmark-common
- , plutus-core ^>=1.59
- , plutus-ledger-api ^>=1.59
+ , plutus-core ^>=1.60
+ , plutus-ledger-api ^>=1.60
, plutus-ledger-api:plutus-execlib
- , plutus-tx ^>=1.59
- , plutus-tx-plugin ^>=1.59
+ , plutus-tx ^>=1.60
+ , plutus-tx-plugin ^>=1.60
, serialise
executable marlowe-validators
@@ -626,8 +626,8 @@ executable marlowe-validators
, filepath
, marlowe-internal
, plutus-benchmark-common
- , plutus-ledger-api ^>=1.59
- , plutus-tx ^>=1.59
+ , plutus-ledger-api ^>=1.60
+ , plutus-tx ^>=1.60
, serialise
benchmark marlowe
@@ -641,8 +641,8 @@ benchmark marlowe
, criterion
, marlowe-internal
, plutus-benchmark-common
- , plutus-ledger-api ^>=1.59
- , plutus-tx ^>=1.59
+ , plutus-ledger-api ^>=1.60
+ , plutus-tx ^>=1.60
test-suite plutus-benchmark-marlowe-tests
import: lang, ghc-version-support, os-support
@@ -659,9 +659,9 @@ test-suite plutus-benchmark-marlowe-tests
, marlowe-internal
, mtl
, plutus-benchmark-common
- , plutus-core ^>=1.59
+ , plutus-core ^>=1.60
, plutus-core:plutus-core-testlib
- , plutus-ledger-api ^>=1.59
+ , plutus-ledger-api ^>=1.60
, tabular
, tasty
, tasty-golden
@@ -679,8 +679,8 @@ library agda-internal
build-depends:
, base >=4.9 && <5
, criterion
- , plutus-core ^>=1.59
- , plutus-metatheory ^>=1.59
+ , plutus-core ^>=1.60
+ , plutus-metatheory ^>=1.60
benchmark validation-agda-cek
import: lang, ghc-version-support, os-support,
@@ -692,7 +692,7 @@ benchmark validation-agda-cek
, base >=4.9 && <5
, deepseq
, plutus-benchmark-common
- , plutus-core ^>=1.59
+ , plutus-core ^>=1.60
, validation-internal
benchmark nofib-agda-cek
@@ -720,8 +720,8 @@ benchmark marlowe-agda-cek
, criterion
, marlowe-internal
, plutus-benchmark-common
- , plutus-ledger-api ^>=1.59
- , plutus-tx ^>=1.59
+ , plutus-ledger-api ^>=1.60
+ , plutus-tx ^>=1.60
-------------------- bitwise -----------------------
@@ -737,8 +737,8 @@ library bitwise-internal
build-depends:
, base
- , plutus-tx ^>=1.59
- , plutus-tx-plugin ^>=1.59
+ , plutus-tx ^>=1.60
+ , plutus-tx-plugin ^>=1.60
test-suite bitwise-test
import: lang, ghc-version-support, os-support
@@ -750,8 +750,8 @@ test-suite bitwise-test
, bitwise-internal
, cryptohash-sha512
, ed25519
- , plutus-core:plutus-core-testlib ^>=1.59
- , plutus-tx ^>=1.59
+ , plutus-core:plutus-core-testlib ^>=1.60
+ , plutus-tx ^>=1.60
, plutus-tx:plutus-tx-testlib
, tasty
, tasty-hunit
@@ -766,7 +766,7 @@ benchmark bitwise-bench
, bitwise-internal
, criterion
, plutus-benchmark-common
- , plutus-tx ^>=1.59
+ , plutus-tx ^>=1.60
------------------ linear vesting -------------------
@@ -814,8 +814,8 @@ library coop
, lens
, memory
, plutus-ledger-api
- , plutus-tx ^>=1.59
- , plutus-tx-plugin ^>=1.59
+ , plutus-tx ^>=1.60
+ , plutus-tx-plugin ^>=1.60
, QuickCheck
test-suite coop-test
@@ -826,9 +826,9 @@ test-suite coop-test
build-depends:
, base >=4.9 && <5
, coop
- , plutus-core:plutus-core-testlib ^>=1.59
+ , plutus-core:plutus-core-testlib ^>=1.60
, plutus-ledger-api
- , plutus-tx ^>=1.59
+ , plutus-tx ^>=1.60
, plutus-tx:plutus-tx-testlib
, tasty
@@ -846,7 +846,7 @@ executable gen-coop-flat
, plutus-core
, plutus-core:flat
, plutus-ledger-api
- , plutus-tx ^>=1.59
+ , plutus-tx ^>=1.60
, plutus-tx:plutus-tx-testlib
------------------ linear vesting -------------------
@@ -859,7 +859,7 @@ test-suite linear-vesting-test
build-depends:
, base >=4.9 && <5
, linear-vesting-internal
- , plutus-core:plutus-core-testlib ^>=1.59
+ , plutus-core:plutus-core-testlib ^>=1.60
, plutus-tx:plutus-tx-testlib
, tasty
@@ -895,7 +895,7 @@ test-suite cardano-loans-test
build-depends:
, base >=4.9 && <5
, cardano-loans-internal
- , plutus-core:plutus-core-testlib ^>=1.59
+ , plutus-core:plutus-core-testlib ^>=1.60
, plutus-tx:plutus-tx-testlib
, tasty
@@ -932,7 +932,7 @@ executable uplc-evaluator
, directory
, filepath
, optparse-applicative
- , plutus-core ^>=1.59
+ , plutus-core ^>=1.60
, text
, uuid
, with-utf8
diff --git a/plutus-conformance/plutus-conformance.cabal b/plutus-conformance/plutus-conformance.cabal
index aafe69e8f94..89239b813b0 100644
--- a/plutus-conformance/plutus-conformance.cabal
+++ b/plutus-conformance/plutus-conformance.cabal
@@ -56,7 +56,7 @@ library
, base
, directory
, filepath
- , plutus-core ^>=1.59
+ , plutus-core ^>=1.60
, plutus-core:plutus-core-testlib
, tasty
, tasty-expected-failure
@@ -80,7 +80,7 @@ test-suite haskell-conformance
build-depends:
, base >=4.9 && <5
, plutus-conformance
- , plutus-core ^>=1.59
+ , plutus-core ^>=1.60
test-suite haskell-steppable-conformance
import: lang, os-support
@@ -92,7 +92,7 @@ test-suite haskell-steppable-conformance
build-depends:
, base >=4.9 && <5
, plutus-conformance
- , plutus-core ^>=1.59
+ , plutus-core ^>=1.60
test-suite agda-conformance
import: lang, os-support, ghc-version-support
@@ -105,6 +105,6 @@ test-suite agda-conformance
, aeson
, base >=4.9 && <5
, plutus-conformance
- , plutus-core ^>=1.59
- , plutus-metatheory ^>=1.59
+ , plutus-core ^>=1.60
+ , plutus-metatheory ^>=1.60
, transformers
diff --git a/plutus-core/CHANGELOG.md b/plutus-core/CHANGELOG.md
index 1beb983f15f..e04fc6d21c4 100644
--- a/plutus-core/CHANGELOG.md
+++ b/plutus-core/CHANGELOG.md
@@ -1,4 +1,16 @@
+
+# 1.60.0.0 — 2026-03-18
+
+## Added
+
+- A new UPLC optimization pass, turning multi-argument applications into case-constr form.
+
+## Changed
+
+- The `uplc` executable now accepts serialised scripts (in addition to textual
+ and flat-encoded). Use `--input-format serialised`.
+
# 1.59.0.0 — 2026-03-02
diff --git a/plutus-core/changelog.d/20260227_102126_unsafeFixIO_exec_serialised.md b/plutus-core/changelog.d/20260227_102126_unsafeFixIO_exec_serialised.md
deleted file mode 100644
index b99a473447c..00000000000
--- a/plutus-core/changelog.d/20260227_102126_unsafeFixIO_exec_serialised.md
+++ /dev/null
@@ -1,4 +0,0 @@
-### Changed
-
-- The `uplc` executable now accepts serialised scripts (in addition to textual
- and flat-encoded). Use `--input-format serialised`.
diff --git a/plutus-core/changelog.d/20260309_132321_unsafeFixIO_apply2case.md b/plutus-core/changelog.d/20260309_132321_unsafeFixIO_apply2case.md
deleted file mode 100644
index 527dddedf62..00000000000
--- a/plutus-core/changelog.d/20260309_132321_unsafeFixIO_apply2case.md
+++ /dev/null
@@ -1,3 +0,0 @@
-### Added
-
-- A new UPLC optimization pass, turning multi-argument applications into case-constr form.
diff --git a/plutus-core/plutus-core.cabal b/plutus-core/plutus-core.cabal
index ade3580b96a..2785476394d 100644
--- a/plutus-core/plutus-core.cabal
+++ b/plutus-core/plutus-core.cabal
@@ -1,6 +1,6 @@
cabal-version: 3.0
name: plutus-core
-version: 1.59.0.0
+version: 1.60.0.0
license: Apache-2.0
license-files:
LICENSE
@@ -397,7 +397,7 @@ test-suite plutus-core-test
, hedgehog
, mmorph
, mtl
- , plutus-core ^>=1.59
+ , plutus-core ^>=1.60
, plutus-core:flat
, plutus-core:plutus-core-testlib
, prettyprinter
@@ -494,7 +494,7 @@ library untyped-plutus-core-testlib
, lens
, megaparsec
, mtl
- , plutus-core ^>=1.59
+ , plutus-core ^>=1.60
, plutus-core:flat
, plutus-core:plutus-core-testlib
, pretty-show
@@ -601,7 +601,7 @@ library plutus-ir
, mtl
, multiset
, parser-combinators >=0.4.0
- , plutus-core ^>=1.59
+ , plutus-core ^>=1.60
, plutus-core:flat
, prettyprinter >=1.1.0.1
, profunctors
@@ -667,7 +667,7 @@ test-suite plutus-ir-test
, hedgehog
, lens
, mtl
- , plutus-core ^>=1.59
+ , plutus-core ^>=1.60
, plutus-core:flat
, plutus-core:plutus-core-testlib
, plutus-core:plutus-ir
@@ -747,7 +747,7 @@ library plutus-core-testlib
, mmorph
, mtl
, multiset
- , plutus-core ^>=1.59
+ , plutus-core ^>=1.60
, plutus-core:plutus-ir
, pretty-simple
, prettyprinter >=1.1.0.1
@@ -785,7 +785,7 @@ library plutus-ir-cert
exposed-modules: PlutusIR.Certifier
build-depends:
, base
- , plutus-core ^>=1.59
+ , plutus-core ^>=1.60
, plutus-core:plutus-ir
----------------------------------------------
@@ -832,7 +832,7 @@ executable cost-model-budgeting-bench
, hedgehog
, mtl
, optparse-applicative
- , plutus-core ^>=1.59
+ , plutus-core ^>=1.60
, QuickCheck
, quickcheck-instances
, random
@@ -871,7 +871,7 @@ executable generate-cost-model
, directory
, inline-r >=1.0.1
, optparse-applicative
- , plutus-core ^>=1.59
+ , plutus-core ^>=1.60
, text
-- , exceptions
@@ -915,7 +915,7 @@ benchmark cost-model-test
, hedgehog
, inline-r >=1.0.1
, mmorph
- , plutus-core ^>=1.59
+ , plutus-core ^>=1.60
, template-haskell
, text
@@ -932,7 +932,7 @@ executable print-cost-model
, aeson
, base >=4.9 && <5
, bytestring
- , plutus-core ^>=1.59
+ , plutus-core ^>=1.60
----------------------------------------------
-- satint
diff --git a/plutus-executables/plutus-executables.cabal b/plutus-executables/plutus-executables.cabal
index c17fe619acb..1514b361bae 100644
--- a/plutus-executables/plutus-executables.cabal
+++ b/plutus-executables/plutus-executables.cabal
@@ -1,6 +1,6 @@
cabal-version: 3.0
name: plutus-executables
-version: 1.59.0.0
+version: 1.60.0.0
synopsis: Tools for running plutus core programs
homepage: https://github.com/IntersectMBO/plutus
license: Apache-2.0
@@ -76,7 +76,7 @@ executable pir
, megaparsec
, mtl
, optparse-applicative
- , plutus-core ^>=1.59
+ , plutus-core ^>=1.60
, plutus-core:plutus-ir
, plutus-ledger-api:plutus-execlib
, text
@@ -91,7 +91,7 @@ executable plc
, bytestring
, mtl
, optparse-applicative
- , plutus-core ^>=1.59
+ , plutus-core ^>=1.60
, plutus-core:flat
, plutus-ledger-api:plutus-execlib
@@ -108,10 +108,10 @@ executable uplc
, haskeline
, mtl
, optparse-applicative
- , plutus-core ^>=1.59
+ , plutus-core ^>=1.60
, plutus-core:flat
, plutus-ledger-api:plutus-execlib
- , plutus-metatheory ^>=1.59
+ , plutus-metatheory ^>=1.60
, prettyprinter
, serialise
, split
@@ -166,7 +166,7 @@ executable plutus
, microlens-th ^>=0.4
, mono-traversable
, mtl
- , plutus-core ^>=1.59
+ , plutus-core ^>=1.60
, plutus-core:flat
, plutus-core:plutus-ir
, prettyprinter
@@ -192,7 +192,7 @@ test-suite test-simple
build-depends:
, base
, extra
- , plutus-metatheory ^>=1.59
+ , plutus-metatheory ^>=1.60
, process
build-tool-depends:
@@ -211,8 +211,8 @@ test-suite test-detailed
, directory
, extra
, filepath
- , plutus-core ^>=1.59
- , plutus-metatheory ^>=1.59
+ , plutus-core ^>=1.60
+ , plutus-metatheory ^>=1.60
, process
, tasty
, tasty-hunit
diff --git a/plutus-ledger-api/CHANGELOG.md b/plutus-ledger-api/CHANGELOG.md
index 75b896b9b0c..2f072b1e6f0 100644
--- a/plutus-ledger-api/CHANGELOG.md
+++ b/plutus-ledger-api/CHANGELOG.md
@@ -1,4 +1,17 @@
+
+# 1.60.0.0 — 2026-03-18
+
+## Added
+
+- Added `ScriptContextBuilder` test utility (`PlutusLedgerApi.Test.ScriptContextBuilder`) to `plutus-ledger-api-testlib` for constructing realistic `ScriptContext` values in tests using a composable builder pattern.
+
+## Fixed
+
+- Fixed `Show` instance for `TokenName` displaying non-printable token names as
+ seemingly empty strings. Token names are now always shown as hex-encoded bytes,
+ matching `CurrencySymbol` (#7638).
+
# 1.59.0.0 — 2026-03-02
diff --git a/plutus-ledger-api/changelog.d/20260304_script_context_builder.md b/plutus-ledger-api/changelog.d/20260304_script_context_builder.md
deleted file mode 100644
index e83ceef4dcc..00000000000
--- a/plutus-ledger-api/changelog.d/20260304_script_context_builder.md
+++ /dev/null
@@ -1,3 +0,0 @@
-### Added
-
-- Added `ScriptContextBuilder` test utility (`PlutusLedgerApi.Test.ScriptContextBuilder`) to `plutus-ledger-api-testlib` for constructing realistic `ScriptContext` values in tests using a composable builder pattern.
diff --git a/plutus-ledger-api/changelog.d/20260316_110616_yuriy.lazaryev_issue_7638_show_instance_for_tokenname_assumes_utf8.md b/plutus-ledger-api/changelog.d/20260316_110616_yuriy.lazaryev_issue_7638_show_instance_for_tokenname_assumes_utf8.md
deleted file mode 100644
index 1ea41891d84..00000000000
--- a/plutus-ledger-api/changelog.d/20260316_110616_yuriy.lazaryev_issue_7638_show_instance_for_tokenname_assumes_utf8.md
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
-
-
-
-
-### Fixed
-
-- Fixed `Show` instance for `TokenName` displaying non-printable token names as
- seemingly empty strings. Token names are now always shown as hex-encoded bytes,
- matching `CurrencySymbol` (#7638).
-
-
diff --git a/plutus-ledger-api/plutus-ledger-api.cabal b/plutus-ledger-api/plutus-ledger-api.cabal
index dcdff5a26ad..c6cbd17d8da 100644
--- a/plutus-ledger-api/plutus-ledger-api.cabal
+++ b/plutus-ledger-api/plutus-ledger-api.cabal
@@ -1,6 +1,6 @@
cabal-version: 3.0
name: plutus-ledger-api
-version: 1.59.0.0
+version: 1.60.0.0
license: Apache-2.0
license-files:
LICENSE
@@ -117,8 +117,8 @@ library
, lens
, mtl
, nothunks >=0.2 && <0.4
- , plutus-core ^>=1.59
- , plutus-tx ^>=1.59
+ , plutus-core ^>=1.60
+ , plutus-tx ^>=1.60
, prettyprinter
, serialise
, tagged
@@ -145,7 +145,7 @@ library plutus-execlib
, monoidal-containers
, mtl
, optparse-applicative
- , plutus-core ^>=1.59
+ , plutus-core ^>=1.60
, plutus-core:flat
, plutus-core:plutus-core-testlib
, plutus-core:plutus-ir
@@ -184,10 +184,10 @@ library plutus-ledger-api-testlib
, bytestring
, containers
, lens
- , plutus-core ^>=1.59
+ , plutus-core ^>=1.60
, plutus-core:plutus-core-testlib
- , plutus-ledger-api ^>=1.59
- , plutus-tx ^>=1.59
+ , plutus-ledger-api ^>=1.60
+ , plutus-tx ^>=1.60
, prettyprinter
, QuickCheck
, serialise
@@ -231,11 +231,11 @@ test-suite plutus-ledger-api-test
, lens
, mtl
, nothunks
- , plutus-core ^>=1.59
+ , plutus-core ^>=1.60
, plutus-core:plutus-core-testlib
- , plutus-ledger-api ^>=1.59
+ , plutus-ledger-api ^>=1.60
, plutus-ledger-api:plutus-ledger-api-testlib
- , plutus-tx ^>=1.59
+ , plutus-tx ^>=1.60
, plutus-tx:plutus-tx-testlib
, prettyprinter
, serialise
@@ -295,8 +295,8 @@ executable test-onchain-evaluation
, extra
, filepath
, mtl
- , plutus-core ^>=1.59
- , plutus-ledger-api ^>=1.59
+ , plutus-core ^>=1.60
+ , plutus-ledger-api ^>=1.60
, plutus-ledger-api:plutus-ledger-api-testlib
, serialise
, tasty
@@ -315,10 +315,10 @@ executable analyse-script-events
, filepath
, lens
, mtl
- , plutus-core ^>=1.59
- , plutus-ledger-api ^>=1.59
+ , plutus-core ^>=1.60
+ , plutus-ledger-api ^>=1.60
, plutus-ledger-api:plutus-ledger-api-testlib
- , plutus-tx ^>=1.59
+ , plutus-tx ^>=1.60
, primitive
, serialise
@@ -337,7 +337,7 @@ executable dump-cost-model-parameters
, containers
, extra
, optparse-applicative
- , plutus-core ^>=1.59
- , plutus-ledger-api ^>=1.59
+ , plutus-core ^>=1.60
+ , plutus-ledger-api ^>=1.60
, text
, vector
diff --git a/plutus-metatheory/CHANGELOG.md b/plutus-metatheory/CHANGELOG.md
index 49c75789c4f..c4066b312d9 100644
--- a/plutus-metatheory/CHANGELOG.md
+++ b/plutus-metatheory/CHANGELOG.md
@@ -1,4 +1,11 @@
+
+# 1.60.0.0 — 2026-03-18
+
+## Added
+
+- Translation relation and decision procedure for the `ApplyToCase` pass.
+
# 1.50.0.0 — 2025-07-22
diff --git a/plutus-metatheory/changelog.d/20260316_190525_unsafeFixIO_uapplytocase.md b/plutus-metatheory/changelog.d/20260316_190525_unsafeFixIO_uapplytocase.md
deleted file mode 100644
index 440bcb86fd7..00000000000
--- a/plutus-metatheory/changelog.d/20260316_190525_unsafeFixIO_uapplytocase.md
+++ /dev/null
@@ -1,3 +0,0 @@
-### Added
-
-- Translation relation and decision procedure for the `ApplyToCase` pass.
diff --git a/plutus-metatheory/plutus-metatheory.cabal b/plutus-metatheory/plutus-metatheory.cabal
index 6cbc763b26f..ea399a51e35 100644
--- a/plutus-metatheory/plutus-metatheory.cabal
+++ b/plutus-metatheory/plutus-metatheory.cabal
@@ -1,6 +1,6 @@
cabal-version: 3.0
name: plutus-metatheory
-version: 1.59.0.0
+version: 1.60.0.0
synopsis: Command line tool for running plutus core programs
homepage: https://github.com/IntersectMBO/plutus
license: Apache-2.0
@@ -86,7 +86,7 @@ library
, memory
, mtl
, optparse-applicative
- , plutus-core ^>=1.59
+ , plutus-core ^>=1.60
, plutus-ledger-api:plutus-execlib
, process
, text
@@ -393,7 +393,7 @@ executable plc-agda
main-is: Main.hs
build-depends:
, base
- , plutus-metatheory ^>=1.59
+ , plutus-metatheory ^>=1.60
test-suite test-NEAT
import: lang, os-support, ghc-version-support
@@ -406,9 +406,9 @@ test-suite test-NEAT
, data-default-class
, lazy-search
, mtl
- , plutus-core ^>=1.59
+ , plutus-core ^>=1.60
, plutus-core:plutus-core-testlib
- , plutus-metatheory ^>=1.59
+ , plutus-metatheory ^>=1.60
, size-based
, Stream
, tasty
@@ -430,7 +430,7 @@ test-suite test-certifier
, plutus-core
, plutus-core:plutus-core-testlib
, plutus-core:untyped-plutus-core-testlib
- , plutus-metatheory ^>=1.59
+ , plutus-metatheory ^>=1.60
, process
, tasty
, tasty-hunit
diff --git a/plutus-tx-plugin/CHANGELOG.md b/plutus-tx-plugin/CHANGELOG.md
index 68b2205126e..826c7d37c32 100644
--- a/plutus-tx-plugin/CHANGELOG.md
+++ b/plutus-tx-plugin/CHANGELOG.md
@@ -1,4 +1,20 @@
+
+# 1.60.0.0 — 2026-03-18
+
+## Added
+
+- Added `Plinth.Plugin`, which uses a `typeCheckResultAction` to preserve more
+ source locations, resulting in clearer error messages.
+
+## Changed
+
+- Improved compilation error messages by making them more concise and including
+ the relevant code snippet.
+
+- Improved error reporting in the Plinth compiler for certain unsupported Haskell features.
+ Requires compiling with `plinthc` or `plc` instead of `compile`.
+
# 1.58.0.0 — 2026-02-05
diff --git a/plutus-tx-plugin/changelog.d/20260303_122044_unsafeFixIO_anchor.md b/plutus-tx-plugin/changelog.d/20260303_122044_unsafeFixIO_anchor.md
deleted file mode 100644
index 90b26faa791..00000000000
--- a/plutus-tx-plugin/changelog.d/20260303_122044_unsafeFixIO_anchor.md
+++ /dev/null
@@ -1,9 +0,0 @@
-### Added
-
-- Added `Plinth.Plugin`, which uses a `typeCheckResultAction` to preserve more
- source locations, resulting in clearer error messages.
-
-### Changed
-
-- Improved compilation error messages by making them more concise and including
- the relevant code snippet.
diff --git a/plutus-tx-plugin/changelog.d/20260310_193430_unsafeFixIO_unsupported.md b/plutus-tx-plugin/changelog.d/20260310_193430_unsafeFixIO_unsupported.md
deleted file mode 100644
index bb987a6fcbe..00000000000
--- a/plutus-tx-plugin/changelog.d/20260310_193430_unsafeFixIO_unsupported.md
+++ /dev/null
@@ -1,4 +0,0 @@
-### Changed
-
-- Improved error reporting in the Plinth compiler for certain unsupported Haskell features.
- Requires compiling with `plinthc` or `plc` instead of `compile`.
diff --git a/plutus-tx-plugin/plutus-tx-plugin.cabal b/plutus-tx-plugin/plutus-tx-plugin.cabal
index d7446135f81..bfc203fdbd9 100644
--- a/plutus-tx-plugin/plutus-tx-plugin.cabal
+++ b/plutus-tx-plugin/plutus-tx-plugin.cabal
@@ -1,6 +1,6 @@
cabal-version: 3.0
name: plutus-tx-plugin
-version: 1.59.0.0
+version: 1.60.0.0
license: Apache-2.0
license-files:
LICENSE
@@ -89,11 +89,11 @@ library
, lens
, megaparsec
, mtl
- , plutus-core ^>=1.59
+ , plutus-core ^>=1.60
, plutus-core:flat
, plutus-core:plutus-ir
- , plutus-metatheory ^>=1.59
- , plutus-tx ^>=1.59
+ , plutus-metatheory ^>=1.60
+ , plutus-tx ^>=1.60
, prettyprinter
, template-haskell
, text
@@ -109,7 +109,7 @@ executable gen-plugin-opts-doc
, containers
, lens
, optparse-applicative
- , plutus-tx-plugin ^>=1.59
+ , plutus-tx-plugin ^>=1.60
, prettyprinter
, PyF >=0.11.1.0
, text
@@ -202,11 +202,11 @@ test-suite plutus-tx-plugin-tests
, hedgehog
, lens
, mtl
- , plutus-core ^>=1.59
+ , plutus-core ^>=1.60
, plutus-core:flat
, plutus-core:plutus-core-testlib
- , plutus-tx ^>=1.59
- , plutus-tx-plugin ^>=1.59
+ , plutus-tx ^>=1.60
+ , plutus-tx-plugin ^>=1.60
, plutus-tx:plutus-tx-testlib
, prettyprinter
, serialise
@@ -262,12 +262,12 @@ test-suite plutus-ledger-api-plugin-test
, filepath
, lens
, mtl
- , plutus-core ^>=1.59
+ , plutus-core ^>=1.60
, plutus-core:plutus-core-testlib
- , plutus-ledger-api ^>=1.59
+ , plutus-ledger-api ^>=1.60
, plutus-ledger-api:plutus-ledger-api-testlib
- , plutus-tx ^>=1.59
- , plutus-tx-plugin ^>=1.59
+ , plutus-tx ^>=1.60
+ , plutus-tx-plugin ^>=1.60
, plutus-tx:plutus-tx-testlib
, prettyprinter
, QuickCheck
@@ -286,10 +286,10 @@ test-suite size
hs-source-dirs: test/AstSize
build-depends:
, base >=4.9 && <5.0
- , plutus-core ^>=1.59
+ , plutus-core ^>=1.60
, plutus-core:plutus-core-testlib
- , plutus-tx ^>=1.59
- , plutus-tx-plugin ^>=1.59
+ , plutus-tx ^>=1.60
+ , plutus-tx-plugin ^>=1.60
, plutus-tx:plutus-tx-testlib
, tagged
, tasty
diff --git a/plutus-tx/CHANGELOG.md b/plutus-tx/CHANGELOG.md
index cc8549378bf..10534a9cefc 100644
--- a/plutus-tx/CHANGELOG.md
+++ b/plutus-tx/CHANGELOG.md
@@ -1,4 +1,13 @@
+
+# 1.60.0.0 — 2026-03-18
+
+## Added
+
+- `asData` now generates a destructor function for the data type, in addition to the
+ pattern synonyms. For sum types, it is better to use the destructor function than the
+ pattern synonyms to match on them.
+
# 1.59.0.0 — 2026-03-02
diff --git a/plutus-tx/changelog.d/20260313_174459_unsafeFixIO_asdata_destructor.md b/plutus-tx/changelog.d/20260313_174459_unsafeFixIO_asdata_destructor.md
deleted file mode 100644
index 6cdf51a7308..00000000000
--- a/plutus-tx/changelog.d/20260313_174459_unsafeFixIO_asdata_destructor.md
+++ /dev/null
@@ -1,5 +0,0 @@
-### Added
-
-- `asData` now generates a destructor function for the data type, in addition to the
- pattern synonyms. For sum types, it is better to use the destructor function than the
- pattern synonyms to match on them.
diff --git a/plutus-tx/plutus-tx.cabal b/plutus-tx/plutus-tx.cabal
index 3e98843b987..a3810969f33 100644
--- a/plutus-tx/plutus-tx.cabal
+++ b/plutus-tx/plutus-tx.cabal
@@ -1,6 +1,6 @@
cabal-version: 3.0
name: plutus-tx
-version: 1.59.0.0
+version: 1.60.0.0
license: Apache-2.0
license-files:
LICENSE
@@ -151,7 +151,7 @@ library
, lens
, memory
, mtl
- , plutus-core ^>=1.59
+ , plutus-core ^>=1.60
, plutus-core:flat
, plutus-core:plutus-ir
, prettyprinter
@@ -193,11 +193,11 @@ library plutus-tx-testlib
, hedgehog
, lens
, mtl
- , plutus-core ^>=1.59
+ , plutus-core ^>=1.60
, plutus-core:flat
, plutus-core:plutus-core-testlib
, plutus-core:plutus-ir
- , plutus-tx ^>=1.59
+ , plutus-tx ^>=1.60
, prettyprinter
, serialise
, tasty
@@ -250,9 +250,9 @@ test-suite plutus-tx-test
, hedgehog-fn
, lens
, mtl
- , plutus-core ^>=1.59
+ , plutus-core ^>=1.60
, plutus-core:plutus-core-testlib
- , plutus-tx ^>=1.59
+ , plutus-tx ^>=1.60
, plutus-tx:plutus-tx-testlib
, pretty-show
, serialise