Skip to content

Releases: OpShin/opshin

0.27.1

03 Nov 08:35
e7d23d1

Choose a tag to compare

This is a patch release that fixes a number of bugs new in OpShin for Plutus V3

  • The data and redeemer in generated blueprints are now not specified anymore (as they can not be inferred from the validator signature)
  • The parameter annotation in the generated blueprints was fixed to correctly generate pycardano PlutusData classes from JSON and correctly convert PlutusData into JSON.
  • OpShin contracts now include a language and version marker in compiled code of the form apply (lambda _: <contract>) (con bytestring <marker>), where <marker> is an ASCII encoded o followed by three integers that are the major, minor and patch version numbers.
  • The <contract>.plutus dump is now correctly double-CBOR-wrapped (matching the expected formatting for the cardano-cli)

What's Changed

👒 Dependencies

Full Changelog: 0.27.0...0.27.1

0.27.0

19 Oct 14:07
bd90b8b

Choose a tag to compare

This version brings support for PlutusV3. It also disables support for PlutusV2. Please see the migration guide for details on how to adapt your smart contracts for PlutusV3!

What's Changed

🏕 Features

👒 Dependencies

Full Changelog: 0.26.1...0.27.0

0.26.1

10 Oct 14:26
c15809d

Choose a tag to compare

What's Changed

🏕 Features

🐛 Bug fixes

  • Fix incorrect application of optimization settings by @nielstron in #551
  • Various fixes around constant folding by default by @nielstron in #552

Full Changelog: 0.26.0...0.26.1

0.26.0

06 Oct 21:16
26df454

Choose a tag to compare

This version significantly reduces the size of compiled binaries, especially in compiler level O3, see the binary size tracker website: https://opshin.opshin.dev/binary_size_trends.html

What's Changed

🏕 Features

  • Fix typos discovered by codespell by @cclauss in #541
  • Enable UPLC-level optimizations in OpShin by @nielstron in #543
  • Extend binary size tracker with execution cost tracking by @Copilot in #545
  • Chore/migrate to uv by @NotHolmes in #546

New Contributors

Full Changelog: 0.25.0...0.26.0

0.25.0

01 Oct 21:33
db6816c

Choose a tag to compare

This release marks the completion of the OpShin audit. It contains numerous fixes and improvements over version 0.24.x, concretely tackling all reported issues in the OpShin Audit report. The audit report contains a detailed description of how every raised issue was addressed. Below is a summary of the most important changes.

What's Changed

🏕 Features

  • Loosen dependencies, including allowing Python 3.13 by @nielstron in #498
  • Add optimized bytestring index accesses when index can be resolved to a constant by @nielstron in #500
  • Avoid redundant computation in Dict subscript by @nielstron in #501
  • Feat/reverse pows by @nielstron in #502
  • Clean up imports, removing "import *" statements by @nielstron in #504
  • Deduplicate the hex and oct builtins by @nielstron in #506
  • Increase coverage by adding unit tests by @nielstron in #508
  • Add python3.13 by @nielstron in #509
  • Document POSIXTime Adequately by @nielstron in #514
  • Implement binary size tracker for OpShin contracts by @Copilot in #521
  • Feat/website binary size tracking by @nielstron in #529
  • Loosen the requirements for importing from typing, unify with Self by @nielstron in #537
  • Simplify error messages in copy_only_attributes, to reduce size by @nielstron in #540

👒 Dependencies

🐛 Bugfixes

  • Disallow custom functions and classes to overwrite builtins by @nielstron in #499
  • Test and fix plutus data creation from cbor/json by @nielstron in #512
  • Fix handling of negative indices for tuples and pairs by @nielstron in #539
  • Add shortcut semantics for the all/any builtins by @nielstron in #538

Full Changelog: 0.24.4...0.25.0

0.24.4

29 Aug 12:57

Choose a tag to compare

This patch release resolves a variety of issues revolving around the use of class methods and dunder methods.

As with 0.24.3, it is still highly recommend for anyone on 0.24.0 or later to upgrade to include the audit-related bug fixes.

What's Changed

🏕 Features

👒 Dependencies

🐛 Bugfixes

  • Fix an issue in chained comparisons by @nielstron in #488
  • Add radd and other reverse dunder methods, generally clean up dunder code by @nielstron in #493
  • Fix casting of values in list/dict comprehensions using isinstance by @nielstron in #497

Full Changelog: 0.24.3...0.24.4

0.24.3

11 Aug 12:33

Choose a tag to compare

This release adds a number of bug patches due to the OpShin Audit Report . This includes a variety of bug fixes related to the new (and hopefully little used) Union of builtin types, but also some older issues relating to False/True constructors in the Script Context and casting elements in list expressions.

All users of OpShin 0.24.0 or later are heavily advised to upgrade to this version.

What's Changed

🏕 Features

👒 Dependencies

🐛 Bugfixes

0.24.2

25 Apr 01:25

Choose a tag to compare

What's Changed

👒 Dependencies

Full Changelog: 0.24.1...0.24.2

0.24.1

28 Feb 07:32

Choose a tag to compare

This version drops support for Python 3.8

What's Changed

🏕 Features

Full Changelog: 0.24.0...0.24.1

0.24.0

31 Oct 20:56

Choose a tag to compare

What's Changed

🏕 Features

👒 Dependencies

Full Changelog: 0.23.1...0.24.0