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)