@weitzman weitzman released this May 23, 2018 · 48 commits to master since this release

Assets 2

Add twig:unused command. Move twig:compile (#3503)
Fix #3512. Add extra-dump option to sql:sync.
Fix namespace for global commandfiles. Now matches docs. (#3518)
Fix #3380. 'Container cannot be saved to cache' for updatedb commands.
Fix #3166. Fix incorrect script name when Drupal uses a domain + subdir. (#3553)
Update user-cancel test to match upstream DCG changes.

Authors of Drush9 global commands (i.e. commands that don't live within a module) will want to make sure they use the namespace Drush/Commands and not the briefer Drush.

@weitzman weitzman released this May 23, 2018 · 4 commits to 8.x since this release

Assets 3
  • Stop all processing of queue on SuspendQueueException (#3327)
  • Fix php 7.1 warning for COLUMNS env variable.
  • Prevent 'drush @Local uli' and related commands from executing twice. #3428
  • Add tests for Drupal 8.5. (#3438)
  • Call batch finished with call_user_func_array() to use static method call. (#3517)
  • Fix drush make-convert --format=composer (#3499)
  • Fix PHP 7.2 warning regarding count() (#3545)
  • Fix #2285, #2268. Recognize current working dir for multisites when bootstrapping a site. Affects hosts that have pcntl_exec(). (#3550)
  • #3039 : Fixed numeric notice in PHP 7.x.

@weitzman weitzman released this Apr 3, 2018 · 70 commits to master since this release

Assets 2

Fix bug affecting sites still using Drupal 8.4.

Version mismatch workaround

There is a bug when performing a sql:sync between mismatched versions of Drush. Specifically, when 9.2.1 or later on the destination and an earlier version is on the source may give errors. You get an error mentioning an auto.gz file. In that case, pass --source-dump=/tmp/tmp.sql (or another path) in your sql:sync call. Once your source Drush is up to 9.2.1, these errors will go away and you may remove the --source-dump option.

@weitzman weitzman released this Apr 2, 2018 · 73 commits to master since this release

Assets 2
  • Factor preflight class references out of site alias manager (#3432)
  • Many small docs improvements
  • Allow custom target dir for config:pull (#3436)
  • Allow registering of command info alterer services (#3447)
  • Use bundle key in entity:delete command (#3450)
  • Fix infinite loop in DrupalBoot::scanUpForUri (on Windows) (#3435)
  • Unish - bump drupal core versions. (#3461)
  • Fix #3464. Louder warning when mysql is not present.
  • Also load 'drush9.yml' to allow for variant Drush configuration files… (#3465)
  • Fixed deprecated each() for PHP 7.2 - 3469 (#3472)
  • D9 Run batch process during pm-enable when needed. (#3446)
  • [#3330] Fix logic leading to creation of PGPASSFILE. Postgres users rejoice!
  • Add more informative error depending on bootstrap status when a command is not found.
  • Surface Drupal 8 Messages in the log. (#3489)

@weitzman weitzman released this Feb 27, 2018 · 105 commits to master since this release

Assets 2
  • Fix #3417. sql-sync dump filename not automatically generated (#3418)

Note: sql:sync where this Drush version is on the destination a prior version is on the source may give errors regarding an auto.gz file. In that case, pass --source-dump=/tmp/tmp.sql (or another path) in your sql:sync call. Once your source Drush is up to 9.2.1, these errors will go away and you may remove the --source-dump option.

@weitzman weitzman released this Feb 26, 2018 · 108 commits to master since this release

Assets 2

See last link for the details about the following highlights since 9.1.0:

  • Show formatted severity in wd:one (#3362)
  • Add entity:delete command (#3365)
  • Fix #3009. Document setting Drush config values via environment variable.
  • Add --result-file-auto to save to a date-based filename under ~/drush-backups directory (#3370)
  • Minor tweaks to pm:security
  • #3383 - fix label not being used for drush config:import command (#3384)
  • Fixes #3385: DrushArgvInput must extend ArgvInput. (#3388)
  • Use Drupal’s Installerkernel in site:install (#3390)
  • #3392 use canonicalized file paths for config import sync dir (#3393)
  • Support a new phase value when with @bootstrap max annotation. Improves sql commands (#3397)
  • Fixes #3306: Make sure that rsync with %files resolves correctly (#3405)
  • Fixes #3394: make sure that site alias manager is inflected for command objects that need it. (#3406)
  • Fixes #3127: Non-interactive invoke via 'drush @alias cmd' (#3407)
  • Changes since 9.1.0.

@weitzman weitzman released this Feb 6, 2018 · 146 commits to master since this release

Assets 2

See last link for the details about the following highlights since 9.0.0:

  • #3326. Fix argument remapping. Limit remapping to first argument.
  • #3334, #3335. Make SiteInstallCommands::getSitesSubdirFromUri find dir from sites.php
  • #3340. Refactor so that SqlTableSelectionTrait.php is usable by non SqlBase classes.
  • #3339. Expand Unish (system tests) to more PHP versions (including 7.2). Start using Circle 2.0 more.
  • #3344. Improve sql-sanitize - sanitize passwords by default
  • Changes since 9.0.0.

@weitzman weitzman released this Feb 6, 2018 · 19 commits to 8.x since this release

Assets 3

See last link for the details about the following highlights:

  • #3344. Improve sql-sanitize - sanitize passwords by default
  • Check requirements before running updatedb (#2708). Pass -y to proceed past any requirements errors.
  • Issue #3199: Add ignored-directories option to 8.x (#3205)
  • Fix PHP 7.2 count() notices due to pear/console_table (#3292)
  • Backport of #3174, SSH command escaping (#3185)
  • Fix router.php to work with update.php (#3247)
  • Fixes #3351: site-install Drupal 7 with PHP 7.2 (#3353)
  • Fix #3078. Environment variables are prepended to Drush command in wrong order
  • Changes since 8.1.15.

@weitzman weitzman released this Jan 24, 2018 · 163 commits to master since this release

Assets 2

With much love and pride, the Drush maintainers have released Drush 9, our latest version that pairs well with Drupal 8. Some highlights:

Generators

Quickly build a Drupal module, controller, plugin, entity, migration, etc. Drush 9 builds upon the DCG project to offer almost 100 generators via a Drush command.

Modernized config, site aliases, and output formatters

Drush rewrote its config, site alias, and output format systems. These YAML files are easier to read & share. We factored out these subsystems for use by other PHP projects.

Command Authoring

Like Drush itself, the command authoring process has been thoroughly modernized. Start with a generator that scaffolds a class for you, and then add your logic, guided by the file's comments. Drush's new OO APIs are available to you just be extending our base class - DrushCommands. The generator can port commandfiles from prior versions of Drush.

Symfony Powered

Just like Drupal 8, Drush builds upon Symfony where possible. In particular, we replaced a lot of homegrown code with Symfony Console.

Familiar friend

Drush minimized changes to the commands, in order to ease transition to Drush 9. If you know and like sql-sync, pm-enable, and config-import, you'll be able to use those in Drush9 without delay.

Documentation

We recently debuted a www.drush.org marketing site and a new API docs site (powered by Sami). These supplement docs.drush.org and the traditional drush topic system.

Composer oriented

The PHP world hasembraced Composer for dependency management. We bid fond adieu to dl, make, and drush pm-updatecode. Hello world to composer require and composer install If you run the deprecated commands, Drush helpfully suggests a replacement.

Get started

To get started, see our install docs. Especially note we recommend that Drush be a dependency of your Composer project (aka a "site-local" Drush).

Pre-release

@weitzman weitzman released this Jan 9, 2018 · 185 commits to master since this release

Assets 2

See last link for the details about the following highlights since rc1:

  • Fixed reversed arguments in config-status f969147
  • Make sure that early exceptions are printed. 5573da0
  • Fix sql-conf alias. a1f2d6d
  • Allow 'drush status' to work even on older unsupported versions of Drupal 8. 787b3ac
  • Replace substitutions in alias files with configuration values. (#3212)
  • Move options.ssh-options to ssh.options (#3210)
  • A bit more docs and provide example of command-specific options for sql-sync and sql-dump. 5733f62
  • Fix router.php to work with update.php (#3218)
  • Remove drush_scan_directory() - use Finder instead. (#3228)
  • Stop outputting all tables during debug output. Finally! 1515ca7
  • Lots of Generator improvements, especially commands that are ported from Drush8
  • Restore original maintenance mode state after database updates. (#3236)
  • Prevent infinite loops in RedispatchToSiteLocal. (#3235)
  • Fix #3214. Canonicalize config paths before comparing. Fixes a config split module issue (#3250)
  • Fix #2563. Add diff preview to config-export. Also adds colored preview for cex and cim (#3249)
  • Remove a dupe cache clear in updateDb
  • The cget --include-overridden is currently reversed (#3255)
  • Add logging if an error occurs during an update (#3266)
  • Private yml parser (#3269)
  • Remove —no-ansi from Unish (#3271)
  • Reduce log level for drush.services.yml nag. f709c11
  • Allowing files by any name to be imported via -c option. (#3283)
  • Support global generators (#3265)
  • Process included configuration files recursively. (#3288)
  • Simplify shell escape code, particularly with respect to SSH Commands (#3174)
  • Changes since 9.0.0-rc1.