Skip to content

Releases: IntersectMBO/plutus

1.45.0.0

16 Apr 20:46
ba16ec6
Compare
Choose a tag to compare

plutus-core

Changed

  • Builtin functions are pure when partially applied. Fully applied builtins are impure, as well as incorrectly applied ones (e.g. term argument applied instead of a type argument).

plutus-ledger-api

No changes.

plutus-tx

Added

  • Module PlutusTx.BuiltinList, containing functions for operating on BuiltinList.

Changed

  • PlutusTx.List.indexBuiltinList is replaced by PlutusTx.BuiltinList.!!.

plutus-tx-plugin

No changes.

plutus-executables

No changes.

Full Changelog: 1.44.0.0...1.45.0.0

1.44.0.0

04 Apr 08:12
b86b253
Compare
Choose a tag to compare

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 and caseList', for matching on Lists.

Changed

  • PlutusTx.Lift.liftCode and related functions now apply the default PIR and UPLC
    optimizations during code lifting. To disable these optimizations, use liftCodeUnopt
    and related functions.

  • PlutusTx.Prelude no longer re-exports PlutusTx.List. There are now two separate
    list modules: PlutusTx.List and PlutusTx.Data.List. Pick the one that fits your
    use case and import it explicitly.

  • PlutusTx.Prelude no longer re-exports PlutusTx.Foldable or PlutusTx.Traversable.
    These typeclasses are generally discouraged due to their performance overhead.
    For example, instead of using PlutusTx.Foldable.foldMap, consider rewriting
    your code using PlutusTx.List.foldr.

  • PlutusTx.Prelude now re-exports BuiltinBool, BuiltinList, BuiltinPair,
    ToData, FromData and UnsafeFromData.

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 than n. 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

1.43.0.0

24 Mar 13:39
eb53e43
Compare
Choose a tag to compare

plutus-core

No changes.

plutus-ledger-api

Added

  • Added a Data-backed version of MintValue for Plutus V3.

Changed

  • The Data-backed V3 ScriptContext is updated to now use the Data-backed MintValue, similar to how the SOP ScriptContext uses the SOP MintValue.

plutus-tx

Added

  • Added more standard library functions to Data.List.

  • Added new conversion functions from Data-backed Map and Data-backed List.

  • New Data.AssocMap library functions: filter, mapWithKey, mapMaybe and mapMaybeWithKey.

Changed

  • The conversion functions between Data.AssocMap.Map and different kinds of lists are now named according to which type of list they support.

  • Slightly improved the performance of some of the existing Data.AssocMap functions.

plutus-tx-plugin

No changes.

plutus-executables

No changes.

Full Changelog: 1.42.0.0...1.43.0.0

1.42.0.0

06 Mar 09:43
6cc3b92
Compare
Choose a tag to compare

plutus-core

Added

  • Switch from cryptonite library to crypton (a drop in replacement).

  • DropList builtin functionality

  • Costing model for the DropList builtin

  • A new type BuiltinArray.

  • Three functions for working with BuiltinArray values:

    • listToArray (converts a list to a BuiltinArray)
    • indexArray (returns an element of a BuiltinArray by index)
    • lengthOfArray (returns the length of a BuiltinArray)

Fixed

  • Fixed a bug in Plutus IR's dead code elimination pass that could incorrectly remove
    live data constructors or destructors.

plutus-ledger-api

Changed

  • Remove un-needed dervied Typeable instances.

plutus-tx

Added

  • PlutusTx.Function.fix, Plinth's equivalent of Data.Function.fix.

  • Module PlutusTx.Optimize.SpaceTime, containing utilities for space-time tradeoff,
    such as recursion unrolling.

  • Added PlutusTx.Data.List.null.

  • Added PlutusTx.Optimize.Inline.inline. This works like GHC.Magic.inline, and can be used
    in the form of inline f or inline (f args).

  • Added more functions to PlutusTx.Data.List.

Changed

  • Remove un-needed dervied Typeable instances.

  • Allow PlutusTx.Optimize.Inline.inline to inline local bindings.

  • Removes the constructor id check from the code AsData generates for product types, resulting in better performance.

plutus-tx-plugin

Changed

  • Changed the default value of compiler flag PlutusTx.Plugin:preserve-logging to true.

  • The Plinth compiler now inlines fixed point operators by default. This can be turned
    off by using no-inline-fix or conservative-optimisation.

  • The Plinth inliner now inlines local bindings (in addition to top-level bindings)
    with INLINE pragmas.

  • AsData now avoids creating strict dead bindings (which were previously created for
    unused fields).

plutus-executables

No changes.

Full Changelog: 1.40.0.0...1.42.0.0

1.40.0.0

29 Jan 13:09
832e119
Compare
Choose a tag to compare

What's Changed

Full Changelog: 1.39.0.0...1.40.0.0

1.39.0.0

20 Dec 14:21
142c69f
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 1.38.0.0...1.39.0.0

1.38.0.0

10 Dec 10:47
d2ab34e
Compare
Choose a tag to compare

What's Changed

Full Changelog: 1.37.0.0...1.38.0.0

1.37.0.0

27 Nov 17:43
0effd6c
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 1.36.0.0...1.37.0.0

Plutus 1.36.0.0

09 Oct 22:35
fb82893
Compare
Choose a tag to compare

What's Changed

  • [Meta] Add Slack and Discord to 'TRIAGE.md' by @effectfully in #6542
  • Improve the Slack Message Broker by @zeme-wana in #6534
  • Make Slack Message Broker Workflow Trigger on Status Events by @zeme-wana in #6544
  • Remove extra cons character in slack-message-broker.yml by @zeme-wana in #6545
  • Merge the "Plutus language changes" into other pages by @zliu41 in #6537
  • Expand the optimization techniques page in the user guide by @zliu41 in #6532
  • Rename and rewrite "Upgrading to Vasil and Plutus script addresses" by @zliu41 in #6533
  • Remove the common weaknesses page by @zliu41 in #6549
  • Add a note in the user guide about avoiding the INLINE pragma by @zliu41 in #6548
  • Update the Haddock Documentation page in the user guide by @zliu41 in #6546
  • Add new URL exception to check-broken-links.sh by @zeme-wana in #6551
  • Add new ignored urls and fix logic in check-broken-links.sh by @zeme-wana in #6552
  • Kwxm/write bits/new semantics by @kwxm in #6547
  • Revert "[Builtins] Disable 'writeBits' for changPlus1 (#6536)" by @kwxm in #6554
  • Plutus release 1.36.0.0 by @kwxm in #6555

Full Changelog: 1.35.0.0...1.36.0.0

1.35.0.0

04 Oct 13:05
384997b
Compare
Choose a tag to compare

What's Changed

Full Changelog: 1.34.1.0...1.35.0.0