Skip to content
This repository has been archived by the owner on Sep 30, 2021. It is now read-only.

Latest commit

 

History

History
90 lines (75 loc) · 3.16 KB

CHANGELOG.md

File metadata and controls

90 lines (75 loc) · 3.16 KB

Jexl Change Log

This project adheres to Semantic Versioning.

[Development

Nothing yet!

Fixed

  • Falsey identifiers are no longer treated as undefined

Fixed

  • 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.

Changed

  • Code coverage thresholds are now enforced through gulp coverage-test

Fixed

  • Operators found in identifier names (such as 'in' in 'incident') were being tokenized separately from the rest of the identifier

Fixed

  • Minus did not denote a negative number at the start of a ternary's consequent section

Added

  • 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

Fixed

  • Bad Gulpfile resulted in frontend dist falling out of sync. Fixed and re-synced.

v1.0.1 - 2015-03-08

Changed

  • 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.

Fixed

  • Object literals could not be defined in the consequent section of a ternary expression.

v1.0.0 - 2015-03-04

Added

  • 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"

Changed

  • 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

Added

  • "Divide and floor" operator: //
  • Documentation outlining running expressions against XML.

v0.1.0 - 2015-03-02

Added

  • Initial release