Commit Graph

391 Commits

Author SHA1 Message Date
Fabien Potencier b5372f5764 Merge branch '3.x' into 4.x
* 3.x:
  Fix CS
  Remove obsolete comment
  Resolves #4200
2024-08-20 18:12:56 +02:00
Fabien Potencier 302971f34e Fix CS 2024-08-20 18:10:26 +02:00
Nikola Svitlica a.k.a TheCelavi 6ef13d1e0b Resolves #4200 2024-08-20 17:30:37 +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
Fabien Potencier 63e35b9620 Add a test 2024-08-20 09:34:22 +02:00
Fabien Potencier 5820fba263 Merge branch '3.x' into 4.x
* 3.x:
  Update CHANGELOG and docs
  Swap BC layer for yield-ready and reclaim perf loss
  Add test about version
2024-08-19 20:19:25 +02:00
Fabien Potencier 17997cf7fc minor #4214 Add test about Environment version constants. (VincentLanglet)
This PR was merged into the 3.x branch.

Discussion
----------

Add test about Environment version constants.

Hi `@fabpot`

The Environment Version constants seems to be manually updated.
https://github.com/twigphp/Twig/blob/fe36e084b4e208c44e30886053c8594bb99bd78f/src/Environment.php#L46-L51

A mistake was made on the 3.11 version, the MAJOR_VERSION was set to 4 instead of 3
https://github.com/twigphp/Twig/blob/e80fb8ebba85c7341a97a9ebf825d7fd4b77708d/src/Environment.php#L48

It was fixed in another version, but I think it could be useful to have some test about the consistency of all those constants.
Such test would have fail for the 3.11 version and avoid the mistake.

Commits
-------

254abc8c Add test about version
2024-08-19 08:48:36 +02:00
Fabien Potencier 65048fa3bb Fix CS 2024-08-18 19:27:14 +02:00
Fabien Potencier 15c0adb3ed Merge branch '3.x' into 4.x
* 3.x:
  Fix CS
2024-08-18 19:26:04 +02:00
Fabien Potencier 675cb2d141 Fix CS 2024-08-18 19:25:19 +02:00
Vincent Langlet 254abc8c4c Add test about version 2024-08-18 18:25:33 +02:00
Fabien Potencier d9f52db503 Merge branch '3.x' into 4.x
* 3.x:
  Fix typos in CHANGELOG
2024-08-18 17:54:12 +02:00
Fabien Potencier 84116e5ff7 Fix typos in CHANGELOG 2024-08-18 17:52:16 +02:00
Simon André 470965fcc2 Add missing return types in 4.0 2024-08-17 23:10:07 +02:00
Fabien Potencier 22ff3f4f22 Merge branch '3.x' into 4.x
* 3.x:
  Fix typos in CHANGELOG
  Fix typo
  Fix some minor issues
  Add support for named arguments on special functions
2024-08-17 18:03:35 +02:00
Fabien Potencier 0c30e78b1c Add support for named arguments on special functions 2024-08-16 08:37:24 +02:00
Fabien Potencier d051ccde20 Merge branch '3.x' into 4.x
* 3.x:
  Throw a SyntaxError exception at compile time when a Twig callable has not the minimum number of required arguments
2024-08-16 08:12:37 +02:00
Fabien Potencier 0823d23488 Throw a SyntaxError exception at compile time when a Twig callable has not the minimum number of required arguments 2024-08-15 23:00:02 +02:00
Fabien Potencier a30d07eeb4 Remove obsolete code 2024-08-15 20:59:30 +02:00
Fabien Potencier 4bade436a4 Merge branch '3.x' into 4.x
* 3.x:
  Extract a new CallableArgumentsExtractor class
  Make Node::__toString() more readable
2024-08-15 20:57:57 +02:00
Fabien Potencier e1705f8831 Extract a new CallableArgumentsExtractor class 2024-08-15 20:37:59 +02:00
Fabien Potencier b431ecad3a Make Node::__toString() more readable 2024-08-15 20:18:30 +02:00
Fabien Potencier eaf04e53f0 Remove deprecated code 2024-08-14 23:34:13 +02:00
Fabien Potencier abee6fc583 Merge branch '3.x' into 4.x
* 3.x:
  Move FunctionExpression/FilterExpression/TestExpression attributes from compilation time to parsing time
  Cleanup the implementation of the defined test for constants
2024-08-14 23:07:43 +02:00
Fabien Potencier 3156d8093e Move FunctionExpression/FilterExpression/TestExpression attributes from compilation time to parsing time 2024-08-14 18:45:35 +02:00
Fabien Potencier d7df8844e0 Merge branch '3.x' into 4.x
* 3.x:
  Add missing method in TwigCallableInterface
  Fix TwigCallableInterface
  Simplify code
  Make various optimization for dynamic Twig callables
