Skip to content

Latest commit

 

History

History
764 lines (595 loc) · 30 KB

CHANGELOG.md

File metadata and controls

764 lines (595 loc) · 30 KB

Changelog

master

v6.8.0...master

Added

  • Added documentation generation from recipes.
  • Added support for ask() functions in parallel mode.
  • Added support for sudo commands.
  • Added dep status command which shows currently deployed revisions.
  • Added dep hosts command to show hosts info in json format.
  • Added dep tree command to show task configuration.
  • Added --plan option to show execution plan, which tasks on which hosts.
  • Added dep push command to quickly push local changes to remote hosts.
  • Added yaml recipe syntax.
  • Added dotenv support on remote hosts.
  • Added labels and selectors support.
  • Added support for placeholders in run() func.
  • Added support for secret passing in run() func without outputting to logs.
  • Added docker-based E2E testing environment. #2197
  • Added support for PHP8.
  • Added slack_channel option to Slack recipe.
  • Chatwork contrib recipe.
  • Added release_or_current_path option that fallbacks to the current_path when the release_path does not exist. #2486
  • Added contrib/php-fpm.php recipe that provides a task to reload PHP-fpm. #2487
  • Added tasks artisan:key:generate and artisan:passport:keys to the Laravel recipe.
  • Added the following artisan tasks: artisan:route:clear, artisan:route:list, artisan:horizon, artisan:horizon:clear, artisan:horizon:continue, artisan:horizon:list, artisan:horizon:pause, artisan:horizon:purge, artisan:horizon:status, artisan:event:list, artisan:queue:failed, artisan:queue:flushed. #2488
  • Isolated console application runner for E2E tests.
  • Support for code coverage in E2E tests.
  • Webpack-encore contrib recipe.
  • Recipe for Statamic.

Changed

  • Refactored executor engine, up to 2x faster than before.
  • Refactored common.php recipe to support new frameworks.
  • Refactored bash/zsh autocomplete to support hosts.
  • Docs rewritten to be more clean, easy to use and understandable.
  • Better parallel execution support, configurable per task.
  • Refactored dep init command.
  • Normalize shopware recipe (require common.php).
  • Removed the min and max constraints on the artisan:optimize and artisan:optimize:clear tasks. #2488
  • Excluded the shared_files, shared_dirs and writable_dirs configs from the deploy.yaml default template unless the common template was chosen.
  • The way deploy:update_code fetched the GIT remote URL from the config.

Fixed

  • Lots, and lots of long-standing bugs.
  • Shopware recipe plugin active/update.
  • Fixed incorrect plugin:list parsing (remove duplicate version column). Invoke nested sw:plugin:refresh task instead of redefining it, so that it actually runs.
  • Shopware activates/runs migration in order (respects dependencies in composer.json). #2423 #2425
  • Boolean options should not go through the self::escape function. #2392
  • Check if shared file exists before touching it (and fail because no write permission). #2393
  • Fixed "dep run" suggestion in ACL error message. #2501
  • TypeError, port is int on escapeshellarg. #2503
  • .env.local.php in Symfony recipe. #2506
  • Fixed regex identifying "cd" commands in YAML scripts. The regex was not taking into account that multiple commands can be executed within the same line — e.g. "cd {{release_path}} && npm run prod". #2509
  • Slack default channel null breaks webhook. #2525
  • Use port for ssh-keyscan when applicable. #2549
  • Support passing null as default in get(). #2545
  • Shopware recipe: First activate plugins THEN build them to avoid breaking theme:compile with unbuild themes (which were activated AFTER build).
  • Shopware recipe sw:plugin:upgrade:all task.

Removed

  • Removed the artisan:public_disk task. Use the artisan:storage:link task instead. #2488
  • Removed the following tasks artisan:horizon:assets, artisan:horizon:publish, artisan:telescope:publish and artisan:nova:publish. These commands publish code that should be commited. #2488

v6.8.0

v6.7.3...v6.8.0

Added

  • Documented check_remote task usage.
  • Speedup deploy:clear_paths.
  • Documented default_timeout config usage.
  • Recipe for Joomla!.

