Releases: php-tuf/composer-stager
Releases · php-tuf/composer-stager
v2.1.0
v2.0.2
No user-facing changes.
Full Changelog: v2.0.1...v2.0.2
v2.0.1
v2.0.0
What's Changed
New Features
- Add
Domain\Value\Path\PathInterface::isAbsolute()by @TravisCarden in #62 - Add an optional
$cwdargument toInfrastructure\Value\Path\AbstractPath::__construct()by @TravisCarden in #63 - Add
Domain\Value\Path\PathInterface::raw()by @TravisCarden in #64 - Add
Domain\Service\Host\HostInterfaceby @TravisCarden in #65 - Add an optional
$cwdargument toInfrastructure\Factory\Path\PathFactoryInterface::create()by @TravisCarden in #66 - Add the ability to
Domain\Service\Filesystem\FilesystemInterfaceto distinguish between hard links and symlinks by @TravisCarden in #69 - Forbid symlinks pointing to a directory with
PhpFileSyncerby @TravisCarden in #109 - Rename
PathInterface::resolve()and::resolveRelativeTo()by @TravisCarden in #114 - Explicitly mark the API surface by @TravisCarden in #115
- Make
Domain\Service\Host\HostInterface::isWindows()static by @TravisCarden in #119 - Merge
Domain\Aggregate\PreconditionsTree\PreconditionsTreeInterfaceintoDomain\Service\Precondition\PreconditionInterfaceby @TravisCarden in #127 - Add
Infrastructure\Service\Filesystem\Filesystem::isDirEmpty()by @TravisCarden in #155 - Make preconditions trees return the status message of the first unfulfilled child if there is one by @TravisCarden in #156
- Include "previous" exception details in thrown exception in
Filesystem::copy()by @TravisCarden in #191 - Add precondition for host support for running independent PHP processes by @TravisCarden in #192
- Use an "exceptions" domain for all translatable exception messages by @TravisCarden in #196
- Make translation domains overridable via service by @TravisCarden in #201
- Add placeholder substitution to
TranslatableMessage::__toString()by @TravisCarden in #203 - Eliminate dynamic properties for PHP 8.2 compatibility by @TravisCarden in #210
- Move most internal interfaces into the API by @TravisCarden in #211
- Hide Symfony Process component behind a facade by @TravisCarden in #216
- Introduce
API\Process\Value\OutputTypeEnumfor a saferAPI\Process\Service\OutputCallbackInterfaceby @TravisCarden in #221 - Add
API\Process\Service\ProcessInterface::run()by @TravisCarden in #222 - Add
API\Process\Service\ProcessInterface::setEnv()and::getEnv()by @TravisCarden in #224 - Make
API\Translation\Service\TranslatorInterfacean injectable service by @TravisCarden in #225 - Put Path\Value\PathList behind a factory by @TravisCarden in #239
- Rename
API\Path\Value\PathInterface::resolved()and::resolvedRelativeTo()to::absolute()and::relative(), respectively by @TravisCarden in #243 - Make
API\Path\Factory\PathFactoryInterface::create()non-static by @TravisCarden in #249 - Add path canonicalization to
PathListpaths by @TravisCarden in #240 - Add support for Windows directory separators to
Internal\FileSyncer\Service\RsyncFileSyncerby @TravisCarden in #250 - Merge
HostInterfaceintoEnvironmentInterfaceand move it into the API layer by @TravisCarden in #261 - Add
$timeoutargument to relevantAPI\Precondition\Service\PreconditionInterfacemethods by @TravisCarden in #266 - Downgrade Symfony components to support Drupal 10.0.x. by @TravisCarden in #269
- Document and add tests for expanded Drupal core supported versions spread by @TravisCarden in #272
- Add
API\Process\Service\ProcessInterface::getErrorOutput()by @TravisCarden in #273 - Inject
FileSyncerFactoryInterfaceinstead of depending onFileSyncerInterfacedirectly by @TravisCarden in #274 - Fix some untranslatable UI strings and add a PHPStan rule to prevent introducing any more by @TravisCarden in #285
- Add
API\Filesystem\Service\FilesystemInterface::filePerms()by @TravisCarden in #304 - Stop trying to convert
fileperms()result inInternal\Filesystem\Service\Filesystem::filePerms()by @TravisCarden in #306 - Add
API\Filesystem\Service\FilesystemInterface::chmod()by @TravisCarden in #303 - Replace
API\Filesystem\Service\FilesystemInterface::filePerms()with::fileMode()by @TravisCarden in #307 - Add
API\Filesystem\Service\FilesystemInterface::touch()by @TravisCarden in #319 - Add
$envargument toProcesscreation chain by @TravisCarden in #324 - Add
$cwdargument toProcesscreation chain by @TravisCarden in #325 - Add
API\Path\Value\PathInterface::isRelative()by @TravisCarden in #328 - Convert
PathHelperinto an injectable service by @TravisCarden in #329 - Remove
PhpFileSyncerand addrsyncsupport for Windows by @TravisCarden in #334 - Add support for symlinks that point to a directory by @TravisCarden in #336
- Make sure active and staging directories are actually directories by @TravisCarden in #341
- Add
API\Precondition\Service\NoNestingOnWindowsInterfaceby @TravisCarden in #342 - Make compatible with Symfony 7 by @TravisCarden in #351
- Add methods to
API\Process\Service\OutputCallbackInterfaceand create an implementation by @TravisCarden in #355 - Make
ComposerIsAvailableuseComposerProcessRunnerinstead ofProcessFactoryby @TravisCarden in #357 - Declare conflicts with vulnerable versions of
symfony/processby @TravisCarden in #395
Other Changes
- Add Composer dependency on ext-json by @TravisCarden in #53
- Make Infrastructure\Service\Precondition\ComposerIsAvailable confirm that found Composer executable is actually valid by @TravisCarden in #54
- Fix spelling in phpstan.neon.dist by @alexpott in #55
- Infrastructure\Service\Finder\ExecutableFinder incorrectly caches exception backtraces by @TravisCarden in #70
- Resolve #58: Add support for select symlink types by @TravisCarden in #61
- Resolve #74: Increase minimum PHP version to 8.1 by @TravisCarden in #91
- Fix some link-related preconditions assuming all links are symlinks by @TravisCarden in #100
- Generalize AbstractLinkIteratingPrecondition as AbstractFileIteratingPrecondition by @TravisCarden in #102
- Make Infrastructure\Service\FileSyncer\RsyncFileSyncer::sync() respect $timeout by @TravisCarden in #104
- Add Domain\Service\Filesystem\FilesystemInterface::isDir() and isFile() methods by @TravisCarden in #108
- Filesystem::readLink() resolves links relative to the PHP process' CWD instead of the link directory by @TravisCarden in #110
- Normalize exception codes at default values by @TravisCarden in #111
- Resolve #103: Make Infrastructure\Value\PathList\PathList::add() variadic. by @TravisCarden in #116
- Resolve #76: Add Domain\Aggregate\PreconditionsTree\ActiveDirIsReadyInterface by @TravisCarden in #117
- Minor observations from review by @larowlan in https://github.com/php-tuf/compo...
v2.0.0-rc6
What's Changed
- Add
SECURITY.mdby @TravisCarden in #85 - Add
GOVERNANCE.mdby @TravisCarden in #299 - Make
Internal\Precondition\Service\RsyncIsAvailablemore robust by @TravisCarden in #396 - Stop looking for a PHAR file version of Composer by @TravisCarden in #399
- Declare conflicts with vulnerable versions of
symfony/processby @TravisCarden in #395
Full Changelog: v2.0.0-rc5...v2.0.0-rc6
v2.0.0-rc5
What's Changed
- Remove temporary Symfony Process fork by @TravisCarden in #374
Full Changelog: v2.0.0-rc4...v2.0.0-rc5
v2.0.0-rc4
What's Changed
- Outright fork Symfony Process by @TravisCarden in #371
Full Changelog: v2.0.0-rc3...v2.0.0-rc4
v2.0.0-rc3
What's Changed
- Fix process error output-capturing broken by upstream regression by @TravisCarden in #368
Full Changelog: v2.0.0-rc2...v2.0.0-rc3
v2.0.0-rc2
What's Changed
- Make
FileSyncerskip files based on contents, not modification time and filesize by @TravisCarden in #365
Full Changelog: v2.0.0-rc1...v2.0.0-rc2
v2.0.0-rc1
What's Changed
- Add methods to
API\Process\Service\OutputCallbackInterfaceand create an implementation by @TravisCarden in #355 - Make
ComposerIsAvailableuseComposerProcessRunnerinstead ofProcessFactoryby @TravisCarden in #357
Internal Changes
- Update tests to include PHP 8.3 on GitHub Actions by @TravisCarden in #352
Full Changelog: v2.0.0-beta5...v2.0.0-rc1