Fixed spacing on decorated elements (e.g., spacing around a canceled operator)
Fixed styling for stretchable symbols
Added tack.r.double, tack.l.double, dotless.i and dotless.jsymbols
Fixed show rules on symbols (e.g. show sym.tack:settext(blue))
Fixed missing rename from ast.op to ast that should have been in the previous release
Scripting
Added function scopes: A function can now hold related definitions in its own scope, similar to a module. The new assert.eq function, for instance, is part of the assert function's scope. Note that function scopes are currently only available for built-in functions.
Added assert.eq and assert.ne functions for simpler equality and inequality assertions with more helpful error messages
Exposed list, enum, and term list items in their respective functions' scope
Added support for passing a function to replace that is called with each match.
Fixed replacement strings: They are now inserted completely verbatim instead of supporting the previous (unintended) magic dollar syntax for capture groups
Fixed bug with trailing placeholders in destructuring patterns
Fixed bug with underscore in parameter destructuring
Fixed crash with nested patterns and when hovering over an invalid pattern
Better error messages when casting to an integer or float fails