This repository has been archived by the owner on Sep 7, 2023. It is now read-only.
Ergo v0.20.0 π¦
This release is focused on overhauling the following Accord Project technologies:
- Dynamic Templates
- Template Syntax
- Markdown Support
- Markdown Syntax
- Markdown Transformations
It also includes newly supported enums for Ergo, a way to set a specific field in the state of your contract, as well as bug fixes.
Note: This release requires changes to application and template code ...
π New Language Features
- #392: String template syntax
`This is text with {{% expression %}} and more text`
(@jeromesimeon) - #3: Support for enumerated values, with proper typing and pattern matching support (@jeromesimeon)
- #143: Expression sublanguage for modifying state (@jeromesimeon)
π° New Command Line
A and improved command line for Ergo which better aligns with the rest of the Accord Project Cicero #425
ergo <command>
Commands:
ergo draft create a contract text from data
ergo trigger send a request to the contract
ergo invoke invoke a clause of the contract
ergo initialize initialize the state for a contract
ergo compile compile a contract
Options:
--help Show help [boolean]
--version Show version number [boolean]
--verbose, -v [default: false]
π Standard Library
- New
encode
anddecode
functions for URI encoding - New
format
function forDateTime
- New
getOptions
function which returns global static options for the compiler
βοΈ Compiler
- #303: Redefining a constant is now a compiler warning (@jeromesimeon)
π Build
- #688: Ergo and CI now run on Node.js v10 (@jeromesimeon)
- #623: Upgrade to Q*cert 1.4.1 (@jeromesimeon)
- #690: Improved Windows support (@jeromesimeon)
π Bug Fixes
- #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 target properly includes type hierarchy (@jeromesimeon)
- #645: Type soundness of match expression (@jeromesimeon)
- #665: String with escaped characters are properly printed in REPL without an extra
\