All notable changes to liquid will be documented in this file.
- Fix whitespace trim not working on {%- endcomment -%} tag. by @ryo-morimoto in #53
- @ryo-morimoto made their first contribution
Full Changelog: https://github.com/keepsuit/php-liquid/compare/v0.9.0...v0.9.1
- Bump dependabot/fetch-metadata from 2.3.0 to 2.4.0 by @dependabot in #45
- Shopify liquid 5.8 compatibility by @cappuc in #44
Full Changelog: https://github.com/keepsuit/php-liquid/compare/v0.8.1...v0.9.0
- Resolve properties of classes with magic getters by @tillschander in #42
- map drop keys to snake case in toArray by @cappuc in #43
Full Changelog: https://github.com/keepsuit/php-liquid/compare/v0.8.0...v0.8.1
- Shopify liquid 5.7 changes by @cappuc in #40
Full Changelog: https://github.com/keepsuit/php-liquid/compare/v0.7.0...v0.8.0
- Introduced
Environmentconcept to allow multiple liquid instances with different settings, tags and filters. This was partially possible withTemplateFactorypreviously. TemplateFactoryhas been removed and replaced byEnvironmentFactory, some methods (newParseContext,newRenderContext,parseString,parseTemplate) have been moved toEnvironmentand default values of setters has been removed.- Renamed
environmentandstaticEnvironmentparameters ofRenderContexttodataandstaticDatato avoid confusion withEnvironmentobject. - Share parsed templates globally (in the environment), so we can skip re-parsing of partials used in multiple templates. Removed
PartialsCache. TheTemplatestate now contains only the template name instead of the parsedTemplate. - Moved default tags and filters to
StandardExtensionthat is registered by default. - Refactored profiling and moved to
ProfilerExtension. - Added option to
RenderContextto enable parsing of templates at render time.
- Shopify liquid 5.6 changes by @cappuc in #28
- customisable error handler by @cappuc in #29
- Extensions by @cappuc in #30
- Dynamic render tag by @cappuc in #31
- Ternary filter by @cappuc in #32
- Shared templates cache by @cappuc in #33
- Template cache options by @cappuc in #37
- Fix render variables by @cappuc in #38
- lazy template parsing by @cappuc in #39
- Removed default values on
EnvironmentFactorysetters
Full Changelog: https://github.com/keepsuit/php-liquid/compare/v0.6.6...v0.7.0
- exclude static methods & methods with params from drop invokable methods
Full Changelog: https://github.com/keepsuit/php-liquid/compare/v0.6.5...v0.6.6
- Support nested variable lookups
Full Changelog: https://github.com/keepsuit/php-liquid/compare/v0.6.4...v0.6.5
- Support objects in
wherefilter - Bump dependabot/fetch-metadata from 2.1.0 to 2.2.0 by @dependabot in #27
- Update custom filters example in README.md by @tillschander in #26
- @tillschander made their first contribution in #26
Full Changelog: https://github.com/keepsuit/php-liquid/compare/v0.6.3...v0.6.4
- Improved iterable support by @cappuc in #23
Full Changelog: https://github.com/keepsuit/php-liquid/compare/v0.6.2...v0.6.3
- pass filter arguments as array by @cappuc in #22
Full Changelog: https://github.com/keepsuit/php-liquid/compare/v0.6.1...v0.6.2
- Strict variables improvements by @cappuc in #21
Full Changelog: https://github.com/keepsuit/php-liquid/compare/v0.6.0...v0.6.1
- Rename template factory setter methods and add getters by @cappuc in #19
- Nested variable override by @cappuc in #18
- Added toArray method to drop by @cappuc in #20
- Bump aglipanci/laravel-pint-action from 2.3.1 to 2.4 by @dependabot in #15
- Bump dependabot/fetch-metadata from 2.0.0 to 2.1.0 by @dependabot in #16
Full Changelog: https://github.com/keepsuit/php-liquid/compare/v0.5.3...v0.6.0
- Allow access of
Droppublic properties with snake case and camel case aliases - Allow to hide a public property of
DropwithHiddenattribute
Full Changelog: https://github.com/keepsuit/php-liquid/compare/v0.5.2...v0.5.3
- Make
TemplateFactorysettings public readable - Bump dependabot/fetch-metadata from 1.6.0 to 2.0.0 by @dependabot in #14
Full Changelog: https://github.com/keepsuit/php-liquid/compare/v0.5.1...v0.5.2
- Don't preserve keys when transforming generator to array (it can break with
yield from)
Full Changelog: https://github.com/keepsuit/php-liquid/compare/v0.5.0...v0.5.1
- Added
AsLiquidValueinterface to provide a scalar value from objects used for comparisons - Added
HiddenandCacheattributes for drop methods - Rewritten and improved drops metadata extraction
- Improved
RenderContextvalues caching
- added cacheable methods to drop by @cappuc in #12
- extract drop metadata only once per drop class by @cappuc in #13
Full Changelog: https://github.com/keepsuit/php-liquid/compare/v0.4.2...v0.5.0
- Fixed filesystem replace (introduced in v0.4.1)
- Don't replace exception
templateNameandlineNumberwhen provided
Full Changelog: https://github.com/keepsuit/php-liquid/compare/v0.4.1...v0.4.2
- Make
rethrowExceptionsandfilterRegistrypublic accessible inRenderContext
Full Changelog: https://github.com/keepsuit/php-liquid/compare/v0.4.0...v0.4.1
- Lexer and Parser were rewritten from scratch so custom tags needs to be updated.
- Removed line numbers settings since they are always tracked now.
- Removed raw markup from nodes.
- Removed
I18nlocale provider (it was only used for exception messages, now they are always in english). - Renamed
ContexttoRenderContext. - Removed
outerScopeinitialization inRenderContext - Removed the starting
_inLocalFileSystempattern for searching liquid files. - Support dot syntax in
LocalFileSystemresolver (dir.templatebecomedir/template.liquid) - Introduced
PartialsCacheandOutputsBagused to shared state between parsing and rendering (for compiled child templates and general outputs) - Added experimental template streaming support (with generators)
- Bump actions/checkout from 3 to 4 by @dependabot in #5
- Bump stefanzweifel/git-auto-commit-action from 4 to 5 by @dependabot in #7
- Bump aglipanci/laravel-pint-action from 2.3.0 to 2.3.1 by @dependabot in #8
- Bump actions/cache from 3 to 4 by @dependabot in #9
- Refactoring by @cappuc in #10
- Streaming by @cappuc in #11
Full Changelog: https://github.com/keepsuit/php-liquid/compare/v0.3.2...v0.4.0
- Fallback to null on parser look up to undefined index
- Improved lexer/parser with start position of tokens
- Refactoring Variable parsing
- Removed ParseContext from tag state, so its no longer available during render phase by @cappuc in #3
- Update render tag to parse partial template in the parse phase instead of render phase by @cappuc in #3
- Share partials cache between parse context and render context (saving them in the root Template after parsing) by @cappuc in #3
- Renamed parse method of TemplateFactory to parseString and added parseTemplate method (it parses a template from filesystem) by @cappuc in #3
Full Changelog: https://github.com/keepsuit/php-liquid/compare/v0.2.1...v0.3.0
- Exceptions extends
ErrorExceptioninstead ofExceptionto provide filename and line context - Renamed
rendermethod of exceptions totoLiquidMessage(rendermethod conflicts with Laravel exception rendering) - Updated parsing of
commenttag in order to ignore syntax errors in body content
Full Changelog: https://github.com/keepsuit/php-liquid/compare/v0.2.0...v0.2.1
- Added TemplateFactory by @cappuc in #2
Full Changelog: https://github.com/keepsuit/php-liquid/compare/v0.1.1...v0.2.0
- Removed
includetag (only parsing was implemented)
Full Changelog: https://github.com/keepsuit/php-liquid/compare/v0.1.0...v0.1.1
Full Changelog: https://github.com/keepsuit/php-liquid/commits/v0.1.0