Skip to content

Releases: accordproject/template-archive

Cicero v0.20.3 πŸ¦‹

15 Nov 21:04
Compare
Choose a tag to compare

This is an improvement and bug-fix release for Cicero 0.20 !

This release focuses on internal changes needed for better support in editors.

🏠 Internal

  • A new method Template.grammarHasErgoExpression() returns true if the template grammar uses {{% ... %}}
  • Update to Markdown Transform version 0.8.2
  • Update to Ergo version 0.20.3

Cicero v0.20.2 πŸ¦‹

13 Nov 22:48
Compare
Choose a tag to compare

This is an improvement and bug-fix release for Cicero 0.20 !

πŸ“ CiceroMark

🏠 Internal

  • Update to Concerto version 0.82.6
  • Update to Markdown Transform version 0.8.1
  • Update to Ergo version 0.20.2

πŸ› Bug fixes

Cicero v0.20.1 πŸ¦‹

08 Nov 16:39
Compare
Choose a tag to compare

This is an improvement and bug-fix release for Cicero 0.20 !

πŸ“ CiceroMark

🏠 Internal

  • Update to Markdown Transform version 0.7.6
  • Update to Ergo version 0.20.1

πŸ› Bug fixes

  • Match expressions in the Ergo REPL now have the correct evaluation order (accordproject/ergo#706)
  • Fixes issues with parsing of join and else blocks (#480)

Cicero v0.20.0

01 Nov 01:40
Compare
Choose a tag to compare

Butterfly Release πŸ¦‹

This release is a full redesign of the Accord Project template technology:

The contract was signed on {{contractDate as "DD/MM/YYYY"}}.
  • A notion of template blocks
    • Handles structured data such as lists, conditional sections or complex objects
  • A new notion of dynamic templates
    • Allows users to create text dynamically through embedded Ergo expressions

It also includes several new Ergo features and numerous bug fixes.

Note: This release requires changes to application and template code. See the migration guide for more information.

πŸš€ New Features

  • #405: Support for markdown with rich text annotations (@jeromesimeon)
  • #392: Fully redesigned and more expressive template syntax (@jeromesimeon)
  • #346: Ability to embed Ergo expressions within your templates (@jeromesimeon)
  • #435: Templates have a new directory structure, aligning better with the Accord Project conceptual model (@jeromesimeon)
  • #20: Support for lists of terms

πŸ›° New Command Line

#425: A new and improved command line for Cicero which better aligns with the rest of the Accord Project (@jeromesimeon)

cicero <cmd> [args]

Commands:
  cicero parse       parse a contract text
  cicero draft       create contract text from data
  cicero normalize   normalize markdown (parse & redraft)
  cicero trigger     send a request to the contract
  cicero invoke      invoke a clause of the contract
  cicero initialize  initialize a clause
  cicero archive     create a template archive
  cicero compile     generate code for a target platform
  cicero get         save local copies of external dependencies

Options:
  --version      Show version number                                   [boolean]
  --verbose, -v                                                 [default: false]
  --help         Show help                                             [boolean]

πŸ¦‹ Ergo

  • #392: New syntax for constructing strings with embedded expressions`This is text with {{% expression %}} and more text` (@jeromesimeon)
  • #3: Support for enumerated values, with proper typing and pattern matching (@jeromesimeon)
  • #143: New set state.NAME = EXPR; statement for modifying a specific variable in the contract state (@jeromesimeon)
  • #303: Redefining a constant is now a compiler warning (@jeromesimeon)

πŸ¦‹ Ergo Standard Library

  • New functions for URI encoding (encode and decode)
  • New format function for DateTime
  • New getOptions function which returns global static options for the compiler

πŸ› Bug Fixes

  • #441, #353: Fixes to template parsing in the presence of special characters (e.g., \t) (@jeromesimeon)
  • #407: Template variables starting with as do not result in parse errors anymore (@jeromesimeon)
  • #406: Fixes a regression when using DateTime within template variables of a complex type (@jeromesimeon)
  • #390: Now text generation properly handled nested clauses (@jeromesimeon)
  • #375: Badly specified dates now produce an error rather than a warning (@jeromesimeon)
  • #467: Tests now use current timezone for dates in contract text
  • #642: now is no longer a magic variable (@jeromesimeon)
  • #575: toString now properly format numeric values based on their types (@jeromesimeon)
  • #465: Constants are now properly imported and scoped, and can be accessed using an explicit namespace (@jeromesimeon)
  • #644: Cicero compilation target properly includes type hierarchy (@jeromesimeon)
  • #645: Type soundness of match expression (@jeromesimeon)

Cicero v0.13.5 ☘️

24 Sep 18:56
Compare
Choose a tag to compare

This is a bug fix and improvements release, focused on better support for Windows platforms.

Windows Support

  • πŸ’Ύ Better handling of Windows paths and new lines throughout Cicero (#197 #219 #408 #419 )

CLI

  • 🌷 cicero generateText does not quote it's output to make it prettier (#420 )

Cicero v0.13.4 ☘️

30 Jul 13:52
Compare
Choose a tag to compare

πŸš€ New Feature

  • #398: Add displayName property to template metadata (@mttrbrts)
    • This allows a template author to specify a human-readable name for a template that is different from the template's computer-readable name property.

πŸ› Bug Fix

πŸ“ Documentation

Cicero v0.13.3 ☘️

12 Jul 18:52
Compare
Choose a tag to compare

This is a minor release, which fixes a critical bug in the generate text call, not handling nested clauses (#390). 🐞

Cicero 0.13.2 ☘️

09 Jul 19:14
Compare
Choose a tag to compare

This is a minor release, which adds a convenience module for error handling (ErrorUtil) as part of the cicero-core API.

Cicero 0.13.1 ☘️

06 Jul 00:36
Compare
Choose a tag to compare

This is a minor release, upgrading to the latest versions of Concerto and Concerto Tools.

Cicero 0.13.0 ☘️

01 Jul 21:20
Compare
Choose a tag to compare

This 0.13.0 release is focused on overhauling error handling and improved error reporting. Errors use a new type hierarchy which works harmoniously across Cicero, Composer Concerto and Ergo! 🎢

It also includes some bug fixes, and integrates new Ergo features: array index access, a new logging expression, support for compiler warnings and new built-in functions.

Note: While this release is backward compatible from a templates support perspective, it may require changes to application code which relies on the Cicero JavaScript API

Bug fixes

  • 🐞 Parsing of date time without format is now consistent with that of the same date time with the default US format MM/DD/YYYY (#375)

Ergo

New expressions 🎁

  • πŸ”’ Array index. You can now write e1[e2] to access the value of array e1 at (integer) index e2. This return an option for type safety. (accordproject/ergo#561)
  • πŸ“ Logging. You can now write info(e1); e2 which indicate you want to print the value of e1 then evaluate e2. The semantic is defined as a no-op (so the compiler is free to optimise aggressively in some environments), but this can be useful when authoring template logic. This is an experimental feature, feedback is welcome (accordproject/ergo#121)

Built-in functions

Errors πŸ›