npm / liquidjs
liquidjs
What changed in liquidjs 10, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-19.
12 security2 new APIs and options1 behavior and defaults8 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli initliquidjs 1023 changes
Security 12
LiquidJS: ownPropertyOnly bypass for inherited array indices in first/last/join/reverse/slice/compact,
.first/.last, negative index, and for-loop iterationLiquidJS: Uncontrolled Resource Consumption in
joinfilter allows template authors to bypassmemoryLimitand crash the processLiquidJS has an infinite loop vulnerability in its
strip_htmlfilterLiquidJS:
popfilter bypassesmemoryLimitaccounting that its array-filter siblings enforceLiquidJS is Vulnerable to Remote Code Execution
LiquidJS Vulnerable to ReDoS via Quadratic Backtracking in
strip_htmlFilter Regexliquidjs has a Denial of Service via circular block reference in layout
LiquidJS:
renderFile()/parseFile()bypass configuredrootand allow arbitrary file readLiquidJS: ownPropertyOnly bypass via sort_natural filter — prototype property information disclosure through sorting side-channel
LiquidJS Has Memory Limit Bypass via Quadratic Amplification in
replaceFilterLiquidJS: Root restriction bypass for partial and layout loading through symlinked templates
liquidjs has a path traversal fallback vulnerability
New APIs and options 2
Adds the squish filter.
Adds the unregisterFilter method for removing a filter.
Behavior and default changes 1
Expressions enclosed by parentheses are now supported.
Fixes and other changes 8
Encodes large input in browser builds.
Computes %C and %y from the numeric year.
Computes %U and %W week numbers like strftime.
Awaits promises returned by Drop.valueOf().
Trims custom characters by Unicode code point.
Ignores leading whitespace when counting words.
Keeps %2B as a literal plus when decoding.
The %s date format returns the Unix epoch regardless of display timezone.