Releases: IntersectMBO/plutus
1.56.0.0
plutus-core
Changed
-
Updated benchmark data and cost model parameters for Value-related builtins (lookupCoin, valueContains, valueData, unValueData) based on fresh benchmark measurements.
-
Add support for nothunks == 0.3.*
plutus-ledger-api
Added
- To v3: numerator,denominator,unsafeRatio
Changed
-
In v3: renamed fromGHC/toGHC to fromRatioHaskell/toRatioHaskell
-
Add support for nothunks == 0.3.*
plutus-tx
Removed
- PlutusTx.Ratio: half
Added
- Enum Ratio instance that mimicks Haskell's instance
Changed
-
Renamed Ratio's fromGHC/toGHC to fromRatioHaskell/toRatioHaskell
-
Made the (&&) and (||) operators short-circuit also in the Haskell side.
uplc code is unaffected and is already short-circuiting.
plutus-tx-plugin
No changes.
plutus-executables
No changes.
plutus-metatheory
No changes.
Full Changelog: 1.55.0.0...1.56.0.0
1.55.0.0
plutus-core
Added
- Implementations of
ScaleValueprimitives.
Changed
-
Renamed 'Size' types functions to AstSize
-
In #7323 made the
Constr,ListandMapbuiltins 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_multiScalarMulandbls12_381_G2_multiScalarMulwill 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
Full Changelog: 1.53.0.0...1.53.1.0
1.54.0.0
plutus-core
Added
-
Built-in type
Value, and the implementations ofinsertCoinandunionValue. -
Added the bls MSM built-in to plutus-core in #4255
-
Implementations of
LookupCoinandValueContainsprimitives. -
Implementations of
ValueDataandUnValueDataprimitives.
Changed
- Change default compiler option
datatypesfromBuiltinCasingback toSumsOfProducts
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
What's Changed
- Release 1.52.0.0 by @zliu41 in #7277
- Make
FrameAwaitFunValuehandle multiple arguments at once by @SeungheonOh in #7281 - Throw compilation error when unsupported extension is enabled by @SeungheonOh in #7252
- Add Plinth builtin for integer casing by @SeungheonOh in #7271
- Add comprehensive GitHub Copilot instructions for Plutus development by @Copilot in #7276
- [OPTIMIZATION] Use specialized
ArgStackby @SeungheonOh in #7286 - [OPTIMIZATION] Use spine directly for constant casing by @SeungheonOh in #7287
- Only run Broken Links workflow on push to master by @zeme-wana in #7290
- Add golden test for
validationbenchmark suite by @SeungheonOh in #7289 - Bump mermaid to v11.10.0 by @zeme-wana in #7291
- Flat: encode UPLC arrays as lists by @kwxm in #7296
- [Test] Make 'test_mangle' not fail by @effectfully in #7297
- Update auction validator examples to use Plutus Core version 1.1.0 and fix V3 API imports by @Copilot in #7274
- Build with -Werror by default by @ana-pantilie in #7298
- Improve regex catching URLs in check-broken-links.sh by @zeme-wana in #7300
- Uncomment needed line in check-broken-links.sh by @zeme-wana in #7301
- Add SrcSpans of Vars in the compilation trace by @zliu41 in #7299
- [Builtins] Add constant casing for builtin unit and pair by @SeungheonOh in #7221
- Add -Wall to Haskell metatheory modules and fix warnings by @ana-pantilie in #7302
- Remove dependency on QuickCheck 2.16 + remove allow-newer QuickCheck by @ana-pantilie in #7295
- Add more exes to nix outputs and hide musl exes on darwin by @zeme-wana in #7303
- Release 1.53.0.0 by @ana-pantilie in #7307
New Contributors
- @Copilot made their first contribution in #7276
Full Changelog: 1.52.0.0...1.53.0.0
1.52.0.0
What's Changed
- Pin Manual Benchmarks To CPU 7 by @zeme-wana in #7249
- Autorun budget change comparison by @SeungheonOh in #7248
- Fix #7248 by @SeungheonOh in #7251
- Pretty-print UPLC programs with unicode chars by @zeme-wana in #7242
- Add some missing parentheses in the conformance tests by @kwxm in #7254
- Make plinth use builtin bool by @SeungheonOh in #7231
- Create issues for some FIXMEs by @zliu41 in #7257
- Fix faulty merge from #7231 by @SeungheonOh in #7259
- Fix link in Contributing.adoc by @SeungheonOh in #7261
- Bump version of GitHub action pr-preview-action by @zeme-wana in #7264
- Bump actions/checkout to v4.3.0 everywhere by @zeme-wana in #7266
- Use contIndexOne in SteppableCek. Fixes #7256 by @bezirg in #7269
- Fix natural number flat encoding on the spec by @SeungheonOh in #7263
- [Evaluation] Add 'CekResult' and improve 'dischargeCekValue' by @effectfully in #7272
Full Changelog: 1.51.0.0...1.52.0.0
Release 1.51.0.0
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-benchmarkby @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
plutus-core
Removed
- Removed the
caseListandcaseDatabuiltins in preparation for adding directCaseing on lists andData.
Added
-
In #7029 added support for
Caseing on booleans and integers. For example,case True a bnow evaluates tob. -
Added a new UPLC optimisation which removes
forcewhen applied to case expressions where each branch contains adelayat the top, or if the delay is under any number of lambda abstractions. -
Added a new emitter mode
logWithCallTraceEmitterwhich uses trace messages generated byPlutusTx.Plugin:profile-allflag 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 withprofile-allflag,logWithCallTraceEmitterwill behave as regularlogEmitter. -
Added support for
Caseing on builtin lists. WhenCaseing 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-textpackage in favor ofbase16-bytestring. -
Disable Plutus executable build for wasm
plutus-ledger-api
Added
PlutusLedgerApi.Envelopemodule with two functions:compiledCodeEnvelope: creates a JSON envelope forCompiledCodewith a description.writeCodeEnvelope: writes a JSON envelope forCompiledCodeto 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
plutus-core
Added
-
In #7029 added support for
Caseing on booleans and integers. For example,case True a bnow evaluates tob. -
Added a new UPLC optimisation which removes
forcewhen applied to case expressions where each branch contains adelayat the top, or if the delay is under any number of lambda abstractions.
Changed
- Drop
hex-textpackage in favor ofbase16-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
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