Fixed

  • Fixed Silverstripe CMS recipe assets path. #1989
  • Fixed check_remote task errors. #1990
  • Fixed check_remote task revision resolution. #1994
  • Fixed backward compatibility of bin/console for symfony4 recipe.
  • Keep consistency with executable naming in lock recipe.
  • Unexpected exception in config:* tasks when no stage is defined for host. #1909 #1909 #1909
  • Fixed parsing of installed.json by Composer version 2.
  • Fixed only call bin/php on the composer.phar file.

v6.7.3

v6.7.2...v6.7.3

Fixed

  • Fixed more Symfony 5 compatibility issues. #1971

v6.7.2

v6.7.1...v6.7.2

Fixed

  • Fixed compatibility with Symfony 4.x.

v6.7.1

v6.7.0...v6.7.1

Fixed

  • Fixed incompatibility with Symfony 5. #1969

v6.7.0

v6.6.0...v6.7.0

Changed

  • Added Symfony 5 support.

v6.6.0

v6.5.0...v6.6.0

Added

  • Added doc page with sample "real-world" Deployer script.

Fixed

  • Parameters -f or --file now are accepted also without the equal sign. #1479

v6.5.0

v6.4.7...v6.5.0

Added

  • Added deploy:check_remote task. #1755

v6.4.7

v6.4.6...v6.4.7

Added

  • A task to cache the event listeners manifest in Laravel. #1893
  • Added check_remote_head option, by setting this to true, deployer will avoid unnecessary new releases by checking the remote git HEAD without cloning the repo. #1755

Fixed

  • Fixed invalid magic-property phpdoc in Deployer\Deployer class. #1899
  • Updated config:hosts and config:current tasks to output only the selected stage.

v6.4.6

v6.4.5...v6.4.6

Added

  • Re-added the artisan:view:clear task.

Changed

  • Change the default shared files in the Symfony4 recipe. The .env file is versionned now and not the .env.local. #1881
  • Change the artisan:view:cache task to only run the view:cache command.

v6.4.5

v6.4.4...v6.4.5

Fixed

  • Fixed detection of http user. #1876

v6.4.4

v6.4.3...v6.4.4

Added

  • Added git_clone_dissociate option, defaults to true; when set to false git-clone doesn't dissociate the eventual reference repository after clone, useful when using git-lfs. #1820
  • Added writable_recursive option (default: true) used in all writable modes (chmod, chown, chgrp, acl). #1822
  • Added artisan:optimize:clear task for Laravel 5.7 and above.

Changed

  • Added lock and unlock task to flow_framework receipe.
  • Updated artisan:optimize to run for Laravel 5.7 and above, since it got added back last year. It still doesn't run for 5.5 and below.
  • View:clear command to a new view:cache command.

Fixed

  • Fixed rsync upload honor become option for host. #1796
  • Fixed bug to execute ssh command on windows. #1775
  • Fixed when recipe/deploy/writable.php resolves as one of http users.
  • Fixed deployer detects wrong version. #1842
  • Fixed crashes on including autoloader in recipe file. #1602

v6.4.3

v6.4.2...v6.4.3

Fixed

  • Input option handling. #1793

v6.4.2

v6.4.1...v6.4.2

Fixed

  • Improved ParallelExecutor::generateOptions to manage all types of InputOption. #1792

v6.4.1

v6.4.0...v6.4.1

Fixed

  • Fixed http_user detection. #1790

v6.4.0

v6.3.0...v6.4.0

Added

  • Support to define remote shell path via host-config. #1708 #1709 #1709
  • Added horizon:terminate to the Laravel recipe.
  • Added migrations_config option to the Symfony recipes to specify Doctrine migration configuration to use.
  • Added recipe for sulu 2.0. #1758
  • Added recipe for sulu 1.x and improve sulu 2.0 recipe. #1764
  • Added become option for rsync upload.

Changed

  • Laravel recipe should not run artisan:cache:clear in deploy task.
  • Pass-through the quiet mode into the git commands for updating code.
  • deploy:writable will no longer be able to automatically detect http_user if there are multiple candidates for the role. #1778

Fixed

  • Fixed Range expansion when hosts.yml is loaded. #1671
  • Fixed usage (only if present) of deploy_path config setting. #1677
  • Fixed adding custom headers causes Httpie default header override.
  • Fixed Laravel laravel_version failure.
  • Fixed parser errors by adding the trim function to the changelog parser tokens.
  • Fixed arguments for rsync to be properly escaped.
  • Prevent multiple execution of task()->once() with --parallel and --limit option. #1419

v6.3.0

v6.2.0...v6.3.0

Added

  • Added cache clear/warmup task for symfony4 recipe. #1575
  • Added ability to use config params in host variables. #1508
  • Make used shell configurable via shellCommand. #1536
  • Added cleanup_tty option for deploy:cleanup.
  • Added Prestashop 1.6 recipe.
  • Set dedicated user variable under CI environments, if not provided by git-config.

Changed

  • Optimize locateBinaryPath() to create less subprocesses. #1634
  • Laravel recipe runs migrations only once.

Fixed

  • Fixed that long http user name is not detected correctly. #1580
  • Fixed missing var/sessions in Symfony 4 shared_dirs.
  • Fixed warning with host without configuration. #1583
  • Removed the magento:enable task from the Magento 2 recipe since the module states are defined in app/etc/config.php and this task overwrote that.
  • Allow to set template file path in Drupal 7 recipe. #1603
  • Fixed once() tasks that where being run multiple times with ParallelExecutor.
  • Fixed high CPU usage when running in parallel.
  • Fixed deploy:writable no need to specify http_user when using chgrp writable_mode.
  • Fixed deploy:shared missing from some recipes. #1663
  • Fixed missing deploy:writable entries in recipes. #1661

v6.2.0

v6.1.0...v6.2.0

Added

  • Added cache clear/warmup task for symfony4 recipe. #1575
  • Added ability to use config params in host variables. #1508
  • Make used shell configurable via shellCommand. #1536

Fixed

  • Fixed that long http user name is not detected correctly. #1580
  • Fixed missing var/sessions in Symfony 4 shared_dirs.
  • Fixed warning with host without configuration. #1583

v6.1.0

v6.0.5...v6.1.0

Added

  • Added debug:task command to display the order of task execution. #1488
  • Added a description to the autocomplete command. #1472
  • Added logging of unhandled exceptions into logfile. #1481
  • Added default -H flag when using become. #1556
  • Added Symfony 4 recipe. #1437

Changed

  • Throw meaningfull exception on errors in cd(). #1480
  • Make sure Context::pop() is called when Callback errors in on(...) function. #1513
  • Update silverstripe recipe to support silverstripe 4.
  • Show standard output in exceptions when error output is empty. #1554
  • Improve readability of command for finding web server user. #1557
  • Update symfony package dependencies to ~4.0. #1559

Fixed

  • Fixed within() to also restore the working-path when the given callback throws a Exception. #1463
  • Fixed pcntl_fork check for blacklisted Ubuntu LTS boxes. #1476
  • Fixed shared dir/file paths containing variables ({{variable}}).

v6.0.5

v6.0.4...v6.0.5

Fixed

  • Fixed previous_release param when release_name was overridden. #1455

v6.0.4

v6.0.3...v6.0.4

Changed

  • Added support for GroupTask in invoke(). #1364
  • Magento2 recipe optimizes the autoloader after the DI compilation. #1365
  • Host's roles() API now can accept arrays too.
  • Fixed bug where wrong time format is passed to touch when deploying assets. #1390
  • Added artisan:migrate:fresh task for laravel recipe.
  • Added platform config to composer.json. #1426
  • Moved symfony finder to dev-dependency. #1452

Fixed

  • Fixed bug when config:hosts shows more than one table of hosts. #1403
  • Fixed bug that inventory method does not return Proxy. #1413

v6.0.3

v6.0.2...v6.0.3

Changed

  • Laravel version check defaults to 5.5 if not found. #1352

