Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(deps): update dependency twig/twig to v3 #27

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Sep 29, 2022

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
twig/twig (source) 2.15.2 -> 3.14.0 age adoption passing confidence

Release Notes

twigphp/Twig (twig/twig)

v3.14.0

Compare Source

  • Fix a security issue when an included sandboxed template has been loaded before without the sandbox context
  • Add the possibility to reset globals via Environment::resetGlobals()
  • Deprecate Environment::mergeGlobals()

v3.13.0

Compare Source

  • Add the types tag (experimental)
  • Deprecate the Twig\Test\NodeTestCase::getTests() data provider, override provideTests() instead.
  • Mark Twig\Test\NodeTestCase::getEnvironment() as final, override createEnvironment() instead.
  • Deprecate Twig\Test\NodeTestCase::getVariableGetter(), call createVariableGetter() instead.
  • Deprecate Twig\Test\NodeTestCase::getAttributeGetter(), call createAttributeGetter() instead.
  • Deprecate not overriding Twig\Test\IntegrationTestCase::getFixturesDirectory(), this method will be abstract in 4.0
  • Marked Twig\Test\IntegrationTestCase::getTests() and getLegacyTests() as final

v3.12.0

Compare Source

  • Deprecate the fact that the extends and use tags are always allowed in a sandboxed template.
    This behavior will change in 4.0 where these tags will need to be explicitly allowed like any other tag.
  • Deprecate the "tag" constructor argument of the "Twig\Node\Node" class as the tag is now automatically set by the Parser when needed
  • Fix precedence of two-word tests when the first word is a valid test
  • Deprecate the spaceless filter
  • Deprecate some internal methods from Parser: getBlockStack(), hasBlock(), getBlock(), hasMacro(), hasTraits(), getParent()
  • Deprecate passing null to Twig\Parser::setParent()
  • Update Node::__toString() to include the node tag if set
  • Add support for integers in methods of Twig\Node\Node that take a Node name
  • Deprecate not passing a BodyNode instance as the body of a ModuleNode or MacroNode constructor
  • Deprecate returning "null" from "TokenParserInterface::parse()".
  • Deprecate OptimizerNodeVisitor::OPTIMIZE_TEXT_NODES
  • Fix performance regression when use_yield is false (which is the default)
  • Improve compatibility when use_yield is false (as extensions still using echo will work as is)
  • Accept colons (:) in addition to equals (=) to separate argument names and values in named arguments
  • Add the html_cva function (in the HTML extra package)
  • Add support for named arguments to the block and attribute functions
  • Throw a SyntaxError exception at compile time when a Twig callable has not the minimum number of required arguments
  • Add a CallableArgumentsExtractor class
  • Deprecate passing a name to FunctionExpression, FilterExpression, and TestExpression;
    pass a TwigFunction, TwigFilter, or TestFilter instead
  • Deprecate all Twig callable attributes on FunctionExpression, FilterExpression, and TestExpression
  • Deprecate the filter node of FilterExpression
  • Add the notion of Twig callables (functions, filters, and tests)
  • Bump minimum PHP version to 8.0
  • Fix integration tests when a test has more than one data/expect section and deprecations
  • Add the enum_cases function

v3.11.1

Compare Source

v3.11.0

Compare Source

  • Add Twig\Cache\ChainCache and Twig\Cache\ReadOnlyFilesystemCache
  • Add the possibility to deprecate attributes and nodes on Node
  • Add the possibility to add a package and a version to the deprecated tag
  • Add the possibility to add a package for filter/function/test deprecations
  • Mark ConstantExpression as being @final
  • Add the find filter
  • Fix optimizer mode validation in OptimizerNodeVisitor
  • Add the possibility to yield from a generator in PrintNode
  • Add the shuffle filter
  • Add the singular and plural filters in StringExtension
  • Deprecate the second argument of Twig\Node\Expression\CallExpression::compileArguments()
  • Deprecate Twig\ExpressionParser\parseHashExpression() in favor of
    Twig\ExpressionParser::parseMappingExpression()
  • Deprecate Twig\ExpressionParser\parseArrayExpression() in favor of
    Twig\ExpressionParser::parseSequenceExpression()
  • Add sequence and mapping tests
  • Deprecate Twig\Node\Expression\NameExpression::isSimple() and
    Twig\Node\Expression\NameExpression::isSpecial()

v3.10.3

Compare Source

  • Fix missing ; in generated code

