Skip to content

v2.0.0

Latest
Compare
Choose a tag to compare
@TravisCarden TravisCarden released this 16 Dec 11:24
· 2 commits to develop since this release
abaf3e2

What's Changed

New Features

  • Add Domain\Value\Path\PathInterface::isAbsolute() by @TravisCarden in #62
  • Add an optional $cwd argument to Infrastructure\Value\Path\AbstractPath::__construct() by @TravisCarden in #63
  • Add Domain\Value\Path\PathInterface::raw() by @TravisCarden in #64
  • Add Domain\Service\Host\HostInterface by @TravisCarden in #65
  • Add an optional $cwd argument to Infrastructure\Factory\Path\PathFactoryInterface::create() by @TravisCarden in #66
  • Add the ability to Domain\Service\Filesystem\FilesystemInterface to distinguish between hard links and symlinks by @TravisCarden in #69
  • Forbid symlinks pointing to a directory with PhpFileSyncer by @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\PreconditionsTreeInterface into Domain\Service\Precondition\PreconditionInterface by @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\OutputTypeEnum for a safer API\Process\Service\OutputCallbackInterface by @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\TranslatorInterface an 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 PathList paths by @TravisCarden in #240
  • Add support for Windows directory separators to Internal\FileSyncer\Service\RsyncFileSyncer by @TravisCarden in #250
  • Merge HostInterface into EnvironmentInterface and move it into the API layer by @TravisCarden in #261
  • Add $timeout argument to relevant API\Precondition\Service\PreconditionInterface methods 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 FileSyncerFactoryInterface instead of depending on FileSyncerInterface directly 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 in Internal\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 $env argument to Process creation chain by @TravisCarden in #324
  • Add $cwd argument to Process creation chain by @TravisCarden in #325
  • Add API\Path\Value\PathInterface::isRelative() by @TravisCarden in #328
  • Convert PathHelper into an injectable service by @TravisCarden in #329
  • Remove PhpFileSyncer and add rsync support 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\NoNestingOnWindowsInterface by @TravisCarden in #342
  • Make compatible with Symfony 7 by @TravisCarden in #351
  • Add methods to API\Process\Service\OutputCallbackInterface and create an implementation by @TravisCarden in #355
  • Make ComposerIsAvailable use ComposerProcessRunner instead of ProcessFactory by @TravisCarden in #357
  • Declare conflicts with vulnerable versions of symfony/process by @TravisCarden in #395

Other Changes

New Contributors

Full Changelog: v1.2.0...v2.0.0