Skip to content

Releases: CodeWithKyrian/jinja-php

v2.1.0

27 Oct 11:29
17e6121

Choose a tag to compare

What's Changed

  • [Fix] Object literal interpretation by @drjamesj in #4
  • Feat: improve code quality and fix runtime argument passing bugs by @CodeWithKyrian in #5

New Contributors

Full Changelog: 2.0.0...2.1.0

v2.0.0

20 Jul 22:51

Choose a tag to compare

What's New

Core Language Features

  • Added macro support with {% macro %} and {% endmacro %} blocks
  • Added break and continue statement support for loops
  • Added ternary expressions and improved if-else parsing with elif support
  • Added spread expressions (*args) for function argument unpacking
  • Added comment support with {# #} syntax
  • Added null literal support (none, None)

Template Processing

  • Added custom transformers-specific generation tag support
  • Added string concatenation operator (~) and multiple string literal support
  • Enhanced set statements with body support and {% endset %} blocks
  • Added for-else loops with {% else %} blocks

String Manipulation

  • Added new filters: capitalize, replace, split with maxsplit, join
  • Enhanced startswith/endswith filters with tuple argument support
  • Added items, keys, values methods for object iteration
  • Added trimming functions: strip, lstrip, rstrip

Data Processing

  • Added Python-style negative array indexing (e.g., messages[-1])
  • Added new filters: tojson, map, indent
  • Added proper numeric type handling with IntegerValue and FloatValue
  • Added support for both lowercase and uppercase boolean literals

Fixes

  • Fixed undefined array key errors in parser and lexer with proper bounds checking
  • Improved error messages and exception handling throughout
  • Enhanced parser architecture with better statement detection
  • Added JsonSerializable interface to runtime values

Breaking Changes

None - all changes are backward compatible.

New Contributors

Full Changelog: 1.0.0...2.0.0

v1.0.0

19 Mar 17:56

Choose a tag to compare

Initial Release

  • Jinja Syntax Support - It supports most of the Jinja Syntax
  • ML Chat Templates Ready - It has been tested against most of the Chat Templates on HuggingFace
  • General Templating: It is versatile enough to be used for regular templating tasks.

Full Changelog: https://github.com/CodeWithKyrian/jinja-php/commits/1.0.0