Liquid v4.0.0 Release Notes

Release Date: 2016-12-14 // over 7 years ago
  • ๐Ÿ”„ 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 to liquid_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]