Releases: accordproject/template-archive
Cicero v0.20.3 π¦
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 π¦
This is an improvement and bug-fix release for Cicero 0.20
!
π CiceroMark
- Improved support for lists and nested lists (accordproject/markdown-transform#109 accordproject/markdown-transform#110 accordproject/markdown-transform#125)
π 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
- Setting state and calling contracts works in the Ergo REPL again (accordproject/ergo#702 report by @4katie)
Cicero v0.20.1 π¦
This is an improvement and bug-fix release for Cicero 0.20
!
π CiceroMark
- Improved support for softbreaks and linebreaks (accordproject/markdown-transform#100, accordproject/markdown-transform#44)
- Now with support for images! (accordproject/markdown-transform#115)
π 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
andelse
blocks (#480)
Cicero v0.20.0
Butterfly Release π¦
This release is a full redesign of the Accord Project template technology:
- Support for Rich Text annotations with Markdown
- Based on CommonMark
- New syntax for templates variables
- 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
anddecode
) - New
format
function forDateTime
- 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 βοΈ
Cicero v0.13.4 βοΈ
π 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.
- This allows a template author to specify a human-readable name for a template that is different from the template's computer-readable
π Bug Fix
- accordproject/ergo#639: Ergo bug, inlining code not handling shadowing inside
foreach
expressions. (@jeromesimeon)
π Documentation
- #393: Add trademark policy (@peterhunn)
Cicero v0.13.3 βοΈ
This is a minor release, which fixes a critical bug in the generate text call, not handling nested clauses (#390). π
Cicero 0.13.2 βοΈ
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 βοΈ
This is a minor release, upgrading to the latest versions of Concerto and Concerto Tools.
Cicero 0.13.0 βοΈ
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 arraye1
at (integer) indexe2
. 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 ofe1
then evaluatee2
. 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
- π New
length
function returns the length of a string (accordproject/ergo#615)
Errors π
- π Better location information in type errors over built-in operators (accordproject/ergo#622)
- π· Underlining errors does not look strange when tab characters are present (accordproject/ergo#626)
- π·Better type errors for missing fields (accordproject/ergo#629)