9.42.0 (2022-08-27)Features
9.41.0 (2022-08-24)Features
use evalValue to parse & render expression, #527 (071368a )
9.40.0 (2022-08-14)Bug Fixes
Features
export toValueSync & defaultOptions to evaluate expression, see #527 (e874b40 )
9.39.2 (2022-07-21)Bug Fixes
9.39.1 (2022-07-14)Bug Fixes
throw ParseError instead of RenderError for invalid assign expression, closes #519 (c41a5d5 )
9.39.0 (2022-07-09)Bug Fixes
for tag not respecting Drop#valueOf(), fixes #515 (c3e51ca )
Features
9.38.0 (2022-07-07)Bug Fixes
stack overflow on large number of templates, #513 (3dc4290 )
Features
9.37.0 (2022-04-21)Bug Fixes
support integer arithmetic for divided_by, closes #465 (e69a510 )
Features
9.36.2 (2022-04-19)Bug Fixes
lazy createRequire to allow exceptions being catched, fixes #497 (b377dad )
9.36.1 (2022-04-17)Bug Fixes
9.36.0 (2022-03-05)Features
Access array item by negative index, closes #486 (049685b )
allow strip filter with specified char, closes #390 (c503cb2 )
appropriate error for malformed filters, fixes #271 (01014ed )
9.35.2 (2022-03-02)Bug Fixes
corner case for concat filter without argument, #481 (aa95517 )
export all builtin tags from LiquidJS, #464 (33009bb )
9.35.1 (2022-02-26)Bug Fixes
9.35.0 (2022-02-23)Bug Fixes
url_encode throws on undefined value, fixes #479 (ca3240c )
Features
expose all tags/filters and TimezoneDate, closes #464 (dab8a29 )
9.34.1 (2022-02-20)Bug Fixes
array output now join with “” instead of “,” (ab5e245 )
sort filter unexpectedly modifies original array, #475 (dbc0497 )
9.34.0 (2022-01-28)Bug Fixes
Features
ownPropertyOnly option to protect prototype, #454 (7e99efc )
9.33.1 (2022-01-19)Bug Fixes
liquidjs.version on npm package (53824a2 )
9.33.0 (2022-01-19)Features
9.32.1 (2022-01-12)Bug Fixes
remove limit on operator char length (7677f84 )
9.32.0 (2022-01-02)Features
support allow_false for default filter, see #435 (c756191 )
9.31.0 (2021-12-19)Features
9.30.0 (2021-12-18)Features
9.29.0 (2021-12-11)Features
customize globals & strictVariables when calling render, see #432 (6801552 )
9.28.6 (2021-12-07)Bug Fixes
size filter does not respect Objects, fixes #385 (6c11426 )
throws when using preserveTimezones on Node.js, fixes #431 (e2ef236 )
9.28.5 (2021-11-05)Bug Fixes
always allow ‘./‘ and ‘../‘ to be relative, even on windows (44f6b52 )
9.28.4 (2021-10-31)Bug Fixes
9.28.3 (2021-10-27)Bug Fixes
relative root (by default) yields LookupError, fixes #419 , #424 , also related to #395 (aebeae9 )
9.28.2 (2021-10-16)Bug Fixes
9.28.1 (2021-10-16)Bug Fixes
9.28.0 (2021-10-06)Bug Fixes
skip root check for renderFile() (822ba0b )
support timezoneOffset for date from scope, #401 (fd5ef47 )
Features
relativeReference for render/include/layout, #395 (a3455eb )
implement forloop.name as found in ruby shopify/liquid (6dc7fad )
9.27.1 (2021-10-04)Bug Fixes
9.27.0 (2021-10-03)Bug Fixes
remove “stream” dependency in browser bundles, #396 (3b5eb66 )
renderToNodeStream() now emit ‘error’ event instead of throw (afeef1d )
Features
add layouts, partials apart from root, #395 (b9ae479 )
renderFileToNodeStream(filepath, scope) (68c4cfc )
Performance Improvements
make the most of streamed rendering (aea3441 )
9.26.0 (2021-09-30)Features
Performance Improvements
improve performance by 4x by simplified parseFile (24f5346 )
parse filenames in parse() insteadof render() (8273c17 )
9.25.1 (2021-06-20)Performance Improvements
add cross-engines benchmark (cdceb25 )
9.25.0 (2021-05-07)Features
when tag with multiple values (8f9639f )
9.24.2 (2021-05-04)Bug Fixes
operator boundary not correctly recognized, fixes #342 (3e3d84a )
9.24.1 (2021-05-01)Bug Fixes
make LiquidError context property public (1fd76ac )
9.24.0 (2021-05-01)Features
add context as a property on the LiquidError error (9c7cb57 )
export errors for better error handling in user-land (4e394b9 )
9.23.4 (2021-04-17)Bug Fixes
capitalize filter not lower case trailing string, fixes #326 (6548765 )
9.23.3 (2021-03-21)Bug Fixes
9.23.2 (2021-03-13)Bug Fixes
comparison for empty/nil, fixes #321 (99d14e7 )
newline_to_br filter should output instead of , fixes #320 (9a9b792 )
9.23.1 (2021-02-19)Bug Fixes
lenientIf not working for the umd bundle, closes #313 (2e66e8b )
9.23.0 (2021-02-12)Bug Fixes
Features
9.22.1 (2021-02-05)Bug Fixes
default to precedence 1 for custom operators (20f559e )
9.22.0 (2021-02-04)Features
9.21.0 (2021-02-04)Features
add operators option for custom operators (75591cd )
create trie programmatically in options (befc33c )
export OperatorMap type (bc87e19 )
export Operators from operator.ts (6a7c280 )
rename to defaultOperators and Operators (8734e2e )
9.20.1 (2021-01-24)Bug Fixes
allow string literals contain delimiters, fixes #288 (9c40da7 )
9.20.0 (2021-01-23)Features
support `{{block.super}}`, see [#38](https://github.com/harttle/liquidjs/issues/38) ([a3af44d](https://github.com/harttle/liquidjs/commit/a3af44d))
# [9.19.0](https://github.com/harttle/liquidjs/compare/v9.18.0...v9.19.0) (2020-12-18)
### Bug Fixes
* lint ([de32259](https://github.com/harttle/liquidjs/commit/de32259))
* move offset adding complexity inside TimezoneDate ([26b2175](https://github.com/harttle/liquidjs/commit/26b2175))
* simpler timezone regex and non-null offset ([e3ecfe3](https://github.com/harttle/liquidjs/commit/e3ecfe3))
### Features
* add preserveTimezones option ([d70cd2a](https://github.com/harttle/liquidjs/commit/d70cd2a))
* parse and handle date timezone offsets ([c16c787](https://github.com/harttle/liquidjs/commit/c16c787))
# [9.18.0](https://github.com/harttle/liquidjs/compare/v9.17.0...v9.18.0) (2020-12-17)
### Bug Fixes
* address refactor comments ([6a0ad10](https://github.com/harttle/liquidjs/commit/6a0ad10))
### Features
* add option for keeping variable type in output ([cd92e77](https://github.com/harttle/liquidjs/commit/cd92e77))
# [9.17.0](https://github.com/harttle/liquidjs/compare/v9.16.1...v9.17.0) (2020-12-07)
### Bug Fixes
* elsif is not supported for unless, fixes [#268](https://github.com/harttle/liquidjs/issues/268) ([2bbf501](https://github.com/harttle/liquidjs/commit/2bbf501))
* enforce string-type pattern in `replace`, fixes [#243](https://github.com/harttle/liquidjs/issues/243) ([c8afa39](https://github.com/harttle/liquidjs/commit/c8afa39))
* raw block not ignoring {% characters, fixes #263 (a492d8e )
Features
9.16.1 (2020-10-09)Bug Fixes
9.16.0 (2020-10-08)Features
9.15.1 (2020-10-03)Bug Fixes
allow quoted variable name in capture, fixes #252 (5b3f419 )
9.15.0 (2020-08-04)Features
9.14.1 (2020-07-08)Bug Fixes
enumerate Promises (e.g. in for & tablerow) (#237 ) (941dd66 )
9.14.0 (2020-06-25)Features
setup universal browser and node builds (6cf6ffa )
9.13.0 (2020-06-25)Features
9.12.0 (2020-05-15)Features
Bug Fixes
Bug Fixes
respect cache render options (a93f11d )
9.11.9 (2020-03-31)Bug Fixes
coerce to Array in map and where filter (c923598 )
9.11.8 (2020-03-31)Bug Fixes
9.11.7 (2020-03-28)Bug Fixes
9.11.6 (2020-03-25)Bug Fixes
default filter not applied for empty array (c371762 )
9.11.5 (2020-03-24)Bug Fixes
throws on invalid arguments for prepend/append, fixes #208 (479c633 )
9.11.4 (2020-03-23)Bug Fixes
return variable name in include error (93433a8 )
9.11.3 (2020-03-14)Performance Improvements
introduce AST to avoid reparse (d2d6a38 )
remove instanceof DelimitedToken (1673e84 )
9.11.2 (2020-03-14)Performance Improvements
remove transient strings to reduce memory (3dfdf98 )
9.11.1 (2020-03-09)Bug Fixes
9.11.0 (2020-03-04)Bug Fixes
Buffer not defined for browser bundles, fixes #197 (65b849c )
stable sort for undefined keys, fixes #191 (f57156b )
Features
async cache.read()/write(), remove .has() (61dac49 )
9.10.0 (2020-03-03)Features
9.9.0 (2020-03-02)Features
9.8.0 (2020-02-20)Features
9.7.2 (2020-02-20)Bug Fixes
add funding entry to show up in npm fund command (40095a8 )
9.7.1 (2020-02-19)Bug Fixes
9.7.0 (2020-02-07)Bug Fixes
Features
9.6.2 (2020-01-10)Performance Improvements
prevent multiple case evaluations (807e840 )
9.6.1 (2020-01-04)Bug Fixes
add this to fs references in parseFile (4b079c5 )
9.6.0 (2019-12-15)Features
9.5.0 (2019-12-12)Features
9.4.2 (2019-11-15)Bug Fixes
9.4.1 (2019-11-15)Bug Fixes
remove node dependencies for esm bundle, see #173 (04df929 )
9.4.0 (2019-11-14)Features
add ability to pass JSON context to CLI (9504e4e )
9.3.1 (2019-11-09)Bug Fixes
liquidjs command in /bin/liquid.js, fixes #169 (0073b90 )
9.3.0 (2019-11-07)Features
9.1.1 (2019-10-10)Performance Improvements
add string flattening to reduce retained memory (node only) (3ad512c )
9.1.0 (2019-10-07)Features
alias getTemplate() to parseFile() (6b83788 )
9.0.1 (2019-10-02)Bug Fixes
9.0.0 (2019-08-26)Bug Fixes
break/continue omitting output before them, #123 (ae45c46 )
reactjs demo during yarn install, fixes #145 (b65df44 )
Code Refactoring
return value of Tag#render is no longer used (8028f82 )
Features
renderSync, parseAndRenderSync and renderFileSync, see #48 (7fb01ad )
Performance Improvements
BREAKING CHANGES
Tag#render now returns void, use emitter argument to write rendered html.
ship to Node.js 8, the dist/liquid.cjs.js (main) nolonger supports Node.js 6, other bundles are also provided via dist/liquid.esm.js, dist/liquid.js (ES5 umd) and liquid.min.js (minified ES5 umd)
remove default export, now should be used like import {Liquid} from ‘liquidjs’
8.5.3 (2019-08-25)Bug Fixes
escape filter when input is undefined (a00945c )
8.5.2 (2019-08-09)Bug Fixes
8.5.1 (2019-08-05)Bug Fixes
8.5.0 (2019-08-01)Features
8.4.1 (2019-07-22)Bug Fixes
some filters on undefined variable throws, #140 (6e6ea0a )
8.4.0 (2019-07-06)Features
8.3.0 (2019-06-27)Features
8.2.4 (2019-06-17)Performance Improvements
improve getTemplate() when cache is enabled (1ffba2b )
8.2.3 (2019-05-19)Bug Fixes
8.2.2 (2019-05-12)Bug Fixes
8.2.1 (2019-04-26)Bug Fixes
default filter is not working with an empty string, #122 (6075c0a )
8.2.0 (2019-04-17)Features
8.1.0 (2019-04-02)Features
8.0.3 (2019-04-01)Bug Fixes
8.0.2 (2019-03-25)Performance Improvements
use polymophism instead duck test (82d7673 )
8.0.1 (2019-03-22)Bug Fixes
incorrect scope when using assign with for, fixes #115 (defbb58 )
8.0.0 (2019-03-10)Code Refactoring
use camelCase for JavaScript APIs (64e0c87 )
Features
promise support for drops, working on #65 (4a8088d )
BREAKING CHANGES
Options and method names in JavaScript API are now renamed to cammelCase, for a complete list see #109
7.5.1 (2019-03-05)Bug Fixes
7.5.0 (2019-03-01)Features
7.4.0 (2019-02-28)Bug Fixes
math filters now return number, resolves #110 (b4acdb4 )
Features
7.3.1 (2019-02-25)Bug Fixes
#108: remove absolute path in emitted d.ts (53a835a ), closes #108
7.3.0 (2019-02-24)Features
7.2.2 (2019-02-23)Bug Fixes
filters break when argument contains [()|, fixes #89 (e977669 )
7.2.1 (2019-02-22)Bug Fixes
default length for truncate and truncatewords (56c7992 )
7.2.0 (2019-02-20)Features
override output/tag delimiter, fixes #54 (d20a043 )
BREAKING CHANGES
trim_value_left option renamed to trim_output_left, trim_value_right option renamed to trim_output_right
7.1.0 (2019-02-20)Features
throw an Error if delimiter not matched (c33d8f6 )
7.0.0 (2019-02-14)chore
TypeScript: ship Liquid to class (1cc7249 )
BREAKING CHANGES
TypeScript: calling Liquid() without new now becomes invalid
6.4.3 (2019-02-13)Bug Fixes
better index.d.ts and a demo (2015f68 ), closes #98
6.4.2 (2019-01-28)Bug Fixes
6.4.1 (2019-01-28)Bug Fixes