v3.10.2

Compare Source

  • Fix support for the deprecated escaper signature

v3.10.1

Compare Source

  • Fix BC break on escaper extension
  • Fix constant return type

v3.10.0

Compare Source

  • Make CoreExtension::formatDate, CoreExtension::convertDate, and
    CoreExtension::formatNumber part of the public API

  • Add needs_charset option for filters and functions

  • Extract the escaping logic from the EscaperExtension class to a new
    EscaperRuntime class.

    The following methods from Twig\\Extension\\EscaperExtension are
    deprecated: setEscaper(), getEscapers(), setSafeClasses,
    addSafeClasses(). Use the same methods on the
    Twig\\Runtime\\EscaperRuntime class instead.

  • Fix capturing output from extensions that still use echo

  • Fix a PHP warning in the Lexer on malformed templates

  • Fix blocks not available under some circumstances

  • Synchronize source context in templates when setting a Node on a Node

v3.9.3

Compare Source

  • Add missing twig_escape_filter_is_safe deprecated function
  • Fix yield usage with CaptureNode
  • Add missing unwrap call when using a TemplateWrapper instance internally
  • Ensure Lexer is initialized early on

v3.9.2

Compare Source

  • Fix usage of display_end hook

v3.9.1

Compare Source

  • Fix missing $blocks variable in CaptureNode

v3.9.0

Compare Source

  • Add support for PHP 8.4
  • Deprecate AbstractNodeVisitor
  • Deprecate passing Template to Environment::resolveTemplate(), Environment::load(), and Template::loadTemplate()
  • Add a new "yield" mode for output generation;
    Node implementations that use "echo" or "print" should use "yield" instead;
    all Node implementations should be flagged with #[YieldReady] once they've been made ready for "yield";
    the "use_yield" Environment option can be turned on when all nodes have been made #[YieldReady];
    "yield" will be the only strategy supported in the next major version
  • Add return type for Symfony 7 compatibility
  • Fix premature loop exit in Security Policy lookup of allowed methods/properties
  • Deprecate all internal extension functions in favor of methods on the extension classes
  • Mark all extension functions as @​internal
  • Add SourcePolicyInterface to selectively enable the Sandbox based on a template's Source
  • Throw a proper Twig exception when using cycle on an empty array

v3.8.0

Compare Source

  • Catch errors thrown during template rendering
  • Fix IntlExtension::formatDateTime use of date formatter prototype
  • Fix premature loop exit in Security Policy lookup of allowed methods/properties
  • Remove NumberFormatter::TYPE_CURRENCY (deprecated in PHP 8.3)
  • Restore return type annotations
  • Allow Symfony 7 packages to be installed
  • Deprecate twig_test_iterable function. Use the native is_iterable instead.

v3.7.1

Compare Source

  • Fix some phpdocs

v3.7.0

Compare Source

  • Add support for the ...spread operator on arrays and hashes

v3.6.1

Compare Source

  • Suppress some native return type deprecation messages

v3.6.0

Compare Source

  • Allow psr/container 2.0
  • Add the new PHP 8.0 IntlDateFormatter::RELATIVE_* constants for date formatting
  • Make the Lexer initialize itself lazily

v3.5.1

Compare Source

  • Arrow functions passed to the "reduce" filter now accept the current key as a third argument
  • Restores the leniency of the matches twig comparison
  • Fix error messages in sandboxed mode for "has some" and "has every"

v3.5.0

Compare Source

  • Make Twig\ExpressionParser non-internal
  • Add "has some" and "has every" operators
  • Add Compile::reset()
  • Throw a better runtime error when the "matches" regexp is not valid
  • Add "twig *_names" intl functions
  • Fix optimizing closures callbacks
  • Add a better exception when getting an undefined constant via constant
  • Fix if nodes when outside of a block and with an empty body

v3.4.3

Compare Source

  • Fix a security issue on filesystem loader (possibility to load a template outside a configured directory)

v3.4.2

Compare Source

  • Allow inherited magic method to still run with calling class
  • Fix CallExpression::reflectCallable() throwing TypeError
  • Fix typo in naming (currency_code)

v3.4.1

Compare Source

  • Fix optimizing non-public named closures

v3.4.0

Compare Source

  • Add support for named closures

v3.3.10

Compare Source

  • Enable bytecode invalidation when auto_reload is enabled

v3.3.9

