GitPedia
humbug

humbug/php-scoper

🔨 Prefixes all PHP namespaces in a file/directory to isolate the code bundled in PHARs.

30 Releases
Latest: 3mo ago
0.18.190.18.19Latest
theofidrytheofidry·3mo ago·March 2, 2026
GitHub

Features

  • Add PHP 8.5 symbols (#1196)

🐛 Bugfixes

  • Remove the custom error handler (#1195)
  • Fix the PHP 8.5 null to string key casting deprecration (#1197)
  • Correctly detect the stop on failure value (#1194)
0.18.18
theofidrytheofidry·8mo ago·October 15, 2025
GitHub

🐛 Fixes

  • Normalize file paths for Windows compatibility (#1130)
0.18.17
theofidrytheofidry·1y ago·February 19, 2025
GitHub

Features

  • Update to thecodingmachine/safe v3 (#1112)

🐛 Fixes

  • Fix scoping of new statement with the new parent not being a name (#1115)
  • Handle arguments of method_exists (#1116)

📦 Misc

  • Move the init file template to the res directory (#1054)
0.18.16
theofidrytheofidry·1y ago·January 12, 2025
GitHub

Features

  • Add PHP 8.4 support (#1086, #1100, #1105, #1090)
  • Unlock intellisense for the finder component (#1104)

📦 Misc

  • Allow PHPUnit 11 (#1085)
  • Fix test for Symfony 7.2 (#1087)
  • Show the diff upon failure when executing PHP-CS-Fixer in the CI (#1088)
  • Fix constant/function assignment in WP example in the docs (#1094)
0.18.15
theofidrytheofidry·1y ago·September 2, 2024
GitHub

🐛 Fixes

  • Handle symbols removed within PhpStorm's stubs (#1065)
  • Fix aliasing functions with multiple-level namespaces (#1061)
0.18.14
theofidrytheofidry·2y ago·June 16, 2024
GitHub

Features

  • Throw more friendly exceptions when loading a configuration (#1045)
  • Allow to configure the parser PHP version (#1044, #1052)

🐛 Fixes

  • Configure the printer PHP version to 7.2 by default (#1049)
  • Fix missing var-dumper dependency (#1053)
0.18.13
theofidrytheofidry·2y ago·June 11, 2024
GitHub

🐛 Fixes

  • Preserve heredoc/newdoc indentation (#1037)

📦 Misc

  • Fix the PHP version ID used in tests (#1038)
  • Allow to specify the running PHP version for the specs (#1039)
  • Leverage the PhpParser v5 printer changes (#1040)
0.18.12
theofidrytheofidry·2y ago·June 4, 2024
GitHub

Features

  • Introduce a new factory for SymbolsRegistry (#1004)

🐛 Bugfixes

  • Append alias class statement correct when the class/interface is within a statement (#966)
  • Do not exclude all source code in the default template (#952)
  • Add an additional function_exists statement for excluded function checks (#979)
  • Update the list of internal symbols (#1013)
  • Make the `scoper-autoload.php` PHP 5.6 compatible (#1024)
  • Do not scope class-like strings that cannot be class names (#1027)
  • Do not prefix excluded functions used in `call_user_func_array()` (#1028)

📦 Misc

  • Rework the spec test framework (#987, #989, #991, #992, #990, #993, #994, #995, #996, #997, #998, #999, #1000, #1001, #985, #1002, #1003, #1005, #1006, #1020)
  • Upgrade jetbrains stubs (#980)
  • Upgrade to PHP-Parser v5 (#1025)
0.18.11
theofidrytheofidry·2y ago·January 19, 2024
GitHub

Features

  • Add support for Symfony 7 (#937)

📦 Misc

  • Upgrade to PHPUnit 10 (#938)
  • Add PHP 8.3 to the matrix (#941)
0.18.10
theofidrytheofidry·2y ago·December 7, 2023
GitHub

🐛 Fixes

  • Revert "feat: Mark all declarations as internal (#882)" (#928)
0.18.9
theofidrytheofidry·2y ago·November 21, 2023
GitHub

Features

  • Make it easier to serialize/unserialize a SymbolsRegistry (#915)
0.18.8
theofidrytheofidry·2y ago·November 18, 2023
GitHub

🐛 Fix

  • Update the Reflector with the ext-uv symbols (#894)

📦 Misc

  • Bump to PHP 8.2 (#904)
  • Migrate to FidryConsole 0.6 (#903)
  • Remove non-existent ignored files (#900)
  • Update .gitattributes (#899)
0.18.7
theofidrytheofidry·2y ago·November 4, 2023
GitHub

🐛 Fixes

  • Update to Box 4.5.1 (#893)
0.18.6
theofidrytheofidry·2y ago·November 4, 2023
GitHub

🐛 Fixes

  • Fix the compatibility of the dumped autoload (#891)
0.18.5
theofidrytheofidry·2y ago·November 4, 2023
GitHub

Features

  • Add an inspect command (#868, #876)
  • Do not swallow exceptions when scoping (#869)
  • Make the JetBrains' stubs collector and patcher re-usable (#883)
  • Mark all declarations as internal (#882)
  • Add a docker image (#884)

🐛 Bugs

  • Cleanup the autoloader from temporary variables (#866)
  • Update the Reflector's symbols (#875)
  • Correctly include all the JetBrains' stubs as excluded files (#874)
  • Fix scoping of Symfony services (#839)
  • Correctly scope `spl_autoload_register()` singule parameter (#887)
  • Correctly scope `is_callable()` calls (#888)
  • Correctly scope `call_user_func_array()` (#889)
  • Correct the Composer autoload (#864)

📦 Misc

  • Upgrade to FidryConsole 0.6 (#859)
  • Fix invalid usages of "whitelist" (#872)
  • Automatically bump the Composer root version (#879)
0.18.4
theofidrytheofidry·2y ago·October 20, 2023
GitHub

🐛 Fixes

  • Make scoper-autoload.php being compatible with PHP 5 (#846)
  • Normalize path to avoid issue on Windows (#862)

📦 Misc

  • Various CI improvements (#853, #854, #855, #857)
  • Various maintenance chores (#849, #851, #852, #856, #832, #848, #860)
0.18.3
theofidrytheofidry·3y ago·March 16, 2023
GitHub

📦 Misc

  • Update dependencies (#837)
0.18.2
theofidrytheofidry·3y ago·January 5, 2023
GitHub

🐛 Bugfixes

  • Handle the case where the Composer InstalledVersions.php file is not present (#830)
  • Fix conflicting `humbug_phpscoper_expose_class` class declaration (#831, #811)

📦 Misc

  • ci: Simplify the security check workflow (#812)
  • ci: Simplify the build workflow (#813)
  • chore: Fix makefile CS (#814)
  • ci: Review the Lint workflow (#815)
  • chore: Remove PHPCS configuration file (#816)
  • chore: Add gitignore sort (#817)
  • ci: Add a meta build for the ComposerRootVersion tests (#818)
  • ci: Remove matrix from jobs that are not matrices (#819)
  • + 10 more
0.18.1
theofidrytheofidry·3y ago·December 24, 2022
GitHub

Features

  • Remove composer/package-versions-deprecated (#804)

📦 Misc

  • Automatically published signed PHAR on release (#805, #806, #807, #808)
0.18.0
theofidrytheofidry·3y ago·December 23, 2022
GitHub

Features

  • feat: Update dependencies (#802)

🐛 Bugfixes

  • fix: Bump the Composer root version (#787)
  • fix: Remove unnecessary polyfill (#794)
  • fix: Allow to use the default value for the output directory (#801)

📦 Misc

  • ci(refactor): Update the GitHub Actions steps (#785)
  • ci(fix): Remove the env from the Composer root version (#788)
  • refactor: Rework the composer root version checker into a proper sub-project (#789)
  • fix: Fix the RootVersionChecker (#790)
  • ci(refactor): Simplify the Composer installation in the CI (#791)
  • ci(fix): Fix a test name (#795)
  • ci(fix): Fix the lint jobs (#796)
  • refactor: Rework the makefile test with FidryMakefile (#792)
  • + 7 more
0.18.0-rc.0
theofidrytheofidry·3y ago·November 20, 2022
GitHub

📋 Changes

  • The handling of polyfills and declaring or usage of global constants as seen in (#)
  • The broken autoloading of files (see #298)

Feature

  • Fix internal symbol declarations (#706 #710, #722)
  • [BC break] Update the default config to expose the global symbols by default (#710)
  • Fix the support of Composer autoloaded files (#773, #774)
  • Complete the support for PHP 8.1 features
  • Add enum support (#725)
  • Add support for Attributes (#738)
  • Add tests for other PHP 8.0 & 8.1 features (#729, #730, #731, #732, #733, #734)
  • Add support for Symfony6 (#711)
  • + 14 more

🐛 Bugfixes

  • Fix InstalledVersions installed (#712)
  • Use the recorded symbols to decide when to add the `class_alias` statements (#724)
  • Preserve the files permissions (#753)
  • Fix the `inspect-symbol` command slowness (#755)
  • Fix regex cannot have the `i` flag (#759)
  • Fix define check of class constant (#745, #746)

📦 Misc

  • Various documentation improvements (#739, #744, #763, #768, #770)
  • Various internal refactorings (#702 #717, #720, #723, #735, #740, #743, #750, #754, #756, #758, #761, #764, #757, #760, #765, #766, #767, #769, #775, #776)
  • Set `bamarni.foward-command` to `false` (#703)
  • Add a build to check dependencies for security vulnerabilities (#736)
  • Consolidate some tests (#709, #721, #748, #777, #778, #779)
0.17.7
theofidrytheofidry·3y ago·November 4, 2022
GitHub

🐛 Bugfixes

  • Fix invalid regex delimiter (#687)
  • Fix Console symlink issue (#701)

📦 Misc

  • Improve the Makefile (#689, #692, #695, #699)
  • Fix blackfire command (#690)
  • Add PHP-CS-Fixer (#691, #696)
  • Fix unstable test (#693)
  • Rename the master branch to main (#694)
  • Remove deprecated function calls (#698)
  • Upgrade codebase to PHP 8.1 (#697)
0.17.6Pre-release
theofidrytheofidry·3y ago·September 28, 2022
GitHub

Features

  • Bump dependencies (#679)

🐛 Bugfixes

  • Fix inspect symbol command for internal functions (#680)

📦 Misc

  • Fix the pipeline (#681, #685, #686)
0.17.5Pre-release
theofidrytheofidry·4y ago·June 26, 2022
GitHub

Feature

  • Allow Box4 #676
0.17.4Pre-release
theofidrytheofidry·4y ago·June 19, 2022
GitHub

Features

  • Update dependencies (#675)
0.17.3Pre-release
theofidrytheofidry·4y ago·June 19, 2022
GitHub

🐛 Bugfix

  • Fix typo in option description (#669)

📦 Misc

  • Upgrade to FidryConsole 0.5.0 (#674)
0.17.2Pre-release
theofidrytheofidry·4y ago·February 21, 2022
GitHub

🐛 Bugfixes

  • Fix dependencies incompatibilities (#664)
0.17.1Pre-release
theofidrytheofidry·4y ago·February 19, 2022
GitHub

Feature

  • Allow Symfony6 (#662)
0.17.0Pre-release
theofidrytheofidry·4y ago·February 13, 2022
GitHub

Features

  • Improve PHP 8.1 support
  • Fix deprecations (#617, #543)
  • Add support for union and intersection types (#644)
  • Add InspectSymbols command (#619)
  • Add support for regexes for excluded symbols (#660)

🐛 Bugfixes

  • Patch various symbols not interpreted as internal (#626)
  • Stops the process if says no when PHP-Scoper asks if the output directory can be deleted (#631)
  • Fix autoload generator links (#630)

📝 Docs

  • Document the idiomatic way to include polyfills (#636)
  • Replace incorrect usage of `files-whitelist` by `exclude-files` (#651)

📦 Misc

  • Move default file name to the ConfigurationFactory (#621)
  • Prefer newline over writing empty string (#622)
  • Improve tests(#624, #648, #654, #659)
  • Move EnrichedReflector into a factory service (#625)
  • Build the PHAR in multiple PHP versions for better testing (#628)
  • Add `Configuration::withPrefix()` (#629)
  • Add outdated-fixtures command by (#641)
  • Improve NamespaceRegistry (#645)
  • + 3 more
0.16.2Pre-release
theofidrytheofidry·4y ago·January 30, 2022
GitHub

🐛 Bugfixes

  • Fix GitHub Actions to publish the PHAR on release