Skip to content

Releases: kadena-io/pact

Pact 3.4.0

18 Dec 22:33
Compare
Choose a tag to compare

Note this is the version that deploys with Chainweb 1.4.x, with a finalized gas model and managed capability improvements (auto-management, autonomous management)

  • Improve ApiReq for creationTime, TTL, haddocks for PublicMeta and friends (#753)
  • Allow for flexible interface manager spec, and "auto-managed" caps (#746)
  • Cover module persistence with golden test (#745)
  • Execution config (#741)
  • Fail define-namespace on bad atom structure (#737)
  • Finalize gas model (#734)
  • Use ByteString readFile and explicit UTF8 decoding (#735)
  • Enable autonomous managed capabilities (#733)
  • benchmark and improve rounding (#732)

Pact 3.3.1

07 Nov 18:56
Compare
Choose a tag to compare
  • base64-(encode|decode) natives
  • Bugfix: you can now declare user guards as constants
  • keysets are now set-based so that keyset equality works regardless of key order
  • Bugfix: module guards with managed caps on demand installs works properly
  • Signature checks only consider acquired and pending caps
  • Better docs all around

Pact 3.3.0

25 Oct 14:46
Compare
Choose a tag to compare
  • Managed capabilities (see documentation)
  • Production Gas model v1
  • Added signing utilities
  • Interfaces now admit defcap, defschema, and defpact declarations
  • Add explicit import system. Users may now import function, constant and schema symbols
  • Enforce unique names for in-module declarations
  • Typechecking interfaces now succeeds
  • Previous block hashes added to public data
  • TTL + creation time added to public data
  • Added new natives:
    • is-charset: provides support for testing string conformity with a given charset. Currently supported charsets include: ASCII and ISO 8859-1 (latin1 supplement) character sets
    • CHARSET_LATIN1: built-in constant defining the latin1-charset
    • CHARSET_ASCII: built-in constant defining the ascii-charset
    • test-capability now also grants managed capabilities
    • expect-failure overload allowing users to match on substrings of errors
  • Bug fix disallowing access to Capabilities via FQN
  • Steps with rollbacks now disallowed w/ cross-chain yields
  • Network-id requirement in payloads
  • Analysis:
    • list and object length analysis
    • with-default-read analysis bugs fixed
    • Unbound column invariants
    • vacuous property detection and report

Pact 3.1.0

31 Jul 17:43
c7bb9fb
Compare
Choose a tag to compare

3.1.0

  • Add SPV endorsement functionality to defpacts
  • '=' now compares only like terms
  • User guards can now be created as closures of boolean-valued functions
  • Improved swagger documentation
  • Improved error messages
  • Added new decryption and keypair validation primitives for CHACHA20-POLY1305 Authenticated Encryption with Associated Data (AEAD)
  • Added bitwise integer native functions &, ~, shift, xor, and |
  • Add user-facing chain-data native schema type
  • Documentation for namespaces and interfaces
  • Add base-64 case to str-to-int and improve error messages
  • Add int-to-str native
  • Analysis:
    • traces now render on same line
    • added support pact step signatures, and governance analysis
    • added support for chain-data pact native
    • upgrade z3 version support to 4.8.5
    • Scope checking for interfaces

Pact 3.0.1

08 Jun 20:27
1179b69
Compare
Choose a tag to compare

3.0.1

  • Check for module in stack when enforcing module guard
  • Output test failures on error
  • fix describe table output and meta pretty instance

Pact 3.0

08 Jun 20:31
ff393e8
Compare
Choose a tag to compare

3.0.0

  • Guards and capabilities, with full model-checking support
  • Scoped namespaces for modules and keysets
  • Adds module governance function
  • Migrate all runtime pact state to DB backend: modules, pacts, transaction ID management
  • Improved transaction non-malleability: signatories and chain version in payload
  • Adds SPV support with configurable backend
  • Multiple Cryptographic signature schemes: ED25519, ECDSA
  • Adds Table-based Gas model
  • Standardize on CommandResult in all API endpoints
  • CommandResult adds gas consumed, logs, and metadata fields
  • CommandResult's "result" field changed to output reliable, user-friendly Terms and errors.
  • Adds continuation proof field to ContMsg
  • Adds public metadata to Pact Command API
  • Format all hashes in Base64url
  • Adds typechecking for lists, yield, and resume
  • Typechecker and analysis support for partial schemas
  • Removes support for non-string keys in objects
  • Rejects decimal literals with too many digits
  • defpact can run in local mode
  • Disallow rollback on the last step of a pact
  • Replaces REPL's env-step and env-pactid with continue-pact and pact-state
  • Adds REPL functions chain-data and env-chain-data
  • Better compile and typecheck errors
  • Pretty printing
  • Working Windows build
  • Analysis:
    • Adds analysis for non-literal constants
    • Adds pact analysis tools developer guide
    • Adds analysis for pact-id, defpact, yield, and resume
    • Improves output from verification
    • Supports analysis of (bounded-size) lists and nested objects
    • Pins z3 to a specific version (4.8.3)
    • Uses timeout of 1 second for all z3 queries
  • Swagger for API

Pact 2.6.1

08 Jun 20:30
9ef5f4b
Compare
Choose a tag to compare

2.6.1

  • Korean readthedocs
  • Interfaces copy models onto implementing modules
  • Better/tighter compile phase, remove TBless, TImplements
  • Fix bug preventing correct reporting of argument values in falsifying models
    from the property checker

Pact 2.6.0

08 Jun 20:32
Compare
Choose a tag to compare

2.6.0

  • Pact Interfaces
  • Localized docs in JP and EN
  • Add configurable gas limit for pact -s
  • Remove file server from pact -s
  • Fix empty list runtime type enforcement bug
  • Enforce top-level only for builtins pact-version, enforce-pact-version, etc
  • Various changes to support web repl
  • use cryptonite for Blake2 implementation
  • new str-to-int builtin
  • Numerous fixes to pact reference docs
  • New compiler using megaparsec
  • analysis supports str-to-int and read-integer built-ins
  • new row-exists, read, column-of, column-written properties
  • @model now always takes a list when applied on modules, functions, or schemas.
  • properties can now be applied to an entire module
  • Fix bug in analysis impl of decimal arithmetic
  • Model falsifications are now presented as execution traces with example values