1.44.0.0
plutus-core
Fixed
- Fixed a bug in PIR's callsite inliner that caused it to skip valid inlining in certain cases.
plutus-ledger-api
No changes.
plutus-tx
Removed
- Removed
Data.AssocMap.toDataList
because it suffers from the bug described in #6085.
Added
-
PlutusTx.Data.List.destructList
, which takes a list along with a list of
desired indices, and generates variables bound to the elements at those indices. -
PlutusTx.Data.List.caseList
andcaseList'
, for matching onList
s.
Changed
-
PlutusTx.Lift.liftCode
and related functions now apply the default PIR and UPLC
optimizations during code lifting. To disable these optimizations, useliftCodeUnopt
and related functions. -
PlutusTx.Prelude
no longer re-exportsPlutusTx.List
. There are now two separate
list modules:PlutusTx.List
andPlutusTx.Data.List
. Pick the one that fits your
use case and import it explicitly. -
PlutusTx.Prelude
no longer re-exportsPlutusTx.Foldable
orPlutusTx.Traversable
.
These typeclasses are generally discouraged due to their performance overhead.
For example, instead of usingPlutusTx.Foldable.foldMap
, consider rewriting
your code usingPlutusTx.List.foldr
. -
PlutusTx.Prelude
now re-exportsBuiltinBool
,BuiltinList
,BuiltinPair
,
ToData
,FromData
andUnsafeFromData
.
plutus-tx-plugin
Added
- Plinth compiler flag
inline-callsite-growth
, for setting the inlining threshold
for callsites. 0 disables inlining a binding at a callsite if it increases the AST size;
n
allows inlining if the AST size grows by no more thann
. Keep in mind that
doing so does not mean the final program will be bigger, since inlining can often
unlock further optimizations.
plutus-executables
No changes.
Full Changelog: 1.43.0.0...1.44.0.0