This project adheres to Semantic Versioning.
Nothing yet!
- Falsey identifiers are no longer treated as undefined
- Binary operators after nested identifiers were not balanced properly, resulting in a broken expression/AST
- Gulp (or one of its plugins) had a breaking change in a minor release, preventing the frontend build from running. This build method will be removed from the next major version of Jexl. For now, Jexl is now version- locked to the original gulp+plugins that worked.
- Code coverage thresholds are now enforced through
gulp coverage-test
- Operators found in identifier names (such as 'in' in 'incident') were being tokenized separately from the rest of the identifier
- Minus did not denote a negative number at the start of a ternary's consequent section
- The ability to define new binary and unary operators, or override existing ones.
- The ability to delete existing binary and unary operators.
v1.0.2 = 2015-03-08
- Bad Gulpfile resulted in frontend dist falling out of sync. Fixed and re-synced.
v1.0.1 - 2015-03-08
- Refactored Parser and Evaluator. Both operations are now marginally faster.
- Removed balance tracking in favor of passing maps of token types at which the sub-parser should stop.
- Object literals could not be defined in the consequent section of a ternary expression.
v1.0.0 - 2015-03-04
- Object literals. Objects can now be defined inline with
{standard: 'syntax'}
. - Array literals. Arrays can also be defined with
["standard", 'syntax']
. - The 'in' operator, for checking to see if a string appears inside a larger string, or if an element exists in an array.
- Ternary expressions with
this ? "standard" : "syntax"
- Ternary expressions with
alternate ?: "syntax"
- Simplified Grammar, reduced RAM footprint
- Dot notation can now be used to access properties of literals, such as
"someString".length
or{foo: 'bar'}.foo
. - Transform syntax has changed. Arguments are now passed in parentheses, and multiple arguments can be defined. Arguments are no longer limited to object literals.
v0.2.0 - 2015-03-02
- "Divide and floor" operator: //
- Documentation outlining running expressions against XML.
- Initial release