- Refactoring
- PHPStan fixes
- Fix: namespaces not updated in non-autoloaded files
- Fix: implicitly nullable warning
- Refactor: Split
exclude_from_prefixingcode fromAutoloadedFilesEnumeratortoMarkSymbolsForRenamingto fix bug - Dev: Add scripts
analyze-changes,cs-changes-strict...
- Add:
include_root_autoloadoption - Fix:
preg_match(): Delimiter must not be alphanumeric or backslash for exclude regexp patterns - Fix: Mute "File does not exist" for directories (that don't matter)
- Fix:
vendor-prefixed/composer/autoload_classmap.phpfor packages not directly included
- Copy all files from packages (previously only copied autoloaded files)
- Fix: inadvertently removing autoload keys from
installed.jsonwhentarget_directoryis notvendor-prefixed - Fix: double-prefixing case
- Fix:
exclude_from_prefixconfig option not working correctly - Fix: only update a class extends namespace if it is global
- Fix: log message replacement in
InstalledJson::cleanTargetDirInstalledJson() - Dependencies: use
conflictto allow newer jsonmapper versions - Release: update
.editorconfig - Slightly better logging
- ...more
- Add:
functions_prefixstring|false config option - Fix: Don't use the root
composer.json's autoload key when generating thevendor-prefixedautoloader
- Add: use
COMPOSER=custom.jsonenvironmental variable - Fix: namespaced function aliasing
- Dependency:
simple-php-code-parser^0.15.3
- Fix: Use monolog (to avoid implementing
LoggerInterface) - Fix: prefixing of constants
- Fix: Reliable prefixing of global functions
- Fix: FQDN namespaces not correctly prefxied
- Fix: Namespaces with no classes not in the direct namespace not working with psr-4
- Fix vendor autoloader dev entries when target is vendor
- Require
simple-php-code-parser^0.15.1
- Filter 'implements' nodes on FullyQualified + add issue test
- Exclude directories from license copy step
- Add spelling to main workflow
- Use
"elazar/flystream": "^0.5.0|^1" - Fix spelling
- Filter
performReplacementsInProjectFiles()to only PHP files - Add
file_exists()check in editedvendor/autoload.php - Fix Double slashes when replacing namespace in use keywords inside classes
- Fix Fatal error: Uncaught Error: Failed opening required 'vendor_prefixed'
- Fix Command "include-autoloader" is not defined
- Fix/close Mockery
- Add
extends Composer\Autoload\AutoloadGenerator - Don't use dir as file
- Fix:
psr-0autoloaders were no longer autoloaded because the directory structure did not match - Fix:
filesautoloaders failed when not unique (the whole point of this tool) - Fix: spelling
- Fix: jsonmapper latest version caused problems with PhpDoc
- Add:
--info,--debugand--silentverbosity levels - Add:
--dry-runwhich runs with--debugoutput but does not write files - Add:
autoload_aliases.phpfile for dev dependencies to load modified classes using their original fqdn - Fix: relative namespaces
- Fix: allow vendor and target directories to be in parent directory of
composer.json - Fix: incorrectly updating call sites
- Dev: major refactor to use
thephpleague/Flysystemandelazar/flystreamfor file operations - Dev: print diff code coverage report on PRs
- Dev: skip / speed-up some tests
- Dev: improvements to tests' names and coverage reporting specificity
- Docs: improve installation instructions in
README.md - CI: Set up problem matcher for PHPUnit
- Fix: global functions prefixed too liberally when defined as strings
- Add: include changelog in phar
- Add: prefix global functions
- Fix:
vendor-prefixedsubdirectories' permissions being copied as 0700 instead of 0755
- Fix:
Generic<\namespaced\class-type>not prefixed - Add
strauss replacecommand (e.g. if you fork a project and want to change its namespace)
- Fix:
use GlobalClass as Alias;not prefixed - Add:
.gitattributesfile to exclude dev files from distribution - CI: Fail releases if
bin/straussversion number is out of sync - Tests: Add first tests for
DiscoveredFiles.php - Improve
README.md - Fix: typos in code
- Fix: out of sync version number in
bin/strauss
- Fix: handle
@symbol for error suppression - Fix: handle
preg_replace...returningnullinLicenser - Fix: only search for symbols in PHP files
- Fix: available CLI arguments were overwriting extra.strauss config
- Fix: updating
league/flysystemchanged the default directory permissions
- Fix: was incorrectly deleting autoload keys from installed.json
- Fix: check for array before loop
- Fix: filepaths on Windows (still work to do for Windows)
- Update: tidy
bin/strauss - Run tests with project classes + with built phar
- Allow
symfony/console&symfony/finder^7for Laravel 11 compatibility - Add:
scripts/createphar.sh - Lint: most PhpStan level 7
- Add: GitHub Action to update bin version number from CHANGELOG.md
- Fix: casting a namespaced class to a string
- Fix: composer dump-autoload error after delete-vendor-files/delete-vendor-packages
- Fix: add missing built-in PHP interfaces to exclude rules
- Fix: Undefined offset when seeing namespace
- Refactoring for clarity and pending issues
- Merge
in-situbranch (bugs expected) - Add:
delete_vendor_packagesoption (delete_vendor_filesis maybe deprecated now) - Add: GPG .phar signing for Phive
- Breaking: Stop excluding
psr/*fromfile_patternsprefixing