Releases: kadena-io/pact-5
nightly
What's Changed
- Publish binary as development-latest by @rsoeldner in #121
- add identity builtin to support LSP by @rsoeldner in #123
- Add some strictness annotations by @0xd34df00d in #117
- add lsp renaming (defun) by @rsoeldner in #120
- Improve callstack errors, check for recursion. by @jmcardon in #126
- SPV support for Core by @jmcardon in #130
- Legacy Bindings v2 by @jmcardon in #125
- Implement Verifiers by @jmcardon in #133
- More benchmarks for natives by @0xd34df00d in #124
- add initial gas golden by @rsoeldner in #134
- tests: remove marmalade submodule by @thoughtpolice in #135
- incremental gassed serialization by @imalsogreg in #128
- Equality tweaks by @0xd34df00d in #136
- New stuff for the chainweb integration in #118
- Direct style interpreter by @jmcardon in #127
- Core: ADT-ize all errors by @jmcardon in #139
- Show via
pretty
+ tweaks by @0xd34df00d in #142 - builtin docs by @rsoeldner in #122
- remove compiler warnings by @rsoeldner in #149
- Add common Contract Benchmarks and Specialize by @jmcardon in #148
- add multi-file lsp support by @rsoeldner in #152
- correct heading of docs by @rsoeldner in #154
- pact-service-api by @imalsogreg in #151
- add hackage input. make it updateable from this repo. by @chessai in #155
- remove aeson < 2.2 constrain by @rsoeldner in #153
- Info alias, Evaluate fixes by @edmundnoble in #162
- Add UnknownException error case by @edmundnoble in #167
- Use deriving newtype when possible by @edmundnoble in #168
- Add unsafeParseCommand by @edmundnoble in #166
- make pact-request-api publicly visible by @edmundnoble in #163
- Split Pact.Core.Gen out of test suite into its own library for by @edmundnoble in #165
- Add GasEnv to encapsulate gas charging by @edmundnoble in #164
- repo cleanup by @rsoeldner in #169
- Port hyperlane builtin by @rsoeldner in #156
- Revise LSP hover details to produce new documentation by @rsoeldner in #157
- Add tests for SchemeSpec and some missing Repl functionality by @jmcardon in #159
- remove unused dependencies by @rsoeldner in #170
- Core: Fix return RTC flag, Events Disable flag by @jmcardon in #160
- fix pact version for CI by @jmcardon in #173
- Add instance Show (Domain k v b i) by @edmundnoble in #177
- Core: Add pactdb spec regression in test utils by @jmcardon in #174
- Use Gen.recursive and hedgehog size param in Gens by @edmundnoble in #176
- Core: Improve Gasmodel charging, monomorphize to gas table. by @jmcardon in #175
- Lg/built in functions final by @lsgunnlsgunn in #178
- Add instance IsString Field by @edmundnoble in #182
- make pact compile with ghc 9.10 by @rsoeldner in #171
- reverse events in EvalResult by @edmundnoble in #183
- some extra prisms by @edmundnoble in #181
- Derive Functor for EvalResult by @edmundnoble in #184
- set up EvalEnv and EvalState within eval functions by @edmundnoble in #187
- Remove all orphan instances by @jmcardon in #186
- Use PactValue for data field by @edmundnoble in #188
- Expose interface for Gas Payer in chainweb by @jmcardon in #189
- Bundle of changes from integration work by @edmundnoble in #190
- Add cabal build via GH actions by @rsoeldner in #172
- Delete historical query local-only natives by @jmcardon in #192
- Add Necessary encodings for Local, Add ExecutionMode to the Evaluate API by @jmcardon in #191
- Remove incremental gas charge on serialized write by @jmcardon in #194
- add
--explain-error-code ERROR_CODE flag
to the repl by @rsoeldner in #197 - fix PactDbRegression transactionally by @edmundnoble in #196
- Fix internal evaluate API to catch unknown exceptions by @jmcardon in #199
- Amend NoTxInCommit error to more general NotInTx error by @edmundnoble in #198
- Add tx hash for modules, use CBOR to get the module hash. by @jmcardon in #193
- add lenses and prisms for Command RPC types by @edmundnoble in #202
- add hashTxLogs by @edmundnoble in #203
- fix hashTxLogs by @edmundnoble in #204
- add lower bound for lsp-test by @rsoeldner in #205
- Remove smallstep CEK for 10% improvement across benchmarks. by @jmcardon in #195
- Add PactError prisms by @edmundnoble in #207
- Add gas to post-reads, make module admin acquisition explicit. by @jmcardon in #208
- Release workflow / nightly build beta by @DevopsGoth in #212
- LSP: Simplify parser and parse tree for LSP by @jmcardon in #214
- seeding changelog from pact < 5 by @rsoeldner in #215
- Fix captoken codec, add SigCapability, move Signer to its own module by @jmcardon in #210
- Integration: Enforce ordering on txlogs by @jmcardon in #213
- Add warnings to Repl by @jmcardon in #209
- Fixing release scripts by @DevopsGoth in #218
New Contributors
- @thoughtpolice made their first contribution in #135
- @chessai made their first contribution in #155
Full Changelog: development-latest...nightly
Pact v5-alpha
This release marks the alpha release of Pact v5, formerly known and referred to as "Pact Core". The alpha release marks the point at which the internal rewrite has reached semantic equivalence with legacy Pact (see: https://github.com/kadena-io/pact).
The team will continue to test and improve the language, along with adding support for the Pact Server API, an expanded repl, more LSP capabilities, and various test-related improvements until the Beta release (scheduled for March/April 2024), at which time we will invite the community to raise issues. At that time, more artifacts and build targets will be made available, and by the June service date for the Kadena public blockchain, will be fully integrated.
Pact v5-alpha:
Features:
- Lexer, Parser and term desugaring debugging using the :debug flag.
- Semantic equivalence with current pact (should work as a drop-in replacement).
- New CBOR pact db serialization.
- Improvements to speed and memory performance.
- LSP with hover on docs.
Upcoming:
- Step debugger
- New Formal Verification system
- Improved typechecking