NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #3251 most downloaded on PyPI
A Python engine for the Liquid template language.
Last release 5 days ago
29 Sep 2026
Release timing varies
gaps range from 2 weeks to 11 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
77 releases · first in 2020
One column per quarter.
Class-based filters are now depreciated in favour of decorated filter functions. Abstract filter classes (such as liquid.builtin.filters.string.String
liquid.builtin.filters.string.StringFilter) will be removed in Liquid 0.9.liquid.filter.string_filter and liquid.filter.with_context, instead.block argument to the liquid.ast.ConditionalBlockNode constructor is no longer optional.Auto reload. Disable automatic reloading of templates by passing auto_reload=False to Environment or Template. For deployments where template sources
auto_reload=False to Environment or Template. For deployments where template sources don't change between service reloads, setting auto_reload to False can yield an increase in performance by avoiding calls to uptodate.Template API, undefined, strict_filters, and autoescape where not always passed through to the implicit environment correctly.offset: continue. See #14... \_MarkupSafe: https://github.com/pallets/markupsafe
.. _MarkupSafe: https://github.com/pallets/markupsafe
MarkupSafe_ is installed and the autoescape argument to Environment or Template is True, context variables will be HTML escaped automatically.LiquidSyntaxError exceptions now include the offending template source in the source property.The built-in FileSystemLoader now accepts a list of paths to search, in order, returning the first template source found. The search_path argument can
FileSystemLoader now accepts a list of paths to search, in order, returning the first template source found. The search_path argument can be a string or path-like, or an iterable of strings or path-like objects.encoding argument to FileSystemLoader. Files will be opened with the given encoding. Defaults to "utf-8".FileSystemLoader will raise a TemplateNotFound exception if .. appears in a template name.Undefined variables are now represented by the Undefined type, or a subclass of Undefined. Undefined behaves like nil, but can also be iterated over a
Undefined type, or a subclass of Undefined. Undefined behaves like nil, but can also be iterated over and indexed without error.LiquidTypeError.liquid.StrictUndefined as the undefined argument to Template() or Environment() to render in strict variables mode. All operations on an instance of StrictUndefined raise an UndefinedError.FilterValueError in addition to FilterArgumentError. Where a FilterValueError refers to an issue with the left value a filter is applied to.FilterArgumentError in most cases.strict_filters argument to the Environment and Template constructors. When True, the default, undefined filters raise a NoSuchFilterFunc exception at render time. When False, undefined filters are silently ignored.join filter now forces items in its left value to strings before joining them.join filter's argument is now optional, defaulting to a string containing a single space.Nothing published for this version
New Template API. Create templates from strings without an Environment.
Template API. Create templates from strings without an Environment.template object is no longer included in every render context automatically.Implemented the blank keyword. Empty string and strings containing only whitespace are equal to blank.
blank keyword. Empty string and strings containing only whitespace are equal to blank.null keyword. null is an alias for nil.ifchanged tag.Nothing published for this version
Refactored the standard expression parser. It's now possible to extend ExpressionParser for use with custom tags.
ExpressionParser for use with custom tags.if, unless and case tag subclassing.Added support for Python 3.7 and PyPy3.7.
Added support for named filter parameters.
default filter now accepts the named parameter allow_false.truncate_words filter now forces a minimum number of words to 1.newline_to_br filter now replaces \n and \r\n with <br />\n.strip_newlines filter strips \r\n.Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →