plutus-core
Added
-
Cost models for the
keepPoliciesanddropPoliciesbuiltins (CIP-0168), with eight new cost model parameters. Both are proportional to the length of the policy list times the depth of theValue's outer map. -
Plutus Core version 1.2.0, which supports casing on
Data.Constrconstants.
Changed
-
Valuenow caches the number of negative amounts per currency, not only in total, which makeskeepPoliciesanddropPolicieslogarithmic in theValuerather than linear in its size. The CPU and memory models ofinsertCoin,unionValue,scaleValueandunValueDataaccount for maintaining it. -
keepPoliciesanddropPoliciesfail on aValuewith more than 8191 policies (policyFilterMaxSize). -
Added builtin semantics variants F and G for Dijkstra era
plutus-ledger-api
Changed
-
Plutus Core 1.2.0 is available in Plutus V1–V4 from protocol version 12. Casing on
Data.Constrrequires both protocol version 12 and Plutus Core 1.2.0; casing
on other constants is unchanged. -
defaultCaserBuiltinFor,toMachineParameters,evaluateTerm, and
machineParametersFornow take a Plutus Core version. Custom casers passed to
mkDynEvaluationContextnow receive that version too. -
Add new semantic variants for Dijkstra
plutus-tx
Changed
-
keepPoliciesanddropPoliciesfail on aValuewith more than 8191 policies, matching the builtins. -
Improved efficiency and consistency of the
unionandunionWithoperations of
PlutusTx.Data.AssocMap.
plutus-tx-plugin
Changed
- Plinth now targets Plutus Core 1.2.0 by default. Use
target-version=1.1.0
when compiling scripts for protocol versions before 12.
plutus-executables
No changes.
plutus-metatheory
No changes.
Full Changelog: 1.70.0.0...1.71.0.0