All Versions
35
Latest Version
Avg Release Cycle
159 days
Latest Release
245 days ago
Changelog History
Page 1
Changelog History
Page 1
-
v5.4.0 Changes
July 29, 2022๐ฅ Breaking Changes
- โฌ๏ธ Drop support for end-of-life Ruby versions (2.5 and 2.6) (#1578) [Andy Waite]
๐ Features
- ๐ Allow
#
to be used as an inline comment tag (#1498) [CP Clermont]
๐ Fixes
- 0๏ธโฃ
PartialCache
now shares snippet cache with subcontexts by default (#1553) [Chris AtLee] - Hash registers no longer leak into subcontexts as static registers (#1564) [Chris AtLee]
- ๐ Fix
ParseTreeVisitor
forwith
variable expressions inRender
tag (#1596) [CP Clermont]
๐ Changed
- ๐ Liquid::Context#registers now always returns a Liquid::Registers object, though supports the most used Hash functions for compatibility (#1553)
-
v5.3.0 Changes
March 22, 2022๐ Fixes
- StandardFilter: Fix missing @context on iterations (#1525) [Thierry Joyal]
- ๐ Fix warning about block and default value in
static_registers.rb
(#1531) [Peter Zhu]
๐ Deprecation
- Condition#evaluate to require mandatory context argument in Liquid 6.0.0 (#1527) [Thierry Joyal]
-
v5.2.0 Changes
March 01, 2022๐ Features
- Add
remove_last
, andreplace_last
filters (#1422) [Anders Hagbard] - Eagerly cache global filters (#1524) [Jean Boussier]
๐ Fixes
- ๐ Fix some internal errors in filters from invalid input (#1476) [Dylan Thacker-Smith]
- ๐ Allow dash in filter kwarg name for consistency with Liquid::C (#1518) [CP Clermont]
- Add
-
v5.1.0 Changes
September 09, 2021๐ Features
- Add
base64_encode
,base64_decode
,base64_url_safe_encode
, andbase64_url_safe_decode
filters (#1450) [Daniel Insley] - Introduce
to_liquid_value
inLiquid::Drop
(#1441) [Michael Go]
๐ Fixes
- ๐ Fix support for using a String subclass for the liquid source (#1421) [Dylan Thacker-Smith]
- โ Add
ParseTreeVisitor
toRangeLookup
(#1470) [CP Clermont] - Translate
RangeError
toLiquid::Error
fortruncatewords
with large int (#1431) [Dylan Thacker-Smith]
- Add
-
v5.0.1 Changes
March 24, 2021๐ Fixes
- โ Add ParseTreeVisitor to Echo tag (#1414) [CP Clermont]
- โ Test with ruby 3.0 as the latest ruby version (#1398) [Dylan Thacker-Smith]
- Handle carriage return in newlines_to_br (#1391) [Unending]
๐ Performance Improvements
- ๐ Use split limit in truncatewords (#1361) [Dylan Thacker-Smith]
-
v5.0.0 Changes
January 06, 2021๐ 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
-
v4.0.3 Changes
March 12, 2019๐ Fixed
- ๐ Fix break and continue tags inside included templates in loops (#1072) [Justin Li]
-
v4.0.2 Changes
March 08, 2019๐ Changed
- โ Add
where
filter (#1026) [Samuel Doiron] - โ Add
ParseTreeVisitor
to iterate the Liquid AST (#1025) [Stephen Paul Weber] - ๐ Improve
strip_html
performance (#1032) [printercu]
๐ Fixed
- โ Add error checking for invalid combinations of inputs to sort, sort_natural, where, uniq, map, compact filters (#1059) [Garland Zhang]
- Validate the character encoding in url_decode (#1070) [Clayton Smith]
- โ Add
-
v4.0.1 Changes
October 09, 2018๐ Changed
- โ Add benchmark group in Gemfile (#855) [Jerry Liu]
- ๐ Allow benchmarks to benchmark render by itself (#851) [Jerry Liu]
- Avoid calling
line_number
on String node when rescuing a render error. (#860) [Dylan Thacker-Smith] - Avoid duck typing to detect whether to call render on a node. [Dylan Thacker-Smith]
- Clarify spelling of
reversed
onfor
block tag (#843) [Mark Crossfield] - Replace recursion with loop to avoid potential stack overflow from malicious input (#891, #892) [Dylan Thacker-Smith]
- Limit block tag nesting to 100 (#894) [Dylan Thacker-Smith]
- Replace
assert_equal nil
withassert_nil
(#895) [Dylan Thacker-Smith] - โ Remove Spy Gem (#896) [Dylan Thacker-Smith]
- Add
collection_name
andvariable_name
reader toFor
block (#909) - Symbols render as strings (#920) [Justin Li]
- โ Remove default value from Hash objects (#932) [Maxime Bedard]
- โ Remove one level of nesting (#944) [Dylan Thacker-Smith]
- โก๏ธ Update Rubocop version (#952) [Justin Li]
- Add
at_least
andat_most
filters (#954, #958) [Nithin Bekal] - โ Add a regression test for a liquid-c trim mode bug (#972) [Dylan Thacker-Smith]
- ๐ Use https rather than git protocol to fetch liquid-c [Dylan Thacker-Smith]
- โ Add tests against Ruby 2.4 (#963) and 2.5 (#981)
- Replace RegExp literals with constants (#988) [Ashwin Maroli]
- Replace unnecessary
#each_with_index
with#each
(#992) [Ashwin Maroli] - ๐ Improve the unexpected end delimiter message for block tags. (#1003) [Dylan Thacker-Smith]
- ๐จ Refactor and optimize rendering (#1005) [Christopher Aue]
- โ Add installation instruction (#1006) [Ben Gift]
- โ Remove Circle CI (#1010)
- ๐ Rename deprecated
BigDecimal.new
toBigDecimal
(#1024) [Koichi ITO] - ๐ Rename deprecated Rubocop name (#1027) [Justin Li]
๐ Fixed
- ๐ Handle
join
filter on non String joiners (#857) [Richard Monette] - ๐ Fix duplicate inclusion condition logic error of
Liquid::Strainer.add_filter
method (#861) - Fix
escape
,url_encode
,url_decode
not handling non-string values (#898) [Thierry Joyal] - ๐ Fix raise when variable is defined but nil when using
strict_variables
[Pascal Betz] - ๐ Fix
sort
andsort_natural
to handle arrays with nils (#930) [Eric Chan]
-
v4.0.0 Changes
December 14, 2016๐ Changed
- 0๏ธโฃ Render an opaque internal error by default for non-Liquid::Error (#835) [Dylan Thacker-Smith]
- ๐ Ruby 2.0 support dropped (#832) [Dylan Thacker-Smith]
- โ Add to_number Drop method to allow custom drops to work with number filters (#731)
- Add strict_variables and strict_filters options to detect undefined references (#691)
- ๐ Improve loop performance (#681) [Florian Weingarten]
- Rename Drop method
before_method
toliquid_method_missing
(#661) [Thierry Joyal] - Add url_decode filter to invert url_encode (#645) [Larry Archer]
- โ Add global_filter to apply a filter to all output (#610) [Loren Hale]
- โ Add compact filter (#600) [Carson Reinke]
- Rename deprecated "has_key?" and "has_interrupt?" methods (#593) [Florian Weingarten]
- Include template name with line numbers in render errors (574) [Dylan Thacker-Smith]
- โ Add sort_natural filter (#554) [Martin Hanzel]
- โ Add forloop.parentloop as a reference to the parent loop (#520) [Justin Li]
- ๐ Block parsing moved to BlockBody class (#458) [Dylan Thacker-Smith]
- โ Add concat filter to concatenate arrays (#429) [Diogo Beato]
- ๐ Ruby 1.9 support dropped (#491) [Justin Li]
- Liquid::Template.file_system's read_template_file method is no longer passed the context. (#441) [James Reid-Smith]
- โ Remove
liquid_methods
(See https://github.com/Shopify/liquid/pull/568 for replacement) - Liquid::Template.register_filter raises when the module overrides registered public methods as private or protected (#705) [Gaurav Chande]
๐ Fixed
- ๐ Fix variable names being detected as an operator when starting with contains (#788) [Michael Angell]
- ๐ Fix include tag used with strict_variables (#828) [QuickPay]
- ๐ Fix map filter when value is a Proc (#672) [Guillaume Malette]
- ๐ Fix truncate filter when value is not a string (#672) [Guillaume Malette]
- ๐ Fix behaviour of escape filter when input is nil (#665) [Tanel Jakobsoo]
- ๐ Fix sort filter behaviour with empty array input (#652) [Marcel Cary]
- ๐ Fix test failure under certain timezones (#631) [Dylan Thacker-Smith]
- ๐ Fix bug in uniq filter (#595) [Florian Weingarten]
- ๐ Fix bug when "blank" and "empty" are used as variable names (#592) [Florian Weingarten]
- ๐ Fix condition parse order in strict mode (#569) [Justin Li]
- ๐ Fix naming of the "context variable" when dynamically including a template (#559) [Justin Li]
- Gracefully accept empty strings in the date filter (#555) [Loren Hale]
- ๐ Fix capturing into variables with a hyphen in the name (#505) [Florian Weingarten]
- ๐ Fix case sensitivity regression in date standard filter (#499) [Kelley Reynolds]
- Disallow filters with no variable in strict mode (#475) [Justin Li]
- ๐ Disallow variable names in the strict parser that are not valid in the lax parser (#463) [Justin Li]
- ๐ Fix BlockBody#warnings taking exponential time to compute (#486) [Justin Li]