Skip to content

Releases: IntersectMBO/plutus

1.55.0.0

12 Nov 11:32
4a91d93

Choose a tag to compare

plutus-core

Added

  • Implementations of ScaleValue primitives.

Changed

  • Renamed 'Size' types functions to AstSize

  • In #7323 made the Constr, List and Map builtins 7+% faster.

  • Updated the Plutus Core specification to allow names with optional numeric suffixes (e.g., name-42) in #7396, resolving the discrepancy between the formal grammar and the parser implementation.

plutus-ledger-api

Added

  • The two BLS12-381 multi-scalar multiplication functions
    bls12_381_G1_multiScalarMul and bls12_381_G2_multiScalarMul will become
    available on the chain at Protocol Version 11 once a protocol parameter update
    has taken place to add the relevant cost model parameters.

Fixed

  • Allows PlutusV3 scripts with the v1.0.0 Plutus Core language version.

plutus-tx

Changed

  • Renamed 'Size' types functions to AstSize

plutus-tx-plugin

Removed

  • Removed the experimental compiler certification option temporarily due to ghc issues regarding the profiling build of plutus-metatheory.

Changed

  • Renamed 'Size' types functions to AstSize

plutus-executables

No changes.

plutus-metatheory

No changes.

Full Changelog: 1.54.0.0...1.55.0.0

1.53.1.0

18 Nov 18:14
ac80393

Choose a tag to compare

Full Changelog: 1.53.0.0...1.53.1.0

1.54.0.0

23 Sep 11:59
4d2c553

Choose a tag to compare

1.54.0.0 Pre-release
Pre-release

plutus-core

Added

  • Built-in type Value, and the implementations of insertCoin and unionValue.

  • Added the bls MSM built-in to plutus-core in #4255

  • Implementations of LookupCoin and ValueContains primitives.

  • Implementations of ValueData and UnValueData primitives.

Changed

  • Change default compiler option datatypes from BuiltinCasing back to SumsOfProducts

plutus-ledger-api

Added

  • Added the bls MSM built-in to plutus-core in #4255

plutus-tx

Added

  • Added the bls MSM built-in to plutus-core in #4255

plutus-tx-plugin

Added

  • Added the bls MSM built-in to plutus-core in #4255

plutus-executables

No changes.

plutus-metatheory

No changes.

Full Changelog: 1.53.0.0...1.54.0.0

Release 1.53.0.0

04 Sep 14:31
a27c1b7

Choose a tag to compare

What's Changed

New Contributors

  • @Copilot made their first contribution in #7276

Full Changelog: 1.52.0.0...1.53.0.0

1.52.0.0

18 Aug 19:38

Choose a tag to compare

What's Changed

Full Changelog: 1.51.0.0...1.52.0.0

Release 1.51.0.0

30 Jul 16:41
df5449b

Choose a tag to compare

What's Changed

  • Include changelog.d fragment files in git add in release script by @zeme-wana in #7228
  • Add arrays to metatheory by @ramsay-t in #7127
  • More tests, conformance test cases for builtin integer, bool, list casing by @SeungheonOh in #7218
  • Add cardano open oracle protocol scripts for plutus-benchmark by @SeungheonOh in #7156
  • Enable SoPs and all builtins in PlutusV1/V2 at PV11. by @kwxm in #7223
  • Release 1.50.0.0 by @Unisay in #7227
  • Bump on-headers to 1.1.0 in doc/docusaurus/package.json by @zeme-wana in #7234
  • Bump plutus versions to 1.50 in plutus-benchmark.cabal by @zeme-wana in #7237
  • Allow 'turtle' package to use a new version of 'optparse-applicative' by @zeme-wana in #7236
  • Get nofib-exe to print out names with uniques by @kwxm in #7226
  • Invert some error messages in plutus-ledger-api tests by @kwxm in #7240
  • Update Values.md by @kwxm in #7244
  • Renumber multisig-sm validation scripts by @kwxm in #7245
  • Change case order for two branch builtin list casing by @SeungheonOh in #7247
  • Release 1.51.0.0 by @ana-pantilie in #7250

Full Changelog: 1.50.0.0...1.51.0.0

1.50.0.0

24 Jul 08:11
aaa408b

Choose a tag to compare

plutus-core

Removed

  • Removed the caseList and caseData builtins in preparation for adding direct Caseing on lists and Data.

