Details on the upcoming major release

The upcoming major releaseMajor Release A set of releases or versions having the same major version number may be collectively referred to as “X.Y” -- for example version 5.2.x to refer to versions 5.2, 5.2.1, and all other versions in the 5.2. (five dot two dot) branch of that software. Major Releases often are the introduction of new major features and functionality. of WP-CLIWP-CLI WP-CLI is the Command Line Interface for WordPress, used to do administrative and development tasks in a programmatic way. The project page is 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:

  • PHPPHP PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. 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 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 APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. 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…