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
✨ 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
🐛 Fixes
- Normalize file paths for Windows compatibility (#1130)
0.18.17
✨ 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
✨ 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
🐛 Fixes
- Handle symbols removed within PhpStorm's stubs (#1065)
- Fix aliasing functions with multiple-level namespaces (#1061)
0.18.14
✨ 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
🐛 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
✨ 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
✨ Features
- Add support for Symfony 7 (#937)
📦 Misc
- Upgrade to PHPUnit 10 (#938)
- Add PHP 8.3 to the matrix (#941)
0.18.10
🐛 Fixes
- Revert "feat: Mark all declarations as internal (#882)" (#928)
0.18.9
✨ Features
- Make it easier to serialize/unserialize a SymbolsRegistry (#915)
0.18.8
🐛 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
🐛 Fixes
- Update to Box 4.5.1 (#893)
0.18.6
🐛 Fixes
- Fix the compatibility of the dumped autoload (#891)
0.18.5
✨ 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
🐛 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
📦 Misc
- Update dependencies (#837)
0.18.2
🐛 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
✨ Features
- Remove composer/package-versions-deprecated (#804)
📦 Misc
- Automatically published signed PHAR on release (#805, #806, #807, #808)
0.18.0
✨ 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
📋 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
🐛 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
✨ Features
- Bump dependencies (#679)
🐛 Bugfixes
- Fix inspect symbol command for internal functions (#680)
📦 Misc
- Fix the pipeline (#681, #685, #686)
0.17.5Pre-release
✨ Feature
- Allow Box4 #676
0.17.4Pre-release
✨ Features
- Update dependencies (#675)
0.17.3Pre-release
🐛 Bugfix
- Fix typo in option description (#669)
📦 Misc
- Upgrade to FidryConsole 0.5.0 (#674)
0.17.2Pre-release
🐛 Bugfixes
- Fix dependencies incompatibilities (#664)
0.17.1Pre-release
✨ Feature
- Allow Symfony6 (#662)
0.17.0Pre-release
✨ 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
🐛 Bugfixes
- Fix GitHub Actions to publish the PHAR on release
