Liquid v5.0.0 Release Notes
Release Date: 2021-01-06 // over 3 years ago-
๐ Features
- โ Add new
{% render %}
tag (#1122) [Samuel Doiron] - โ Add support for
as
in{% render %}
and{% include %}
(#1181) [Mike Angell] - โ Add
{% liquid %}
and{% echo %}
tags (#1086) [Justin Li] - โ Add [usage tracking](README.md#usage-tracking) [Mike Angell]
- โ Add
Tag.disable_tags
for disabling tags that prependTag::Disableable
at render time (#1162, #1274, #1275) [Mike Angell] - ๐ Support using a profiler for multiple renders (#1365, #1366) [Dylan Thacker-Smith]
๐ Fixes
- ๐ Fix catastrophic backtracking in
RANGES_REGEX
regular expression (#1357) [Dylan Thacker-Smith] - ๐ Make sure the for tag's limit and offset are integers (#1094) [David Cornu]
- Invokable methods for enumerable reject include (#1151) [Thierry Joyal]
- ๐ Allow
default
filter to handlefalse
as value (#1144) [Mike Angell] - ๐ Fix render length resource limit so it doesn't multiply nested output (#1285) [Dylan Thacker-Smith]
- ๐ Fix duplication of text in raw tags (#1304) [Peter Zhu]
- ๐ Fix strict parsing of find variable with a name expression (#1317) [Dylan Thacker-Smith]
- ๐ Use monotonic time to measure durations in Liquid::Profiler (#1362) [Dylan Thacker-Smith]
๐ฅ Breaking Changes
- ๐ Require Ruby >= 2.5 (#1131, #1310) [Mike Angell, Dylan Thacker-Smith]
- โ Remove support for taint checking (#1268) [Dylan Thacker-Smith]
- Split Strainer class into StrainerFactory and StrainerTemplate (#1208) [Thierry Joyal]
- โ Remove handling of a nil context in the Strainer class (#1218) [Thierry Joyal]
- ๐ Handle
BlockBody#blank?
at parse time (#1287) [Dylan Thacker-Smith] - Pass the tag markup and tokenizer to
Document#unknown_tag
(#1290) [Dylan Thacker-Smith] - And several internal changes
๐ Performance Improvements
- โฌ๏ธ Reduce allocations (#1073, #1091, #1115, #1099, #1117, #1141, #1322, #1341) [Richard Monette, Florian Weingarten, Ashwin Maroli]
- ๐ Improve resources limits performance (#1093, #1323) [Florian Weingarten, Dylan Thacker-Smith]
- โ Add new