github Shopify/liquid v5.6.0

one day ago

Highlights

Architectural Changes

  • Added new Environment class to manage configuration and state that was previously stored in Template
  • Moved tag registration from Template to Environment
  • Removed StrainerFactory in favor of Environment-based strainer creation
  • Consolidated standard tags into a new Tags module with STANDARD_TAGS constant

Performance Improvements

  • Optimized Lexer with a new Lexer2 implementation using jump tables for faster tokenization, requires Ruby 3.4
  • Improved variable rendering with specialized handling for different types
  • Reduced array allocations by using frozen empty constants

API Changes

  • Deprecated several Template class methods in favor of Environment methods
  • Added deprecation warnings system
  • Changed how filters and tags are registered to use Environment

Bug Fixes:

  • Fixed table row handling of break interrupts
  • Improved variable output handling for arrays

PRs

New Contributors

Full Changelog: v5.5.1...v5.6.0

Don't miss a new liquid release

NewReleases is sending notifications on new releases.