2024-08-13 18:37:32 +02:00
Fabien Potencier 148d3e079d Make various optimization for dynamic Twig callables 2024-08-12 09:45:32 +02:00
Fabien Potencier 91f29731d4 Merge branch '3.x' into 4.x
* 3.x:
  Optimize stripcslashes
  (minor) Prefer `className` over `classname`
  Remove escape
  Deprecate unnecessary escape characters
  Micro-micro optimization
  Simplify tests
2024-08-12 09:28:43 +02:00
Simon André 03012f190f (minor) Prefer className over classname
For consistency with how it's written in the tested classes.
2024-08-12 08:16:07 +02:00
Ruud Kamphuis c6656cf5d0 Deprecate unnecessary escape characters
See #4123 #2712

This allows to change the implementation in v4 so that we no longer have to escape backslashes.
2024-08-11 16:21:05 +02:00
Fabien Potencier 8a8f22131c Simplify tests 2024-08-10 18:25:26 +02:00
Fabien Potencier 4a2fb5b460 Merge branch '3.x' into 4.x
* 3.x:
  Add the notion of a Twig callable
  Drop support for 8.0
  Add more tests to the Lexer
  Add a note about how to escape a string interpolation in a string
  Bump version to 3.12
  Implement the enum_cases function
  Remove deprecation arg
  Fix integration tests when a test has more than on data/expect section and deprecations
  Bump version
  Prepare the 3.11.0 release
  Update CHANGELOG
2024-08-10 18:01:24 +02:00
Fabien Potencier 38250b91ca Add more tests to the Lexer 2024-08-10 12:17:25 +02:00
Christophe Coevoet ff4d01f940 Implement the enum_cases function
The implementation contains an optimized implementation of the function
for the common case of using a string literal as the argument. It will
validate the enum existence during compilation and compile the code to
use `MyEnum::cases()` directly.
2024-08-09 21:21:58 +02:00
Fabien Potencier a5dc02bbc5 Fix integration tests when a test has more than on data/expect section and deprecations 2024-08-09 17:14:41 +02:00
Fabien Potencier 102bec30f6 Merge branch '3.x' into 4.x
* 3.x:
  Add the possibility to deprecate attributes and nodes on Node
2024-08-08 14:50:31 +02:00
Fabien Potencier 18894cf91e Add the possibility to deprecate attributes and nodes on Node 2024-08-08 14:48:20 +02:00
Fabien Potencier eafbee52e3 Merge branch '3.x' into 4.x
* 3.x:
  Use trigger_deprecation() instead of trigger_error() for deprecations
  Tweak docs
  clarify that macros shadow other macros/functions
2024-08-08 14:47:26 +02:00
Fabien Potencier 0ce79df5c4 Use trigger_deprecation() instead of trigger_error() for deprecations 2024-08-08 14:28:28 +02:00
Fabien Potencier 81df5161ea Merge branch '3.x' into 4.x
* 3.x:
  Remove debug info
2024-08-07 22:59:29 +02:00
Fabien Potencier 390c5a0b05 Remove debug info 2024-08-07 22:59:17 +02:00
Fabien Potencier a5882760df Fix CS 2024-08-07 19:37:53 +02:00
Fabien Potencier 0131c230c7 Merge branch '3.x' into 4.x
* 3.x:
  Fix CS
2024-08-07 19:34:39 +02:00
Fabien Potencier f5e10e10f1 Fix CS 2024-08-07 19:34:09 +02:00
Fabien Potencier 2be34fc0ce Merge branch '3.x' into 4.x
* 3.x:
  Introduce ChainCache and ReadOnlyFilesystemCache
  Add a note about how macros can override existing functions
  Fix dumping callables on Node::__toString()
2024-08-07 14:41:48 +02:00
Quentin D. 0dbe1d9f6d Introduce ChainCache and ReadOnlyFilesystemCache
Signed-off-by: Quentin Devos <4972091+Okhoshi@users.noreply.github.com>
2024-08-07 14:31:56 +02:00
Fabien Potencier fc64472145 Fix dumping callables on Node::__toString() 2024-08-04 16:35:01 +02:00
Fabien Potencier 0707f16cf3 Merge branch '3.x' into 4.x
* 3.x:
  Add new "find" filter
2024-08-04 13:40:16 +02:00
Fabien Potencier fa3c341725 feature #3963 Add new "find" filter (smnandre)
This PR was squashed before being merged into the 3.x branch.

Discussion
----------

Add new "find" filter

This filter returns the first _value_ matching the given arrow function or null

Attempt to solve #3962

(open to any feedback)

Commits
-------

4e262511 Add new "find" filter
2024-08-04 13:39:13 +02:00