Title: v2.6.0 – WP-CLI – WordPress.org

---

#  Tag Archives: v2.6.0

 [  ](https://profiles.wordpress.org/schlessera/) [Alain Schlesser](https://profiles.wordpress.org/schlessera/)
12:16 am _on_ January 26, 2022     
Tags: [release ( 21 )](https://make.wordpress.org/cli/tag/release/),
v2.6.0   

# 󠀁[WP-CLI v2.6.0 Release Notes](https://make.wordpress.org/cli/2022/01/26/wp-cli-v2-6-0-release-notes/)󠁿

A new release 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 [http://wp-cli.org/](http://wp-cli.org/) [https://make.wordpress.org/cli/](https://make.wordpress.org/cli/)
is available as of today: **WP-CLI v2.6.0**. For this release, we had **57 contributors**
collaborate to get **311 pull requests** merged. 🎉

The pandemic is still controlling our daily lives, and as a side-effect we still
notice a significant reduction in contributors to WP-CLI, probably due to the lack
of in-person contributor days.

As always, big thanks to the [WP-CLI sponsors](https://make.wordpress.org/cli/sponsors/)
that make the continued maintenance possible – even with a reduced number of contributors.
❤️

Apart from the numerous bug fixes that were included in this release, we also managed
to snuggle in a few new features that add to the power or convenience of your CLICLI
Command Line Interface. Terminal (Bash) in Mac, Command Prompt in Windows, or WP-
CLI for WordPress. experience, so I want to spend a few paragraphs going over some
of the noteworthy changes. As always, you can also skip directly to the [detailed changelog](https://make.wordpress.org/cli/tag/v2-6-0/?output_format=md#changelog)
if you prefer.

### 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. 󠀁[https://www.php.net/manual/en/index.php](https://www.php.net/manual/en/index.php)󠁿 8.1 Support

WP-CLI now officially supports **[PHP 8.1](https://www.php.net/releases/8.1/en.php)**.
All commands are being extensively tested against PHP 8 and the actual development
is currently being done on PHP 8.1 as well.

However, keep in mind that PHP 8.1 support is not fully there for WordPress CoreCore
Core is the set of software required to run WordPress. The Core Development Team
builds WordPress., and especially for a large part of plugins and themes. Due to
the nature of the changes that PHP 8.1 brings about, it is very easy to break perfectly
compatible WordPress Core or WP-CLI via the actions/filters system. Keep this in
mind when trying to diagnose PHP 8.1 compatibility issues and trying to deduce where
the erroneous code is to be found.

![](https://i0.wp.com/make.wordpress.org/cli/files/2022/01/PHP_-Supported-Versions-
Google-Chrome-2022-01-25-at-5.32.20-PM.jpeg?resize=776%2C244&ssl=1)

Tabular data showing a timeline with supported PHP releases, with only 8.0 and 8.1
currently in active support.

For those of you who are not closely following the PHP release cycles, please be
aware that only PHP 8.0 and 8.1 are currently actively supported versions. WP-CLI
sticks with the WordPress Core PHP support policy (+ 1 year), which means we’re 
still spending huge amounts of efforts to keep everything running all the way down
to PHP 5.6 at the moment.

If you want to help the maintainers in their work, please ensure that all your sites
run on the latest PHP versions, and nag your hosting providers to move everything
over to the latest and greatest. WordPress will only bump the minimum version when
the number of active sites on PHP 5.6 has dropped to an insignificant amount.

### New commands for managing application passwords

The following commands were added to allow CLI users to create and manage WordPress
application passwords:

 * `wp user application-password list`
 * `wp user application-password get`
 * `wp user application-password exists`
 * `wp user application-password update`
 * `wp user application-password record-usage`
 * `wp user application-password create`
 * `wp user application-password delete`

![](https://i0.wp.com/make.wordpress.org/cli/files/2022/01/Image-2022-01-25-at-5.40.19-
PM.jpeg?resize=776%2C305&ssl=1)

WP-CLI examples of creating a new application password and then listing all existing
application passwords for that same user.

Although you could technically already work with application passwords by directly
controlling the WordPress user-metaMeta Meta is a term that refers to the inside
workings of a group. For us, this is the team that works on internal WordPress sites
like WordCamp Central and Make WordPress. table, this now provides a clean 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. that abstracts away the technical implementation. See the [Application Passwords: Integration Guide](https://make.wordpress.org/core/2020/11/05/application-passwords-integration-guide/)
to find out more about how to use them.

### New global flag: `--context`

A new **global flag `--context=<context>`** was added which allows users to select
the WordPress context in which WP-CLI is supposed to execute its command(s).

One of the main goals is to allow WP-CLI to run updates on premium plugins and themes
without requiring any special setup. From our initial testing, this allows a large
range of popular premium extensions to _just work_™️ with WP-CLI in terms of their
update procedures.

Possible values for this flag with this initial release:

 * `**cli**`: The context which has been the default before introduction of this
   flag. This is something in-between a frontend and an admin request, to get around
   some of the quirks of WordPress when running on the console.
 * `**admin**`: A context that simulates running a command as if it would be executed
   in the administration backend. This is meant to be used to get around issues 
   with plugins that limit functionality behind an `is_admin()` check.
 * `**auto**`: Switches between `cli` and `admin` depending on which command is 
   being used. For this initial release, all `wp plugin *` and `wp theme *` commands
   will use `admin`, while all other commands will use `cli`.
 * `**frontend**`: _[WIP]_ This does nothing yet.

**Roadmap: **_By default, the `--context` flag will be set to `cli` with this initial
release (v2.6.0). With WP-CLI v2.7.0, the default will change to `auto`. This gradual
deployment will allow hosters and site owners to run tests on v2.6.0 by manually
setting the context before the default behavior is changed._

If you want to use the future default of `--context=auto` right away in your present
operations, you can do so by adding the necessary `**context: auto**` line to your
global `wp-cli.yml` configuration file. Feel free to check the documentation on 
[WP-CLI configuration files](https://make.wordpress.org/cli/handbook/references/config/#config-files)
if this is new to you.

We also have a new hook to support this new global flag: `**before_registering_contexts**`.
This hook behaves like a filterFilter Filters are one of the two types of Hooks 
[https://codex.wordpress.org/Plugin_API/Hooks](https://codex.wordpress.org/Plugin_API/Hooks).
They provide a way for functions to modify data of other functions. They are the
counterpart to Actions. Unlike Actions, filters are meant to work in an isolated
manner, and should never have side effects such as affecting global variables and
output. with one argument: `array<string, Context> $contexts`. When hooking into
this hook, the callback should return (a potentially modified) `$contexts` value.
This can be used to remove or override bundled contexts or add new ones.

To make this work, the hook functionality in WP-CLI (provided via `[WP_CLI::do_hook()](https://make.wordpress.org/cli/handbook/references/internal-api/wp-cli-do-hook/)`)
was modified to return the first argument if arguments were provided.

_Thanks to [Cloudways](https://www.cloudways.com/en/) for the special support and
testing of this new flag with the goal of solving the “premium updates problem” 
for everyone._

### Configurable WP-CLI cache settings

The WP-CLI file cache can now be configured via the following environment variables:

 * `**WP_CLI_CACHE_DIR**` – Directory in which to store the cached files. Default
   value: `"$home/.wp-cli/cache"`.
 * `**WP_CLI_CACHE_EXPIRY**` – Time after which cached files are automatically purged,
   in seconds. Default value: `15552000` (6 months).
 * `**WP_CLI_CACHE_MAX_SIZE**` – Total size of the file cache after which older 
   files are purged, in bytes. Default value: `314572800` (300 MB).

This not only allows you to fine-tune the WP-CLI cache behavior for the best balance
between available storage and bandwidth usage, it could also be used to share cache
storage between installations/users (beware the security implications, though!).

### Use custom names/locations for the `wp-config.php` file

The different `config *` commands now accept a new flag `**--config-file=<filepath
>**` that allow you point the different manipulations towards a custom location,
that might not even fully adhere to conventions for the WordPress `wp-config.php`
file.

This allows you for example to use the `config set` command for a configuration 
file outside of the WordPress document root (and parent folder).

Keep in mind that you’re on your own when it comes to making WordPress understand
the structure and bootstrap correctly!

### Generate a `dotenv` file from your existing `wp-config.php` file

For all the 12-factor app fans out there, WP-CLI has learnt a new format for its`**
config list**` command: `**--format=dotenv**`. This will take the existing configuration
key/value pairs in your `wp-config.php` file and render them in a format that you
can use in a `.env` file.

![](https://i0.wp.com/make.wordpress.org/cli/files/2022/01/Image-2022-01-25-at-5.43.23-
PM.jpeg?resize=776%2C436&ssl=1)

WP-CLI example of list the contents of the wp-config.php file into a file in dotenv
format and then showing the result.

Combine with the previously mentioned `--config-file` to extract the `dotenv` file
from an arbitrary location, even without a WordPress installation present.

### Allow pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory 󠀁[https://wordpress.org/plugins/](https://wordpress.org/plugins/)󠁿 or can be cost-based plugin from a third-party./theme enumeration without forcing an update check

Previously, when you run `plugin list` or `theme list`, WP-CLI would automatically
run a check in the background to see if updates are available. This is slow and 
expensive to do, and might not always be what is needed, especially in scripting
scenarios.

This automatic check for updates can now be disabled for these two commands with
the `--skip-update-check` flag. This can drastically speed up some scripts and make
them more reliable.

### New flag `--strict` for adapting the filtering of taxonomies by post type

When retrieving taxonomies for a given post type, the old default behavior of WordPress(
through the use of `get_taxonomies()`) is to only show those taxonomies that have
as a sole associated post type the requested one. Taxonomies that have multiple 
associated post types, including the requested one, are not returned.

WordPress had added a newer mechanism via `get_object_taxonomies()` that would return
all taxonomies that are in some way associated with the requested post type, even
if other post types are associated as well.

WP-CLI now has a new `**--strict**` flag for the `taxonomy list` command that defines
whether the strict filtering (the old default) should be used, or the more sensible
inclusive approach should be used via `**--no-strict**` (or `--strict=false`).

We’ve opted to make this new, more sensible approach (i.e. `--no-strict`) the new
default, so be mindful of that if you’re using `taxonomy list` in a script somewhere.

### Another round of improvements to the `i18n *` commands

As with all of the recent releases, the `i18n *` commands have received yet another
round of overall improvements to keep in sync with the localisation requirements
of WordPress Core.

From new flags like `--subtract-and-merge`, `--update-mo-files` & `--location` and
multiple improvements to the way JavascriptJavaScript JavaScript or JS is an object-
oriented computer programming language commonly used to create interactive effects
within web browsers. WordPress makes extensive use of JS for a better user experience.
While PHP is executed on the server, JS executes within a user’s browser. [https://www.javascript.com](https://www.javascript.com/)
syntax is parsed all the way up to the support for the new `theme.json` format, 
all your localization needs should be accounted for (at least for now).

Make your to check out the detailed logs to find out more and play around with the
new functionality when you get the chance!

### With super admin permissions come super admin consequences!

WP-CLI now mirrors the behavior of WordPress core and triggers various hooksHooks
In WordPress theme and development, hooks are functions that can be applied to an
action or a Filter in WordPress. Actions are functions performed when a certain 
event occurs in WordPress. Filters allow you to modify certain functions. Arguments
used to hook both filters and actions look the same. when you grant or revoke the
super admin status to users.

The following actions are being triggered now but the `super-admin add` & `super-
admin remove` commands:

 * `grant_super_admin` (before changes, _always_ executed)
 * `granted_super_admin` (after changes, executed only on success)
 * `revoke_super_admin` (before changes, _always_ executed)
 * `revoked_super_admin` (after changes, executed only on success)

### Changes to the default branches

In order to make the language used in the code and documentation of WP-CLI more 
inclusive, work has started to change the name of default branch across all repositories.
From now on, the default branch name across the WP-CLI GitHubGitHub GitHub is a 
website that offers online implementation of git repositories that can easily be
shared, copied and modified by other developers. Public repositories are free to
host, private repositories require a paid subscription. GitHub introduced the concept
of the ‘pull request’ where code changes done in branches by contributors can be
reviewed and discussed before being merged by the repository owner. [https://github.com/](https://github.com/)
organization is `**main**`.

This change is currently a work in progress, as it unfortunately causes open pull
requests to be automatically closed and often become unsalvageable. The current 
progress of this effort can be monitored here: [wp-cli/wp-cli#5598](https://github.com/wp-cli/wp-cli/issues/5598).

Keep this in mind when you want to check out the latest development state of a repository
or contribute by creating a PR!

### Detailed change log

To avoid too much noise in the list above, the following types of pull requests 
have been omitted:

 * PRs that only bumped dependencies to their latest version.
 * PRs that only fixed a typo in the documentation.
 * PRs that add an `allow-plugins` rule to Composer

#### 󠀁[wp-cli/wp-cli-bundle](https://github.com/wp-cli/wp-cli-bundle/)󠁿

 * Disable deployments on forks [[#389](https://github.com/wp-cli/wp-cli-bundle/pull/389)]
 * DeployDeploy Launching code from a local development environment to the production
   web server, so that it's available to visitors. from `main` branch [[#385](https://github.com/wp-cli/wp-cli-bundle/pull/385)]
 * Revert usage of Mustache fork [[#373](https://github.com/wp-cli/wp-cli-bundle/pull/373)]
 * Use `latest` branch for Roave security advisories [[#357](https://github.com/wp-cli/wp-cli-bundle/pull/357)]
 * Add DEB build workflow [[#345](https://github.com/wp-cli/wp-cli-bundle/pull/345)]
 * Add RPM build workflow [[#344](https://github.com/wp-cli/wp-cli-bundle/pull/344)]
 * Switch to `dev-master` for `wp-cli` framework [[#333](https://github.com/wp-cli/wp-cli-bundle/pull/333)]

#### 󠀁[wp-cli/wp-cli](https://github.com/wp-cli/wp-cli/)󠁿

 * Adapt `VERSION` from `2.5.1-alpha` to `2.6.0-alpha` [[#5605](https://github.com/wp-cli/wp-cli/pull/5605)]
 * Fix Composer stack tests [[#5599](https://github.com/wp-cli/wp-cli/pull/5599)]
 * Detect and ignore BOMs [[#5597](https://github.com/wp-cli/wp-cli/pull/5597)]
 * Check `github.repository_owner` in automerge workflow [[#5591](https://github.com/wp-cli/wp-cli/pull/5591)]
 * Revert addition of the Mustache PHP 8.1 workaround and update dependency [[#5590](https://github.com/wp-cli/wp-cli/pull/5590)]
 * Use Mustache work-around for PHP 8.1 compat [[#5588](https://github.com/wp-cli/wp-cli/pull/5588)]
 * Use fork on schlessera for Mustache PHP 8.1 fix [[#5587](https://github.com/wp-cli/wp-cli/pull/5587)]
 * Re-add subcommands on all composite commands that are overwritten [[#5584](https://github.com/wp-cli/wp-cli/pull/5584)]
 * Fix default `mysqli` error reporting mode for PHP 8.1+ [[#5582](https://github.com/wp-cli/wp-cli/pull/5582)]
 * Add `--context` flag [[#5581](https://github.com/wp-cli/wp-cli/pull/5581)]
 * Make cache size and expiry configurable via environment variables [[#5576](https://github.com/wp-cli/wp-cli/pull/5576)]
 * Updated default branch for `roave/security-advisorie`s [[#5575](https://github.com/wp-cli/wp-cli/pull/5575)]
 * Fix wrong variable name used in argument parsing [[#5564](https://github.com/wp-cli/wp-cli/pull/5564)]
 * Fix regression that broke extending existing commands [[#5563](https://github.com/wp-cli/wp-cli/pull/5563)]
 * Add a `SECURITY.md` file [[#5562](https://github.com/wp-cli/wp-cli/pull/5562)]
 * Update credits [[#5556](https://github.com/wp-cli/wp-cli/pull/5556)]
 * Pass in arguments to `before_run_command` hook [[#5554](https://github.com/wp-cli/wp-cli/pull/5554)]
 * Change “Fake Site” site name to “WordPress” in `core multisite-install` command[
   [#5552](https://github.com/wp-cli/wp-cli/pull/5552)]
 * Add missing docblocks [[#5551](https://github.com/wp-cli/wp-cli/pull/5551)]
 * Make logger accessible and add colorization control to `Quiet` logger [[#5549](https://github.com/wp-cli/wp-cli/pull/5549)]
 * Fix OOM issues when exporting to `STDOUT` [[#5546](https://github.com/wp-cli/wp-cli/pull/5546)]
 * Allow `WP_DEBUG_LOG` to override the `debug.log` location [[#5511](https://github.com/wp-cli/wp-cli/pull/5511)]

#### 󠀁[wp-cli/handbook](https://github.com/wp-cli/handbook/)󠁿

 * Document the `exec` global parameter [[#397](https://github.com/wp-cli/handbook/pull/397)]
 * Provide example of optional positional arguments [[#390](https://github.com/wp-cli/handbook/pull/390)]
 * Added `create table` statement. [[#389](https://github.com/wp-cli/handbook/pull/389)]

#### 󠀁[wp-cli/wp-cli.github.com](https://github.com/wp-cli/wp-cli.github.com/)󠁿

 * Update `zh-cn` translation file [[#422](https://github.com/wp-cli/wp-cli.github.com/pull/422)]
 * Update build status badge [[#416](https://github.com/wp-cli/wp-cli.github.com/pull/416)]
 * Fix quick links anchors in German translation [[#415](https://github.com/wp-cli/wp-cli.github.com/pull/415)]

#### 󠀁[wp-cli/cache-command](https://github.com/wp-cli/cache-command/)󠁿

 * Add PHP 8.1 support [[#72](https://github.com/wp-cli/cache-command/pull/72)]

#### 󠀁[wp-cli/checksum-command](https://github.com/wp-cli/checksum-command/)󠁿

 * Add PHP 8.1 support [[#89](https://github.com/wp-cli/checksum-command/pull/89)]

#### 󠀁[wp-cli/config-command](https://github.com/wp-cli/config-command/)󠁿

 * Add PHP 8.1 support [[#135](https://github.com/wp-cli/config-command/pull/135)]
 * Document special `EOF` anchor [[#136](https://github.com/wp-cli/config-command/pull/136)]
 * Add `--config-file` argument to process custom configuration files [[#104](https://github.com/wp-cli/config-command/pull/104)]
 * Add `dotenv` format option to `config get` command [[#102](https://github.com/wp-cli/config-command/pull/102)]
 * Escape values to avoid breaking them within single quotes [[#95](https://github.com/wp-cli/config-command/pull/95)]
 * Update the `wp-config.php` template [[#139](https://github.com/wp-cli/config-command/pull/139)]

#### 󠀁[wp-cli/core-command](https://github.com/wp-cli/core-command/)󠁿

 * Update `download_package()` function signature [[#197](https://github.com/wp-cli/core-command/pull/197)]
 * Support case-insensitive filesystems when pruning files after update [[#196](https://github.com/wp-cli/core-command/pull/196)]
 * Do not exit on error but pass on error [[#193](https://github.com/wp-cli/core-command/pull/193)]

#### 󠀁[wp-cli/cron-command](https://github.com/wp-cli/cron-command/)󠁿

 * Add PHP 8.1 support [[#77](https://github.com/wp-cli/cron-command/pull/77)]
 * Adapt feature test to use HTTPSHTTPS HTTPS is an acronym for Hyper Text Transfer
   Protocol Secure. HTTPS is the secure version of HTTP, the protocol over which
   data is sent between your browser and the website that you are connected to. 
   The 'S' at the end of HTTPS stands for 'Secure'. It means all communications 
   between your browser and the website are encrypted. This is especially helpful
   for protecting sensitive data like banking information. with `example.com` [[#78](https://github.com/wp-cli/cron-command/pull/78)]
 * Promote a non-200 response from the cron spawn test to an error [[#66](https://github.com/wp-cli/cron-command/pull/66)]

#### 󠀁[wp-cli/db-command](https://github.com/wp-cli/db-command/)󠁿

 * Refactor `--defaults` flag handling [[#205](https://github.com/wp-cli/db-command/pull/205)]
 * Adapt `mysqldump` message string to check for in tests [[#201](https://github.com/wp-cli/db-command/pull/201)]
 * Set `'utf8mb4'` when exporting without `'--default-character-set'` option [[#199](https://github.com/wp-cli/db-command/pull/199)]
 * Add decimal numbers to `wp db size` [[#163](https://github.com/wp-cli/db-command/pull/163)]
 * Add `--defaults` flag to remaining commands [[#206](https://github.com/wp-cli/db-command/pull/206)]
 * Add PHP 8.1 support [[#214](https://github.com/wp-cli/db-command/pull/214)]
 * Fix table existence check in `db columns` [[#210](https://github.com/wp-cli/db-command/pull/210)]
 * Adapt feature test to use HTTPS with `example.com` [[#216](https://github.com/wp-cli/db-command/pull/216)]
 * Fix “`WP_DEBUG` already defined” test failure [[#220](https://github.com/wp-cli/db-command/pull/220)]

#### 󠀁[wp-cli/embed-command](https://github.com/wp-cli/embed-command/)󠁿

 * Add PHP 8.1 support [[#65](https://github.com/wp-cli/embed-command/pull/65)]

#### 󠀁[wp-cli/entity-command](https://github.com/wp-cli/entity-command/)󠁿

 * Support PHP 8.1 [[#331](https://github.com/wp-cli/entity-command/pull/331)]
 * Update example input to reflect example output [[#326](https://github.com/wp-cli/entity-command/pull/326)]
 * Document default post type filtering for `post list` command [[#321](https://github.com/wp-cli/entity-command/pull/321)]
 * Correct the home URLURL A specific web address of a website or web page on the
   Internet, such as a website’s URL www.wordpress.org when listing sites [[#312](https://github.com/wp-cli/entity-command/pull/312)]
 * Adapt `http` => `https` URLs [[#339](https://github.com/wp-cli/entity-command/pull/339)]
 * Add application password commands [[#330](https://github.com/wp-cli/entity-command/pull/330)]
 * Better error message when trying to delete super admin [[#304](https://github.com/wp-cli/entity-command/pull/304)]
 * Recalculate menu order on insertion or deletion [[#275](https://github.com/wp-cli/entity-command/pull/275)]
 * Add strict/no-strict mode for taxonomyTaxonomy A taxonomy is a way to group things
   together. In WordPress, some common taxonomies are category, link, tag, or post
   format. [https://codex.wordpress.org/Taxonomies#Default_Taxonomies](https://codex.wordpress.org/Taxonomies#Default_Taxonomies).
   list [[#256](https://github.com/wp-cli/entity-command/pull/256)]

#### 󠀁[wp-cli/eval-command](https://github.com/wp-cli/eval-command/)󠁿

 * Add PHP 8.1 support [[#60](https://github.com/wp-cli/eval-command/pull/60)]

#### 󠀁[wp-cli/export-command](https://github.com/wp-cli/export-command/)󠁿

 * Ensure post attachment meta is exported correctly [[#89](https://github.com/wp-cli/export-command/pull/89)]
 * Only add needed user when filtering by `--author` [[#88](https://github.com/wp-cli/export-command/pull/88)]
 * Adapt tests [[#87](https://github.com/wp-cli/export-command/pull/87)]
 * Fix categoryCategory The 'category' taxonomy lets you group posts / content together
   that share a common bond. Categories are pre-defined and broad ranging., tag 
   and term names missing in export [[#86](https://github.com/wp-cli/export-command/pull/86)]
 * Add `the_title_export` filter and `cdata` for item title to export [[#77](https://github.com/wp-cli/export-command/pull/77)]
 * Add PHP 8.1 support [[#93](https://github.com/wp-cli/export-command/pull/93)]
 * Adapt feature test to use HTTPS with `example.com` [[#94](https://github.com/wp-cli/export-command/pull/94)]

#### 󠀁[wp-cli/extension-command](https://github.com/wp-cli/extension-command/)󠁿

 * Fix test issues [[#293](https://github.com/wp-cli/extension-command/pull/293)]
 * Fix incorrect examples [[#290](https://github.com/wp-cli/extension-command/pull/290)]
 * Check for `WP_Error` on bulk updates [[#294](https://github.com/wp-cli/extension-command/pull/294)]
 * Add support for PHP 8.1 [[#306](https://github.com/wp-cli/extension-command/pull/306)]
 * Replace one-time-login with a sample plugin in the tests [[#302](https://github.com/wp-cli/extension-command/pull/302)]
 * Add `--skip-update-check` flag to `plugin list` and `theme list` commands [[#300](https://github.com/wp-cli/extension-command/pull/300)]
 * Ensure bundled themes don’t interfere with update tests [[#311](https://github.com/wp-cli/extension-command/pull/311)]

#### 󠀁[wp-cli/i18n-command](https://github.com/wp-cli/i18n-command/)󠁿

 * Fix tests [[#268](https://github.com/wp-cli/i18n-command/pull/268)]
 * Add `subtract-and-merge` flag [[#267](https://github.com/wp-cli/i18n-command/pull/267)]
 * Use more inclusive language in argument description [[#266](https://github.com/wp-cli/i18n-command/pull/266)]
 * Add new `--update-mo-files` flag to `make-json` [[#265](https://github.com/wp-cli/i18n-command/pull/265)]
 * Add new `--location` flag to omit source code references [[#264](https://github.com/wp-cli/i18n-command/pull/264)]
 * Add `ext-mbstring` to list of suggested dependencies [[#263](https://github.com/wp-cli/i18n-command/pull/263)]
 * Prevent adding JS comments to multiple strings [[#261](https://github.com/wp-cli/i18n-command/pull/261)]
 * Fix string extraction when using template literals [[#260](https://github.com/wp-cli/i18n-command/pull/260)]
 * Update version constraint for `mck89/peast` [[#259](https://github.com/wp-cli/i18n-command/pull/259)]
 * Fix plural extraction in JS [[#258](https://github.com/wp-cli/i18n-command/pull/258)]
 * Remove now unneeded workaround in JS scanner [[#256](https://github.com/wp-cli/i18n-command/pull/256)]
 * Extract strings for translation from theme.jsonJSON JSON, or JavaScript Object
   Notation, is a minimal, readable format for structuring data. It is used primarily
   to transmit data between a server and web application, as an alternative to XML.[
   [#254](https://github.com/wp-cli/i18n-command/pull/254)]
 * Fix string extraction from `block.json` [[#253](https://github.com/wp-cli/i18n-command/pull/253)]
 * Add support to `IterableCodeExtractor` for symlinks. [[#249](https://github.com/wp-cli/i18n-command/pull/249)]
 * Add PHP 8.1 support [[#293](https://github.com/wp-cli/i18n-command/pull/293)]
 * Add new field to translate in `theme.json` [[#292](https://github.com/wp-cli/i18n-command/pull/292)]
 * Fix JS string extraction with unsupported argument type [[#296](https://github.com/wp-cli/i18n-command/pull/296)]

#### 󠀁[wp-cli/import-command](https://github.com/wp-cli/import-command/)󠁿

 * Add PHP 8.1 support [[#71](https://github.com/wp-cli/import-command/pull/71)]

#### 󠀁[wp-cli/language-command](https://github.com/wp-cli/language-command/)󠁿

 * Add PHP 8.1 support [[#111](https://github.com/wp-cli/language-command/pull/111)]

#### 󠀁[wp-cli/maintenance-mode-command](https://github.com/wp-cli/maintenance-mode-command/)󠁿

 * Add PHP 8.1 support [[#20](https://github.com/wp-cli/maintenance-mode-command/pull/20)]

#### 󠀁[wp-cli/media-command](https://github.com/wp-cli/media-command/)󠁿

 * Add PHP 8.1 support [[#153](https://github.com/wp-cli/media-command/pull/153)]
 * Add missing `intermediate_image_sizes_advanced` filter argument for WP 5.3+ [
   [#150](https://github.com/wp-cli/media-command/pull/150)]

#### 󠀁[wp-cli/package-command](https://github.com/wp-cli/package-command/)󠁿

 * Only allow secure Composer versions [[#144](https://github.com/wp-cli/package-command/pull/144)]
 * Support PHP 8.1 [[#143](https://github.com/wp-cli/package-command/pull/143)]
 * Fetch default branch for GitHub packages [[#146](https://github.com/wp-cli/package-command/pull/146)]
 * Support common default development branches [[#148](https://github.com/wp-cli/package-command/pull/148)]

#### 󠀁[wp-cli/php-cli-tools](https://github.com/wp-cli/php-cli-tools/)󠁿

 * Update TTY checks [[#145](https://github.com/wp-cli/php-cli-tools/pull/145)]

#### 󠀁[wp-cli/rewrite-command](https://github.com/wp-cli/rewrite-command/)󠁿

 * Add PHP 8.1 support [[#54](https://github.com/wp-cli/rewrite-command/pull/54)]

#### 󠀁[wp-cli/role-command](https://github.com/wp-cli/role-command/)󠁿

 * Add PHP 8.1 support [[#49](https://github.com/wp-cli/role-command/pull/49)]

#### 󠀁[wp-cli/scaffold-command](https://github.com/wp-cli/scaffold-command/)󠁿

 * Fix testing on WordPress `trunk` version [[#297](https://github.com/wp-cli/scaffold-command/pull/297)]
 * Ignore `.github` directory in `.distignore` [[#295](https://github.com/wp-cli/scaffold-command/pull/295)]
 * Allow for diverging PHPUnit version specifics in tests [[#304](https://github.com/wp-cli/scaffold-command/pull/304)]
 * Add PHP 8.1 support [[#301](https://github.com/wp-cli/scaffold-command/pull/301)]

#### 󠀁[wp-cli/search-replace-command](https://github.com/wp-cli/search-replace-command/)󠁿

 * Fix offset handling when doing chunked replacements [[#162](https://github.com/wp-cli/search-replace-command/pull/162)]
 * Add strict comparisons for color tests [[#163](https://github.com/wp-cli/search-replace-command/pull/163)]
 * Add PHP 8.1 support [[#166](https://github.com/wp-cli/search-replace-command/pull/166)]
 * Adapt feature test to use HTTPS with `example.com` [[#167](https://github.com/wp-cli/search-replace-command/pull/167)]

#### 󠀁[wp-cli/server-command](https://github.com/wp-cli/server-command/)󠁿

 * Add PHP 8.1 support [[#72](https://github.com/wp-cli/server-command/pull/72)]

#### 󠀁[wp-cli/shell-command](https://github.com/wp-cli/shell-command/)󠁿

 * Add PHP 8.1 support [[#58](https://github.com/wp-cli/shell-command/pull/58)]

#### 󠀁[wp-cli/super-admin-command](https://github.com/wp-cli/super-admin-command/)󠁿

 * Add PHP 8.1 support [[#48](https://github.com/wp-cli/super-admin-command/pull/48)]
 * Trigger core actions when granting or revoking super-admin permissions [[#20](https://github.com/wp-cli/super-admin-command/pull/20)]

#### 󠀁[wp-cli/widget-command](https://github.com/wp-cli/widget-command/)󠁿

 * Append new widgets to the bottom of a sidebarSidebar A sidebar in WordPress is
   referred to a widget-ready area used by WordPress themes to display information
   that is not a part of the main content. It is not always a vertical column on
   the side. It can be a horizontal rectangle below or above the content area, footer,
   header, or any where in the theme. [[#52](https://github.com/wp-cli/widget-command/pull/52)]
 * Decouple tests from default theme widgets [[#51](https://github.com/wp-cli/widget-command/pull/51)]
 * Add PHP 8.1 support [[#53](https://github.com/wp-cli/widget-command/pull/53)]

#### 󠀁[wp-cli/wp-config-transformer](https://github.com/wp-cli/wp-config-transformer/)󠁿

 * Adapt tests for polyfilled test case [[#36](https://github.com/wp-cli/wp-config-transformer/pull/36)]

### Contributors

[@bgturner](https://github.com/bgturner), [@BhargavBhandari90](https://github.com/BhargavBhandari90),
[@CodeProKid](https://github.com/CodeProKid), [@connerbw](https://github.com/connerbw),
[@dd32](https://github.com/dd32), [@dh-programacion](https://github.com/dh-programacion),
[@dlind1](https://github.com/dlind1), [@drzraf](https://github.com/drzraf), [@felixarntz](https://github.com/felixarntz),
[@gedex](https://github.com/gedex), [@gitlost](https://github.com/gitlost), [@grappler](https://github.com/grappler),
[@greatislander](https://github.com/greatislander), [@herregroen](https://github.com/herregroen),
[@imadphp](https://github.com/imadphp), [@janw-me](https://github.com/janw-me), 
[@jenkoian](https://github.com/jenkoian), [@jmdodd](https://github.com/jmdodd), 
[@johnbillion](https://github.com/johnbillion), [@johnjago](https://github.com/johnjago),
[@jrfnl](https://github.com/jrfnl), [@kapilpaul](https://github.com/kapilpaul), 
[@KarlAustin](https://github.com/KarlAustin), [@l3ku](https://github.com/l3ku), 
[@localheinz](https://github.com/localheinz), [@matzeeable](https://github.com/matzeeable),
[@mbuxsoomro](https://github.com/mbuxsoomro), [@michaelzangl](https://github.com/michaelzangl),
[@mircobabini](https://github.com/mircobabini), [@mn7zDev](https://github.com/mn7zDev),
[@mrkaluzny](https://github.com/mrkaluzny), [@nickdaugherty](https://github.com/nickdaugherty),
[@Nikschavan](https://github.com/Nikschavan), [@oandregal](https://github.com/oandregal),
[@ocean90](https://github.com/ocean90), [@pbiron](https://github.com/pbiron), [@pdaalder](https://github.com/pdaalder),
[@petruchek](https://github.com/petruchek), [@pmbaldha](https://github.com/pmbaldha),
[@ponsfrilus](https://github.com/ponsfrilus), [@ryotsun](https://github.com/ryotsun),
[@saz](https://github.com/saz), [@schlessera](https://github.com/schlessera), [@seatonjiang](https://github.com/seatonjiang),
[@siliconforks](https://github.com/siliconforks), [@skeltoac](https://github.com/skeltoac),
[@stefanpejcic](https://github.com/stefanpejcic), [@stodorovic](https://github.com/stodorovic),
[@swissspidy](https://github.com/swissspidy), [@tammelin](https://github.com/tammelin),
[@thomasplevy](https://github.com/thomasplevy), [@Tug](https://github.com/Tug), 
[@tyrann0us](https://github.com/tyrann0us), [@UVLabs](https://github.com/UVLabs),
[@wojsmol](https://github.com/wojsmol), [@wpamitkumar](https://github.com/wpamitkumar),
[@yousan](https://github.com/yousan)

[#release](https://make.wordpress.org/cli/tag/release/), [#v2-6-0](https://make.wordpress.org/cli/tag/v2-6-0/)

 * [Login to Reply](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fmake.wordpress.org%2Fcli%2F2022%2F01%2F26%2Fwp-cli-v2-6-0-release-notes%2F%23respond&locale=en_US)