Commit Graph

5461 Commits

Author SHA1 Message Date
Fabien Potencier f2cb718bdb Fix CS 2022-08-12 08:33:05 +02:00
Fabien Potencier 25283066ab bug #3722 Allow inherited magic method to still run with calling class (bennothommo)
This PR was merged into the 2.x branch.

Discussion
----------

Allow inherited magic method to still run with calling class

This is #3719 ported to 2.x and improved a bit.

I also reported https://github.com/php/php-src/issues/8932 because the underlying behavior of PHP is broken to me.

If a static method cannot be resolved to the calling class, but the calling class has, or inherits, a `__callStatic` handler, this allows the `__callStatic` handler to be used with the calling class, and not the inherited class as would occur with reflection. This allows systems such as Laravel facades to still work.

Fixes https://github.com/twigphp/Twig/issues/3716

Commits
-------

d1457a40 Allow inherited magic method to still run with calling class
2022-08-12 08:31:44 +02:00
Ben Thomson d1457a40b6 Allow inherited magic method to still run with calling class
If a static method cannot be resolved to the calling class, but the calling class has, or inherits, a `__callStatic` handler, this allows the `__callStatic` handler to be used with the calling class, and not the inherited class as would occur with reflection. This allows systems such as Laravel facades to still work.

Fixes https://github.com/twigphp/Twig/issues/3716
2022-07-06 10:46:46 +02:00
Fabien Potencier c953a77b23 Merge branch 'pull/3713' into 2.x
* pull/3713:
  chore: Set permissions for GitHub actions
2022-07-04 21:57:15 +02:00
naveen 188fd290c5 chore: Set permissions for GitHub actions
Restrict the GitHub token permissions only to the required ones; this way, even if the attackers will succeed in compromising your workflow, they won’t be able to do much.

- Included permissions for the action. https://github.com/ossf/scorecard/blob/main/docs/checks.md#token-permissions

https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions

https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs

[Keeping your GitHub Actions and workflows secure Part 1: Preventing pwn requests](https://securitylab.github.com/research/github-actions-preventing-pwn-requests/)

Signed-off-by: naveen <172697+naveensrinivasan@users.noreply.github.com>
2022-07-04 21:55:50 +02:00
Fabien Potencier 40041cac12 bug #3711 Bugfix typo in twig/intl-exta (nyamsprod)
This PR was merged into the 2.x branch.

Discussion
----------

Bugfix typo in twig/intl-exta

Bugfix typo in text attribute name see https://github.com/twigphp/Twig/issues/3710

Commits
-------

fd2f6d42 Bugfix typo in twig/intl-exta
2022-06-10 10:32:47 +02:00
ignace nyamagana butera fd2f6d4215 Bugfix typo in twig/intl-exta
Bugfix typo in text attribute name see https://github.com/twigphp/Twig/issues/3710
2022-06-07 10:14:11 +02:00
Fabien Potencier 3aba62185d Removed unneeded ext refs 2022-06-02 20:36:38 +02:00
Fabien Potencier 55ce7242b1 bug #3707 Fixes CallExpression::reflectCallable() throwing TypeError (ju1ius)
This PR was submitted for the 3.x branch but it was squashed and merged into the 2.x branch instead.

Discussion
----------

Fixes `CallExpression::reflectCallable()` throwing `TypeError`

See #3708

Commits
-------

e333ccc9 Fixes `CallExpression::reflectCallable()` throwing `TypeError`
2022-06-02 20:33:39 +02:00
ju1ius e333ccc9f6 Fixes CallExpression::reflectCallable() throwing TypeError 2022-06-02 20:33:33 +02:00
Fabien Potencier fcc900cf80 Bump version 2022-05-17 07:47:36 +02:00
Fabien Potencier 3b7cedb2f7 Prepare the 2.15.1 release v2.15.1 2022-05-17 07:46:24 +02:00
Fabien Potencier 1b5d977108 Update CHANGELOG 2022-05-17 07:45:45 +02:00
Fabien Potencier e11c074a4d bug #3704 Fix optimizing non-public named closures (nicolas-grekas)
This PR was merged into the 2.x branch.

Discussion
----------

Fix optimizing non-public named closures

Fix #3703

Commits
-------

dd34e9f5 Fix optimizing non-public named closures
2022-05-17 07:44:00 +02:00
Nicolas Grekas dd34e9f5c9 Fix optimizing non-public named closures 2022-05-16 17:47:23 +02:00
Fabien Potencier 137b370376 Bump version 2022-05-15 08:24:02 +02:00
Fabien Potencier 2fcc95728f Prepare the 2.15.0 release v2.15.0 2022-05-15 08:21:48 +02:00
Fabien Potencier 639c883086 Update CHANGELOG 2022-05-15 08:20:05 +02:00
Fabien Potencier bb64a49441 feature #3702 Fix support for named closures (nicolas-grekas)
This PR was merged into the 2.x branch.

Discussion
----------

Fix support for named closures

As spotted by @stof on https://github.com/symfony/symfony/pull/46335#discussion_r872108567

Commits
-------

163f0740 Fix support for named closures
2022-05-15 08:07:29 +02:00
Nicolas Grekas 163f07400a Fix support for named closures 2022-05-13 17:01:54 +02:00
Fabien Potencier ab36653962 Tweak previous commit 2022-04-09 10:41:02 +02:00
Fabien Potencier 6860ca1569 minor #3676 [Documentation] Add note about simple string matching (Kern046)
This PR was merged into the 2.x branch.

Discussion
----------

[Documentation] Add note about simple string matching

During the Symfony Live we mentionned the need to update the documentation around string matching to mention that an approach was possible with the ``ìn`` operator was simpler.

As the documentation part about ``in`` was just below, I wasn't sure that an anchor link was relevant, nor a code example.

Happy to make this first tiny contribution, and available if there are more stuff to do for this PR :).

