These two tickets in the latest BoxLang snapshot builds introduce a breaking change in any apps, demos, or module code you may have. I have updated all docs and modules I can find, but report any docs or demos I may have missed.
allow RHS of castas operator to omit quotes
This allows you to not need to quote the types on the castas
operator
5 castas string
// is now the same as...
5 castas "string"
If you were using this code with a dynamic variable, any expression other than an identifier is still evaluated at runtime. Ex:
5 castas "#myType#"
5 castas (myType)
5 castas getType() & "[]"
Allow annotation values of unquoted strings
This one has two changes. Unquoted identifiers are allowed in annotation values (which wasn’t allowed before) and treated as a string literal. Secondly (and this is what’s likely to bite you) parenthesis are required around any annotation values, as well as commas between them now.
So this is NO LONGER VALID
@foo "bar" "baz bum"
instead, use this
@foo( bar, "baz bum" )
For annotations not having a value, this is still valid
@singleton
This change does NOT affect the syntax of documentation comments.
/**
* @foo bar
*/
function myFunc() {
}