Liquid v3.0.0 Release Notes

Release Date: 2014-11-12 // over 9 years ago
    • βœ‚ Removed Block#end_tag. Instead, override parse with super followed by your code. See #446 [Dylan Thacker-Smith]
    • πŸ›  Fixed condition with wrong data types (#423) [Bogdan Gusiev]
    • βž• Add url_encode to standard filters (#421) [Derrick Reimer]
    • βž• Add uniq to standard filters [Florian Weingarten]
    • βž• Add exception_handler feature (#397) and #254 [Bogdan Gusiev, Florian Weingarten]
    • ⚑️ Optimize variable parsing to avoid repeated regex evaluation during template rendering #383 [Jason Hiltz-Laforge]
    • ⚑️ Optimize checking for block interrupts to reduce object allocation #380 [Jason Hiltz-Laforge]
    • Properly set context rethrow_errors on render! #349 [Thierry Joyal]
    • πŸ›  Fix broken rendering of variables which are equal to false (#345) [Florian Weingarten]
    • βœ‚ Remove ActionView template handler [Dylan Thacker-Smith]
    • πŸ’Ž Freeze lots of string literals for new Ruby 2.1 optimization (#297) [Florian Weingarten]
    • πŸ‘ Allow newlines in tags and variables (#324) [Dylan Thacker-Smith]
    • 🏷 Tag#parse is called after initialize, which now takes options instead of tokens as the 3rd argument. See #321 [Dylan Thacker-Smith]
    • Raise Liquid::ArgumentError instead of ::ArgumentError when filter has wrong number of arguments #309 [Bogdan Gusiev]
    • βž• Add a to_s default for liquid drops (#306) [Adam Doeler]
    • βž• Add strip, lstrip, and rstrip to standard filters [Florian Weingarten]
    • πŸ‘‰ Make if, for & case tags return complete and consistent nodelists (#250) [Nick Jones]
    • Prevent arbitrary method invocation on condition objects (#274) [Dylan Thacker-Smith]
    • πŸ”’ Don't call to_sym when creating conditions for security reasons (#273) [Bouke van der Bijl]
    • πŸ›  Fix resource counting bug with respond_to?(:length) (#263) [Florian Weingarten]
    • πŸ‘ Allow specifying custom patterns for template filenames (#284) [Andrei Gladkyi]
    • πŸ‘ Allow drops to optimize loading a slice of elements (#282) [Tom Burns]
    • πŸ‘Œ Support for passing variables to snippets in subdirs (#271) [Joost Hietbrink]
    • βž• Add a class cache to avoid runtime extend calls (#249) [James Tucker]
    • βœ‚ Remove some legacy Ruby 1.8 compatibility code (#276) [Florian Weingarten]
    • βž• Add default filter to standard filters (#267) [Derrick Reimer]
    • βž• Add optional strict parsing and warn parsing (#235) [Tristan Hume]
    • βž• Add I18n syntax error translation (#241) [Simon HΓΈrup Eskildsen, Sirupsen]
    • πŸ‘‰ Make sort filter work on enumerable drops (#239) [Florian Weingarten]
    • πŸ›  Fix clashing method names in enumerable drops (#238) [Florian Weingarten]
    • πŸ‘‰ Make map filter work on enumerable drops (#233) [Florian Weingarten]
    • πŸ‘Œ Improved whitespace stripping for blank blocks, related to #216 [Florian Weingarten]