Skip to content

chore(deps-dev): bump dg/bypass-finals from 1.10.2 to 1.11.0 in /magento - #23

Closed
dependabot[bot] wants to merge 2 commits into
mainfrom
dependabot/composer/magento/dg/bypass-finals-1.11.0
Closed

chore(deps-dev): bump dg/bypass-finals from 1.10.2 to 1.11.0 in /magento#23
dependabot[bot] wants to merge 2 commits into
mainfrom
dependabot/composer/magento/dg/bypass-finals-1.11.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jul 25, 2026

Copy link
Copy Markdown

Bumps dg/bypass-finals from 1.10.2 to 1.11.0.

Release notes

Sourced from dg/bypass-finals's releases.

Released version 1.11.0

BypassFinals now understands modern PHP: final disappears not only from classes and methods, but also from properties and property hooks introduced in PHP 8.4. Caching got safer and smarter, path matching finally behaves on Windows, and PHPUnit users can configure path masks straight from phpunit.xml.

💥PHP 8.2

  • PHP 8.2 is now the minimum. Support for PHP 7.1–8.1 has been dropped. If you're stuck on an older PHP, stay on 1.10.x.

✨ New Features

  • final is now removed from properties and property hooks (PHP 8.4+), not just from classes and methods. The rule is inverted: final survives only before constants, where it's a genuine feature rather than a mockability barrier.
  • PHPUnit extension learned allowPaths and denyPaths – restrict which files get rewritten without touching a single line of PHP. Semicolon-separated masks, right there in phpunit.xml:
    <parameter name="allowPaths" value="*/src/*;*/lib/*"/>
    <parameter name="denyPaths" value="*/generated/*"/>
  • debugInfo() now shows the full picture – allowed and denied path rules plus the cache directory, so you can see at a glance why a file wasn't modified.

🐛 Bug Fixes

  • final readonly int $x no longer produces invalid code. With both bypasses enabled it used to emit a bare int $x; a property must keep at least one modifier, so the first removed one now becomes public.
  • Path masks match case-insensitively on Windows, where C:/Src/ and c:/src/ are the same directory – as they always should have been.
  • Cache files are written atomically via a temp file and rename(), so a process killed mid-write can no longer leave a truncated file behind and poison every subsequent run. #80
  • Stale caches invalidate themselves. The cache key now includes the algorithm version and the PHP version, so upgrading PHP or BypassFinals no longer serves you code rewritten by the old rules.
Commits
  • b21595b bootstrap test uses a separate fixture per ordering to run under argv-less SAPIs
  • 440b9da removeTokens() suppresses CompileError from token_get_all(), not just ParseError
  • d1f082b removes 'final' also from properties and property hooks introduced in PHP 8.4
  • 7d30479 PHPUnitExtension: added allowPaths and denyPaths parameters
  • 581da35 isPathAllowed() matches case-insensitively on Windows
  • 878e9fc improved robustness of proc_open detection
  • afbfd16 debugInfo() also prints path rules and cache directory
  • 14125fa cache files are written atomically via temp file + rename [Closes #80]
  • 22a83d3 cache key includes algorithm version and PHP version to invalidate stale caches
  • 9ec4a30 requires PHP 8.2
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

gray-bot and others added 2 commits July 20, 2026 10:02
Bumps [dg/bypass-finals](https://github.com/dg/bypass-finals) from 1.10.2 to 1.11.0.
- [Release notes](https://github.com/dg/bypass-finals/releases)
- [Commits](dg/bypass-finals@v1.10.2...v1.11.0)

---
updated-dependencies:
- dependency-name: dg/bypass-finals
  dependency-version: 1.11.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file php Pull requests that update php code labels Jul 25, 2026
@gray-bot gray-bot closed this Jul 27, 2026
@dependabot @github

dependabot Bot commented on behalf of github Jul 27, 2026

Copy link
Copy Markdown
Author

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.

@dependabot
dependabot Bot deleted the dependabot/composer/magento/dg/bypass-finals-1.11.0 branch July 27, 2026 10:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file php Pull requests that update php code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant