All Versions
45
Latest Version
Avg Release Cycle
66 days
Latest Release
761 days ago

Changelog History
Page 4

  • v0.8.5 Changes

    September 04, 2017
    • ๐Ÿ‘Œ Improved expression parsing performance in Swift 3.2 and 4.0
    • ๐Ÿ›  Fixed some bugs in parsing of identifiers containing dots
  • v0.8.4 Changes

    August 22, 2017
    • ๐Ÿ›  Fixed spurious parsing errors when expressions have leading whitespace
    • ๐Ÿ“œ The parse(_: String.UnicodeScalarView) method now accepts an optional list of terminating delimiters
  • v0.8.3 Changes

    August 16, 2017
    • ๐Ÿ›  Fixed crash when parsing a malformed expression that contains just a single operator
    • Internal mathSymbols and boolSymbols dictionaries are now public, so you can filter them from symbols array
  • v0.8.2 Changes

    August 08, 2017
    • ๐Ÿ›  Xcode 9b5 compatibility fixes
  • v0.8.1 Changes

    July 25, 2017
    • Now marks the correct token as unexpected when attempting to chain function calls (e.g. foo(5)(6))
    • Now produces a clearer error for empty expressions
  • v0.8.0 Changes

    July 07, 2017
    • โž• Added parse(_: String.UnicodeScalarView) method for parsing expressions embedded in an interpolated string
    • ๐Ÿ‘Œ Improved parsing of expressions containing ambiguous whitespace around operators
    • ๐Ÿ›  Fixed some more bugs in the expression description logic
    • โœ‚ Removed the deprecated noCache option
  • v0.7.1 Changes

    July 05, 2017
    • Made clearCache() method public (was previously left internal by accident)
    • โž• Added additional hard-coded precedence for common operator types and names
    • ๐Ÿ‘ Now supports right-associativity for assignment and comparison operators
    • ๐Ÿ‘Œ Improved description logic, now correctly handles nested prefix/postfix operators
    • โž• Added support for infix alphanumeric operators, in addition to postfix
    • ๐Ÿ›  Fixed bug when parsing a binary ?: operator
    • ๐Ÿ›  Swift 4 compatibility fixes
  • v0.7.0 Changes

    June 03, 2017
    • ๐ŸŽ Significantly improved evaluation performance of by storing functions inline inside the parsed expression
    • Expressions can now contain quoted string literals, which are treated as identifiers (variable names)
    • โž• Added pureSymbols optimization option, allowing custom functions and operators to be inlined where possible
    • โž• Added deferred optimization, allowing functions that use a custom evaluator take advantage of optimization
    • โž• Added parse(_, usingCache:) method for fine-grained control of caching and pre-parsing
    • The clearCache() method now optionally accepts a specific expression to be cleared
    • ๐Ÿ—„ Deprecated the noCache option. Use the new parse(_, usingCache:) method instead
    • โž• Added optimization guide to the README file
  • v0.6.1 Changes

    May 28, 2017
    • ๐Ÿ›  Fixed bug where optimizer stopped as soon as it encountered a custom symbol in the expression
  • v0.6.0 Changes

    May 27, 2017
    • ๐Ÿ’ฅ BREAKING CHANGE: constant symbols have now been renamed to variable to more accurately reflect their behavior
    • โšก๏ธ Minor breaking change: description now returns the optimized description
    • โž• Added built-in symbol library for boolean operations
    • โž• Added thread-safe in-memory caching of previously parsed expressions
    • ๐Ÿ‘Œ Improved optimizer - now pre-evaluates subexpressions with constant arguments
    • โž• Added configuration options for enabling/disabling optimizations and boolean arguments
    • โž• Added modulo % operator to the standard math symbol library
    • โž• Added support for hexadecimal literals