Commit Graph

102 Commits

Author SHA1 Message Date
Fabien Potencier b03de9de05 Merge branch '3.x' into 4.x
* 3.x:
  Update CHANGELOG
  Fix accessing arrays with stringable objects as key
  Update inky_to_html.rst: Updating link
  Update replace.rst
  [Doc] Tweaks in the escaping article
  Compile 'index' with repr (not string) in EmbedNode
  Introduce registerUndefinedTestCallback
  Fix intl test
  Bump minimum Commonmark requirement
  Support two words test guard
  Bump version
  Improve documentation examples for `enum` and `enum_cases`
  Avoid errors when failing to guess the template info for an error
  Add note to format_datetime explaining how to install required extensions
  Fix compatibility layer
2025-10-29 11:55:46 -04:00
Vincent Langlet cc12df995c Introduce registerUndefinedTestCallback 2025-09-16 07:40:27 +02:00
Fabien Potencier f97db8960a Merge branch '3.x' into 4.x
* 3.x:
  Avoid polluting ModuleNode::toString() with embedded templates
  Simplify code
  Add tests
  Tweak Sandbox docs
  Improve docs on creating new tags
  remove not needed code
  Remove obsolete comment
2025-02-28 08:59:42 +01:00
Fabien Potencier 3d760aec1c Avoid polluting ModuleNode::toString() with embedded templates 2025-02-28 08:57:55 +01:00
Fabien Potencier 151aa4ecda Fix CS 2025-02-14 12:57:03 +01:00
Fabien Potencier 9bccdf438d Merge branch '3.x' into 4.x
* 3.x:
  Add a proper prefix spread operator
  Avoid storing expression parser instances in Node attributes
2025-02-14 12:51:14 +01:00
Fabien Potencier d6f539bb01 Avoid storing expression parser instances in Node attributes 2025-02-14 11:32:12 +01:00
Fabien Potencier 171262ca24 Remove deprecated code 2025-02-14 09:54:25 +01:00
Fabien Potencier 6032fd320c Merge branch '3.x' into 4.x
* 3.x:
  Fix version
  Fix CS
  Remove obsolete code
  Use generics in ExpressionParsers
  Fix precedence rules
  Add deprecation notices in CHANGELOG and docs
  Move Operators to ExpressionParsers, deprecate ExpressionParser
  Add a script to update operator precedence documentation
  Extract operators logic from ExpressionParser to their own classes
  Introduce operator classes to describe operators provided by extensions instead of arrays
  Bump version to 3.21
2025-02-14 09:08:33 +01:00
Fabien Potencier 79d828b09d Fix version 2025-02-14 08:47:54 +01:00
Fabien Potencier 4b57f48a65 Use generics in ExpressionParsers 2025-02-14 08:38:53 +01:00
Fabien Potencier 8ff19090f3 Fix precedence rules 2025-02-14 08:38:53 +01:00
Fabien Potencier f67078b5c4 Move Operators to ExpressionParsers, deprecate ExpressionParser 2025-02-14 08:38:53 +01:00
Fabien Potencier 42c82e1e9b Extract operators logic from ExpressionParser to their own classes 2025-02-14 08:38:53 +01:00
Fabien Potencier d564048b9c Merge branch '3.x' into 4.x
* 3.x:
  Fix CS
  Fix Token::__toString()
  fix intl-extra tests
  add missing parentheses to deprecation message
  Deprecate Token::getType()
2025-01-26 11:56:31 +01:00
Fabien Potencier ade8bce516 Deprecate Token::getType() 2025-01-24 15:48:04 +01:00
Fabien Potencier 81ca67cdb2 Merge branch '3.x' into 4.x
* 3.x:
  Add return type annotations on Twig 3 to prepare Twig 4
2025-01-24 11:38:08 +01:00
Simon André 82be13429c Add return type annotations on Twig 3 to prepare Twig 4 2025-01-24 11:32:59 +01:00
Simon André 122943c1a1 Add @return void on last public methods 2025-01-02 07:11:23 +01:00
Vincent Langlet 29fce6de1e Bump Phpstan to level 4 2024-12-02 20:49:24 +01:00
Fabien Potencier 82cde4edcb Fix CS 2024-11-30 09:45:07 +01:00
Fabien Potencier 89fdc7d31d Refactor code 2024-10-25 07:47:55 +02:00
Fabien Potencier c62c104127 Fix tests 2024-10-25 07:35:14 +02:00
Fabien Potencier 4698d15b8e Remove obsolete code, remove deprecations 2024-10-24 08:23:21 +02:00
Fabien Potencier ef63506239 Merge branch '3.x' into 4.x
* 3.x:
  Improve ImportNode impl
  Rename Node classes related to variables