Fixed

  • Updated Laravel recipe to not run artisan:optimize on Laravel >= 5.5, as that command is now deprecated (see upgrade notes). #1352

v6.0.2

v6.0.1...v6.0.2

Fixed

  • Fixed bug with curl ssh check in Httpie util.

v6.0.1

v6.0.0...v6.0.1

Fixed

  • Fixed stat url.

v6.0.0

v5.1.3...v6.0.0

Added

  • Added possibility to use callable when setting 'default_stage'.
  • Added console init template for TYPO3 CMS. #1300
  • Added possibility to run a task only once. #1311
  • Added git_recursive option.
  • Added shallow task option.
  • Added deploy:info task.
  • Added writable_tty option for deploy:writable.
  • Added default_timeout option. #1256
  • Added user parameter.

Changed

  • Changed branch parameter and option behavior.
  • Extended task func to support callables.
  • Renamed env_vars to env.

Fixed

  • Improved the way ParallelExecutor handles option parameters.
  • Fixed no stage argument in parallel mode. #1299
  • Improved environment variables management.
  • Fixed runLocally to not cd into remote dir.

Removed

  • Removed terminate_message option.
  • Removed Result class.

v5.1.3

v5.1.2...v5.1.3

Fixed

  • Fixed bug with wrong version printed after self-update command.
  • Fixed bug with excess option "--no-debug" in deploy:cache:clear task. #1290

v5.1.2

v5.1.1...v5.1.2

