Releases: kadena-io/pact
Releases · kadena-io/pact
Pact 3.5.1
3.5.1
NFData
instances for common Pact Service types (#800)- Analysis (#798):
- Soft support for
is-charset
(analysis does not choke on this primitive) - Fix column delta calculation
- Static Cap tracing
- Upgraded to SBV 8.6
- Soft support for
- Additional benchmarks for 10x operations/tx (#795)
- Fix bad commandline rendering from tool on load failure (#793)
- Better sanitization of sqlite db names (#787)
- Bugfix for
base64
primitives (#788)
Pact 3.5.0
- Add the commands sign, add-sig, and combine-sigs for working with signatures (#759)
- Decode StackFrame in JSON output (#755)
- CommandResult golden coverage (#754)
- Use CFFI for aeson (upstreamed from chainweb) (#749)
- Add gas logs to eval result (#748)
- Add missing case in Eval (#764)
- Misc updates to docs
- Add "Literate Flags" in execution config (#722)
- Add flag to allow reads in local (#777)
Pact 3.4.0
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
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
- Managed capabilities (see documentation)
- Production Gas model v1
- Added signing utilities
- Interfaces now admit
defcap
,defschema
, anddefpact
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 setsCHARSET_LATIN1
: built-in constant defining the latin1-charsetCHARSET_ASCII
: built-in constant defining the ascii-charsettest-capability
now also grants managed capabilitiesexpect-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
3.1.0
- Add SPV endorsement functionality to
defpact
s - '=' 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
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
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
, andresume
- 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
andenv-pactid
withcontinue-pact
andpact-state
- Adds REPL functions
chain-data
andenv-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
, andresume
- 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
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
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
andread-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