10.19.1 (2024-12-22)
- add sideEffects=false to package.json (734eb52)
- inconsistent continue behaviour, fixes #779 (e3ef574)
- memoryLimit doesn't work in for tag, #776 (2af297f)
10.19.0 (2024-11-17)
10.18.0 (2024-10-16)
10.17.0 (2024-09-22)
10.16.7 (2024-08-29)
- use CommonJS bundle to support default export (2543461)
- use cwd to resolve npm partials for Node.JS (e5fbdfe)
10.16.6 (2024-08-29)
10.16.5 (2024-08-27)
10.16.4 (2024-08-23)
- "filter is not a function" for uniq (68387c3)
- memory limit issue for join filter, fix #737 (2d59cff)
10.16.3 (2024-08-16)
10.16.2 (2024-08-15)
- support for NodeJS 14 (85bd0d3)
10.16.1 (2024-07-25)
10.16.0 (2024-07-21)
10.15.0 (2024-07-09)
- DoS prevention, #250 (e443068)
- support in-memory template mapping, inspired by @jg-rp #714 (df27ac6)
10.14.0 (2024-06-17)
10.13.1 (2024-05-24)
- allow liquidMethodMissing to return any supported value type (#698) (0983f2c)
- isComparable full interface check (#701) (55e144a)
10.13.0 (2024-05-13)
- array_to_sentence_string and number_of_words filters from Jekyll, #443 (50253a9)
- date filters from Jekyll (4955e75)
- escape filters from Jekyll, #443 (b12eb8a)
- jsonify, inspect, to_integer, normalize_whitespace filters (842b45c)
- slugify filter from Jekyll, #443 (47ddc11)
10.12.0 (2024-04-28)
- introduce where_exp filter from Jekyll (8c7cef9)
10.11.1 (2024-04-21)
- allow %Z for TimezoneDate, update docs accordingly #684 (e09657c)
- Allow
lenientIf
for multiple operands (issue #682) (#683) (490ff43)
10.11.0 (2024-04-14)
- group_by/group_by_exp/find/find_exp from Jekyll, #443 (2b713b7)
- pop/shift/unshift filters from Jekyll (258780e)
10.10.2 (2024-03-21)
10.10.1 (2024-02-18)
- in conditionals, don't render anything after an else branch (#671) (f816955)
- Rely on equal for computing contains (#668) (1937aa1)
10.10.0 (2023-12-19)
10.9.4 (2023-11-04)
10.9.3 (2023-10-15)
- package version in released files (67a5b22)
10.9.2 (2023-08-28)
- handle windows newlines on
newline_to_br
andstrip_newlines
(88aa63f) - sort and where bug when using
strictVariables
(8af682d)
10.9.1 (2023-08-23)
10.9.0 (2023-08-22)
- case should allow multiple values separated by or (b8e7e2d)
- for throws undefined var with a null value with strictVariables (dc6a301)
- remove_last was eating an extra character (fc27313)
10.8.4 (2023-07-07)
10.8.3 (2023-06-16)
- strftime getSuffix works for all dates (0b4e2a9)
10.8.2 (2023-06-04)
- sample filter randomness and count=1 case (fcb930f)
10.8.1 (2023-06-04)
- incorrect error message for browser UMD bundle (3a67eb7)
10.8.0 (2023-06-03)
- proper error message for filter syntax error, #610 (0480d33)
- sed invocations to work out of the box on macOS (#615) (87d4cc7)
- Add support for the Jekyll sample filter (#612) (ba8b842)
- Add support for the Jekyll push filter (#611)
- introduce a matrix with latest Ubuntu and macOS to test the build on macOS as well (82ba548), closes #615
- precise line/col for tokenization Error, #613 (e347e60)
10.7.1 (2023-04-24)
- incorrect timezone correction for DST dates, fixes #604 (33b3c01)
- timezoneOffset ignored in date when preserveTimezones is enabled, fixes #605 (21ee27b)
10.7.0 (2023-03-21)
- JSON format by
space
injson
filter (7b87ea8)
10.6.2 (2023-03-19)
10.6.1 (2023-03-02)
- [expression] apply value equal for arrays, #589 (9c0dc5f)
- strip_html for multi line <script>/<style>/comments, #70 (42d2590)
10.6.0 (2023-02-22)
10.5.0 (2023-02-14)
- "ownPropertyOnly" not respected when passed via "renderOptions" (d489916)
10.4.0 (2023-01-02)
10.3.3 (2022-12-18)
- type compatible with v9 tag definition, support
Context
as scope in various render APIs, #570 (fb6a9f8)
10.3.2 (2022-12-13)
10.3.1 (2022-12-12)
10.3.0 (2022-12-11)
10.2.0 (2022-12-02)
case
should render multiplewhen
statements (d17813e)
10.1.0 (2022-11-29)
10.0.0 (2022-11-27)
- rename filters to snake style, #487 (ff112a4)
_evalToken
renamed toevalToken
(4e1a30a)- change
ownPropertyOnly
default value totrue
(7eb6216) - delay creation of
operatorsTrie
and hide this implementation (bb58d3e) - remove
toThenable
export (ffefd91) - remove use of internal
Context
class inevalValue
argument (b115077)
- target Node.js 14 for cjs bundle (main entry) (1f6ce7c)
evalToken
now returns a generator (LiquidJS async), which is different fromevalToken
in previous LiquidJS versions.- main entry need Node.js>=14 to run, you can build LiquidJS by your own by using ESM entry.
ownPropertyOnly
default value changed totrue
<liquidjs>.toThenable
is removed, use<liquidjs>.toPromise
insteadevalValue
won't supportContext
as second argument anymore.- use
operators
instead ofoperatorsTrie
as Tokenizer constructor argument, #500 - keys in
<liquidjs>.filters
are now in snake case (instead of camel case), identical to that in Liquid template.
9.43.0 (2022-11-27)
9.42.1 (2022-10-21)
9.42.0 (2022-08-27)
9.41.0 (2022-08-24)
9.40.0 (2022-08-14)
9.39.2 (2022-07-21)
9.39.1 (2022-07-14)
9.39.0 (2022-07-09)
- iteration protocols (a19feea)
9.38.0 (2022-07-07)
9.37.0 (2022-04-21)
9.36.2 (2022-04-19)
9.36.1 (2022-04-17)
- contains operator does not support Drop, fixes #492 (9e024ff)
- responsive header (a56af6b)
- use
createRequire
for ESM, fixes #334 (eec381e)
9.36.0 (2022-03-05)
- 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)
- corner case for concat filter without argument, #481 (aa95517)
- export all builtin tags from LiquidJS, #464 (33009bb)
9.35.1 (2022-02-26)
9.35.0 (2022-02-23)
9.34.1 (2022-02-20)
- array output now join with "" instead of "," (ab5e245)
- sort filter unexpectedly modifies original array, #475 (dbc0497)
9.34.0 (2022-01-28)
9.33.1 (2022-01-19)
- liquidjs.version on npm package (53824a2)
9.33.0 (2022-01-19)
9.32.1 (2022-01-12)
- remove limit on operator char length (7677f84)
9.32.0 (2022-01-02)
9.31.0 (2021-12-19)
9.30.0 (2021-12-18)
9.29.0 (2021-12-11)
9.28.6 (2021-12-07)
- 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)
- always allow './' and '../' to be relative, even on windows (44f6b52)
9.28.4 (2021-10-31)
9.28.3 (2021-10-27)
9.28.2 (2021-10-16)
9.28.1 (2021-10-16)
9.28.0 (2021-10-06)
- skip root check for renderFile() (822ba0b)
- support timezoneOffset for date from scope, #401 (fd5ef47)
relativeReference
for render/include/layout, #395 (a3455eb)- implement
forloop.name
as found in ruby shopify/liquid (6dc7fad)
9.27.1 (2021-10-04)
9.27.0 (2021-10-03)
- remove "stream" dependency in browser bundles, #396 (3b5eb66)
- renderToNodeStream() now emit 'error' event instead of throw (afeef1d)
- add
layouts
,partials
apart fromroot
, #395 (b9ae479) - renderFileToNodeStream(filepath, scope) (68c4cfc)
- make the most of streamed rendering (aea3441)
9.26.0 (2021-09-30)
- orderedFilterParameters, closes #312 (10e8c8f)
- stream rendering, closed #361 fixes #360 (9012133)
- timezoneOffset option to specify output timezone, see #375 (6b9f872)
- improve performance by 4x by simplified parseFile (24f5346)
- parse filenames in parse() insteadof render() (8273c17)
9.25.1 (2021-06-20)
- add cross-engines benchmark (cdceb25)
9.25.0 (2021-05-07)
- when tag with multiple values (8f9639f)
9.24.2 (2021-05-04)
9.24.1 (2021-05-01)
- make LiquidError context property public (1fd76ac)
9.24.0 (2021-05-01)
- 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)
9.23.3 (2021-03-21)
- expose TokenKind (dbc23e8)
9.23.2 (2021-03-13)
- comparison for empty/nil, fixes #321 (99d14e7)
- newline_to_br filter should output
instead of
, fixes #320 (9a9b792)
9.23.1 (2021-02-19)
9.23.0 (2021-02-12)
- support filters in if/unless/case, see #287 (2f059f6)
- support function calls, closes #222 (e37824f)
- support layout none, closes #299 (81e11bb)
9.22.1 (2021-02-05)
- default to precedence 1 for custom operators (20f559e)
9.22.0 (2021-02-04)
- compact filter (f42c217)
9.21.0 (2021-02-04)
- 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)
9.20.0 (2021-01-23)
9.19.0 (2020-12-18)
- lint (de32259)
- move offset adding complexity inside TimezoneDate (26b2175)
- simpler timezone regex and non-null offset (e3ecfe3)
9.18.0 (2020-12-17)
- address refactor comments (6a0ad10)
- add option for keeping variable type in output (cd92e77)
9.17.0 (2020-12-07)
- elsif is not supported for unless, fixes #268 (2bbf501)
- enforce string-type pattern in
replace
, fixes #243 (c8afa39) - raw block not ignoring {% characters, fixes #263 (a492d8e)
9.16.1 (2020-10-09)
- braced property access (18a807e)
9.16.0 (2020-10-08)
9.15.1 (2020-10-03)
9.15.0 (2020-08-04)
9.14.1 (2020-07-08)
9.14.0 (2020-06-25)
- setup universal browser and node builds (6cf6ffa)
9.13.0 (2020-06-25)
9.12.0 (2020-05-15)
9.11.11 (2020-05-01)
9.11.10 (2020-04-03)
- respect cache render options (a93f11d)
9.11.9 (2020-03-31)
- coerce to Array in
map
andwhere
filter (c923598)
9.11.8 (2020-03-31)
9.11.7 (2020-03-28)
- try fix travis (b3db412)
9.11.6 (2020-03-25)
- default filter not applied for empty array (c371762)
9.11.5 (2020-03-24)
9.11.4 (2020-03-23)
- return variable name in include error (93433a8)
9.11.3 (2020-03-14)
9.11.2 (2020-03-14)
- remove transient strings to reduce memory (3dfdf98)
9.11.1 (2020-03-09)
9.11.0 (2020-03-04)
Buffer not defined
for browser bundles, fixes #197 (65b849c)- stable sort for undefined keys, fixes #191 (f57156b)
- async cache.read()/write(), remove .has() (61dac49)
9.10.0 (2020-03-03)
9.9.0 (2020-03-02)
9.8.0 (2020-02-20)
9.7.2 (2020-02-20)
- add funding entry to show up in npm fund command (40095a8)
9.7.1 (2020-02-19)
- update index.html (22386b0)
9.7.0 (2020-02-07)
9.6.2 (2020-01-10)
- prevent multiple case evaluations (807e840)
9.6.1 (2020-01-04)
- add
this
to fs references in parseFile (4b079c5)
9.6.0 (2019-12-15)
9.5.0 (2019-12-12)
9.4.2 (2019-11-15)
9.4.1 (2019-11-15)
9.4.0 (2019-11-14)
- add ability to pass JSON context to CLI (9504e4e)
9.3.1 (2019-11-09)
9.3.0 (2019-11-07)
9.1.1 (2019-10-10)
- add string flattening to reduce retained memory (node only) (3ad512c)
9.1.0 (2019-10-07)
- alias getTemplate() to parseFile() (6b83788)
9.0.1 (2019-10-02)
9.0.0 (2019-08-26)
- break/continue omitting output before them, #123 (ae45c46)
- reactjs demo during yarn install, fixes #145 (b65df44)
- return value of Tag#render is no longer used (8028f82)
- Tag#render now returns void, use emitter argument to write rendered html.
- ship to Node.js 8, the dist/liquid.cjs.js (main) no longer 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)
- escape filter when input is undefined (a00945c)
8.5.2 (2019-08-09)
8.5.1 (2019-08-05)
8.5.0 (2019-08-01)
- CLI support (fc045b5)
8.4.1 (2019-07-22)
8.4.0 (2019-07-06)
8.3.0 (2019-06-27)
8.2.4 (2019-06-17)
- improve getTemplate() when cache is enabled (1ffba2b)
8.2.3 (2019-05-19)
8.2.2 (2019-05-12)
8.2.1 (2019-04-26)
8.2.0 (2019-04-17)
- pass context to filters (00bc1ef)
8.1.0 (2019-04-02)
8.0.3 (2019-04-01)
8.0.2 (2019-03-25)
- use polymorphism instead duck test (82d7673)
8.0.1 (2019-03-22)
8.0.0 (2019-03-10)
- use camelCase for JavaScript APIs (64e0c87)
- Options and method names in JavaScript API are now renamed to camelCase, for a complete list see #109
7.5.1 (2019-03-05)
7.5.0 (2019-03-01)
- tablerowloop object (3647305)
7.4.0 (2019-02-28)
7.3.1 (2019-02-25)
7.3.0 (2019-02-24)
7.2.2 (2019-02-23)
7.2.1 (2019-02-22)
- default length for truncate and truncatewords (56c7992)
7.2.0 (2019-02-20)
trim_value_left
option renamed totrim_output_left
,trim_value_right
option renamed totrim_output_right
7.1.0 (2019-02-20)
- throw an Error if delimiter not matched (c33d8f6)
7.0.0 (2019-02-14)
- TypeScript: ship Liquid to class (1cc7249)
- TypeScript: calling
Liquid()
withoutnew
now becomes invalid
6.4.3 (2019-02-13)
6.4.2 (2019-01-28)
- CI: e2e not building cjs (dde7b3b)
6.4.1 (2019-01-28)
- regenerator undefined (a2caeb5)