Skip to content

Releases: kadena-io/pact

Pact 4.11.0

26 Feb 20:20
a1c7906
Compare
Choose a tag to compare

Features

  • Support for verifier plugins (#1324,#1336)
  • Support for hyperlane-message-id (#1335)
  • Support for decoding a hyperlane TokenMessage (#1344)

Bugfixes

  • Fix bug in enforce-pact-version parser (#1334)
  • Fix pact CLI usage output to use correct naming (#1331)
  • Fix step for defpacts in typechecker (#1333)

Misc

  • List-modules moved to local-only (#1326)
  • Update pact server typo (#1328)
  • Deprecate readthedocs (#1341)

Pact 4.10

06 Dec 22:55
495c873
Compare
Choose a tag to compare

4.10.0

Features

  • Support webauthn in signer/usersig and keyset formats (#1318)
  • New poseidon-hack-a-chain native for the "Poseidon" hashing function (#1313)

Bugfixes

  • Gas adjustment for concat (#1317)
  • Fix formal verification support for str-to-int (#1304)

Misc

  • Vendor webauthn dependency

Pact 4.9.0

02 Oct 19:54
0c9cfe5
Compare
Choose a tag to compare

Pact 4.9.0

Bugfixes

  • Pact value infos fixed (#1287)

Features

  • Webauthn support (#1193)

Pact 4.8

22 Aug 18:26
75a3c9f
Compare
Choose a tag to compare

4.8

Bugfixes

  • Fix name resolution within module redeploy (#1235)
  • Fixed issue with the hash of cap guards, hash native and principals (#1273) (#1278)
  • Fixed error message for calling a non-function value (#1268)

Eval

  • Tweaked the gas of concat (#1269), reverse and format (#1271)
  • Allow computation on integers less than 10^80 without gas penalty (#1272)

Internal changes

  • More granular gas units (#1245)
  • Remove GHCJS support (#1280)
  • GHC 9.6+ version support (#1242)
  • Package docs in nix flake (#1258)
  • Vendor sources of prettyprinter-1.6.0 (#1263)
  • Use MTL 2.3+ (#1261)
  • replace cryptonite by crypton (#1240)

Formal Verification

  • Support lambdas in static typechecker (#1232)
  • Fix swapped type assignment in fold symeval (#1253)

Other

  • Improve modref docs (#1256)

Thanks to @thomashoneyman for the contribution!

Pact 4.7.1

09 Jun 23:28
v4.7.1
456aa65
Compare
Choose a tag to compare

4.7.1

This marks the 4.7.1 release of the Pact language.

Eval

  • Add feature flag FlagDisableRuntimeTypeChecking for disabling runtime typechecking
    introduced in Pact 4.7 (#1231)

Formal Verification

  • Fixed empty list type defaulting to any (#1224)
  • Fixed partial biniding (#1227)

Tests

  • Refactored test to avoid runIO within tests (#1129)
  • Add CoverageSpec (#1228)
  • Fix ReplSpec tests (#1216)
  • Cleanup PactContinuationSpec (#1222)

Others

Pact 4.7.0

10 May 21:09
83c5944
Compare
Choose a tag to compare

4.7.0

This marks the 4.7.0 version of the Pact smart contract language.

Eval

  • Improve advice implementation (#1187)
  • Fix inconsistent trace output (#1153)
  • Fix coverage, restore defun advice (#1151)
  • Create persistence dirs if missing (#1148)
  • Differentiate between errors on-chain and off-chain (#1185)
  • Don't display function documentation in non-repl context (#1185)
  • Runtime type checking on return types now enforced (#1209)

Natives

  • Allow native function versioning in eval (#1195)
  • Add new native dec for integer to decimal conversion (#1150)
  • Implement shift in terms of other natives for better gas costing (#1208)
  • Intialize body of env-data to an empty object instead of Null (#1188)
  • read-* functions are now recoverable if the key doesn't exist. That is, a call such as (read-string 'key) is recoverable if 'key does not exist in the data payload by surrounding it with try. As an example, (try "string if key isn't present" (read-string "key")). This applies to
    read-integer, read-string, read-decimal, read-keyset and read-msg (as long as read-msg has a key supplied as an argument - #1223 )

Typechecking

  • Fix Typechecker treatment of special binding forms (#1212)

Formal Verification

  • Enable warnings during symbolic eval (#1175)
  • Remove emit-event shim (#1168)
  • Remove hash shims (#1158)
  • Remove enumerate shim (#1155)
  • Remove distinct shim (#1154)
  • Remove describe-namespace shim (#1156)
  • Remove is-principal, typeof-principal, create-principal, and validate-principal shims (#1160)
  • Remove format shim (#1159)

Documentation

  • Remove mention of private defpacts from the reference manual (#1207)
  • Add documentation for enumerate (#1176)

Misc

  • New PR and Issue templates introduced.

Thanks to everyone for their contributions, especially @CryptoPascal31 for his wonderful feedback and commentary, and welcome to our newest Pact team member, @ak3n!.

4.6.0

22 Feb 02:39
75b1d52
Compare
Choose a tag to compare
  • Add DisablePact46 execution flag (#1138)

  • Add Zero Knowledge native operations (#1052)

  • Add deprecation warning system (#1127)

  • Build support for Nix flakes (#1083)

  • Passage of time simulation in local pact server build (#1082)

  • Fixed parsing failure message for Public Keys (#1097)

  • print native now pretty prints output using term pretty printing (#1106)

  • Typechecker:

    • now handles all const value types (#1116)
    • inlines mock dynamic references (#1120)
  • Formal Verification:

    • Prevent usage of result fixed binding in defpact verification. (#1113)
    • Warning added for invaliding models when decimals are too high a
      precision (#1113)
    • Typechecker now correctly infers function type arguments (#1112)
    • Added debug flag to verify native, allowing outputs to be directed to
      SMTLib file on a per-module basis. (#1122)
    • Add shim for select in FV (#1090)

Thanks to everyone for their contributions, especially new contributors @qooboodoop and @omahs, and welcome to our newest Pact team member, @rsoeldner!.

Pact 4.4.1

01 Dec 19:59
0d45ad7
Compare
Choose a tag to compare
  • Export ApiReq constituent data structures (#1055)
  • Fix test tree creation to allow tests to run faster, safer to run on a single core,
    and prevents test servers from being exposed to public environs (#1060, #1062)
  • Added capability guards (#1057)
  • Lazily evaluate enforce to reduce gas usage on evaluation (#1069)
  • Gas adjustment for various natives (#1071)
  • Fix FV regression that disallowed the verification of unary operators like abs (#1079)
  • Documentation link fixes (thanks @przemeklach! #1075)

Pact 4.4

07 Sep 16:33
957b8bd
Compare
Choose a tag to compare

Changelog:

  • Document VSCode support - thanks JeremeyJS! (#965)
  • Documentation fixes - thanks JCM00N and Luzzotica! (#1003, #1021)
  • Gas-related bug fixes and adjustments to format and try (#1020, #1019)
  • Defined keysets are now required to be namespaced (#1011)
  • Consolidated Pact 4.4 execution config flag (removes need for DisablePreserveNamespaceUpgrade flag, #1026)

Pact 4.3.1

15 Jul 21:57
0ec7e92
Compare
Choose a tag to compare

Changelog:

  • Add validate-principal, is-principal, typeof-principal, and create-principal natives #998
  • Allow module upgrades without enforcing namespace user guards #1008
  • Export haskell primitives for working with Principal guards #1006
  • Add describe-namespace native #1010
  • Add support for with-capability repl docs #1016
  • Re-enable repl line info #1005