All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.0.0 - 2023-12-29
- Updated deps.
- Releasing 1.0.0.
0.12.0 - 2023-06-17
- Function signature of custom coercions to allow parsing more complex coercions types such as substr.
- Added new
_substr_[n:n]
COERCE identifier.
0.11.0 - 2023-06-10
- Ability to register new, remove existing and replace existing COERCE types.
- Updated ksql binary logic to be more concise, no functional changes.
- Updated deps.
0.10.0 - 2023-05-31
- string & number COERCE types.
0.9.1 - 2023-05-25
- Fixed AND & OR not early exiting evaluation.
0.9.0 - 2023-01-05
- Added new
_uppercase_
&_title_
COERCE identifiers. - Added ability to use multiple COERCE identifiers at once separated by a comma.
- Added CLI ability to return original data if using an expression that returns a boolean.
- Added Send + Sync restrictions to Expression trait for multithreaded use and async/await.
0.8.0 - 2022-10-30
- Added new
_lowercase_
COERCE identifier.
0.7.0 - 2022-07-29
- The ability for CONTAINS_ANY and CONTAINS_ALL to check if a String contains any|all of the values within an Array. Any non-string data types return a false.
0.6.2 - 2022-07-29
- && and || expression chaining.
0.6.1 - 2022-07-19
- Fixed number parsing for exponential numbers eg. 1e10.
0.6.0 - 2022-07-19
- Added BETWEEN operator support BETWEEN
- Missing Gt, Gte, Lt, Lte for DateTime data type.
0.5.0 - 2022-07-18
- Reworked Parsing algorithm fixing a bunch of scoping issues.
- Added COERCE to DateTime support.
- Added CONTAINS_ANY & CONTAINS_ALL operators.
0.4.1 - 2022-07-08
- Fixed Array parsing not handling Comma correctly.
0.4.0 - 2022-06-26
- Display of Value not 50% faster for Objects and Arrays.
0.3.1 - 2022-06-08
- Missing commas between items is output JSON Objects.
- Release profile for smaller binary size.
- Updated deps to latest.
- Linter suggested updates.
0.3.0 - 2022-04-06
- Lexer token return signature reducing its size from 12->8 bytes
0.2.0 - 2022-04-06
- Cleaned up code.
- AND->&& and OR->|| and =->==in lexer.
- Expression signature to accept &[u8] instead of &str
- Lexer token return signature reducing its size from 32->12 bytes
- Lexer now implements Iterator instead of returning a Vec of Tokens.
- Refactored Parser internals to use lexer iterator.
- Not token type and support in lexer + parser.
- More documentation.
- Identifier parsing when it ends in a parenthesis or bracket.
- Blank string parsing
0.1.2 - 2022-03-14
- Fixed README + leftover docs.
0.1.1 - 2022-03-14
- Fixed Cargo.toml for publishing.
0.1.0 - 2022-03-14
- Initial release.