Changed

  • Improved config:current output (print each host's current release).
  • Fixed cache clearing in the Symfony recipe (now runs both cache:clear and cache:warmup). #1283

Fixed

  • Fixed bug where ParallelExecutor threw an error when custom options were added.
  • Fixed bug with parallel deploy in multi user envirouments. #1269

v5.1.1

v5.1.0...v5.1.1

Fixed

  • Fixed bug with self-update warnings. #1226

v5.1.0

v5.0.3...v5.1.0

Added

  • Check what unzip exists in deploy:vendors task.
  • Added dep run command. #1263
  • Added new -o option which allow to override default configuration.
  • Added dep autocomplete command.
  • Added dep config:hosts task to show inventory.

Changed

  • Use either one of command, which or type commands to locate custom binary path.

Fixed

  • Fixed parallel execution with non-standart php bin path. #1265
  • Fixed ssh multiplexing initialization. #1268
  • Fixed exit code on error. #1236
  • Fixed bug with deploying in parallel to same host. #1271

v5.0.3

v5.0.2...v5.0.3

Fixed

  • Fixed a parsing of laravel version in output. #1252

v5.0.2

v5.0.1...v5.0.2

Added

  • Added laravel_version param. #1246

Fixed

  • Fixed upload / download with optional rsync ssh options. #1227
  • Disable maintenance mode when Magento2 deployment fails. #1251
  • Fixed storage link error when deploying Laravel < 5.3. #1246

v5.0.1

v5.0.0...v5.0.1

Added

  • Exception when no task will be executed.
  • Check for php7 in phar.

Fixed

  • Throw the correct exception on git --reference fail.
  • Check if multiplexing is working before continuing. #1192
  • Fixed upload with non-standard SSH port. #1218
  • Ensure that host roles are treated as an array.

v5.0.0

v5.0.0-beta.3...v5.0.0

Changed

  • Working path default is release_path instead of home for simple tasks. #1205

Fixed

  • Fixed ssh multiplexing master connection initializing.
  • Fixed dep ssh command. #1204
  • Fixed dep config:current task.

v5.0.0-beta.3

v5.0.0-beta.2...v5.0.0-beta.3

Added

  • Added Request class for get/post json requests.
  • Added host's addSshFlag and addSshOption methods.

Changed

  • Allow to configure multiplexing. #1165

Fixed

  • Fixed command parsing in runLocally func.
  • Fixed releases list and cleanup task. #1175

v5.0.0-beta.2

v5.0.0-beta.1...v5.0.0-beta.2

Added

  • Added console init template for Yii2 basic and advanced receipe. #1146
  • Added artisan:storage:link task to the Laravel recipe to symlink the public storage directory. #1152
  • Added previous_release var.

Changed

  • Error message on locked release. #1145

Fixed

  • Fixed task order init/shared for yii2-app-advanced.php. #1143

v5.0.0-beta.1

v4.3.0...v5.0.0-beta.1

Added

  • Added use_atomic_symlink and use_relative_symlink option 14a8f8.
  • Added Ssh\Client. #1092
  • Added host ranges. #1092
  • Added --hosts and --roles options. #1092
  • Added on function. #1092
  • Added host and localhost. #1092
  • Added persistent config. #1092
  • Added --log option. #1092
  • Added cleanup_use_sudo. #330

Changed

  • server refactored to host. #1092
  • Enviroment refactored to Configuration. #1092
  • Phpunit test refactored. #1092
  • upload and download now uses rsync. #1092
  • Only native ssh client for now. #1092
  • Task current to config:current. #1092
  • onFailure to fail. #1092

v4.3.0

v4.2.1...v4.3.0

Added

  • Added support for multiple choice questions. #1076
  • Added a way to retrieve a defined task. #1008
  • Added support for configFile in the NativeSsh implementation. #979
  • Added --no-hooks option for running commands without before() and after(). #1061
  • Added a usefull error when ask*() is not used wihtin a task(). #1083

Changed

  • Parse hyphens in environment setting names. #1073
  • Autoload functions via Composer. #1015
  • Added task queue:restart for Laravel recipe. #1007
  • Changed output of errors for native ssh. #1012

Fixed

  • Fixed Can not share same dirs for shared folders having similar names. #995
  • Fixed scalar override on recursive option merge. #1003
  • Fixed incompatible PHP 7.0 syntax. #1020
  • Fixed an issue with the output of ls in releases_list. #1004 #1036
  • Fixed possibility to use PEM files with Native SSH.
  • Fixed old releases not being cleaned up when keep_releases reduced by more than half.
  • Fixed creating non-existed writable_dirs. #1000
  • Fixed uploading files with spaces in a path via Native SSH. #1010
  • Fixed merge of string array config options. #1067
  • Fixed uploading of files containing spaces. #1077
  • Fixed download of files when filename remote contains spaces. #1082

v4.2.1

v4.2.0...v4.2.1

Fixed

  • Fixed deployer/phar-update dependency for composer installation.

v4.2.0

v4.1.0...v4.2.0

Added

  • Added pretty print to config:dump command.

Changed

  • add() now merges configuration options recursively. #962
  • Added writable_chmod_recursive boolean option to enable non-recursive chmod.
  • ask() now supports autocomplete. #978
  • release_path returns current_path in non-deploy context. #922

Fixed

  • Fixed Flow recipe. #986
  • Fixed deploy:copy_dirs task. #914
  • Fixed default behavior for working_path. #381

Removed

  • Removed const Environment::DEPLOY_PATH.

v4.1.0

v4.0.2...v4.1.0

Added

  • Added testLocally function (analog test fn).
  • Added ConfigurationException.
  • Show message on file download.
  • Added support for multiplexing for NativeSsh. #918
  • Added GracefulShutdownException.
  • Added Magento2 recipe. #911

Changed

  • Server config setPty renamed to pty. #953
  • Raised timeout for runLocally to 300 seconds. #955
  • deploy:unlock now always successful. #950
  • Added option -L to setfacl. #956
  • Now throw exception on duplicates in shared_dirs.

Fixed

  • Fixed native ssh scp option.
  • Fixed bug with $httpGroup guard clause. #948

v4.0.2

v4.0.1...v4.0.2

Fixed

  • Fixed bug with copy shared files.
  • Fixed recursive upload in native ssh.
  • Improved Laravel recipe.
  • Improved exceptions in runLocally.

v4.0.1

v4.0.0...v4.0.1

Added

  • Added more writable modes.

Changed

  • Allowed init command overriding.
  • Returned ACL as default writable mode.

Fixed

  • Fixed SilverStripe recipe.
  • Fixed release sorting.
  • Fixed release cleanup.
  • Improved Symfony recipe.
  • Fixed DotArray syntax in Collection.