From fdbde4b09fc76d7d7de8eafac1e55c095ebb9656 Mon Sep 17 00:00:00 2001 From: Yuriy Lazaryev Date: Fri, 24 Apr 2026 12:32:12 +0200 Subject: [PATCH] Release 1.62.0.0 --- .../cardano-constitution.cabal | 18 +- doc/docusaurus/docusaurus-examples.cabal | 32 ++-- plutus-benchmark/plutus-benchmark.cabal | 160 +++++++++--------- plutus-conformance/plutus-conformance.cabal | 10 +- plutus-core/CHANGELOG.md | 18 ++ ...20260407_164005_unsafeFixIO_letfloatout.md | 4 - .../20260415_075525_unsafeFixIO_cse.md | 3 - ...415_215659_ana.pantilie95_safe_opt_mode.md | 3 - ...103927_unsafeFixIO_unconditional_growth.md | 5 - plutus-core/plutus-core.cabal | 22 +-- plutus-executables/plutus-executables.cabal | 18 +- plutus-ledger-api/plutus-ledger-api.cabal | 34 ++-- plutus-metatheory/CHANGELOG.md | 11 ++ ...415_215838_ana.pantilie95_safe_opt_mode.md | 3 - ...95_move_casereduce_to_unimplementedcert.md | 3 - plutus-metatheory/plutus-metatheory.cabal | 14 +- plutus-tx-plugin/CHANGELOG.md | 12 ++ ...9_143605_unsafeFixIO_inlineable_no_more.md | 4 - ...415_215659_ana.pantilie95_safe_opt_mode.md | 3 - plutus-tx-plugin/plutus-tx-plugin.cabal | 34 ++-- plutus-tx/plutus-tx.cabal | 12 +- 21 files changed, 218 insertions(+), 205 deletions(-) delete mode 100644 plutus-core/changelog.d/20260407_164005_unsafeFixIO_letfloatout.md delete mode 100644 plutus-core/changelog.d/20260415_075525_unsafeFixIO_cse.md delete mode 100644 plutus-core/changelog.d/20260415_215659_ana.pantilie95_safe_opt_mode.md delete mode 100644 plutus-core/changelog.d/20260420_103927_unsafeFixIO_unconditional_growth.md delete mode 100644 plutus-metatheory/changelog.d/20260415_215838_ana.pantilie95_safe_opt_mode.md delete mode 100644 plutus-metatheory/changelog.d/20260420_202400_ana.pantilie95_move_casereduce_to_unimplementedcert.md delete mode 100644 plutus-tx-plugin/changelog.d/20260409_143605_unsafeFixIO_inlineable_no_more.md delete mode 100644 plutus-tx-plugin/changelog.d/20260415_215659_ana.pantilie95_safe_opt_mode.md diff --git a/cardano-constitution/cardano-constitution.cabal b/cardano-constitution/cardano-constitution.cabal index 20704e9d501..659315f6c48 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.61.0.0 +version: 1.62.0.0 license: Apache-2.0 license-files: LICENSE @@ -86,10 +86,10 @@ library , base >=4.9 && <5 , containers , filepath - , plutus-core ^>=1.61 - , plutus-ledger-api ^>=1.61 - , plutus-tx ^>=1.61 - , plutus-tx-plugin ^>=1.61 + , plutus-core ^>=1.62 + , plutus-ledger-api ^>=1.62 + , plutus-tx ^>=1.62 + , plutus-tx-plugin ^>=1.62 , regex-tdfa , safe , template-haskell @@ -132,10 +132,10 @@ test-suite cardano-constitution-test , containers , directory , filepath - , plutus-core ^>=1.61 + , plutus-core ^>=1.62 , plutus-core:plutus-core-testlib - , plutus-ledger-api ^>=1.61 - , plutus-tx ^>=1.61 + , plutus-ledger-api ^>=1.62 + , plutus-tx ^>=1.62 , QuickCheck , serialise , tasty @@ -152,4 +152,4 @@ executable create-json-envelope build-depends: , base , cardano-constitution - , plutus-ledger-api ^>=1.61 + , plutus-ledger-api ^>=1.62 diff --git a/doc/docusaurus/docusaurus-examples.cabal b/doc/docusaurus/docusaurus-examples.cabal index d447a3612e6..4a67c660563 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.61 - , plutus-ledger-api ^>=1.61 - , plutus-tx ^>=1.61 - , plutus-tx-plugin ^>=1.61 + , plutus-core ^>=1.62 + , plutus-ledger-api ^>=1.62 + , plutus-tx ^>=1.62 + , plutus-tx-plugin ^>=1.62 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.61 - , plutus-tx ^>=1.61 - , plutus-tx-plugin ^>=1.61 + , plutus-ledger-api ^>=1.62 + , plutus-tx ^>=1.62 + , plutus-tx-plugin ^>=1.62 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.61 - , plutus-tx ^>=1.61 - , plutus-tx-plugin ^>=1.61 + , plutus-ledger-api ^>=1.62 + , plutus-tx ^>=1.62 + , plutus-tx-plugin ^>=1.62 , plutus-tx:plutus-tx-testlib , text @@ -87,9 +87,9 @@ executable example-builtin-array build-depends: , base ^>=4.18 , colourista - , plutus-core ^>=1.61 - , plutus-tx ^>=1.61 - , plutus-tx-plugin ^>=1.61 + , plutus-core ^>=1.62 + , plutus-tx ^>=1.62 + , plutus-tx-plugin ^>=1.62 , plutus-tx:plutus-tx-testlib , text @@ -109,6 +109,6 @@ executable quickstart , base >=4.9 && <5 , base16-bytestring , bytestring - , plutus-ledger-api ^>=1.61 - , plutus-tx ^>=1.61 - , plutus-tx-plugin ^>=1.61 + , plutus-ledger-api ^>=1.62 + , plutus-tx ^>=1.62 + , plutus-tx-plugin ^>=1.62 diff --git a/plutus-benchmark/plutus-benchmark.cabal b/plutus-benchmark/plutus-benchmark.cabal index 9419a50514b..d1c28932a5d 100644 --- a/plutus-benchmark/plutus-benchmark.cabal +++ b/plutus-benchmark/plutus-benchmark.cabal @@ -97,9 +97,9 @@ library plutus-benchmark-common , deepseq , directory , filepath - , plutus-core ^>=1.61 + , plutus-core ^>=1.62 , plutus-core:flat - , plutus-ledger-api ^>=1.61 + , plutus-ledger-api ^>=1.62 , plutus-tx:plutus-tx-testlib , tasty , tasty-golden @@ -126,9 +126,9 @@ library nofib-internal , base >=4.9 && <5 , deepseq , plutus-benchmark-common - , plutus-core ^>=1.61 - , plutus-tx ^>=1.61 - , plutus-tx-plugin ^>=1.61 + , plutus-core ^>=1.62 + , plutus-tx ^>=1.62 + , plutus-tx-plugin ^>=1.62 executable nofib-exe import: lang, ghc-version-support, os-support @@ -141,9 +141,9 @@ executable nofib-exe , nofib-internal , optparse-applicative , plutus-benchmark-common - , plutus-core ^>=1.61 + , plutus-core ^>=1.62 , plutus-core:flat - , plutus-tx ^>=1.61 + , plutus-tx ^>=1.62 , prettyprinter , transformers @@ -181,9 +181,9 @@ test-suite plutus-benchmark-nofib-tests , base >=4.9 && <5 , nofib-internal , plutus-benchmark-common - , plutus-core ^>=1.61 + , plutus-core ^>=1.62 , plutus-core:plutus-core-testlib - , plutus-tx ^>=1.61 + , plutus-tx ^>=1.62 , plutus-tx:plutus-tx-testlib , tasty , tasty-hunit @@ -210,9 +210,9 @@ library lists-internal , base >=4.9 && <5 , mtl , plutus-benchmark-common - , plutus-core ^>=1.61 - , plutus-tx ^>=1.61 - , plutus-tx-plugin ^>=1.61 + , plutus-core ^>=1.62 + , plutus-tx ^>=1.62 + , plutus-tx-plugin ^>=1.62 executable list-sort-exe import: lang, ghc-version-support, os-support @@ -223,7 +223,7 @@ executable list-sort-exe , lists-internal , monoidal-containers , plutus-benchmark-common - , plutus-core ^>=1.61 + , plutus-core ^>=1.62 benchmark lists import: lang, ghc-version-support, os-support @@ -235,7 +235,7 @@ benchmark lists , criterion >=1.5.9.0 , lists-internal , plutus-benchmark-common - , plutus-ledger-api ^>=1.61 + , plutus-ledger-api ^>=1.62 test-suite plutus-benchmark-lists-tests import: lang, ghc-version-support, os-support @@ -252,8 +252,8 @@ test-suite plutus-benchmark-lists-tests , base >=4.9 && <5 , lists-internal , plutus-benchmark-common - , plutus-core:plutus-core-testlib ^>=1.61 - , plutus-tx:plutus-tx-testlib ^>=1.61 + , plutus-core:plutus-core-testlib ^>=1.62 + , plutus-tx:plutus-tx-testlib ^>=1.62 , tasty , tasty-quickcheck @@ -267,7 +267,7 @@ library casing-internal , base >=4.9 && <5 , mtl , plutus-benchmark-common - , plutus-core ^>=1.61 + , plutus-core ^>=1.62 benchmark casing import: lang, ghc-version-support, os-support @@ -279,7 +279,7 @@ benchmark casing , casing-internal , criterion >=1.5.9.0 , plutus-benchmark-common - , plutus-ledger-api ^>=1.61 + , plutus-ledger-api ^>=1.62 ---------------- data ---------------- @@ -292,7 +292,7 @@ library data-internal , bytestring , mtl , plutus-benchmark-common - , plutus-core ^>=1.61 + , plutus-core ^>=1.62 benchmark data import: lang, ghc-version-support, os-support @@ -305,7 +305,7 @@ benchmark data , criterion >=1.5.9.0 , data-internal , plutus-benchmark-common - , plutus-ledger-api ^>=1.61 + , plutus-ledger-api ^>=1.62 ---------------- force-delay ---------------- @@ -324,7 +324,7 @@ library force-delay-internal , filepath , optparse-applicative , plutus-benchmark-common - , plutus-core ^>=1.61 + , plutus-core ^>=1.62 , plutus-core:flat , text @@ -337,8 +337,8 @@ benchmark force-delay , base >=4.9 && <5 , force-delay-internal , plutus-benchmark-common - , plutus-core ^>=1.61 - , plutus-ledger-api ^>=1.61 + , plutus-core ^>=1.62 + , plutus-ledger-api ^>=1.62 ---------------- validation ---------------- @@ -354,7 +354,7 @@ library validation-internal , filepath , optparse-applicative , plutus-benchmark-common - , plutus-core ^>=1.61 + , plutus-core ^>=1.62 , plutus-core:flat benchmark validation @@ -365,8 +365,8 @@ benchmark validation build-depends: , base >=4.9 && <5 , plutus-benchmark-common - , plutus-core ^>=1.61 - , plutus-ledger-api ^>=1.61 + , plutus-core ^>=1.62 + , plutus-ledger-api ^>=1.62 , validation-internal test-suite validation-tests @@ -381,10 +381,10 @@ test-suite validation-tests , directory , filepath , plutus-benchmark-common - , plutus-core ^>=1.61 + , plutus-core ^>=1.62 , plutus-core:flat , plutus-core:plutus-core-testlib - , plutus-tx ^>=1.61 + , plutus-tx ^>=1.62 , plutus-tx:plutus-tx-testlib , tasty , validation-internal @@ -401,8 +401,8 @@ benchmark validation-decode , bytestring , criterion >=1.5.9.0 , deepseq - , plutus-core ^>=1.61 - , plutus-ledger-api ^>=1.61 + , plutus-core ^>=1.62 + , plutus-ledger-api ^>=1.62 , validation-internal ---------------- validation-full ---------------- @@ -417,8 +417,8 @@ benchmark validation-full , bytestring , criterion >=1.5.9.0 , deepseq - , plutus-core ^>=1.61 - , plutus-ledger-api ^>=1.61 + , plutus-core ^>=1.62 + , plutus-ledger-api ^>=1.62 , validation-internal ---------------- Cek cost model calibration ---------------- @@ -435,10 +435,10 @@ benchmark cek-calibration , lens , mtl , plutus-benchmark-common - , plutus-core ^>=1.61 - , plutus-ledger-api ^>=1.61 - , plutus-tx ^>=1.61 - , plutus-tx-plugin ^>=1.61 + , plutus-core ^>=1.62 + , plutus-ledger-api ^>=1.62 + , plutus-tx ^>=1.62 + , plutus-tx-plugin ^>=1.62 ---------------- Signature verification throughput ---------------- @@ -454,9 +454,9 @@ executable ed25519-costs , cardano-crypto-class , hedgehog , plutus-benchmark-common - , plutus-core ^>=1.61 - , plutus-tx ^>=1.61 - , plutus-tx-plugin ^>=1.61 + , plutus-core ^>=1.62 + , plutus-tx ^>=1.62 + , plutus-tx-plugin ^>=1.62 -- Calculate the predicted costs of sequences of ed25519 signature verification -- operations and compare them with a golden file. @@ -473,10 +473,10 @@ test-suite ed25519-costs-test , cardano-crypto-class , hedgehog , plutus-benchmark-common - , plutus-core ^>=1.61 + , plutus-core ^>=1.62 , plutus-core:plutus-core-testlib - , plutus-tx ^>=1.61 - , plutus-tx-plugin ^>=1.61 + , plutus-tx ^>=1.62 + , plutus-tx-plugin ^>=1.62 ---------------- BLS12-381 experiments ---------------- @@ -494,10 +494,10 @@ library bls12-381lib-internal , bytestring , hedgehog , plutus-benchmark-common - , plutus-core ^>=1.61 - , plutus-ledger-api ^>=1.61 - , plutus-tx ^>=1.61 - , plutus-tx-plugin ^>=1.61 + , plutus-core ^>=1.62 + , plutus-ledger-api ^>=1.62 + , plutus-tx ^>=1.62 + , plutus-tx-plugin ^>=1.62 -- Print out predicted costs of various scripts involving BLS12-381 operations executable bls12-381-costs @@ -521,7 +521,7 @@ test-suite bls12-381-costs-test , base >=4.9 && <5 , bls12-381lib-internal , plutus-benchmark-common - , plutus-core:plutus-core-testlib ^>=1.61 + , plutus-core:plutus-core-testlib ^>=1.62 -- Run benchmarks for various scripts involving BLS12-381 operations benchmark bls12-381-benchmarks @@ -535,8 +535,8 @@ benchmark bls12-381-benchmarks , bytestring , criterion >=1.5.9.0 , plutus-benchmark-common - , plutus-ledger-api ^>=1.61 - , plutus-tx ^>=1.61 + , plutus-ledger-api ^>=1.62 + , plutus-tx ^>=1.62 ---------------- script contexts ---------------- @@ -553,9 +553,9 @@ library script-contexts-internal build-depends: , base >=4.9 && <5 - , plutus-ledger-api ^>=1.61 - , plutus-tx ^>=1.61 - , plutus-tx-plugin ^>=1.61 + , plutus-ledger-api ^>=1.62 + , plutus-tx ^>=1.62 + , plutus-tx-plugin ^>=1.62 test-suite plutus-benchmark-script-contexts-tests import: lang, ghc-version-support, os-support @@ -571,8 +571,8 @@ test-suite plutus-benchmark-script-contexts-tests build-depends: , base >=4.9 && <5 , plutus-core:plutus-core-testlib - , plutus-tx ^>=1.61 - , plutus-tx-plugin ^>=1.61 + , plutus-tx ^>=1.62 + , plutus-tx-plugin ^>=1.62 , plutus-tx:plutus-tx-testlib , script-contexts-internal , tasty @@ -603,12 +603,12 @@ library marlowe-internal , mtl , newtype-generics , plutus-benchmark-common - , plutus-core ^>=1.61 + , plutus-core ^>=1.62 , plutus-core:flat - , plutus-ledger-api ^>=1.61 + , plutus-ledger-api ^>=1.62 , plutus-ledger-api:plutus-execlib - , plutus-tx ^>=1.61 - , plutus-tx-plugin ^>=1.61 + , plutus-tx ^>=1.62 + , plutus-tx-plugin ^>=1.62 , serialise executable marlowe-validators @@ -629,8 +629,8 @@ executable marlowe-validators , filepath , marlowe-internal , plutus-benchmark-common - , plutus-ledger-api ^>=1.61 - , plutus-tx ^>=1.61 + , plutus-ledger-api ^>=1.62 + , plutus-tx ^>=1.62 , serialise benchmark marlowe @@ -645,7 +645,7 @@ benchmark marlowe , filepath , marlowe-internal , plutus-benchmark-common - , plutus-ledger-api ^>=1.61 + , plutus-ledger-api ^>=1.62 test-suite plutus-benchmark-marlowe-tests import: lang, ghc-version-support, os-support @@ -662,9 +662,9 @@ test-suite plutus-benchmark-marlowe-tests , marlowe-internal , mtl , plutus-benchmark-common - , plutus-core ^>=1.61 + , plutus-core ^>=1.62 , plutus-core:plutus-core-testlib - , plutus-ledger-api ^>=1.61 + , plutus-ledger-api ^>=1.62 , tabular , tasty , tasty-golden @@ -682,8 +682,8 @@ library agda-internal build-depends: , base >=4.9 && <5 , criterion - , plutus-core ^>=1.61 - , plutus-metatheory ^>=1.61 + , plutus-core ^>=1.62 + , plutus-metatheory ^>=1.62 benchmark validation-agda-cek import: lang, ghc-version-support, os-support, @@ -695,7 +695,7 @@ benchmark validation-agda-cek , base >=4.9 && <5 , deepseq , plutus-benchmark-common - , plutus-core ^>=1.61 + , plutus-core ^>=1.62 , validation-internal benchmark nofib-agda-cek @@ -724,7 +724,7 @@ benchmark marlowe-agda-cek , filepath , marlowe-internal , plutus-benchmark-common - , plutus-ledger-api ^>=1.61 + , plutus-ledger-api ^>=1.62 -------------------- bitwise ----------------------- @@ -740,8 +740,8 @@ library bitwise-internal build-depends: , base - , plutus-tx ^>=1.61 - , plutus-tx-plugin ^>=1.61 + , plutus-tx ^>=1.62 + , plutus-tx-plugin ^>=1.62 test-suite bitwise-test import: lang, ghc-version-support, os-support @@ -753,8 +753,8 @@ test-suite bitwise-test , bitwise-internal , cryptohash-sha512 , ed25519 - , plutus-core:plutus-core-testlib ^>=1.61 - , plutus-tx ^>=1.61 + , plutus-core:plutus-core-testlib ^>=1.62 + , plutus-tx ^>=1.62 , plutus-tx:plutus-tx-testlib , tasty , tasty-hunit @@ -769,7 +769,7 @@ benchmark bitwise-bench , bitwise-internal , criterion , plutus-benchmark-common - , plutus-tx ^>=1.61 + , plutus-tx ^>=1.62 ------------------ linear vesting ------------------- @@ -817,8 +817,8 @@ library coop , lens , memory , plutus-ledger-api - , plutus-tx ^>=1.61 - , plutus-tx-plugin ^>=1.61 + , plutus-tx ^>=1.62 + , plutus-tx-plugin ^>=1.62 , QuickCheck test-suite coop-test @@ -829,9 +829,9 @@ test-suite coop-test build-depends: , base >=4.9 && <5 , coop - , plutus-core:plutus-core-testlib ^>=1.61 + , plutus-core:plutus-core-testlib ^>=1.62 , plutus-ledger-api - , plutus-tx ^>=1.61 + , plutus-tx ^>=1.62 , plutus-tx:plutus-tx-testlib , tasty @@ -849,7 +849,7 @@ executable gen-coop-flat , plutus-core , plutus-core:flat , plutus-ledger-api - , plutus-tx ^>=1.61 + , plutus-tx ^>=1.62 , plutus-tx:plutus-tx-testlib ------------------ linear vesting ------------------- @@ -862,7 +862,7 @@ test-suite linear-vesting-test build-depends: , base >=4.9 && <5 , linear-vesting-internal - , plutus-core:plutus-core-testlib ^>=1.61 + , plutus-core:plutus-core-testlib ^>=1.62 , plutus-tx:plutus-tx-testlib , tasty @@ -898,7 +898,7 @@ test-suite cardano-loans-test build-depends: , base >=4.9 && <5 , cardano-loans-internal - , plutus-core:plutus-core-testlib ^>=1.61 + , plutus-core:plutus-core-testlib ^>=1.62 , plutus-tx:plutus-tx-testlib , tasty @@ -935,7 +935,7 @@ executable uplc-evaluator , directory , filepath , optparse-applicative - , plutus-core ^>=1.61 + , plutus-core ^>=1.62 , text , uuid , with-utf8 diff --git a/plutus-conformance/plutus-conformance.cabal b/plutus-conformance/plutus-conformance.cabal index 377f7a2315e..0e6d0ab80db 100644 --- a/plutus-conformance/plutus-conformance.cabal +++ b/plutus-conformance/plutus-conformance.cabal @@ -56,7 +56,7 @@ library , base , directory , filepath - , plutus-core ^>=1.61 + , plutus-core ^>=1.62 , 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.61 + , plutus-core ^>=1.62 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.61 + , plutus-core ^>=1.62 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.61 - , plutus-metatheory ^>=1.61 + , plutus-core ^>=1.62 + , plutus-metatheory ^>=1.62 , transformers diff --git a/plutus-core/CHANGELOG.md b/plutus-core/CHANGELOG.md index 3d9a1b2ff4f..f7f6bcc3ce1 100644 --- a/plutus-core/CHANGELOG.md +++ b/plutus-core/CHANGELOG.md @@ -1,4 +1,22 @@ + +# 1.62.0.0 — 2026-04-24 + +## Added + +- A new UPLC optimization pass that floats bindings outwards. This can unlock further + optimizations, such as case-constr and force-delay cancellation. + +- Added a new command line option `--certified-opts-only` which disables those optimization passes which are not certified. + +- A new plugin flag `inline-unconditional-growth`, and a new UPLC executable flag + `opt-inline-unconditional-growth`. + They control the aggressiveness of unconditional inlining. + +## Changed + +- Improved the CSE pass to make it see through bindings. + # 1.61.0.0 — 2026-04-02 diff --git a/plutus-core/changelog.d/20260407_164005_unsafeFixIO_letfloatout.md b/plutus-core/changelog.d/20260407_164005_unsafeFixIO_letfloatout.md deleted file mode 100644 index 9bb7989cc61..00000000000 --- a/plutus-core/changelog.d/20260407_164005_unsafeFixIO_letfloatout.md +++ /dev/null @@ -1,4 +0,0 @@ -### Added - -- A new UPLC optimization pass that floats bindings outwards. This can unlock further - optimizations, such as case-constr and force-delay cancellation. diff --git a/plutus-core/changelog.d/20260415_075525_unsafeFixIO_cse.md b/plutus-core/changelog.d/20260415_075525_unsafeFixIO_cse.md deleted file mode 100644 index dbd69489f2a..00000000000 --- a/plutus-core/changelog.d/20260415_075525_unsafeFixIO_cse.md +++ /dev/null @@ -1,3 +0,0 @@ -### Changed - -- Improved the CSE pass to make it see through bindings. diff --git a/plutus-core/changelog.d/20260415_215659_ana.pantilie95_safe_opt_mode.md b/plutus-core/changelog.d/20260415_215659_ana.pantilie95_safe_opt_mode.md deleted file mode 100644 index a6d43d1b9fa..00000000000 --- a/plutus-core/changelog.d/20260415_215659_ana.pantilie95_safe_opt_mode.md +++ /dev/null @@ -1,3 +0,0 @@ -### Added - -- Added a new command line option `--certified-opts-only` which disables those optimization passes which are not certified. diff --git a/plutus-core/changelog.d/20260420_103927_unsafeFixIO_unconditional_growth.md b/plutus-core/changelog.d/20260420_103927_unsafeFixIO_unconditional_growth.md deleted file mode 100644 index 70dc0f3fdc6..00000000000 --- a/plutus-core/changelog.d/20260420_103927_unsafeFixIO_unconditional_growth.md +++ /dev/null @@ -1,5 +0,0 @@ -### Added - -- A new plugin flag `inline-unconditional-growth`, and a new UPLC executable flag - `opt-inline-unconditional-growth`. - They control the aggressiveness of unconditional inlining. diff --git a/plutus-core/plutus-core.cabal b/plutus-core/plutus-core.cabal index 0052d045aaa..606a69f515b 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.61.0.0 +version: 1.62.0.0 license: Apache-2.0 license-files: LICENSE @@ -400,7 +400,7 @@ test-suite plutus-core-test , hedgehog , mmorph , mtl - , plutus-core ^>=1.61 + , plutus-core ^>=1.62 , plutus-core:flat , plutus-core:plutus-core-testlib , prettyprinter @@ -497,7 +497,7 @@ library untyped-plutus-core-testlib , lens , megaparsec , mtl - , plutus-core ^>=1.61 + , plutus-core ^>=1.62 , plutus-core:flat , plutus-core:plutus-core-testlib , pretty-show @@ -605,7 +605,7 @@ library plutus-ir , mtl , multiset , parser-combinators >=0.4.0 - , plutus-core ^>=1.61 + , plutus-core ^>=1.62 , plutus-core:flat , prettyprinter >=1.1.0.1 , profunctors @@ -671,7 +671,7 @@ test-suite plutus-ir-test , hedgehog , lens , mtl - , plutus-core ^>=1.61 + , plutus-core ^>=1.62 , plutus-core:flat , plutus-core:plutus-core-testlib , plutus-core:plutus-ir @@ -751,7 +751,7 @@ library plutus-core-testlib , mmorph , mtl , multiset - , plutus-core ^>=1.61 + , plutus-core ^>=1.62 , plutus-core:plutus-ir , pretty-simple , prettyprinter >=1.1.0.1 @@ -789,7 +789,7 @@ library plutus-ir-cert exposed-modules: PlutusIR.Certifier build-depends: , base - , plutus-core ^>=1.61 + , plutus-core ^>=1.62 , plutus-core:plutus-ir ---------------------------------------------- @@ -836,7 +836,7 @@ executable cost-model-budgeting-bench , hedgehog , mtl , optparse-applicative - , plutus-core ^>=1.61 + , plutus-core ^>=1.62 , QuickCheck , quickcheck-instances , random @@ -875,7 +875,7 @@ executable generate-cost-model , directory , inline-r >=1.0.1 , optparse-applicative - , plutus-core ^>=1.61 + , plutus-core ^>=1.62 , text -- , exceptions @@ -919,7 +919,7 @@ benchmark cost-model-test , hedgehog , inline-r >=1.0.1 , mmorph - , plutus-core ^>=1.61 + , plutus-core ^>=1.62 , template-haskell , text @@ -936,7 +936,7 @@ executable print-cost-model , aeson , base >=4.9 && <5 , bytestring - , plutus-core ^>=1.61 + , plutus-core ^>=1.62 -- Golden file generator for Flat encoding stability tests. ---------------------------------------------- diff --git a/plutus-executables/plutus-executables.cabal b/plutus-executables/plutus-executables.cabal index 4c561276db1..c3dbcc1ed38 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.61.0.0 +version: 1.62.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.61 + , plutus-core ^>=1.62 , plutus-core:plutus-ir , plutus-ledger-api:plutus-execlib , text @@ -91,7 +91,7 @@ executable plc , bytestring , mtl , optparse-applicative - , plutus-core ^>=1.61 + , plutus-core ^>=1.62 , plutus-core:flat , plutus-ledger-api:plutus-execlib @@ -111,10 +111,10 @@ executable uplc , haskeline , mtl , optparse-applicative - , plutus-core ^>=1.61 + , plutus-core ^>=1.62 , plutus-core:flat , plutus-ledger-api:plutus-execlib - , plutus-metatheory ^>=1.61 + , plutus-metatheory ^>=1.62 , prettyprinter , serialise , split @@ -169,7 +169,7 @@ executable plutus , microlens-th ^>=0.4 , mono-traversable , mtl - , plutus-core ^>=1.61 + , plutus-core ^>=1.62 , plutus-core:flat , plutus-core:plutus-ir , prettyprinter @@ -195,7 +195,7 @@ test-suite test-simple build-depends: , base , extra - , plutus-metatheory ^>=1.61 + , plutus-metatheory ^>=1.62 , process build-tool-depends: @@ -214,8 +214,8 @@ test-suite test-detailed , directory , extra , filepath - , plutus-core ^>=1.61 - , plutus-metatheory ^>=1.61 + , plutus-core ^>=1.62 + , plutus-metatheory ^>=1.62 , process , tasty , tasty-hunit diff --git a/plutus-ledger-api/plutus-ledger-api.cabal b/plutus-ledger-api/plutus-ledger-api.cabal index 662f40594d8..ba0f475d954 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.61.0.0 +version: 1.62.0.0 license: Apache-2.0 license-files: LICENSE @@ -118,8 +118,8 @@ library , lens , mtl , nothunks >=0.2 && <0.4 - , plutus-core ^>=1.61 - , plutus-tx ^>=1.61 + , plutus-core ^>=1.62 + , plutus-tx ^>=1.62 , prettyprinter , serialise , tagged @@ -149,7 +149,7 @@ library plutus-execlib , monoidal-containers , mtl , optparse-applicative - , plutus-core ^>=1.61 + , plutus-core ^>=1.62 , plutus-core:flat , plutus-core:plutus-core-testlib , plutus-core:plutus-ir @@ -189,10 +189,10 @@ library plutus-ledger-api-testlib , bytestring , containers , lens - , plutus-core ^>=1.61 + , plutus-core ^>=1.62 , plutus-core:plutus-core-testlib - , plutus-ledger-api ^>=1.61 - , plutus-tx ^>=1.61 + , plutus-ledger-api ^>=1.62 + , plutus-tx ^>=1.62 , prettyprinter , QuickCheck , serialise @@ -236,11 +236,11 @@ test-suite plutus-ledger-api-test , lens , mtl , nothunks - , plutus-core ^>=1.61 + , plutus-core ^>=1.62 , plutus-core:plutus-core-testlib - , plutus-ledger-api ^>=1.61 + , plutus-ledger-api ^>=1.62 , plutus-ledger-api:plutus-ledger-api-testlib - , plutus-tx ^>=1.61 + , plutus-tx ^>=1.62 , plutus-tx:plutus-tx-testlib , prettyprinter , serialise @@ -300,8 +300,8 @@ executable test-onchain-evaluation , extra , filepath , mtl - , plutus-core ^>=1.61 - , plutus-ledger-api ^>=1.61 + , plutus-core ^>=1.62 + , plutus-ledger-api ^>=1.62 , plutus-ledger-api:plutus-ledger-api-testlib , serialise , tasty @@ -320,10 +320,10 @@ executable analyse-script-events , filepath , lens , mtl - , plutus-core ^>=1.61 - , plutus-ledger-api ^>=1.61 + , plutus-core ^>=1.62 + , plutus-ledger-api ^>=1.62 , plutus-ledger-api:plutus-ledger-api-testlib - , plutus-tx ^>=1.61 + , plutus-tx ^>=1.62 , primitive , serialise @@ -342,7 +342,7 @@ executable dump-cost-model-parameters , containers , extra , optparse-applicative - , plutus-core ^>=1.61 - , plutus-ledger-api ^>=1.61 + , plutus-core ^>=1.62 + , plutus-ledger-api ^>=1.62 , text , vector diff --git a/plutus-metatheory/CHANGELOG.md b/plutus-metatheory/CHANGELOG.md index 660f3cdf470..d9e02742a34 100644 --- a/plutus-metatheory/CHANGELOG.md +++ b/plutus-metatheory/CHANGELOG.md @@ -1,4 +1,15 @@ + +# 1.62.0.0 — 2026-04-24 + +## Removed + +- Temporarily disabled the CaseReduce certifier pass due to the discovery of bugs in the specification. + +## Fixed + +- The certifier reports now include the number of optimization sites for the force-case-delay pass as well. + # 1.61.0.0 — 2026-04-02 diff --git a/plutus-metatheory/changelog.d/20260415_215838_ana.pantilie95_safe_opt_mode.md b/plutus-metatheory/changelog.d/20260415_215838_ana.pantilie95_safe_opt_mode.md deleted file mode 100644 index 9393b44623c..00000000000 --- a/plutus-metatheory/changelog.d/20260415_215838_ana.pantilie95_safe_opt_mode.md +++ /dev/null @@ -1,3 +0,0 @@ -### Fixed - -- The certifier reports now include the number of optimization sites for the force-case-delay pass as well. diff --git a/plutus-metatheory/changelog.d/20260420_202400_ana.pantilie95_move_casereduce_to_unimplementedcert.md b/plutus-metatheory/changelog.d/20260420_202400_ana.pantilie95_move_casereduce_to_unimplementedcert.md deleted file mode 100644 index fb80c728a0c..00000000000 --- a/plutus-metatheory/changelog.d/20260420_202400_ana.pantilie95_move_casereduce_to_unimplementedcert.md +++ /dev/null @@ -1,3 +0,0 @@ -### Removed - -- Temporarily disabled the CaseReduce certifier pass due to the discovery of bugs in the specification. diff --git a/plutus-metatheory/plutus-metatheory.cabal b/plutus-metatheory/plutus-metatheory.cabal index b34fcaf1a82..018ad3c5fe0 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.61.0.0 +version: 1.62.0.0 synopsis: Command line tool for running plutus core programs homepage: https://github.com/IntersectMBO/plutus license: Apache-2.0 @@ -83,7 +83,7 @@ library , filepath , mtl , optparse-applicative - , plutus-core ^>=1.61 + , plutus-core ^>=1.62 , plutus-ledger-api , plutus-ledger-api:plutus-execlib , text @@ -394,7 +394,7 @@ executable plc-agda main-is: Main.hs build-depends: , base - , plutus-metatheory ^>=1.61 + , plutus-metatheory ^>=1.62 test-suite test-NEAT import: lang, os-support, ghc-version-support @@ -407,9 +407,9 @@ test-suite test-NEAT , data-default-class , lazy-search , mtl - , plutus-core ^>=1.61 + , plutus-core ^>=1.62 , plutus-core:plutus-core-testlib - , plutus-metatheory ^>=1.61 + , plutus-metatheory ^>=1.62 , tasty , tasty-hunit @@ -427,7 +427,7 @@ test-suite test-certifier , base , plutus-core , plutus-core:untyped-plutus-core-testlib - , plutus-metatheory ^>=1.61 + , plutus-metatheory ^>=1.62 , tasty , tasty-hunit , text @@ -450,7 +450,7 @@ test-suite test-certifier-report , plutus-core , plutus-ledger-api , plutus-ledger-api:plutus-execlib - , plutus-metatheory ^>=1.61 + , plutus-metatheory ^>=1.62 , plutus-tx , tasty , tasty-golden diff --git a/plutus-tx-plugin/CHANGELOG.md b/plutus-tx-plugin/CHANGELOG.md index 3cd821479f1..5a571204445 100644 --- a/plutus-tx-plugin/CHANGELOG.md +++ b/plutus-tx-plugin/CHANGELOG.md @@ -1,4 +1,16 @@ + +# 1.62.0.0 — 2026-04-24 + +## Added + +- Added a new plugin option `certified-opts-only` which disables those optimisation passes which are not certified to preserve the functional behavior of the original program. + +## Changed + +- The plugin now automatically inserts INLINEABLE pragmas. + Requires compiling with `plinthc` or `plc` instead of `compile`. + # 1.61.0.0 — 2026-04-02 diff --git a/plutus-tx-plugin/changelog.d/20260409_143605_unsafeFixIO_inlineable_no_more.md b/plutus-tx-plugin/changelog.d/20260409_143605_unsafeFixIO_inlineable_no_more.md deleted file mode 100644 index 7820fbfda30..00000000000 --- a/plutus-tx-plugin/changelog.d/20260409_143605_unsafeFixIO_inlineable_no_more.md +++ /dev/null @@ -1,4 +0,0 @@ -### Changed - -- The plugin now automatically inserts INLINEABLE pragmas. - Requires compiling with `plinthc` or `plc` instead of `compile`. diff --git a/plutus-tx-plugin/changelog.d/20260415_215659_ana.pantilie95_safe_opt_mode.md b/plutus-tx-plugin/changelog.d/20260415_215659_ana.pantilie95_safe_opt_mode.md deleted file mode 100644 index 121e724b00d..00000000000 --- a/plutus-tx-plugin/changelog.d/20260415_215659_ana.pantilie95_safe_opt_mode.md +++ /dev/null @@ -1,3 +0,0 @@ -### Added - -- Added a new plugin option `certified-opts-only` which disables those optimisation passes which are not certified to preserve the functional behavior of the original program. diff --git a/plutus-tx-plugin/plutus-tx-plugin.cabal b/plutus-tx-plugin/plutus-tx-plugin.cabal index 8b00accf204..d02deb707fc 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.61.0.0 +version: 1.62.0.0 license: Apache-2.0 license-files: LICENSE @@ -91,11 +91,11 @@ library , lens , megaparsec , mtl - , plutus-core ^>=1.61 + , plutus-core ^>=1.62 , plutus-core:flat , plutus-core:plutus-ir - , plutus-metatheory ^>=1.61 - , plutus-tx ^>=1.61 + , plutus-metatheory ^>=1.62 + , plutus-tx ^>=1.62 , prettyprinter , template-haskell , text @@ -111,7 +111,7 @@ executable gen-plugin-opts-doc , containers , lens , optparse-applicative - , plutus-tx-plugin ^>=1.61 + , plutus-tx-plugin ^>=1.62 , prettyprinter , PyF >=0.11.1.0 , text @@ -207,11 +207,11 @@ test-suite plutus-tx-plugin-tests , hedgehog , lens , mtl - , plutus-core ^>=1.61 + , plutus-core ^>=1.62 , plutus-core:flat , plutus-core:plutus-core-testlib - , plutus-tx ^>=1.61 - , plutus-tx-plugin ^>=1.61 + , plutus-tx ^>=1.62 + , plutus-tx-plugin ^>=1.62 , plutus-tx:plutus-tx-testlib , prettyprinter , serialise @@ -246,8 +246,8 @@ test-suite frontend-plugin-tests build-depends: , base >=4.9 && <5 , plutus-core:plutus-core-testlib - , plutus-tx ^>=1.61 - , plutus-tx-plugin ^>=1.61 + , plutus-tx ^>=1.62 + , plutus-tx-plugin ^>=1.62 , plutus-tx:plutus-tx-testlib , tasty @@ -288,12 +288,12 @@ test-suite plutus-ledger-api-plugin-test , filepath , lens , mtl - , plutus-core ^>=1.61 + , plutus-core ^>=1.62 , plutus-core:plutus-core-testlib - , plutus-ledger-api ^>=1.61 + , plutus-ledger-api ^>=1.62 , plutus-ledger-api:plutus-ledger-api-testlib - , plutus-tx ^>=1.61 - , plutus-tx-plugin ^>=1.61 + , plutus-tx ^>=1.62 + , plutus-tx-plugin ^>=1.62 , plutus-tx:plutus-tx-testlib , prettyprinter , QuickCheck @@ -312,10 +312,10 @@ test-suite size hs-source-dirs: test/AstSize build-depends: , base >=4.9 && <5.0 - , plutus-core ^>=1.61 + , plutus-core ^>=1.62 , plutus-core:plutus-core-testlib - , plutus-tx ^>=1.61 - , plutus-tx-plugin ^>=1.61 + , plutus-tx ^>=1.62 + , plutus-tx-plugin ^>=1.62 , plutus-tx:plutus-tx-testlib , tagged , tasty diff --git a/plutus-tx/plutus-tx.cabal b/plutus-tx/plutus-tx.cabal index 304932de737..3234e4c990f 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.61.0.0 +version: 1.62.0.0 license: Apache-2.0 license-files: LICENSE @@ -151,7 +151,7 @@ library , lens , memory , mtl - , plutus-core ^>=1.61 + , plutus-core ^>=1.62 , plutus-core:flat , plutus-core:plutus-ir , prettyprinter @@ -193,11 +193,11 @@ library plutus-tx-testlib , hedgehog , lens , mtl - , plutus-core ^>=1.61 + , plutus-core ^>=1.62 , plutus-core:flat , plutus-core:plutus-core-testlib , plutus-core:plutus-ir - , plutus-tx ^>=1.61 + , plutus-tx ^>=1.62 , prettyprinter , serialise , tasty @@ -250,9 +250,9 @@ test-suite plutus-tx-test , hedgehog-fn , lens , mtl - , plutus-core ^>=1.61 + , plutus-core ^>=1.62 , plutus-core:plutus-core-testlib - , plutus-tx ^>=1.61 + , plutus-tx ^>=1.62 , plutus-tx:plutus-tx-testlib , pretty-show , serialise