0.18.0-rc.0
This release is a another big release. It really aims at tackling some fundamental and long-standing issues that are preventing a 1.x release. The two main problems being:
- The handling of polyfills and declaring or usage of global constants as seen in (#)
- The broken autoloading of files (see #298)
This release is an RC as this brings significant changes that I would like to pay more attention to and evaluate or it will affect big users such as PHPUnit, PHPStan, Infection or Rector.
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 support for Symfony6 (#711)
- Add support for Laravel9 (#747)
- Improve the scoper autoload file:
- Change the link for the alias docs in the scoped autoload (#714)
- Make function alias declaration one-liners (#715)
- Sort the exposed function entries (#716)
- Declare a function
humbug_php_scoper_expose_class()
to simplify the class alias declarations (#718) - Group function declarations by namespace (#719)
- Update all dependencies (#704, #772)
- Unmark
PatcherChain#getPatchers()
as internal (#737) - [BC Break] Don't allow empty string as a symbol regex or name (#741)
- [BC Break] Remove the deprecated whitelist setting (#742)
- Add
output-dir
configuration option (#632) - Add
Configuration::withPatcher()
factory (#749) - [BC Break] Remove deprecated
ConfigurableScoper
(#705)
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
tofalse
(#703) - Add a build to check dependencies for security vulnerabilities (#736)
- Consolidate some tests (#709, #721, #748, #777, #778, #779)