Skip to content

Latest commit

 

History

History
1423 lines (648 loc) · 60.7 KB

CHANGELOG.md

File metadata and controls

1423 lines (648 loc) · 60.7 KB

10.19.1 (2024-12-22)

Bug Fixes

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

Features

10.18.0 (2024-10-16)

Features

10.17.0 (2024-09-22)

Features

10.16.7 (2024-08-29)

Bug Fixes

  • use CommonJS bundle to support default export (2543461)
  • use cwd to resolve npm partials for Node.JS (e5fbdfe)

10.16.6 (2024-08-29)

Bug Fixes

  • expose originalError from LiquidError, #742 (86f6bf0)

10.16.5 (2024-08-27)

Bug Fixes

10.16.4 (2024-08-23)

Bug Fixes

  • "filter is not a function" for uniq (68387c3)
  • memory limit issue for join filter, fix #737 (2d59cff)

10.16.3 (2024-08-16)

Bug Fixes

10.16.2 (2024-08-15)

Bug Fixes

10.16.1 (2024-07-25)

Bug Fixes

10.16.0 (2024-07-21)

Features

10.15.0 (2024-07-09)

Bug Fixes

  • report error for malformed else/elsif/endif/endfor, #713 (22b5a12)

Features

10.14.0 (2024-06-17)

Bug Fixes

  • use drop valueOf when evaluated as condition (#705) (a7da93f)

Features

10.13.1 (2024-05-24)

Bug Fixes

  • allow liquidMethodMissing to return any supported value type (#698) (0983f2c)
  • isComparable full interface check (#701) (55e144a)

10.13.0 (2024-05-13)

Features

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

Bug Fixes

Features

  • introduce where_exp filter from Jekyll (8c7cef9)

10.11.1 (2024-04-21)

Bug Fixes

  • allow %Z for TimezoneDate, update docs accordingly #684 (e09657c)
  • Allow lenientIf for multiple operands (issue #682) (#683) (490ff43)

10.11.0 (2024-04-14)

Features

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

Bug Fixes

10.10.1 (2024-02-18)

Bug Fixes

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

Features

10.9.4 (2023-11-04)

Bug Fixes

  • allow unicode to be identifiers, fixes #655 (dd7616a)

10.9.3 (2023-10-15)

Bug Fixes

  • package version in released files (67a5b22)

10.9.2 (2023-08-28)

Bug Fixes

  • handle windows newlines on newline_to_br and strip_newlines (88aa63f)
  • sort and where bug when using strictVariables (8af682d)

10.9.1 (2023-08-23)

Bug Fixes

  • map filter allow nil results in strict mode, fixes #647 (45adbd7)

10.9.0 (2023-08-22)

Bug Fixes

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

Features

  • more flexible squared property read expression, fixes #643 (#646) (660d9be)

10.8.4 (2023-07-07)

Bug Fixes

  • allow quotes in inline comment tag, fixes #628 (bf425c3)

10.8.3 (2023-06-16)

Bug Fixes

  • strftime getSuffix works for all dates (0b4e2a9)

10.8.2 (2023-06-04)

Bug Fixes

  • sample filter randomness and count=1 case (fcb930f)

10.8.1 (2023-06-04)

Bug Fixes

  • incorrect error message for browser UMD bundle (3a67eb7)

10.8.0 (2023-06-03)

Bug Fixes

  • proper error message for filter syntax error, #610 (0480d33)
  • sed invocations to work out of the box on macOS (#615) (87d4cc7)

Features

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

Bug Fixes

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

Bug Fixes

Features

  • JSON format by space in json filter (7b87ea8)

10.6.2 (2023-03-19)

Bug Fixes

10.6.1 (2023-03-02)

Bug Fixes

  • [expression] apply value equal for arrays, #589 (9c0dc5f)
  • strip_html for multi line <script>/<style>/comments, #70 (42d2590)

10.6.0 (2023-02-22)

Features

  • LiquidOptions.dateFormat to override default date format (#587) (3fb6646)

10.5.0 (2023-02-14)

Bug Fixes

  • "ownPropertyOnly" not respected when passed via "renderOptions" (d489916)

Features

  • Adds support for options to CLI and improves usability (#586) (24c8a1e)

10.4.0 (2023-01-02)

Features

10.3.3 (2022-12-18)

Bug Fixes

  • type compatible with v9 tag definition, support Context as scope in various render APIs, #570 (fb6a9f8)

10.3.2 (2022-12-13)

Bug Fixes

10.3.1 (2022-12-12)

Bug Fixes

  • support Context as evalValue parameter, #568 (0f4916b)

10.3.0 (2022-12-11)

Features

  • support disable outputEscape for specific filters, #565 (e6db371)

10.2.0 (2022-12-02)

Bug Fixes

  • case should render multiple when statements (d17813e)

Features

10.1.0 (2022-11-29)

Features

  • timezone name for opts.timezoneOffset and date argument, fixes #553 (89c6c76)

10.0.0 (2022-11-27)

Code Refactoring

  • rename filters to snake style, #487 (ff112a4)
  • _evalToken renamed to evalToken (4e1a30a)
  • change ownPropertyOnly default value to true (7eb6216)
  • delay creation of operatorsTrie and hide this implementation (bb58d3e)
  • remove toThenable export (ffefd91)
  • remove use of internal Context class in evalValue argument (b115077)

Performance Improvements

  • target Node.js 14 for cjs bundle (main entry) (1f6ce7c)

BREAKING CHANGES

  • evalToken now returns a generator (LiquidJS async), which is different from evalToken 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 to true
  • <liquidjs>.toThenable is removed, use <liquidjs>.toPromise instead
  • evalValue won't support Context as second argument anymore.
  • use operators instead of operatorsTrie 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)

Features

  • support timezone offset argument for date filter, #553 (7a71485)

9.42.1 (2022-10-21)

Bug Fixes

  • truncatewords should use at least one word, #537 (32f613f)

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

  • expression support Drop.valueOf, fixes #522 (4ad383d)

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

  • allow {%render%} to reassign argument, #404 (124f4c4)

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

  • cache ongoing parseFile() calls, fixes #416 (8894cbf)

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

  • directory info in lookupError message, #395 (92bfc65)

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

9.19.0 (2020-12-18)

Bug Fixes

  • lint (de32259)
  • move offset adding complexity inside TimezoneDate (26b2175)
  • simpler timezone regex and non-null offset (e3ecfe3)

Features

  • add preserveTimezones option (d70cd2a)
  • parse and handle date timezone offsets (c16c787)

9.18.0 (2020-12-17)

Bug Fixes

  • address refactor comments (6a0ad10)

Features

  • add option for keeping variable type in output (cd92e77)

9.17.0 (2020-12-07)

Bug Fixes

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

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

9.11.11 (2020-05-01)

Bug Fixes

9.11.10 (2020-04-03)

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

  • reading .first, .last of Array, closes #175 (f82da11)

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

  • support require.resolve for lookup, see #168 (2dd4355)

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) 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)

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

  • pass context to filters (00bc1ef)

8.1.0 (2019-04-02)

Features

8.0.3 (2019-04-01)

Bug Fixes

8.0.2 (2019-03-25)

Performance Improvements

  • use polymorphism 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 camelCase, 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

  • nil/null/empty/blank literals, resolves #102 (88c9e96)

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

  • CI: e2e not building cjs (dde7b3b)

6.4.1 (2019-01-28)

Bug Fixes