Skip to content
This repository has been archived by the owner on Sep 7, 2023. It is now read-only.

Releases: accordproject/ergo

Ergo 0.8.5

09 Jun 11:13
Compare
Choose a tag to compare
Ergo 0.8.5 Pre-release
Pre-release

This is a patch release which updates the dependency on Composer Concerto to v0.70.5

Ergo 0.8.4

08 Jun 10:57
53662d8
Compare
Choose a tag to compare
Ergo 0.8.4 Pre-release
Pre-release

This is a patch release which updates the dependency on Composer Concerto to v0.70.4

Ergo 0.8.3

08 Jun 09:05
01d0398
Compare
Choose a tag to compare
Ergo 0.8.3 Pre-release
Pre-release

This is a patch release which updates the dependency on Composer Concerto to v0.70.3

Ergo 0.8.2

02 May 04:39
Compare
Choose a tag to compare
Ergo 0.8.2 Pre-release
Pre-release

⚙️ This is minor release, with Composer Concerto exported as a component of the ergo-compiler package. This provides a reliable way to ensure the same version of Concerto is used when importing multiple Cicero/Ergo packages in your application.

Ergo v0.8.1

30 Apr 04:05
Compare
Choose a tag to compare
Ergo v0.8.1 Pre-release
Pre-release

This is mostly bug-fix release, along with improvements to the handling of special characters in Strings (new lines, carriage returns, tabs, etc).

Libraries

  • 🧮 A new small library interest.ergo to calculate monthly payments for fixed rate mortgages

Lexer

  • ⚙️ Fixes to the lexer to better handle escaped characters in strings (\n, \t, \r, \b) (#606)
  • ⚙️ Strings can now use escaped ascii codes \001 to \255

Bug fixes

  • 🐞 Fix to the JavaScript code generation for infinity and not-a-number Double values (#612)
  • 🐞 Fix to the command line: --contractName is not required anymore (#609)
  • 🐞 Do not fail validation for clauses returning atomic values

Ergo v0.8.0

05 Apr 02:57
Compare
Choose a tag to compare
Ergo v0.8.0 Pre-release
Pre-release

This is mostly a technical and bug-fix release.

System:

  • ⚙️ A completely redesigned execution engine, with two distinct instantiations: one using https://github.com/patriksimek/vm2 for sandboxed evaluation, and the other using JavaScript eval for browser support
  • ⚙️ A new ergo-test better isolates testing support from the rest of the system

Bug fixes

  • 🐞 Ergo command-line issues have been fixed (#591)

Ergo v0.7.3

21 Mar 05:02
Compare
Choose a tag to compare
Ergo v0.7.3 Pre-release
Pre-release

This is a bug fix release:

  • 🐞Addresses issue with "Not a Number" floating point literals in the emitted JavaScript code
  • 🐞VM execution should be passed the JSON after validation

Ergo v0.7.0

19 Mar 22:21
Compare
Choose a tag to compare
Ergo v0.7.0 Pre-release
Pre-release

This is a pretty major release! Some of the highlights include: support for handling and maintaining timezones in Date/Time operations and contract execution performs model validation.

Also this release include a completely redesigned API and execution engine with a better semantics for dispatch and the ability to call a specific clause by name.

Language

  • 📲New dispatch semantics: dispatch picks the clause with the most specific request type first, and the compiler rejects programs with two clauses with the same request type (#550)
  • ⌛DateTime operations maintain and take into account timezone information (#515)
  • 🧮New operator % for remainder, integerModulo returns the modulo. integerMod is removed.

Execution engine and API

  • ⚙️Completely redesigned compiler and execution API
  • New invoke API call to invoke a specific Clause
  • ⚙️Contract execution validates request/states/responses against CTO models (#490)
  • ⌛Execution API now takes a current time (ISO 8691 UTC format) as a parameter
  • ⌛Using moment-mini for a smaller footprint of the execution engine

Compiler

  • 🔎 More readable error messages when using command-line (#554)
  • ⚙️ Dispatch and Init creation phase is moved after type-checking phase
  • 🚅 More efficient representation for large string constants
  • 🚅 integer to string conversion is using OCaml instead of Coq extraction for performance

Bug fixes

  • 🐞getMonth now returns month ranging from 1 to 12, instead of 0 to 11 (#574)
  • 🐞arraySubtract has parameters in the right order again in JavaScript backend (#576)
  • 🐞Record construction properly handles duplicate fields (#516)
  • 🐞startOf is not the same as endOf anymore... (#513)

Build

  • Switching to OCaml 4.07.1
  • Switching to Coq 8.8.2
  • Work with opam2
  • Library upgrades, notably: latest versions of js_of_ocaml, menhir and yojson
  • Code coverage is reported as part of the continuous integration

Ergo v0.6.3

11 Mar 00:00
Compare
Choose a tag to compare
Ergo v0.6.3 Pre-release
Pre-release

As we wait for the next major release (thank you everyone for your patience!), we have a minor release adding new built-in functions.

Language

  • 🛍 A new built-in function singleton returns the one element in a singleton array (or none)
  • 🛍 Support for parsing Double and Integer/Long from String

Ergo v0.6.2

14 Jan 22:53
Compare
Choose a tag to compare
Ergo v0.6.2 Pre-release
Pre-release

This release focuses on performance improvements and bug fixes

Compiler

  • 🐎 There is now a way to get performance information from the ergo compiler, using the new command-line option ergoc --monitor

Bug fixes and Improvements:

  • 🐞 Improvements to the performance of the code generation (#508)
  • 🐞 min/max sometimes failed at runtime in the JavaScript backend (#511)