Commits
-------

5e26ce73 [Documentation] Add note about simple string matching
2022-04-09 10:38:51 +02:00
Axel Venet 5e26ce7320 [Documentation] Add note about simple string matching
Mention the use of ``in`` operator when looking for a simple string instead of ``matches``. #Symfony_Live
2022-04-07 15:41:53 +02:00
Fabien Potencier f6bd36a694 Bump version 2022-04-06 08:46:17 +02:00
Fabien Potencier 66856cd045 Prepare the 2.14.13 release v2.14.13 2022-04-06 08:45:17 +02:00
Fabien Potencier 8fa2c9a2b2 bug #3675 Enable cache invalidation when auto_reload=true (GromNaN)
This PR was merged into the 2.x branch.

Discussion
----------

Enable cache invalidation when auto_reload=true

Related to https://github.com/symfony/symfony-docs/pull/16671

Enabling `auto_reload` is not effective when `opcache.validate_timestamps=0`.

Commits
-------

ef8ae9cb Enable bytecode invalidation with auto_reload
2022-04-05 18:27:00 +02:00
Jérôme Tamarelle ef8ae9cb61 Enable bytecode invalidation with auto_reload 2022-04-05 18:17:00 +02:00
Fabien Potencier 1dd5c10e73 minor #3672 Fix docs about the deprecated tag (fabpot)
This PR was submitted for the 3.x branch but it was merged into the 2.x branch instead.

Discussion
----------

Fix docs about the deprecated tag

Closes #3594

Commits
-------

17142af9 Fix docs about the deprecated tag
2022-03-26 12:00:29 +01:00
Fabien Potencier 17142af9f8 Fix docs about the deprecated tag 2022-03-26 11:37:03 +01:00
Fabien Potencier 28bec2f1ff Bump version 2022-03-25 10:35:55 +01:00
Fabien Potencier 19c898bda3 Prepare the 2.14.12 release v2.14.12 2022-03-25 10:34:52 +01:00
Fabien Potencier 2d9da2d904 Update CHANGELOG 2022-03-25 10:34:21 +01:00
Fabien Potencier df053afb44 Fix docs 2022-03-25 09:53:24 +01:00
Fabien Potencier 3178098337 Tweak docs 2022-03-25 09:48:05 +01:00
Fabien Potencier c17b0af03e minor #3486 New info: Documents / filters / format_datetime: added info and examp… (EarthDweller)
This PR was submitted for the 3.x branch but it was merged into the 2.x branch instead.

Discussion
----------

New info: Documents / filters / format_datetime: added info and examp…

…le of using argument `timezone`

issues 3477:
https://github.com/twigphp/Twig/issues/3477

Commits
-------

16d06cc4 New info: Documents / filters / format_datetime: added info and example of using argument `timezone`
2022-03-25 09:30:38 +01:00
Тимофей Соловейчик 16d06cc422 New info: Documents / filters / format_datetime: added info and example of using argument timezone 2022-03-25 09:30:27 +01:00
Fabien Potencier beea1a7c4a Add a test 2022-03-25 09:18:53 +01:00
Fabien Potencier d776736787 minor #3644 Added token type and value to error message (kmirzavaziri)
This PR was submitted for the 3.x branch but it was merged into the 2.x branch instead.

