Accordproject Ergo Versions Save

Programming Language for Smart Legal Contracts

v0.24.0

1 year ago

Updated to use Concerto v3

v0.23.2

1 year ago

Updates version of concerto-core and vm2.

v0.23.1

2 years ago

Publish to npm

v0.23.0

2 years ago

Update to Concerto v2.0.0

v0.23.0-alpha.3

2 years ago

This release includes improvements and addresses security vulnerabilities in dependencies.

💥 Breaking changes

🐛 Bug Fixes

  • Fixes issue with converting minutes durations into hours (See #848 )

v0.23.0-alpha.2

2 years ago

This release upgrades the webpack configuration to webpack 5.

v0.23.0-alpha.1

2 years ago

This release upgrades to the latest major version of Concerto 2.0.0 and updates numerous dependencies.

💥 Breaking Changes

  • Ergo libraries now require Node.js version 14 or later. Node.js version 12 is no longer supported

🛡️Dependencies Updates

  • Upgrades to Concerto 2.0.0
  • Upgrades to Q*cert 2.1.1
  • Upgrades numerous dependencies, fixing vulnerabilities

🏗 Build

  • Fixes failures with build from source tests in the CI/CD pipelines

v0.22.2

2 years ago

This release includes dependency upgrades (notably to the Concerto model library) with bug fixes and fixes to security vulnerabilities.

v0.22.1

2 years ago

This release fixes the CLI, broken in the previous release. It also upgrades Concerto to the latest version, which addresses security vulnerabilities.

🛰 CLI

  • Fixes the Ergo CLI, not working in version 0.22.0
  • Adds --utcOffset option to the CLI

🏗 Dependencies

  • Upgrades to Concerto 1.0.2

v0.22.0

3 years ago

Introduction

Ergo 0.22 is a major release of the compiler, which includes:

  • Support for improved validation and the root type hierarchy from Concerto 1.0.0
  • Support for revised base Accord Project models
  • A completely re-designed code-generation pipeline leveraging improvements from the new version of Q*cert.

Changes

Build

  • Upgrade from OCaml 4.07 to OCaml 4.11
  • Upgrade from Coq 8.8 to Coq 8.11 & 8.12
  • Switch from ocamlbuild to dune build system

Compiler

  • Switch backend from Q*cert 1.4 to Q*cert 2.1 (See release notes here: https://github.com/querycert/qcert/releases)
  • Redesign of compiler architecture
  • Proof of correctness for Ergo calculus to Q*cert initial IL
  • Complete code refactor

Runtime

  • Migrate to Concerto 1.0
  • Migrate JavaScript runtime from moment to dayjs

API

  • Additional utcOffset parameter can be passed to Ergo engine
  • The API for both @accordproject/ergo-compiler and @accordproject/ergo-engine has been revised for a cleaner separation between compile-time and run-time

Tech notes:

  • BREAKING The Ergo compiler no longer generates ES5, but ES6 (notably the generated code uses let)
  • New compiler includes several additional ILs on the backend side, notably generates code using the Imp imperative intermediate language