Skip to content

Commit

Permalink
1.8.0.0 (#5398)
Browse files Browse the repository at this point in the history
  • Loading branch information
thealmarty authored Jun 26, 2023
1 parent 9d30100 commit 7526702
Show file tree
Hide file tree
Showing 27 changed files with 199 additions and 306 deletions.
6 changes: 3 additions & 3 deletions doc/read-the-docs-site/plutus-doc.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -77,9 +77,9 @@ executable doc-doctests
, containers
, flat ^>=0.6
, lens
, plutus-core ^>=1.7
, plutus-ledger-api ^>=1.7
, plutus-tx ^>=1.7
, plutus-core ^>=1.8
, plutus-ledger-api ^>=1.8
, plutus-tx ^>=1.8
, prettyprinter
, random
, serialise
Expand Down
14 changes: 7 additions & 7 deletions marlowe-cardano-minimal/marlowe-cardano-minimal.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -64,10 +64,10 @@ library
, bytestring
, cardano-crypto-class >=2.0.0.1 && <2.2
, newtype-generics
, plutus-core ^>=1.7
, plutus-ledger-api
, plutus-tx ^>=1.7
, plutus-tx-plugin ^>=1.7
, plutus-core ^>=1.8
, plutus-ledger-api ^>=1.8
, plutus-tx ^>=1.8
, plutus-tx-plugin ^>=1.8

exposed-modules:
Language.Marlowe.Core.V1.Semantics
Expand Down Expand Up @@ -101,7 +101,7 @@ executable marlowe-validators
, filepath
, marlowe-cardano-minimal
, mtl
, plutus-core:{plutus-core, plutus-core-execlib} ^>=1.7
, plutus-ledger-api
, plutus-tx ^>=1.7
, plutus-core:{plutus-core, plutus-core-execlib} ^>=1.8
, plutus-ledger-api ^>=1.8
, plutus-tx ^>=1.8
, serialise
80 changes: 40 additions & 40 deletions plutus-benchmark/plutus-benchmark.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -72,8 +72,8 @@ library plutus-benchmark-common
, directory
, filepath
, flat
, plutus-core ^>=1.7
, plutus-tx ^>=1.7
, plutus-core ^>=1.8
, plutus-tx ^>=1.8
, tasty
, tasty-golden
, temporary
Expand Down Expand Up @@ -103,9 +103,9 @@ library nofib-internal
, base >=4.9 && <5
, deepseq
, plutus-benchmark-common
, plutus-core ^>=1.7
, plutus-tx ^>=1.7
, plutus-tx-plugin ^>=1.7
, plutus-core ^>=1.8
, plutus-tx ^>=1.8
, plutus-tx-plugin ^>=1.8

executable nofib-exe
import: lang, ghc-version-support
Expand All @@ -120,8 +120,8 @@ executable nofib-exe
, nofib-internal
, optparse-applicative
, plutus-benchmark-common
, plutus-core ^>=1.7
, plutus-tx ^>=1.7
, plutus-core ^>=1.8
, plutus-tx ^>=1.8
, transformers

benchmark nofib
Expand Down Expand Up @@ -162,8 +162,8 @@ test-suite plutus-benchmark-nofib-tests
, base >=4.9 && <5
, nofib-internal
, plutus-benchmark-common
, plutus-core:{plutus-core, plutus-core-testlib} ^>=1.7
, plutus-tx:{plutus-tx, plutus-tx-testlib} ^>=1.7
, plutus-core:{plutus-core, plutus-core-testlib} ^>=1.8
, plutus-tx:{plutus-tx, plutus-tx-testlib} ^>=1.8
, tasty
, tasty-hunit
, tasty-quickcheck
Expand Down Expand Up @@ -192,9 +192,9 @@ library lists-internal
, base >=4.9 && <5
, mtl
, plutus-benchmark-common
, plutus-core ^>=1.7
, plutus-tx ^>=1.7
, plutus-tx-plugin ^>=1.7
, plutus-core ^>=1.8
, plutus-tx ^>=1.8
, plutus-tx-plugin ^>=1.8

executable list-sort-exe
import: lang, ghc-version-support
Expand All @@ -205,7 +205,7 @@ executable list-sort-exe
, lists-internal
, monoidal-containers
, plutus-benchmark-common
, plutus-core ^>=1.7
, plutus-core ^>=1.8

benchmark lists
import: lang, ghc-version-support
Expand All @@ -231,8 +231,8 @@ test-suite plutus-benchmark-lists-tests
, base >=4.9 && <5
, lists-internal
, plutus-benchmark-common
, plutus-core:plutus-core-testlib ^>=1.7
, plutus-tx:plutus-tx-testlib ^>=1.7
, plutus-core:plutus-core-testlib ^>=1.8
, plutus-tx:plutus-tx-testlib ^>=1.8
, tasty
, tasty-quickcheck

Expand All @@ -254,8 +254,8 @@ benchmark validation
, flat ^>=0.6
, optparse-applicative
, plutus-benchmark-common
, plutus-core ^>=1.7
, plutus-ledger-api ^>=1.7
, plutus-core ^>=1.8
, plutus-ledger-api ^>=1.8

---------------- validation-decode ----------------

Expand All @@ -275,8 +275,8 @@ benchmark validation-decode
, flat ^>=0.6
, optparse-applicative
, plutus-benchmark-common
, plutus-core ^>=1.7
, plutus-ledger-api ^>=1.7
, plutus-core ^>=1.8
, plutus-ledger-api ^>=1.8

---------------- validation-full ----------------

Expand All @@ -296,8 +296,8 @@ benchmark validation-full
, flat ^>=0.6
, optparse-applicative
, plutus-benchmark-common
, plutus-core ^>=1.7
, plutus-ledger-api:{plutus-ledger-api, plutus-ledger-api-testlib} ^>=1.7
, plutus-core ^>=1.8
, plutus-ledger-api:{plutus-ledger-api, plutus-ledger-api-testlib} ^>=1.8

---------------- Cek cost model calibration ----------------

Expand All @@ -316,9 +316,9 @@ benchmark cek-calibration
, criterion >=1.5.9.0
, lens
, mtl
, plutus-core ^>=1.7
, plutus-tx ^>=1.7
, plutus-tx-plugin ^>=1.7
, plutus-core ^>=1.8
, plutus-tx ^>=1.8
, plutus-tx-plugin ^>=1.8

---------------- Signature verification throughput ----------------

Expand All @@ -337,9 +337,9 @@ executable ed25519-costs
, cardano-crypto-class
, hedgehog
, plutus-benchmark-common
, plutus-core ^>=1.7
, plutus-tx ^>=1.7
, plutus-tx-plugin ^>=1.7
, plutus-core ^>=1.8
, plutus-tx ^>=1.8
, plutus-tx-plugin ^>=1.8

-- Calculate the predicted costs of sequences of ed25519 signature verification
-- operations and compare them with a golden file.
Expand All @@ -360,9 +360,9 @@ test-suite ed25519-costs-test
, cardano-crypto-class
, hedgehog
, plutus-benchmark-common
, plutus-core ^>=1.7
, plutus-tx ^>=1.7
, plutus-tx-plugin ^>=1.7
, plutus-core ^>=1.8
, plutus-tx ^>=1.8
, plutus-tx-plugin ^>=1.8

---------------- BLS12-381 experiments ----------------

Expand Down Expand Up @@ -390,9 +390,9 @@ library bls12-381lib-internal
, flat
, hedgehog
, plutus-benchmark-common
, plutus-core ^>=1.7
, plutus-tx ^>=1.7
, plutus-tx-plugin ^>=1.7
, plutus-core ^>=1.8
, plutus-tx ^>=1.8
, plutus-tx-plugin ^>=1.8

-- Print out predicted costs of various scripts involving BLS12-381 operations
executable bls12-381-costs
Expand Down Expand Up @@ -440,8 +440,8 @@ benchmark bls12-381-benchmarks
, bytestring
, criterion >=1.5.9.0
, plutus-benchmark-common
, plutus-core ^>=1.7
, plutus-tx ^>=1.7
, plutus-core ^>=1.8
, plutus-tx ^>=1.8

---------------- script contexts ----------------

Expand All @@ -455,9 +455,9 @@ library script-contexts-internal
exposed-modules: PlutusBenchmark.ScriptContexts
build-depends:
, base >=4.9 && <5
, plutus-ledger-api ^>=1.7
, plutus-tx ^>=1.7
, plutus-tx-plugin ^>=1.7
, plutus-ledger-api ^>=1.8
, plutus-tx ^>=1.8
, plutus-tx-plugin ^>=1.8

test-suite plutus-benchmark-script-contexts-tests
import: lang, ghc-version-support
Expand All @@ -473,8 +473,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.7
, plutus-tx:plutus-tx-testlib ^>=1.7
, plutus-core:{plutus-core, plutus-core-testlib} ^>=1.8
, plutus-tx:plutus-tx-testlib ^>=1.8
, script-contexts-internal
, tasty
, tasty-hunit
8 changes: 4 additions & 4 deletions plutus-conformance/plutus-conformance.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ library
, directory
, filepath
, lens
, plutus-core ^>=1.7
, plutus-core ^>=1.8
, tasty
, tasty-expected-failure
, tasty-golden
Expand All @@ -66,7 +66,7 @@ executable test-utils
, base >=4.9 && <5
, optparse-applicative
, plutus-conformance
, plutus-core ^>=1.7
, plutus-core ^>=1.8
, plutus-metatheory
, tasty-golden
, text
Expand Down Expand Up @@ -105,7 +105,7 @@ test-suite haskell-steppable-conformance
, base >=4.9 && <5
, lens
, plutus-conformance
, plutus-core ^>=1.7
, plutus-core ^>=1.8

test-suite agda-conformance
import: lang
Expand All @@ -116,6 +116,6 @@ test-suite agda-conformance
build-depends:
, base >=4.9 && <5
, plutus-conformance
, plutus-core ^>=1.7
, plutus-core ^>=1.8
, plutus-metatheory
, transformers
65 changes: 65 additions & 0 deletions plutus-core/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,69 @@

<a id='changelog-1.8.0.0'></a>
# 1.8.0.0 — 2023-06-22

## Added

- Three new types for BLS12-381 objects (see CIP-0381).
- Seventeen new built-in functions for BLS12-381 operations (see CIP-0381).
- Costing benchmarks for the BLS12-381 builtins.
- R code to infer cost models for the BLS12-381 builtins.
- Property tests for the BLS12-381 builtins.
- Code for Haskell bindings to the`blst` library has been added in `cbits` and
`plutus-core/src/Crypto/External/`. These have been copied from PR #266
in `cardano-base` and will be removed when that is merged.

- A special case of case-of-case optimization for UPLC, where the inner case is
an `ifThenElse` application.

- Added `PlutusCore.MkPlc.mkIterAppNoAnn`, `PlutusCore.MkPlc.mkIterInstNoAnn` and
`PlutusCore.MkPlc.mkIterTyAppNoAnn`.

- Callsite inlining for UPLC.

- An `apply-to-data` command was added to the `plc` and `uplc` executables which
allows a script to be applied to a list of flat-encoded data objects (the
existing `apply` command requires all inputs to be programs).

- Added `commuteFnWithConst` to the PIR simplifier pass.

## Changed

- The PLC, UPLC, and PIR parsers accept names quoted in backticks. Quoted names may have symbolic characters.

- Costing functions for the BLS12-381 builtins were added to `builtinCostModel.json`.
- Costing benchmark results for the BLS12-381 builtins were added to `benching.csv`.
- Some of the R code in `models.R` was improved.
- The files in `plutus-core/src/crypto` were reorganised to put code relating to
different sets of crypto functions into separate files.

- Improved the inlining of fully saturated functions such that it measures the size
differences more accurately, and also performs beta reduction after inlining.

- Changed `PlutusCore.MkPlc.mkIterApp`, `PlutusCore.MkPlc.mkIterInst` and
`PlutusCore.MkPlc.mkIterTyApp` to require an annotation to be provided
for each argument.

- Updated the parser and the pretty-printers to the new syntax of `Data` in [#5391](https://github.com/input-output-hk/plutus/pull/5391) according to [this](https://github.com/input-output-hk/plutus/issues/4751#issuecomment-1538377273), for example:

```
Constr 1
[ Map [(B #616263646566, Constr 2 [B #, I 0])]
, List
[ List
[ List [List [I 123456]]
, B #666666666666666666666666666666666666666666666666666666666666666666666666666666666666 ] ]
, I 42 ]
```

## Fixed

- The plc and uplc commands were failing to account for the new Constr and Case
constructors for sums of products.

- Fixed `PlutusIR.Purity.firstEffectfulTerm` and `UntypedPlutusCore.Transform.Inline.firstEffectfulTerm`,
which were sometimes too conservative and sometimes incorrect.

<a id='changelog-1.7.0.0'></a>
# 1.7.0.0 — 2023-05-22

Expand Down

This file was deleted.

49 changes: 0 additions & 49 deletions plutus-core/changelog.d/20230323_203720_kwxm_prototype.md

This file was deleted.

Loading

0 comments on commit 7526702

Please sign in to comment.