Discussion
----------

Added token type and value to error message

Added the given token type and value to the error message in case that the token after '.' is neither a name  nor a number.

I think it helps a lot to have more expressive verbose error messages (specially in this case with the dot `.` operator, since it's the concatenation operator in PHP and developers may mistakenly use it instead of tilde `~` operator which is the concatenation operator in Twig.

I also think that it's better to extract the error message generating script out of `TokenStream::expect` (the code I included at the end of this message) and make it a new method with more general flexibility to be able to use the same method with all these scenarios but I'm not sure if this level of abstraction meets the Twig source policy so I didn't try to do that.

```
sprintf('%sUnexpected token "%s"%s ("%s" expected%s).',
                $message ? $message.'. ' : '',
                Token::typeToEnglish($token->getType()),
                $token->getValue() ? sprintf(' of value "%s"', $token->getValue()) : '',
                Token::typeToEnglish($type), $value ? sprintf(' with value "%s"', $value) : '')
```

Commits
-------

6c8da65b Added token type and value to error message
2022-03-25 09:17:49 +01:00
Kamyar Mirzavaziri 6c8da65b74 Added token type and value to error message
Added the given token type and value to the error message in case that the token after '.' is neither a name  nor a number.
2022-03-25 09:17:46 +01:00
Fabien Potencier 65bedae131 minor #3667 Add phpdoc to SecurityPolicyInterface (VincentLanglet)
This PR was merged into the 2.x branch.

Discussion
----------

Add phpdoc to SecurityPolicyInterface

Hi @fabpot, this is a follow up of https://github.com/twigphp/Twig/pull/3664

I think adding phpdoc to this interface wouldn't hurt.
I took a look at https://github.com/twigphp/Twig/blob/2.x/src/Sandbox/SecurityPolicy.php to know the type of the parameters.

Commits
-------

e33f97cd Add phpdoc to SecurityPolicyInterface
2022-03-25 09:11:21 +01:00
Fabien Potencier 6f7bb4c983 bug #3671 Fix custom escapers when using multiple Twig environments (fabpot)
This PR was merged into the 2.x branch.

Discussion
----------

Fix custom escapers when using multiple Twig environments

Closes #3668

Commits
-------

9c03ef0d Fix custom escapers when using multiple Twig environments
2022-03-25 09:03:17 +01:00
Fabien Potencier 9c03ef0d21 Fix custom escapers when using multiple Twig environments 2022-03-25 08:56:44 +01:00
Vincent Langlet e33f97cd8b Add phpdoc to SecurityPolicyInterface 2022-03-17 22:53:08 +01:00
Fabien Potencier 4c4fb89512 bug #3664 Rename variable in SecurityPolicyInterface.php (VincentLanglet)
This PR was merged into the 2.x branch.

Discussion
----------

Rename variable in SecurityPolicyInterface.php

Hi @fabpot

When using psalm, an error is reported when the name of the variable is not the same than the one in the interface.
This also could give issues with named params.

The securityPolicy implementation is using `property` as the name of the variable, which make a lot more sens https://github.com/twigphp/Twig/blob/3.x/src/Sandbox/SecurityPolicy.php#L110.

So I updated the interface. But I wasn't sure on which branch (1.x, 2.x, 3.x) I should have opened the PR.

I also wondering if you want me to rename $obj to $object maybe ?

Commits
-------

3f07c38c Rename variable
2022-03-15 09:46:17 +01:00
Vincent Langlet 3f07c38c9a Rename variable 2022-03-15 08:59:44 +01:00
Fabien Potencier 53c42377f5 bug #3654 do not reuse internally generated variable names during parsing (xabbuh)
This PR was merged into the 2.x branch.

Discussion
----------

do not reuse internally generated variable names during parsing

fixes #3647

Commits
-------

1411c454 do not reuse internally generated variable names during parsing
2022-02-25 09:29:50 +01:00
Christian Flothmann 1411c454c1 do not reuse internally generated variable names during parsing 2022-02-24 17:25:50 +01:00
Fabien Potencier 1e04274f34 Fix CHANGELOG 2022-02-04 08:03:05 +01:00
Fabien Potencier fca80b536d Bump version 2022-02-04 07:58:43 +01:00
Fabien Potencier 66baa66f29 Prepare the 2.14.11 release v2.14.11 2022-02-04 07:57:25 +01:00