2024-10-24 07:57:29 +02:00
Fabien Potencier fc15e7ccbc Rename Node classes related to variables 2024-10-23 12:36:57 +02:00
Fabien Potencier 99a85a7b5e Remove deprecated/obsolete features 2024-10-22 12:20:57 +02:00
Fabien Potencier 560988e2e1 Merge branch '3.x' into 4.x
* 3.x:
  Remove MacroAutoImportNodeVisitor
  Simplify code
  Rework macros handling
2024-10-22 11:13:46 +02:00
Fabien Potencier 1105964873 Rework macros handling 2024-10-20 21:53:20 +02:00
Fabien Potencier 025278f576 Merge branch '3.x' into 4.x
* 3.x:
  Introduce a way to test Twig callables at compile time
  Allow arrow functions everywhere
  Fix deprecation dep feature
2024-10-08 18:44:24 +02:00
Fabien Potencier 62f0a96b68 Introduce a way to test Twig callables at compile time 2024-10-08 18:41:34 +02:00
Fabien Potencier 5d1334116d Remove obsolete code 2024-09-27 08:04:04 +02:00
Fabien Potencier 0c6bd47d6b Merge branch '3.x' into 4.x
* 3.x:
  Deprecate using Node directly, introduce EmptyNode and Nodes
  Add support for inline comments
  Update plural.rst: Fixing(?) broken links
  Fix CS
  Add support for accessing class constants with the dot operator
  Fix getting a property on an object casted to an array
  Replace strtr() by strtolower()
  Improve escape deprecation message
  Remove useless assign in compiled code
  Add fixture filename as key
  Be more precise about double-escaping
  Fix template name in error for an unknown dynamic extends called from an include
2024-09-27 07:59:52 +02:00
Fabien Potencier 8b278986b8 Deprecate using Node directly, introduce EmptyNode and Nodes 2024-09-27 07:42:41 +02:00
Fabien Potencier 61aa645a30 Merge branch '3.x' into 4.x
* 3.x:
  Fix doc markup
  Add an example on how to iterate over a string
  Remove NodeCaptureInterface from TypesNode
  Use CPP in full code base
  Add types tag
  Bump version
  Bump version
  Prepare the 3.12.0 release
  Fix CS
  Add conditional return types to `ensureTraversable`
  Add return type `isTraitable`
2024-08-30 12:38:56 +02:00
Fabien Potencier 70b912fa10 minor #4228 Use CPP in full code base (andreybolonin)
This PR was squashed before being merged into the 3.x branch.

Discussion
----------

Use CPP in full code base

Commits
-------

28923f42 Use CPP in full code base
2024-08-29 19:29:42 +02:00
andreybolonin1989@gmail.com 28923f4269 Use CPP in full code base 2024-08-29 19:29:39 +02:00
Fabien Potencier e2f0128774 Merge branch '3.x' into 4.x
* 3.x:
  Deprecate the fact that the `extends` and `use` tags are always allowed in a sandboxed template
  Clarify block function
2024-08-28 13:56:42 +02:00
Fabien Potencier 5fca700cbd Deprecate the fact that the extends and use tags are always allowed in a sandboxed template 2024-08-28 13:40:53 +02:00
Fabien Potencier 4696eeba1d Remove deprecated code 2024-08-26 09:30:21 +02:00
Fabien Potencier d1f9097c7b Merge branch '3.x' into 4.x
* 3.x:
  Deprecate some internal methods from Parser
  Move code from ExtendsTokenParser to Parser
  Update Node::__toString() to include the node tag if set
  Fix class name
  Fix error message
2024-08-26 09:28:17 +02:00
Fabien Potencier 9e6c4a6ac1 Deprecate some internal methods from Parser 2024-08-26 09:24:03 +02:00
Fabien Potencier cf4727606a Move code from ExtendsTokenParser to Parser 2024-08-26 07:56:37 +02:00
Fabien Potencier 758be4dde3 Fix error message 2024-08-24 12:57:39 +02:00
Fabien Potencier 7173182537 Fix code 2024-08-24 10:55:34 +02:00
Fabien Potencier fc9ec820bf Simplify code 2024-08-24 10:53:54 +02:00
Fabien Potencier 00a766f58e Merge branch '3.x' into 4.x
* 3.x:
  Deprecate returning null from TokenParserInterface::parse()
2024-08-24 10:53:41 +02:00
Fabien Potencier 0c75136162 Deprecate returning null from TokenParserInterface::parse() 2024-08-24 10:52:24 +02:00
Fabien Potencier 5678ee080d Merge branch '3.x' into 4.x
* 3.x:
  Refactor code
  Add a test
2024-08-20 17:21:22 +02:00
Fabien Potencier 31037d0e51 Refactor code 2024-08-20 15:39:54 +02:00