Added

  • In #7029 added support for Caseing on booleans and integers. For example, case True a b now evaluates to b.

  • Added a new UPLC optimisation which removes force when applied to case expressions where each branch contains a delay at the top, or if the delay is under any number of lambda abstractions.

  • Added a new emitter mode logWithCallTraceEmitter which uses trace messages generated by PlutusTx.Plugin:profile-all flag of plutus-tx-plugin to create call trace of the functions that led to the evaluation failure. If script passes or script is not compiled with profile-all flag, logWithCallTraceEmitter will behave as regular logEmitter.

  • Added support for Caseing on builtin lists. When Caseing a builtin list, exactly one or two branches are allowed: with a single branch, Case assumes the list is non-empty and applies the head element and the tail to that branch; with two branches, the first branch is selected if the list is empty (and takes no arguments), and the second branch is chosen if the list is non-empty, receiving the head element and the tail as its arguments. Note, the single branch WILL FAIL the script evaluation if empty list is given.

Changed

  • Drop hex-text package in favor of base16-bytestring.

  • Disable Plutus executable build for wasm

plutus-ledger-api

Added

  • PlutusLedgerApi.Envelope module with two functions:
    • compiledCodeEnvelope: creates a JSON envelope for CompiledCode with a description.
    • writeCodeEnvelope: writes a JSON envelope for CompiledCode to a file.

plutus-tx

Added

  • Module 'PlutusTx.Test.Util.Compiled' of the 'plutus-tx-testlib' package got a new function 'countFlatBytes' that counts the size of a 'CompiledCode' in Flat bytes.

plutus-tx-plugin

No changes.

plutus-executables

No changes.

plutus-metatheory

Fixed

Full Changelog: 1.49.0.0...1.50.0.0

1.49.0.0

10 Jul 07:58
2444cd9

Choose a tag to compare

plutus-core

Added

  • In #7029 added support for Caseing on booleans and integers. For example, case True a b now evaluates to b.

  • Added a new UPLC optimisation which removes force when applied to case expressions where each branch contains a delay at the top, or if the delay is under any number of lambda abstractions.

Changed

  • Drop hex-text package in favor of base16-bytestring.

plutus-ledger-api

No changes.

plutus-tx

Added

  • Module 'PlutusTx.Test.Util.Compiled' of the 'plutus-tx-testlib' package got a new function 'countFlatBytes' that counts the size of a 'CompiledCode' in Flat bytes.

plutus-tx-plugin

No changes.

plutus-executables

No changes.

plutus-metatheory

No changes.

Full Changelog: 1.48.0.0...1.49.0.0

1.48.0.0

26 Jun 17:39
f7a8c31

Choose a tag to compare

plutus-core

No changes.

plutus-ledger-api

No changes.

plutus-tx

No changes.

plutus-tx-plugin

No changes.

plutus-executables

No changes.

plutus-metatheory

No changes.

Full Changelog: 1.47.0.0...1.48.0.0

1.47.0.0

13 Jun 16:31
71e98bf

Choose a tag to compare

plutus-core

Changed

  • In #7106 improved error reporting in the evaluators.

  • StructuralEvaluationError and OperationalEvaluationError were renamed to StructuralError and OperationalError respectively.

  • _MachineError was made obsolete in favor of _StructuralError.

  • The tags for the flat encodings of the as-yet-unreleased dropList,
    lengthOfArray, listToArray, indexArray, caseList and caseData
    built-in functions have been changed pending the possible removal of
    caseList and caseData.

plutus-ledger-api

No changes.

plutus-tx

Added

  • PlutusTx.Test.Run.Code module was added to the plutus-tx:testlib package.
    This module provides a way to run compiled Plutus code in a test environment,
    allowing for easier testing and debugging of Plutus scripts. See more details in the User Guide.

  • Added over 30 new functions to PlutusTx.BuiltinList

  • Added new errors codes:

    • PT23 -> PlutusTx.BuiltinList.head: empty list
    • PT24 -> PlutusTx.BuiltinList.tail: empty list
    • PT25 -> PlutusTx.BuiltinList.last: empty list
  • Added TH help PlutusTx.IsData.TH.makeIsDataAsList which generates ToData, FromData, UnsafeFromData instances with internal representation being Data.List instead of Data.Constr for given product datatype(only having a single constructor).

  • Added PlutusTx.Test.Util.compiledCodeToHask and PlutusTx.Test.Util.compiledCodeToHaskUnsafe for applying parameters to CompiledCodeIn uni fun tersely.

  • Added PlutusTx.Test.Golden.goldenCodeGen for generating golden of the generated code from Template Haskell.

  • Added assertResult for asserting given CompiledCode Bool evaluates True.

Changed

  • BuiltinList lookup is made cheaper by using the DropList builtin function.

plutus-tx-plugin

Added

  • Integrated the compiler certifier into the plugin. This feature can be accessed using the certify plugin option. Note that this is currently very experimental, and is released now mainly for testing purposes.

  • Added support for integerEq into the plugin, enabling use of (==) @Integer and pattern matching on Integer type values.

plutus-executables

No changes.

plutus-metatheory

No changes.

Full Changelog: 1.46.0.0...1.47.0.0