From c013014ca30e9d058c3c0b8075087e32b31dd3de Mon Sep 17 00:00:00 2001 From: Kenneth MacKenzie Date: Tue, 4 Jun 2024 14:23:01 +0100 Subject: [PATCH] Release 1.29.0.0 (#6170) --- doc/read-the-docs-site/plutus-doc.cabal | 14 +-- plutus-benchmark/plutus-benchmark.cabal | 118 +++++++++--------- plutus-conformance/plutus-conformance.cabal | 8 +- plutus-core/CHANGELOG.md | 28 +++++ ...0240517_094957_unsafeFixIO_v2_new_prims.md | 5 - ...03_effectfully_polish_evaluation_errors.md | 7 -- ...92738_effectfully_remove_UnknownBuiltin.md | 3 - ...mackenzie_provisional_conway_cost_model.md | 7 -- ...fully_polish_handling_of_integral_types.md | 7 -- ...h.mackenzie_reduce_cek_cpu_step_costs_B.md | 4 - plutus-core/plutus-core.cabal | 42 +++---- plutus-ledger-api/CHANGELOG.md | 25 ++++ .../20240429_121642_unsafeFixIO_69.md | 7 -- ...mackenzie_provisional_conway_cost_model.md | 10 -- .../20240530_113312_unsafeFixIO_unit.md | 6 - plutus-ledger-api/plutus-ledger-api.cabal | 36 +++--- plutus-metatheory/plutus-metatheory.cabal | 12 +- plutus-tx-plugin/plutus-tx-plugin.cabal | 20 +-- plutus-tx-test-util/plutus-tx-test-util.cabal | 4 +- plutus-tx/CHANGELOG.md | 15 +++ ...d_ToBuiltin_into_IsBuiltin_and_IsOpaque.md | 5 - ...16_215552_ana.pantilie95_data_assoclist.md | 7 -- plutus-tx/plutus-tx.cabal | 12 +- .../prettyprinter-configurable.cabal | 4 +- 24 files changed, 203 insertions(+), 203 deletions(-) delete mode 100644 plutus-core/changelog.d/20240517_094957_unsafeFixIO_v2_new_prims.md delete mode 100644 plutus-core/changelog.d/20240517_191403_effectfully_polish_evaluation_errors.md delete mode 100644 plutus-core/changelog.d/20240520_192738_effectfully_remove_UnknownBuiltin.md delete mode 100644 plutus-core/changelog.d/20240522_211822_kenneth.mackenzie_provisional_conway_cost_model.md delete mode 100644 plutus-core/changelog.d/20240529_153319_effectfully_polish_handling_of_integral_types.md delete mode 100644 plutus-core/changelog.d/20240530_123928_kenneth.mackenzie_reduce_cek_cpu_step_costs_B.md delete mode 100644 plutus-ledger-api/changelog.d/20240429_121642_unsafeFixIO_69.md delete mode 100644 plutus-ledger-api/changelog.d/20240522_212027_kenneth.mackenzie_provisional_conway_cost_model.md delete mode 100644 plutus-ledger-api/changelog.d/20240530_113312_unsafeFixIO_unit.md delete mode 100644 plutus-tx/changelog.d/20240513_014001_effectfully_split_FromBuiltin_and_ToBuiltin_into_IsBuiltin_and_IsOpaque.md delete mode 100644 plutus-tx/changelog.d/20240516_215552_ana.pantilie95_data_assoclist.md diff --git a/doc/read-the-docs-site/plutus-doc.cabal b/doc/read-the-docs-site/plutus-doc.cabal index 86f51515c0c..4ec172df787 100644 --- a/doc/read-the-docs-site/plutus-doc.cabal +++ b/doc/read-the-docs-site/plutus-doc.cabal @@ -69,9 +69,9 @@ executable doc-doctests , containers , flat ^>=0.6 , lens - , plutus-core ^>=1.28 - , plutus-ledger-api ^>=1.28 - , plutus-tx ^>=1.28 + , plutus-core ^>=1.29 + , plutus-ledger-api ^>=1.29 + , plutus-tx ^>=1.29 , prettyprinter , random , serialise @@ -96,10 +96,10 @@ executable quick-start , base >=4.9 && <5 , base16-bytestring , bytestring - , plutus-core ^>=1.28 - , plutus-ledger-api ^>=1.28 - , plutus-tx ^>=1.28 - , plutus-tx-plugin ^>=1.28 + , plutus-core ^>=1.29 + , plutus-ledger-api ^>=1.29 + , plutus-tx ^>=1.29 + , plutus-tx-plugin ^>=1.29 if !(impl(ghcjs) || os(ghcjs)) build-depends: plutus-tx-plugin diff --git a/plutus-benchmark/plutus-benchmark.cabal b/plutus-benchmark/plutus-benchmark.cabal index c190b37fb37..34702828fb1 100644 --- a/plutus-benchmark/plutus-benchmark.cabal +++ b/plutus-benchmark/plutus-benchmark.cabal @@ -90,8 +90,8 @@ library plutus-benchmark-common , directory , filepath , flat ^>=0.6 - , plutus-core ^>=1.28 - , plutus-ledger-api ^>=1.28 + , plutus-core ^>=1.29 + , plutus-ledger-api ^>=1.29 , plutus-tx-test-util , tasty , tasty-golden @@ -118,9 +118,9 @@ library nofib-internal , base >=4.9 && <5 , deepseq , plutus-benchmark-common - , plutus-core ^>=1.28 - , plutus-tx ^>=1.28 - , plutus-tx-plugin ^>=1.28 + , plutus-core ^>=1.29 + , plutus-tx ^>=1.29 + , plutus-tx-plugin ^>=1.29 executable nofib-exe import: lang, ghc-version-support @@ -134,8 +134,8 @@ executable nofib-exe , nofib-internal , optparse-applicative , plutus-benchmark-common - , plutus-core ^>=1.28 - , plutus-tx ^>=1.28 + , plutus-core ^>=1.29 + , plutus-tx ^>=1.29 , prettyprinter , transformers @@ -173,8 +173,8 @@ test-suite plutus-benchmark-nofib-tests , base >=4.9 && <5 , nofib-internal , plutus-benchmark-common - , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.28 - , plutus-tx:{plutus-tx, plutus-tx-testlib} ^>=1.28 + , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.29 + , plutus-tx:{plutus-tx, plutus-tx-testlib} ^>=1.29 , tasty , tasty-hunit , tasty-quickcheck @@ -200,9 +200,9 @@ library lists-internal , base >=4.9 && <5 , mtl , plutus-benchmark-common - , plutus-core ^>=1.28 - , plutus-tx ^>=1.28 - , plutus-tx-plugin ^>=1.28 + , plutus-core ^>=1.29 + , plutus-tx ^>=1.29 + , plutus-tx-plugin ^>=1.29 executable list-sort-exe import: lang, ghc-version-support @@ -213,7 +213,7 @@ executable list-sort-exe , lists-internal , monoidal-containers , plutus-benchmark-common - , plutus-core ^>=1.28 + , plutus-core ^>=1.29 benchmark lists import: lang, ghc-version-support @@ -225,7 +225,7 @@ benchmark lists , criterion >=1.5.9.0 , lists-internal , plutus-benchmark-common - , plutus-ledger-api ^>=1.28 + , plutus-ledger-api ^>=1.29 test-suite plutus-benchmark-lists-tests import: lang, ghc-version-support @@ -242,8 +242,8 @@ test-suite plutus-benchmark-lists-tests , base >=4.9 && <5 , lists-internal , plutus-benchmark-common - , plutus-core:plutus-core-testlib ^>=1.28 - , plutus-tx:plutus-tx-testlib ^>=1.28 + , plutus-core:plutus-core-testlib ^>=1.29 + , plutus-tx:plutus-tx-testlib ^>=1.29 , tasty , tasty-quickcheck @@ -264,8 +264,8 @@ benchmark validation , flat ^>=0.6 , optparse-applicative , plutus-benchmark-common - , plutus-core ^>=1.28 - , plutus-ledger-api ^>=1.28 + , plutus-core ^>=1.29 + , plutus-ledger-api ^>=1.29 ---------------- validation-decode ---------------- @@ -285,8 +285,8 @@ benchmark validation-decode , flat ^>=0.6 , optparse-applicative , plutus-benchmark-common - , plutus-core ^>=1.28 - , plutus-ledger-api ^>=1.28 + , plutus-core ^>=1.29 + , plutus-ledger-api ^>=1.29 ---------------- validation-full ---------------- @@ -306,8 +306,8 @@ benchmark validation-full , flat ^>=0.6 , optparse-applicative , plutus-benchmark-common - , plutus-core ^>=1.28 - , plutus-ledger-api ^>=1.28 + , plutus-core ^>=1.29 + , plutus-ledger-api ^>=1.29 ---------------- Cek cost model calibration ---------------- @@ -323,10 +323,10 @@ benchmark cek-calibration , lens , mtl , plutus-benchmark-common - , plutus-core ^>=1.28 - , plutus-ledger-api ^>=1.28 - , plutus-tx ^>=1.28 - , plutus-tx-plugin ^>=1.28 + , plutus-core ^>=1.29 + , plutus-ledger-api ^>=1.29 + , plutus-tx ^>=1.29 + , plutus-tx-plugin ^>=1.29 ---------------- Signature verification throughput ---------------- @@ -342,9 +342,9 @@ executable ed25519-costs , cardano-crypto-class , hedgehog , plutus-benchmark-common - , plutus-core ^>=1.28 - , plutus-tx ^>=1.28 - , plutus-tx-plugin ^>=1.28 + , plutus-core ^>=1.29 + , plutus-tx ^>=1.29 + , plutus-tx-plugin ^>=1.29 -- Calculate the predicted costs of sequences of ed25519 signature verification -- operations and compare them with a golden file. @@ -361,9 +361,9 @@ test-suite ed25519-costs-test , cardano-crypto-class , hedgehog , plutus-benchmark-common - , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.28 - , plutus-tx ^>=1.28 - , plutus-tx-plugin ^>=1.28 + , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.29 + , plutus-tx ^>=1.29 + , plutus-tx-plugin ^>=1.29 ---------------- BLS12-381 experiments ---------------- @@ -381,10 +381,10 @@ library bls12-381lib-internal , bytestring , hedgehog , plutus-benchmark-common - , plutus-core ^>=1.28 - , plutus-ledger-api ^>=1.28 - , plutus-tx ^>=1.28 - , plutus-tx-plugin ^>=1.28 + , plutus-core ^>=1.29 + , plutus-ledger-api ^>=1.29 + , plutus-tx ^>=1.29 + , plutus-tx-plugin ^>=1.29 -- Print out predicted costs of various scripts involving BLS12-381 operations executable bls12-381-costs @@ -408,7 +408,7 @@ test-suite bls12-381-costs-test , base >=4.9 && <5 , bls12-381lib-internal , plutus-benchmark-common - , plutus-core:plutus-core-testlib ^>=1.28 + , plutus-core:plutus-core-testlib ^>=1.29 -- Run benchmarks for various scripts involving BLS12-381 operations benchmark bls12-381-benchmarks @@ -422,8 +422,8 @@ benchmark bls12-381-benchmarks , bytestring , criterion >=1.5.9.0 , plutus-benchmark-common - , plutus-ledger-api ^>=1.28 - , plutus-tx ^>=1.28 + , plutus-ledger-api ^>=1.29 + , plutus-tx ^>=1.29 ---------------- script contexts ---------------- @@ -433,9 +433,9 @@ library script-contexts-internal exposed-modules: PlutusBenchmark.ScriptContexts build-depends: , base >=4.9 && <5 - , plutus-ledger-api ^>=1.28 - , plutus-tx ^>=1.28 - , plutus-tx-plugin ^>=1.28 + , plutus-ledger-api ^>=1.29 + , plutus-tx ^>=1.29 + , plutus-tx-plugin ^>=1.29 test-suite plutus-benchmark-script-contexts-tests import: lang, ghc-version-support @@ -447,8 +447,8 @@ test-suite plutus-benchmark-script-contexts-tests build-depends: , base >=4.9 && <5 , plutus-benchmark-common - , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.28 - , plutus-tx:plutus-tx-testlib ^>=1.28 + , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.29 + , plutus-tx:plutus-tx-testlib ^>=1.29 , script-contexts-internal , tasty , tasty-hunit @@ -477,10 +477,10 @@ library marlowe-internal , mtl , newtype-generics , plutus-benchmark-common - , plutus-core:{plutus-core, plutus-core-execlib} ^>=1.28 - , plutus-ledger-api ^>=1.28 - , plutus-tx ^>=1.28 - , plutus-tx-plugin ^>=1.28 + , plutus-core:{plutus-core, plutus-core-execlib} ^>=1.29 + , plutus-ledger-api ^>=1.29 + , plutus-tx ^>=1.29 + , plutus-tx-plugin ^>=1.29 , serialise executable marlowe-validators @@ -500,8 +500,8 @@ executable marlowe-validators , cardano-binary , marlowe-internal , plutus-benchmark-common - , plutus-ledger-api ^>=1.28 - , plutus-tx ^>=1.28 + , plutus-ledger-api ^>=1.29 + , plutus-tx ^>=1.29 , serialise benchmark marlowe @@ -515,8 +515,8 @@ benchmark marlowe , criterion , marlowe-internal , plutus-benchmark-common - , plutus-ledger-api ^>=1.28 - , plutus-tx ^>=1.28 + , plutus-ledger-api ^>=1.29 + , plutus-tx ^>=1.29 test-suite plutus-benchmark-marlowe-tests import: lang, ghc-version-support @@ -528,9 +528,9 @@ test-suite plutus-benchmark-marlowe-tests build-depends: , base >=4.9 && <5 , marlowe-internal - , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.28 - , plutus-ledger-api ^>=1.28 - , plutus-tx:{plutus-tx, plutus-tx-testlib} ^>=1.28 + , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.29 + , plutus-ledger-api ^>=1.29 + , plutus-tx:{plutus-tx, plutus-tx-testlib} ^>=1.29 , tasty ---------------- agda evaluators ---------------- @@ -544,7 +544,7 @@ library agda-internal build-depends: , base >=4.9 && <5 , criterion - , plutus-core ^>=1.28 + , plutus-core ^>=1.29 , plutus-metatheory benchmark validation-agda-cek @@ -564,7 +564,7 @@ benchmark validation-agda-cek , flat ^>=0.6 , optparse-applicative , plutus-benchmark-common - , plutus-core ^>=1.28 + , plutus-core ^>=1.29 benchmark nofib-agda-cek import: lang, ghc-version-support @@ -591,5 +591,5 @@ benchmark marlowe-agda-cek , criterion , marlowe-internal , plutus-benchmark-common - , plutus-ledger-api ^>=1.28 - , plutus-tx ^>=1.28 + , plutus-ledger-api ^>=1.29 + , plutus-tx ^>=1.29 diff --git a/plutus-conformance/plutus-conformance.cabal b/plutus-conformance/plutus-conformance.cabal index f668f38bbb0..3f1100db8da 100644 --- a/plutus-conformance/plutus-conformance.cabal +++ b/plutus-conformance/plutus-conformance.cabal @@ -48,7 +48,7 @@ library , base , directory , filepath - , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.28 + , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.29 , tasty , tasty-expected-failure , tasty-golden @@ -71,7 +71,7 @@ test-suite haskell-conformance build-depends: , base >=4.9 && <5 , plutus-conformance - , plutus-core ^>=1.28 + , plutus-core ^>=1.29 test-suite haskell-steppable-conformance import: lang @@ -84,7 +84,7 @@ test-suite haskell-steppable-conformance , base >=4.9 && <5 , lens , plutus-conformance - , plutus-core ^>=1.28 + , plutus-core ^>=1.29 test-suite agda-conformance import: lang @@ -97,6 +97,6 @@ test-suite agda-conformance , aeson , base >=4.9 && <5 , plutus-conformance - , plutus-core ^>=1.28 + , plutus-core ^>=1.29 , plutus-metatheory , transformers diff --git a/plutus-core/CHANGELOG.md b/plutus-core/CHANGELOG.md index df365e8b8cf..94d57f2d885 100644 --- a/plutus-core/CHANGELOG.md +++ b/plutus-core/CHANGELOG.md @@ -1,4 +1,32 @@ + +# 1.29.0.0 — 2024-06-04 + +## Removed + +- `unsafeRunCekNoEmit` and all `unsafeEvaluate*` functions in #6043. To replace e.g. `unsafeEvaluateCek` you can use `evaluateCek` in combination with `unsafeToEvaluationResult`. + +- `UnknownBuiltin` and `UnknownBuiltinType` in #6064. + +## Added + +- Primitives `integerToByteString` and `byteStringToInteger` are added to PlutusV2, + enabled at protocol version 10. + +- A new cost model for PlutusV3. + +- Missing `KnownTypeAst`, `ReadKnownIn` and `MakeKnownIn` for integral types (`Int8`, `Word16` etc) in #6036 + +## Changed + +- Renamed `unsafeExtractEvaluationResult` to `unsafeToEvaluationResult`. + +- We now have configurable cost models which allow different costs for different Plutus language versions and protocol versions. + +- Made unlifting errors a bit more flexible by allowing operational unlifting errors in #6036 + +- CPU charges reduced for PlutusV1 and PlutusV2 scripts in the Conway era. + # 1.28.0.0 — 2024-05-15 diff --git a/plutus-core/changelog.d/20240517_094957_unsafeFixIO_v2_new_prims.md b/plutus-core/changelog.d/20240517_094957_unsafeFixIO_v2_new_prims.md deleted file mode 100644 index 1cd71254e72..00000000000 --- a/plutus-core/changelog.d/20240517_094957_unsafeFixIO_v2_new_prims.md +++ /dev/null @@ -1,5 +0,0 @@ - -### Added - -- Primitives `integerToByteString` and `byteStringToInteger` are added to PlutusV2, - enabled at protocol version 10. diff --git a/plutus-core/changelog.d/20240517_191403_effectfully_polish_evaluation_errors.md b/plutus-core/changelog.d/20240517_191403_effectfully_polish_evaluation_errors.md deleted file mode 100644 index fb19345a29b..00000000000 --- a/plutus-core/changelog.d/20240517_191403_effectfully_polish_evaluation_errors.md +++ /dev/null @@ -1,7 +0,0 @@ -### Removed - -- `unsafeRunCekNoEmit` and all `unsafeEvaluate*` functions in #6043. To replace e.g. `unsafeEvaluateCek` you can use `evaluateCek` in combination with `unsafeToEvaluationResult`. - -### Changed - -- Renamed `unsafeExtractEvaluationResult` to `unsafeToEvaluationResult`. diff --git a/plutus-core/changelog.d/20240520_192738_effectfully_remove_UnknownBuiltin.md b/plutus-core/changelog.d/20240520_192738_effectfully_remove_UnknownBuiltin.md deleted file mode 100644 index 5fe160f9919..00000000000 --- a/plutus-core/changelog.d/20240520_192738_effectfully_remove_UnknownBuiltin.md +++ /dev/null @@ -1,3 +0,0 @@ -### Removed - -- `UnknownBuiltin` and `UnknownBuiltinType` in #6064. diff --git a/plutus-core/changelog.d/20240522_211822_kenneth.mackenzie_provisional_conway_cost_model.md b/plutus-core/changelog.d/20240522_211822_kenneth.mackenzie_provisional_conway_cost_model.md deleted file mode 100644 index f505524db37..00000000000 --- a/plutus-core/changelog.d/20240522_211822_kenneth.mackenzie_provisional_conway_cost_model.md +++ /dev/null @@ -1,7 +0,0 @@ -### Added - -- A new cost model for PlutusV3. - -### Changed - -- We now have configurable cost models which allow different costs for different Plutus language versions and protocol versions. diff --git a/plutus-core/changelog.d/20240529_153319_effectfully_polish_handling_of_integral_types.md b/plutus-core/changelog.d/20240529_153319_effectfully_polish_handling_of_integral_types.md deleted file mode 100644 index 4078c3f085a..00000000000 --- a/plutus-core/changelog.d/20240529_153319_effectfully_polish_handling_of_integral_types.md +++ /dev/null @@ -1,7 +0,0 @@ -### Added - -- Missing `KnownTypeAst`, `ReadKnownIn` and `MakeKnownIn` for integral types (`Int8`, `Word16` etc) in #6036 - -### Changed - -- Made unlifting errors a bit more flexible by allowing operational unlifting errors in #6036 diff --git a/plutus-core/changelog.d/20240530_123928_kenneth.mackenzie_reduce_cek_cpu_step_costs_B.md b/plutus-core/changelog.d/20240530_123928_kenneth.mackenzie_reduce_cek_cpu_step_costs_B.md deleted file mode 100644 index 137864c28dd..00000000000 --- a/plutus-core/changelog.d/20240530_123928_kenneth.mackenzie_reduce_cek_cpu_step_costs_B.md +++ /dev/null @@ -1,4 +0,0 @@ -### Changed - -- CPU charges reduced for PlutusV1 and PlutusV2 scripts in the Conway era. - diff --git a/plutus-core/plutus-core.cabal b/plutus-core/plutus-core.cabal index 36ddbabb779..0c6afcd8c47 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.28.0.0 +version: 1.29.0.0 license: Apache-2.0 license-files: LICENSE @@ -321,7 +321,7 @@ library , nothunks ^>=0.1.5 , parser-combinators >=0.4.0 , prettyprinter >=1.1.0.1 - , prettyprinter-configurable ^>=1.28 + , prettyprinter-configurable ^>=1.29 , primitive , profunctors , recursion-schemes @@ -384,7 +384,7 @@ test-suite plutus-core-test , hex-text , mmorph , mtl - , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.28 + , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.29 , prettyprinter , serialise , tasty @@ -444,7 +444,7 @@ test-suite untyped-plutus-core-test , hedgehog , lens , mtl - , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.28 + , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.29 , pretty-show , prettyprinter , QuickCheck @@ -467,8 +467,8 @@ executable plc , bytestring , flat ^>=0.6 , optparse-applicative - , plutus-core ^>=1.28 - , plutus-core-execlib ^>=1.28 + , plutus-core ^>=1.29 + , plutus-core-execlib ^>=1.29 , text executable uplc @@ -484,8 +484,8 @@ executable uplc , haskeline , mtl , optparse-applicative - , plutus-core ^>=1.28 - , plutus-core-execlib ^>=1.28 + , plutus-core ^>=1.29 + , plutus-core-execlib ^>=1.29 , prettyprinter , split , text @@ -581,7 +581,7 @@ library plutus-ir , mtl , multiset , parser-combinators >=0.4.0 - , plutus-core ^>=1.28 + , plutus-core ^>=1.29 , prettyprinter >=1.1.0.1 , profunctors , semigroupoids @@ -650,7 +650,7 @@ test-suite plutus-ir-test , hedgehog , lens , mtl - , plutus-core:{plutus-core, plutus-core-testlib, plutus-ir} ^>=1.28 + , plutus-core:{plutus-core, plutus-core-testlib, plutus-ir} ^>=1.29 , QuickCheck , serialise , tasty @@ -673,8 +673,8 @@ executable pir , lens , megaparsec , optparse-applicative - , plutus-core-execlib ^>=1.28 - , plutus-core:{plutus-core, plutus-ir} ^>=1.28 + , plutus-core-execlib ^>=1.29 + , plutus-core:{plutus-core, plutus-ir} ^>=1.29 , text , transformers @@ -730,7 +730,7 @@ executable plutus , microlens-th ^>=0.4 , mono-traversable , mtl - , plutus-core:{plutus-core, plutus-ir} ^>=1.28 + , plutus-core:{plutus-core, plutus-ir} ^>=1.29 , prettyprinter , primitive , serialise @@ -770,7 +770,7 @@ library plutus-core-execlib , monoidal-containers , mtl , optparse-applicative - , plutus-core:{plutus-core, plutus-core-testlib, plutus-ir} ^>=1.28 + , plutus-core:{plutus-core, plutus-core-testlib, plutus-ir} ^>=1.29 , prettyprinter , text @@ -833,9 +833,9 @@ library plutus-core-testlib , mmorph , mtl , multiset - , plutus-core:{plutus-core, plutus-ir} ^>=1.28 + , plutus-core:{plutus-core, plutus-ir} ^>=1.29 , prettyprinter >=1.1.0.1 - , prettyprinter-configurable ^>=1.28 + , prettyprinter-configurable ^>=1.29 , QuickCheck , quickcheck-instances , quickcheck-transformer @@ -867,7 +867,7 @@ library plutus-ir-cert exposed-modules: PlutusIR.Certifier build-depends: , base - , plutus-core:{plutus-core, plutus-ir} ^>=1.28 + , plutus-core:{plutus-core, plutus-ir} ^>=1.29 ---------------------------------------------- -- profiling @@ -945,7 +945,7 @@ executable cost-model-budgeting-bench , hedgehog , mtl , optparse-applicative - , plutus-core ^>=1.28 + , plutus-core ^>=1.29 , QuickCheck , quickcheck-instances , random @@ -979,7 +979,7 @@ executable generate-cost-model , directory , inline-r >=1.0.1 , optparse-applicative - , plutus-core ^>=1.28 + , plutus-core ^>=1.29 , text -- , exceptions @@ -1019,7 +1019,7 @@ benchmark cost-model-test , hedgehog , inline-r >=1.0.1 , mmorph - , plutus-core ^>=1.28 + , plutus-core ^>=1.29 , template-haskell , text @@ -1036,7 +1036,7 @@ executable print-cost-model , aeson , base >=4.9 && <5 , bytestring - , plutus-core ^>=1.28 + , plutus-core ^>=1.29 ---------------------------------------------- -- satint diff --git a/plutus-ledger-api/CHANGELOG.md b/plutus-ledger-api/CHANGELOG.md index 47b1b479dd5..16f5f444d3e 100644 --- a/plutus-ledger-api/CHANGELOG.md +++ b/plutus-ledger-api/CHANGELOG.md @@ -1,4 +1,29 @@ + +# 1.29.0.0 — 2024-06-04 + +## Added + +- A new cost model for PlutusV3. + +## Changed + +- The `ScriptContext` type for Plutus V3 is modified to contain an optional datum for + spending scripts, in the `scriptContextScriptInfo` field. The redeemer is now also + part of `ScriptContext`. As a result, all Plutus V3 scripts, regardless of the purpose, + take a single argument: `ScriptContext`. +- Datum is now optional for Plutus V3 spending scripts. + +- We now have configurable cost models which allow different costs for different Plutus language versions and protocol versions. +- The `mkEvaluationContext` functions in `plutus-ledger-api` (which provide + version-dependent on-chain configuration of the Plutus Core evaluator) now + select appropriate cost models as well. + +- `evaluateScriptRestricting` and `evaluateScriptCounting` now require Plutus V3 + scripts to return `BuiltinUnit`, otherwise the evaluation is considered to + have failed, and a `InvalidReturnValue` error is thrown. There is no such + requirement on Plutus V1 and V2 scripts. + # 1.27.0.0 — 2024-04-30 diff --git a/plutus-ledger-api/changelog.d/20240429_121642_unsafeFixIO_69.md b/plutus-ledger-api/changelog.d/20240429_121642_unsafeFixIO_69.md deleted file mode 100644 index 0a5e42ab538..00000000000 --- a/plutus-ledger-api/changelog.d/20240429_121642_unsafeFixIO_69.md +++ /dev/null @@ -1,7 +0,0 @@ -### Changed - -- The `ScriptContext` type for Plutus V3 is modified to contain an optional datum for - spending scripts, in the `scriptContextScriptInfo` field. The redeemer is now also - part of `ScriptContext`. As a result, all Plutus V3 scripts, regardless of the purpose, - take a single argument: `ScriptContext`. -- Datum is now optional for Plutus V3 spending scripts. diff --git a/plutus-ledger-api/changelog.d/20240522_212027_kenneth.mackenzie_provisional_conway_cost_model.md b/plutus-ledger-api/changelog.d/20240522_212027_kenneth.mackenzie_provisional_conway_cost_model.md deleted file mode 100644 index d67fc804882..00000000000 --- a/plutus-ledger-api/changelog.d/20240522_212027_kenneth.mackenzie_provisional_conway_cost_model.md +++ /dev/null @@ -1,10 +0,0 @@ -### Added - -- A new cost model for PlutusV3. - -### Changed - -- We now have configurable cost models which allow different costs for different Plutus language versions and protocol versions. -- The `mkEvaluationContext` functions in `plutus-ledger-api` (which provide - version-dependent on-chain configuration of the Plutus Core evaluator) now - select appropriate cost models as well. diff --git a/plutus-ledger-api/changelog.d/20240530_113312_unsafeFixIO_unit.md b/plutus-ledger-api/changelog.d/20240530_113312_unsafeFixIO_unit.md deleted file mode 100644 index 8b7a314495e..00000000000 --- a/plutus-ledger-api/changelog.d/20240530_113312_unsafeFixIO_unit.md +++ /dev/null @@ -1,6 +0,0 @@ -### Changed - -- `evaluateScriptRestricting` and `evaluateScriptCounting` now require Plutus V3 - scripts to return `BuiltinUnit`, otherwise the evaluation is considered to - have failed, and a `InvalidReturnValue` error is thrown. There is no such - requirement on Plutus V1 and V2 scripts. diff --git a/plutus-ledger-api/plutus-ledger-api.cabal b/plutus-ledger-api/plutus-ledger-api.cabal index 666d1544925..416fce508d9 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.28.0.0 +version: 1.29.0.0 license: Apache-2.0 license-files: LICENSE @@ -100,8 +100,8 @@ library , lens , mtl , nothunks - , plutus-core ^>=1.28 - , plutus-tx ^>=1.28 + , plutus-core ^>=1.29 + , plutus-tx ^>=1.29 , prettyprinter , serialise , tagged @@ -128,9 +128,9 @@ library plutus-ledger-api-testlib , base64-bytestring , bytestring , containers - , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.28 - , plutus-ledger-api ^>=1.28 - , plutus-tx ^>=1.28 + , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.29 + , plutus-ledger-api ^>=1.29 + , plutus-tx ^>=1.29 , prettyprinter , PyF >=0.11.1.0 , QuickCheck @@ -163,9 +163,9 @@ test-suite plutus-ledger-api-test , lens , mtl , nothunks - , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.28 - , plutus-ledger-api:{plutus-ledger-api, plutus-ledger-api-testlib} ^>=1.28 - , plutus-tx:{plutus-tx, plutus-tx-testlib} ^>=1.28 + , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.29 + , plutus-ledger-api:{plutus-ledger-api, plutus-ledger-api-testlib} ^>=1.29 + , plutus-tx:{plutus-tx, plutus-tx-testlib} ^>=1.29 , prettyprinter , serialise , tasty @@ -194,10 +194,10 @@ test-suite plutus-ledger-api-plugin-test , base >=4.9 && <5 , containers , mtl - , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.28 - , plutus-ledger-api:{plutus-ledger-api, plutus-ledger-api-testlib} ^>=1.28 - , plutus-tx-plugin ^>=1.28 - , plutus-tx:{plutus-tx, plutus-tx-testlib} ^>=1.28 + , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.29 + , plutus-ledger-api:{plutus-ledger-api, plutus-ledger-api-testlib} ^>=1.29 + , plutus-tx-plugin ^>=1.29 + , plutus-tx:{plutus-tx, plutus-tx-testlib} ^>=1.29 , prettyprinter , tasty , tasty-hunit @@ -216,8 +216,8 @@ executable test-onchain-evaluation , extra , filepath , mtl - , plutus-core ^>=1.28 - , plutus-ledger-api:{plutus-ledger-api, plutus-ledger-api-testlib} ^>=1.28 + , plutus-core ^>=1.29 + , plutus-ledger-api:{plutus-ledger-api, plutus-ledger-api-testlib} ^>=1.29 , serialise , tasty , tasty-hunit @@ -236,9 +236,9 @@ executable analyse-script-events , filepath , lens , mtl - , plutus-core ^>=1.28 - , plutus-ledger-api:{plutus-ledger-api, plutus-ledger-api-testlib} ^>=1.28 - , plutus-tx ^>=1.28 + , plutus-core ^>=1.29 + , plutus-ledger-api:{plutus-ledger-api, plutus-ledger-api-testlib} ^>=1.29 + , plutus-tx ^>=1.29 , primitive , serialise diff --git a/plutus-metatheory/plutus-metatheory.cabal b/plutus-metatheory/plutus-metatheory.cabal index 93911cf4d2c..23cf6cf68d1 100644 --- a/plutus-metatheory/plutus-metatheory.cabal +++ b/plutus-metatheory/plutus-metatheory.cabal @@ -63,7 +63,7 @@ library , megaparsec , memory , optparse-applicative - , plutus-core:{plutus-core, plutus-core-execlib} ^>=1.28 + , plutus-core:{plutus-core, plutus-core-execlib} ^>=1.29 , process , text , transformers @@ -548,8 +548,8 @@ executable plc-agda test-suite test1 import: lang build-tool-depends: - , plutus-core:plc ^>=1.28 - , plutus-core:uplc ^>=1.28 + , plutus-core:plc ^>=1.29 + , plutus-core:uplc ^>=1.29 hs-source-dirs: test build-depends: @@ -564,8 +564,8 @@ test-suite test1 test-suite test2 import: lang build-tool-depends: - , plutus-core:plc ^>=1.28 - , plutus-core:uplc ^>=1.28 + , plutus-core:plc ^>=1.29 + , plutus-core:uplc ^>=1.29 hs-source-dirs: test type: detailed-0.9 @@ -590,7 +590,7 @@ test-suite test3 , base , lazy-search , mtl - , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.28 + , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.29 , plutus-metatheory , size-based , Stream diff --git a/plutus-tx-plugin/plutus-tx-plugin.cabal b/plutus-tx-plugin/plutus-tx-plugin.cabal index 4294eab9476..6b5280f7744 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.28.0.0 +version: 1.29.0.0 license: Apache-2.0 license-files: LICENSE @@ -83,8 +83,8 @@ library , flat ^>=0.6 , lens , mtl - , plutus-core:{plutus-core, plutus-ir} ^>=1.28 - , plutus-tx ^>=1.28 + , plutus-core:{plutus-core, plutus-ir} ^>=1.29 + , plutus-tx ^>=1.29 , prettyprinter , PyF >=0.11.1.0 , template-haskell @@ -109,7 +109,7 @@ executable gen-plugin-opts-doc , containers , lens , optparse-applicative - , plutus-tx-plugin ^>=1.28 + , plutus-tx-plugin ^>=1.29 , prettyprinter , PyF >=0.11.1.0 , text @@ -184,10 +184,10 @@ test-suite plutus-tx-plugin-tests , hedgehog , lens , mtl - , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.28 - , plutus-tx-plugin ^>=1.28 + , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.29 + , plutus-tx-plugin ^>=1.29 , plutus-tx-test-util - , plutus-tx:{plutus-tx, plutus-tx-testlib} ^>=1.28 + , plutus-tx:{plutus-tx, plutus-tx-testlib} ^>=1.29 , serialise , tasty , tasty-golden @@ -216,9 +216,9 @@ test-suite size hs-source-dirs: test/size build-depends: , base >=4.9 && <5.0 - , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.28 - , plutus-tx-plugin ^>=1.28 - , plutus-tx:{plutus-tx, plutus-tx-testlib} ^>=1.28 + , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.29 + , plutus-tx-plugin ^>=1.29 + , plutus-tx:{plutus-tx, plutus-tx-testlib} ^>=1.29 , tagged , tasty diff --git a/plutus-tx-test-util/plutus-tx-test-util.cabal b/plutus-tx-test-util/plutus-tx-test-util.cabal index 6f4f06361a8..af69bdf27fe 100644 --- a/plutus-tx-test-util/plutus-tx-test-util.cabal +++ b/plutus-tx-test-util/plutus-tx-test-util.cabal @@ -71,8 +71,8 @@ library -- other-extensions: build-depends: , base >=4.9 && <5 - , plutus-core ^>=1.28 - , plutus-tx ^>=1.28 + , plutus-core ^>=1.29 + , plutus-tx ^>=1.29 , text hs-source-dirs: testlib diff --git a/plutus-tx/CHANGELOG.md b/plutus-tx/CHANGELOG.md index fb66c39c196..8ff9155c0e8 100644 --- a/plutus-tx/CHANGELOG.md +++ b/plutus-tx/CHANGELOG.md @@ -1,4 +1,19 @@ + +# 1.29.0.0 — 2024-06-04 + +## Added + +- Added `Data.AssocList.Map` module which provides a map implementation based on `Data`. + +## Changed + +- Split `PlutusTx.Builtins.Class` into `PlutusTx.Builtins.HasBuiltin` and `PlutusTx.Builtins.HasOpaque` in #5971: ++ Split 'FromBuiltin' into 'HasFromBuiltin' and 'HasFromOpaque' ++ Split 'ToBuiltin' into 'HasToBuiltin' and 'HasToOpaque' + +- The PlutusTx `These` type had the Haskell implementations of `Show`, `Eq` and `Ord` instances instead of PlutusTx ones. This has been fixed. + # 1.28.0.0 — 2024-05-15 diff --git a/plutus-tx/changelog.d/20240513_014001_effectfully_split_FromBuiltin_and_ToBuiltin_into_IsBuiltin_and_IsOpaque.md b/plutus-tx/changelog.d/20240513_014001_effectfully_split_FromBuiltin_and_ToBuiltin_into_IsBuiltin_and_IsOpaque.md deleted file mode 100644 index 053aa96f62a..00000000000 --- a/plutus-tx/changelog.d/20240513_014001_effectfully_split_FromBuiltin_and_ToBuiltin_into_IsBuiltin_and_IsOpaque.md +++ /dev/null @@ -1,5 +0,0 @@ -### Changed - -- Split `PlutusTx.Builtins.Class` into `PlutusTx.Builtins.HasBuiltin` and `PlutusTx.Builtins.HasOpaque` in #5971: -+ Split 'FromBuiltin' into 'HasFromBuiltin' and 'HasFromOpaque' -+ Split 'ToBuiltin' into 'HasToBuiltin' and 'HasToOpaque' diff --git a/plutus-tx/changelog.d/20240516_215552_ana.pantilie95_data_assoclist.md b/plutus-tx/changelog.d/20240516_215552_ana.pantilie95_data_assoclist.md deleted file mode 100644 index 73cd8f8e8af..00000000000 --- a/plutus-tx/changelog.d/20240516_215552_ana.pantilie95_data_assoclist.md +++ /dev/null @@ -1,7 +0,0 @@ -### Added - -- Added `Data.AssocList.Map` module which provides a map implementation based on `Data`. - -### Changed - -- The PlutusTx `These` type had the Haskell implementations of `Show`, `Eq` and `Ord` instances instead of PlutusTx ones. This has been fixed. diff --git a/plutus-tx/plutus-tx.cabal b/plutus-tx/plutus-tx.cabal index 151b3a8d978..b881c414063 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.28.0.0 +version: 1.29.0.0 license: Apache-2.0 license-files: LICENSE @@ -131,7 +131,7 @@ library , lens , memory , mtl - , plutus-core:{plutus-core, plutus-ir} ^>=1.28 + , plutus-core:{plutus-core, plutus-ir} ^>=1.29 , prettyprinter , serialise , template-haskell >=2.13.0.0 @@ -164,8 +164,8 @@ library plutus-tx-testlib , hedgehog , lens , mtl - , plutus-core:{plutus-core, plutus-core-testlib, plutus-ir} ^>=1.28 - , plutus-tx ^>=1.28 + , plutus-core:{plutus-core, plutus-core-testlib, plutus-ir} ^>=1.29 + , plutus-tx ^>=1.29 , prettyprinter , tagged , tasty @@ -213,8 +213,8 @@ test-suite plutus-tx-test , hedgehog-fn , lens , mtl - , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.28 - , plutus-tx ^>=1.28 + , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.29 + , plutus-tx ^>=1.29 , pretty-show , serialise , tasty diff --git a/prettyprinter-configurable/prettyprinter-configurable.cabal b/prettyprinter-configurable/prettyprinter-configurable.cabal index ddf42610a5c..87c0b4c8b1c 100644 --- a/prettyprinter-configurable/prettyprinter-configurable.cabal +++ b/prettyprinter-configurable/prettyprinter-configurable.cabal @@ -1,6 +1,6 @@ cabal-version: 2.4 name: prettyprinter-configurable -version: 1.28.0.0 +version: 1.29.0.0 synopsis: Configurable pretty-printing homepage: https://github.com/input-output-hk/plutus/tree/master/prettyprinter-configurable/ @@ -76,7 +76,7 @@ test-suite prettyprinter-configurable-test , base >=4.9 && <5 , megaparsec , parser-combinators - , prettyprinter-configurable ^>=1.28 + , prettyprinter-configurable ^>=1.29 , QuickCheck , quickcheck-text , tasty