Compare Source

  • Fix custom escapers when using multiple Twig environments
  • Add support for "constant('class', object)"
  • Do not reuse internally generated variable names during parsing

v3.3.8

Compare Source

  • Fix a security issue when in a sandbox: the sort filter must require a Closure for the arrow parameter
  • Fix deprecation notice on round
  • Fix call to deprecated convertToHtml method

v3.3.7

Compare Source

  • Allow more null support when Twig expects a string (for better 8.1 support)
  • Only use Commonmark extensions if markdown enabled

v3.3.6

Compare Source

  • Only use Commonmark extensions if markdown enabled

v3.3.5

Compare Source

  • Allow CommonMark extensions to easily be added
  • Allow null when Twig expects a string (for better 8.1 support)
  • Make some performance optimizations
  • Allow Symfony translation contract v3+

v3.3.4

Compare Source

  • Bump minimum supported Symfony component versions
  • Fix a deprecated message

v3.3.3

Compare Source

  • Allow Symfony 6
  • Improve compatibility with PHP 8.1
  • Explicitly specify the encoding for mb_ord in JS escaper

v3.3.2

Compare Source

  • Revert "Throw a proper exception when a template name is an absolute path (as it has never been supported)"

v3.3.1

Compare Source

  • Enable bytecode invalidation when auto_reload is enabled

v3.3.0

Compare Source

  • Fix macro calls in a "cache" tag
  • Add the slug filter
  • Allow extra bundle to be compatible with Twig 2

v3.2.1

Compare Source

  • Fix extra bundle compat with older versions of Symfony

v3.1.1

Compare Source

  • Fix "include(template_from_string())"

v3.1.0

Compare Source

  • Fix sandbox support when using "include(template_from_string())"
  • Make round brackets optional for one argument tests like "same as" or "divisible by"
  • Add support for ES2015 style object initialisation shortcut { a } is the same as { 'a': a }

v3.0.5

Compare Source

  • Fix twig_compare w.r.t. whitespace trimming
  • Fix sandbox not disabled if syntax error occurs within {% sandbox %} tag
  • Fix a regression when not using a space before an operator
  • Restrict callables to closures in filters
  • Allow trailing commas in argument lists (in calls as well as definitions)

v3.0.4

Compare Source

  • Fix comparison operators
  • Fix options not taken into account when using "Michelf\MarkdownExtra"
  • Fix "Twig\Extra\Intl\IntlExtension::getCountryName()" to accept "null" as a first argument
  • Throw exception in case non-Traversable data is passed to "filter"
  • Fix context optimization on PHP 7.4
  • Fix PHP 8 compatibility
  • Fix ambiguous syntax parsing

v3.0.3

Compare Source

  • Add a check to ensure that iconv() is defined

v3.0.2

Compare Source

  • Avoid exceptions when an intl resource is not found
  • Fix implementation of case-insensitivity for method names

v3.0.1

Compare Source

  • fixed Symfony 5.0 support for the HTML extra extension

v3.0.0

Compare Source

  • fixed number formatter in Intl extra extension when using a formatter prototype

v2.16.1

Compare Source

v2.16.0

Compare Source

v2.15.6

Compare Source

v2.15.5

Compare Source

v2.15.4

Compare Source

v2.15.3

Compare Source


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate
Copy link
Contributor Author

renovate bot commented Sep 29, 2022

⚠ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: drupal/composer.lock
Command failed: composer update twig/twig:3.9.3 --with-dependencies --ignore-platform-req='ext-*' --ignore-platform-req='lib-*' --no-ansi --no-interaction --no-scripts --no-autoloader --no-plugins
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Root composer.json requires twig/twig 3.9.3 (exact version match: 3.9.3 or 3.9.3.0), found twig/twig[v3.9.3] but these were not loaded, likely because it conflicts with another require.
  Problem 2
    - drupal/core-recommended is locked to version 9.4.5 and an update of this package was not requested.
    - drupal/core-recommended 9.4.5 requires twig/twig ~v2.15.1 -> found twig/twig[v2.15.1, ..., v2.15.6] but it conflicts with your root composer.json require (3.9.3).
  Problem 3
    - chi-teck/drupal-code-generator 2.6.1 requires twig/twig ^2.14.11 || ^3.1 -> found twig/twig[v2.14.11, ..., 2.x-dev, v3.1.0, ..., 3.x-dev] but these were not loaded, likely because it conflicts with another require.
    - drush/drush 11.1.1 requires chi-teck/drupal-code-generator ^2.4 -> satisfiable by chi-teck/drupal-code-generator[2.6.1].
    - drush/drush is locked to version 11.1.1 and an update of this package was not requested.

Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.

