Details on the upcoming major release

The upcoming major release of WP-CLI v2.0.0 is scheduled for July 31st, 2018.

The release cycle has been a bit longer to account for the fact that some major changes are happening behind the scenes. This is what you can expect from the upcoming release:

  • PHP version minimum will be bumped to PHP 5.4, as already announced in December (see #4554).
  • Repository/package restructuring to separate the framework and the bundle that combines the framework with the default commands into separate packages (see #4748).
  • Removal of the Symfony dependencies from the framework package, to avoid conflicts in Composer setups (see #4749).
  • Convenience access to common contributor actions, through Composer scripts (see #4167).
  • A new standardized way of working on WP-CLI as a whole (see #4750).
  • Automate redundant work like regenerating README.md files (see #4751).
  • A new family of commands wp i18n for all your internationalization needs, brought to you by @swissspidy (see #4808 and wp-cli/i18n-command).
  • All of the small changes and bugfixes that we have been collecting since the v1.5.0 release, as most of this was skipped for v1.5.1 to keep that release “bug-fix-only”.
  • Anything we might get production-ready during the upcoming WP-CLI Hack Day!

With the above restructuring, you should expect some breaking changes, most notably:

  • #4554 will cause a breaking change for anyone trying to run WP-CLI on PHP 5.3.
  • #4748 will cause a breaking change if a third-party command is being pulled-in via Composer AND that third-party command relies on running bundled commands as well. This will seldom be the case and will be an easy fix. Installations using the Phar will not be impacted.
  • #4749 will cause a breaking change if a third-party command relies on one of the removed Symfony packages AND hasn’t declared that requirement in its own Composer configuration. This will seldom be the case and will be an easy fix. Installations using the Phar will not be impacted as the package manager still comes with these requirements included.
  • The versions of some the dependencies will be bumped. If you happen to not lock WP-CLI into a specific version constraint, but do so for some of its dependencies, you might see a version constraint conflict.
  • Any external code that relies on internal file structure, file naming or other internal details that are not part of the provided API could run the risk of breaking due to us moving things around from v1 to v2. This should hopefully not ever be the case, but you never know…

 

 

#v2-0-0