@github-actions
Copy link

@codecov
Copy link

codecov bot commented Sep 29, 2022

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 0.00%. Comparing base (8295ff4) to head (d6ff2ab).

❗ Current head d6ff2ab differs from pull request most recent head fa14a1a. Consider uploading reports for the commit fa14a1a to get more accurate results

Additional details and impacted files
@@           Coverage Diff           @@
##           develop     #27   +/-   ##
=======================================
  Coverage     0.00%   0.00%           
=======================================
  Files            1       1           
  Lines            1       1           
=======================================
  Misses           1       1           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link

coderabbitai bot commented Nov 21, 2023

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Walkthrough

The update to the drupal/composer.json file involves an upgrade of the twig/twig dependency from version 2.15.2 to 3.12.0. This upgrade introduces newer features, improvements, and potential breaking changes in the Twig templating engine. Developers should review the changelog for version 3.12.0 to ensure compatibility and understand any modifications that may impact their existing codebase.

Changes

File Change Summary
drupal/composer.json Upgraded twig/twig from version 2.15.2 to 3.12.0

Poem

In fields of code, I hop with glee,
A new Twig version, oh joy for me!
With features fresh, and bugs all gone,
Let's render templates from dusk till dawn.
Hurray for changes, let the magic flow,
A rabbit's cheer for the code we sow! 🐰✨


Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai generate interesting stats about this repository and render them as a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@renovate renovate bot force-pushed the renovate/twig-twig-3.x branch 4 times, most recently from 822f957 to 87f34f3 Compare April 18, 2024 12:56
@renovate renovate bot force-pushed the renovate/twig-twig-3.x branch from 87f34f3 to 7364665 Compare May 11, 2024 07:56
Copy link
Contributor Author

renovate bot commented May 11, 2024

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: drupal/composer.lock
Command failed: composer update twig/twig:3.14.0 --with-dependencies --ignore-platform-req='ext-*' --ignore-platform-req='lib-*' --no-ansi --no-interaction --no-scripts --no-autoloader --no-plugins
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Root composer.json requires twig/twig 3.14.0 (exact version match: 3.14.0 or 3.14.0.0), found twig/twig[v3.14.0] but these were not loaded, likely because it conflicts with another require.
  Problem 2
    - drupal/core-recommended is locked to version 9.4.5 and an update of this package was not requested.
    - drupal/core-recommended 9.4.5 requires twig/twig ~v2.15.1 -> found twig/twig[v2.15.1, ..., v2.15.6] but it conflicts with your root composer.json require (3.14.0).
  Problem 3
    - chi-teck/drupal-code-generator 2.6.1 requires twig/twig ^2.14.11 || ^3.1 -> found twig/twig[v2.14.11, ..., 2.x-dev, v3.1.0, ..., 3.x-dev] but these were not loaded, likely because it conflicts with another require.
    - drush/drush 11.1.1 requires chi-teck/drupal-code-generator ^2.4 -> satisfiable by chi-teck/drupal-code-generator[2.6.1].
    - drush/drush is locked to version 11.1.1 and an update of this package was not requested.

Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.

@renovate renovate bot force-pushed the renovate/twig-twig-3.x branch 3 times, most recently from 8a57a8e to fa14a1a Compare May 16, 2024 16:26
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 8295ff4 and f40b3cb.

Files selected for processing (1)
  • drupal/composer.json (1 hunks)
Additional comments not posted (1)
drupal/composer.json (1)

28-28: Review the impact of the twig/twig version update.

The update from 2.15.2 to 3.11.0 is a major version change. Ensure that the codebase is compatible with this new version by reviewing the Twig changelog for any breaking changes or new features that might affect template rendering.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between f40b3cb and 106d33a.

Files selected for processing (1)
  • drupal/composer.json (1 hunks)
Additional comments not posted (1)
drupal/composer.json (1)

28-28: Ensure compatibility with the new version of twig/twig.

The twig/twig dependency has been updated from 2.15.2 to 3.12.0. This update introduces new features, improvements, and potential breaking changes. Ensure that the application is thoroughly tested and compatible with the new version. Review the changelog for any deprecated features or altered functionalities that may impact the existing codebase.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants