<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom">

	<title>WP-CLI</title>
	<link href="https://wp-cli.org"/>
	<link type="application/atom+xml" rel="self" href="https://wp-cli.org/atom.xml"/>
	<updated>2026-03-28T11:23:30+00:00</updated>
	<id>https://wp-cli.org</id>
	<author>
		<name>scribu</name>
		<email>mail@scribu.net</email>
	</author>

	
	<entry>
		<id>https://wp-cli.org/blog/supporting-the-future-of-wp-cli</id>
		<link type="text/html" rel="alternate" href="https://wp-cli.org/blog/supporting-the-future-of-wp-cli.html"/>
		<title>Supporting the Future of wp-cli</title>
		<updated>2016-12-28T00:00:00+00:00</updated>
		<author>
			<name>scribu</name>
			<uri>https://wp-cli.org</uri>
		</author>
		<content type="html">&lt;p&gt;&lt;em&gt;This post &lt;a href=&quot;https://make.wordpress.org/core/2016/12/28/supporting-the-future-of-wp-cli/&quot;&gt;originally appeared on make/core&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;wp-cli is a command-line interface that is deployed and relied upon by almost every major user of WordPress out there. As we head into 2017, I wanted to make that its future is certain for everyone who builds on it, and that the major contributors to the project, chiefly Daniel Bachhuber, are able to work on it even more in the coming year.&lt;/p&gt;

&lt;p&gt;To that end there are two big announcements:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;The website of wp-cli.org, the code / GitHub, Twitter, and such are all coming in under the WordPress.org umbrella and there will be a CLI Make site with a P2 and all of the resources that used to be under wp-cli.org. There is already #cli on Slack and that will continue. (Will live at &lt;a href=&quot;https://make.wordpress.org/cli&quot;&gt;https://make.wordpress.org/cli&lt;/a&gt;.)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;I’m going to be bringing together a number of companies in the WordPress ecosystem to solidify their financial support of runcommand so that Daniel and others can devote more time to making wp-cli better and better through 2017. This is a continuation of &lt;a href=&quot;https://wp-cli.org/blog/the-big-question.html&quot;&gt;the fundraising started a few weeks ago&lt;/a&gt;.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This will all happen the first part of January, and I’m looking to a full and exciting year for wp-cli. Also big thanks to everyone who has chipped in, whether time or money, to support the project in the past. It has been one of the highest impact developments for WP in many years.&lt;/p&gt;

&lt;p&gt;Many of the logistics are yet to be determined. Feel free to weigh in with questions, feedback, etc. in the comments, or join #cli on Slack. We’ll do our best to keep everyone in the loop as things develop.&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<id>https://wp-cli.org/blog/the-big-question</id>
		<link type="text/html" rel="alternate" href="https://wp-cli.org/blog/the-big-question.html"/>
		<title>How much is WP-CLI worth to you?</title>
		<updated>2016-12-12T00:00:00+00:00</updated>
		<author>
			<name>scribu</name>
			<uri>https://wp-cli.org</uri>
		</author>
		<content type="html">&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://twitter.com/wpcli/status/809352614580080640&quot;&gt;Update 2 12/15:&lt;/a&gt;&lt;/strong&gt; Undecided on how much WP-CLI is worth to you? The experiment ends Dec 28th — please make a decision by then :)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://twitter.com/wpcli/status/808687676010287105&quot;&gt;Update 1 (12/13):&lt;/a&gt;&lt;/strong&gt; Up to 17 subscribers so far. If we can get to 50, I’ll launch a members-only forum.&lt;/p&gt;

&lt;p&gt;Last week, I &lt;a href=&quot;https://twitter.com/danielbachhuber/status/806539537610481664&quot;&gt;tweeted&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;At a decision point with @wpcli: it’s too large for me to voluntarily maintain. Have an opinion on its future? I’d love to chat.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Last February, I started a business, &lt;a href=&quot;https://runcommand.io/&quot;&gt;runcommand&lt;/a&gt;, as an indirect way of being able to invest my time into WP-CLI. The business is doing alright, not great but not horrible. What I’ve come to realize, though, is that my time is zero-sum. I’m incentivized to spend time on runcommand, when I’d rather spend it on WP-CLI.&lt;/p&gt;

&lt;p&gt;Ultimately, the challenge I’m running into is opportunity cost. I’d &lt;em&gt;love&lt;/em&gt; to be able to invest more into WP-CLI, but doing so comes at the cost of other business pursuits. Because WP-CLI is such a large project, the several hours I volunteer each week are basically enough to fight entropy — not make headway on larger initiatives.&lt;/p&gt;

&lt;p&gt;The response to my tweet has been overwhelmingly supportive. One future I’m considering is directly commercializing WP-CLI, through patreon-esque membership, advertising on the website, and other ideas to be determined.&lt;/p&gt;

&lt;p&gt;So, dear reader, a question: how much is WP-CLI worth to you?&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://runcommand.memberful.com/checkout?plan=17529&quot;&gt;$7,500/year&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://runcommand.memberful.com/checkout?plan=17577&quot;&gt;$4,000/year&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://runcommand.memberful.com/checkout?plan=17528&quot;&gt;$1,500/year&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://runcommand.memberful.com/checkout?plan=17553&quot;&gt;$750/year&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://runcommand.memberful.com/checkout?plan=17552&quot;&gt;$250/year&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://runcommand.memberful.com/checkout?plan=17526&quot;&gt;$100/year&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Or, phrased another way, how much time does WP-CLI save you?&lt;/p&gt;

&lt;p&gt;If the experiment goes well, then we’re in business! Your purchase will support ongoing maintenance of WP-CLI, as well as development of new commands like &lt;a href=&quot;https://runcommand.io/wp/doctor/&quot;&gt;wp doctor&lt;/a&gt; and &lt;a href=&quot;https://runcommand.io/wp/profile/&quot;&gt;wp profile&lt;/a&gt;, &lt;a href=&quot;https://wp-cli.org/docs/wish-list/&quot;&gt;improvements to the website and package index&lt;/a&gt;, and so on.&lt;/p&gt;

&lt;p&gt;If the experiment doesn’t go well, then at least I can say I tried :) To avoid any risk with the investment above, a full refund will be made available to you should the campaign not reach its goal, before we look at other approaches to help with maintaining the project.&lt;/p&gt;

&lt;p&gt;Happy to take any questions you might have: &lt;a href=&quot;mailto:daniel@runcommand.io&quot;&gt;daniel@runcommand.io&lt;/a&gt;. I’ll keep the list below updated as new questions come in.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;em&gt;Have you tried crowdfunding?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Yep! See the post I wrote, “&lt;a href=&quot;https://poststatus.com/kickstarter-open-source-project/&quot;&gt;Using Kickstarter to fund open source&lt;/a&gt;”. Nadia Eghbal has a &lt;a href=&quot;http://nadiaeghbal.com/oss&quot;&gt;series of great articles on open source sustainability&lt;/a&gt; as well.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;How much money do you want to see to consider this a success?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I have a number, but I’m not going to share it. I want to see if this is a viable approach for funding a for-profit business.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;What if I want to pay a different amount?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;mailto:daniel@runcommand.io&quot;&gt;Email me&lt;/a&gt;, and I’ll create a purchase link for you.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Do I get anything special for paying the amount I paid?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Potentially, but nothing to announce at this point.&lt;/p&gt;

&lt;p&gt;I do have some ideas in mind for offerings at different levels (e.g. members-only support forum, feature prioritization, etc.).&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Do I need to keep paying after I pay the first time?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Well, if everyone cancels, then the business will tank :)&lt;/p&gt;

&lt;p&gt;All levels are billed annually unless you disable automatic renewal.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;What if I’m an existing runcommand customer?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;If the experiment goes well, then &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp doctor&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp profile&lt;/code&gt; will become completely open source. I’ll reach out about the other aspects of your purchase.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;What about scribu and Andreas?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I’ve been talking with them a bit. We’re all very interested to see how this plays out.&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<id>https://wp-cli.org/blog/version-1.0.0</id>
		<link type="text/html" rel="alternate" href="https://wp-cli.org/blog/version-1.0.0.html"/>
		<title>Version 1.0.0 released</title>
		<updated>2016-11-29T00:00:00+00:00</updated>
		<author>
			<name>scribu</name>
			<uri>https://wp-cli.org</uri>
		</author>
		<content type="html">&lt;p&gt;Woohoo!&lt;/p&gt;

&lt;p&gt;Over the course of 5+ years, hundreds of contributors have worked to bring you WP-CLI v1.0.0, which I’m proud to announce today.&lt;/p&gt;

&lt;p&gt;This release represents a level of maturity few open source projects achieve. It also marks a moment of transition. The WP-CLI project will shift its focus to the WP-CLI package ecosystem, where it will enable innovation by building and encouraging new features as standalone packages. We hope this approach will promote faster iteration and more creativity, and more sustainably distribute the maintenance burden. As these community packages find success, we’ll bring their learnings back into WP-CLI, alongside bug fixes and minor enhancements.&lt;/p&gt;

&lt;p&gt;Now that the issue backlog is &lt;a href=&quot;https://twitter.com/danielbachhuber/status/802951083354009600&quot;&gt;down to zero&lt;/a&gt;, I’m personally looking forward to getting more ideas cooking for &lt;a href=&quot;https://runcommand.io/&quot;&gt;runcommand&lt;/a&gt;, my own WP-CLI innovation studio.&lt;/p&gt;

&lt;p&gt;Headed to Philly this week? I’ll be at Post Status Publish and WCUS (although only until mid-afternoon Friday). Say hello - I’m &lt;a href=&quot;https://twitter.com/danielbachhuber&quot;&gt;@danielbachhuber&lt;/a&gt; on Twitter.&lt;/p&gt;

&lt;p&gt;On with the show…&lt;/p&gt;

&lt;h3 id=&quot;introducing-wp_cliruncommand&quot;&gt;Introducing &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;WP_CLI::runcommand()&lt;/code&gt;&lt;/h3&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;WP_CLI::runcommand()&lt;/code&gt; (&lt;a href=&quot;/docs/internal-api/wp-cli-runcommand/&quot;&gt;doc&lt;/a&gt;) is the new best way to run WP-CLI commands from within your WP-CLI command. It’s as though &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;WP_CLI::run_command()&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;WP_CLI::launch_self()&lt;/code&gt; grew up, married, and had the perfect child.&lt;/p&gt;

&lt;p&gt;With &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;WP_CLI::runcommand()&lt;/code&gt;, you can:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Launch a new child process (default), or reuse the existing process.&lt;/li&gt;
  &lt;li&gt;Optionally prevent the process from exiting on error.&lt;/li&gt;
  &lt;li&gt;Return STDOUT generated by the command, or all command execution details (STDOUT, STDERR, return_code) as an object.&lt;/li&gt;
  &lt;li&gt;Optionally parse captured STDOUT as JSON.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Relevant pull requests include: &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3605&quot;&gt;#3605&lt;/a&gt;, &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3619&quot;&gt;#3619&lt;/a&gt;, &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3621&quot;&gt;#3621&lt;/a&gt;.&lt;/p&gt;

&lt;h3 id=&quot;breaking-change-uses-return-code-1-when-batch-operation-partially-fails&quot;&gt;Breaking change: Uses return code 1 when batch operation partially fails&lt;/h3&gt;

&lt;p&gt;Some commands support performing the same operation against multiple resources (e.g. updating two or more plugins with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp plugin update akismet hello&lt;/code&gt;). Previously, if one of the operations failed (e.g. a plugin update failed to be downloaded), WP-CLI would display a warning, continue on, and exit with return code 0. Beginning in v1.0.0, WP-CLI uses return code 1 when one or more operations fails.&lt;/p&gt;

&lt;p&gt;See &lt;a href=&quot;https://github.com/wp-cli/wp-cli/issues/3577&quot;&gt;this issue&lt;/a&gt; for more background and rationale.&lt;/p&gt;

&lt;p&gt;Affected commands include:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp media (regenerate|import)&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp menu delete&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp menu item delete&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp plugin (install|activate|update|toggle|deactivate|uninstall|delete)&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp super-admin add&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp theme (install|update)&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp term delete&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp widget (delete|deactivate|reset)&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Use &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;WP_CLI\Utils\report_batch_operation_results()&lt;/code&gt; (&lt;a href=&quot;/docs/internal-api/wp-cli-utils-report-batch-operation-results/&quot;&gt;doc&lt;/a&gt;) in your custom WP-CLI commands to more easily support this behavior.&lt;/p&gt;

&lt;p&gt;Relevant pull requests include: &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3584&quot;&gt;#3584&lt;/a&gt;, &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3583&quot;&gt;#3583&lt;/a&gt;, &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3582&quot;&gt;#3582&lt;/a&gt;, &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3585&quot;&gt;#3585&lt;/a&gt;, &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3586&quot;&gt;#3586&lt;/a&gt;, &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3588&quot;&gt;#3588&lt;/a&gt;.&lt;/p&gt;

&lt;h3 id=&quot;everything-else-in-100&quot;&gt;Everything else in 1.0.0&lt;/h3&gt;

&lt;p&gt;New commands:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp package update&lt;/code&gt; - Update all installed WP-CLI packages to their latest version.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp scaffold theme-tests&lt;/code&gt; - Scaffold PHPUnit tests for themes.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Command improvements:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp cache type&lt;/code&gt;:
    &lt;ul&gt;
      &lt;li&gt;Supports WP LCache as a cache type [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3504&quot;&gt;#3504&lt;/a&gt;].&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp cli aliases&lt;/code&gt;:
    &lt;ul&gt;
      &lt;li&gt;Adds &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;alias&lt;/code&gt; to subcommand for easier access [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3512&quot;&gt;#3512&lt;/a&gt;].&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp cli update&lt;/code&gt;:
    &lt;ul&gt;
      &lt;li&gt;Verifies release hash when updating [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3515&quot;&gt;#3515&lt;/a&gt;].&lt;/li&gt;
      &lt;li&gt;No longer requires &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--allow--root&lt;/code&gt; flag when running as root [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3576&quot;&gt;#3576&lt;/a&gt;].&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp core config&lt;/code&gt;:
    &lt;ul&gt;
      &lt;li&gt;Ensures WordPress Coding Standards are applied to the generated wp-config [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3496&quot;&gt;#3496&lt;/a&gt;].&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp core (install|multisite-install)&lt;/code&gt;
    &lt;ul&gt;
      &lt;li&gt;Defaults to a randomly generated password for &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--admin_password=&amp;lt;password&amp;gt;&lt;/code&gt;, which is now optional [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3535&quot;&gt;#3535&lt;/a&gt;, &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3573&quot;&gt;#3573&lt;/a&gt;].&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp core language (install|update)&lt;/code&gt;:
    &lt;ul&gt;
      &lt;li&gt;Caches language pack downloads [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3595&quot;&gt;#3595&lt;/a&gt;].&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp core update&lt;/code&gt;:
    &lt;ul&gt;
      &lt;li&gt;Uses global namespace for &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;WP_Error&lt;/code&gt; in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CoreUpgrader&lt;/code&gt; class [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3593&quot;&gt;#3593&lt;/a&gt;].&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp core update-db&lt;/code&gt;:
    &lt;ul&gt;
      &lt;li&gt;Sets the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;WP_INSTALLING&lt;/code&gt; constant for the update process [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3503&quot;&gt;#3503&lt;/a&gt;].&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp package install&lt;/code&gt;:
    &lt;ul&gt;
      &lt;li&gt;Uses supplied version in package composer.json, instead of “dev-master” [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3519&quot;&gt;#3519&lt;/a&gt;].&lt;/li&gt;
      &lt;li&gt;Adds WP-CLI version to package manager’s &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;composer.json&lt;/code&gt;, to gracefully handle WP-CLI version constraints [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3603&quot;&gt;#3603&lt;/a&gt;].&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp package list&lt;/code&gt;:
    &lt;ul&gt;
      &lt;li&gt;Indicates when a package has an update available [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3611&quot;&gt;#3611&lt;/a&gt;, &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3612&quot;&gt;#3612&lt;/a&gt;].&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp post delete&lt;/code&gt;:
    &lt;ul&gt;
      &lt;li&gt;Correctly indicates revisions are deleted immediately in success message [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3524&quot;&gt;#3524&lt;/a&gt;].&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp scaffold plugin&lt;/code&gt;:
    &lt;ul&gt;
      &lt;li&gt;Ignores distribution archive files in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.gitignore&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.distignore&lt;/code&gt; [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3520&quot;&gt;#3520&lt;/a&gt;].&lt;/li&gt;
      &lt;li&gt;Ignores &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;circle.yml&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.gitlab-ci.yml&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;behat.yml&lt;/code&gt; in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.distignore&lt;/code&gt; [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3599&quot;&gt;#3599&lt;/a&gt;].&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp scaffold plugin-tests&lt;/code&gt;:
    &lt;ul&gt;
      &lt;li&gt;Checks out the data directory in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;install-wp-tests.sh&lt;/code&gt; to prevent notices in WP 4.7 [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3571&quot;&gt;#3571&lt;/a&gt;].&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Framework enhancements:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Updates Composer-based dependencies to latest [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3498&quot;&gt;#3498&lt;/a&gt;, &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3525&quot;&gt;#3525&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Introduces &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--prompt=&amp;lt;assoc&amp;gt;&lt;/code&gt; to prompt for specific associative args, which lets users avoid exposing secure data in bash history [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3531&quot;&gt;#3531&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Adds support for the version of PHP that comes with Cygwin [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3591&quot;&gt;#3591&lt;/a&gt;].&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Contributors to this release (pull requests, documentation, and package authors): &lt;a href=&quot;https://github.com/abea&quot;&gt;abea&lt;/a&gt;, &lt;a href=&quot;https://github.com/anttiviljami&quot;&gt;anttiviljami&lt;/a&gt;, &lt;a href=&quot;https://github.com/cobyan&quot;&gt;cobyan&lt;/a&gt;, &lt;a href=&quot;https://github.com/danielbachhuber&quot;&gt;danielbachhuber&lt;/a&gt;, &lt;a href=&quot;https://github.com/diggy&quot;&gt;diggy&lt;/a&gt;, &lt;a href=&quot;https://github.com/ernilambar&quot;&gt;ernilambar&lt;/a&gt;, &lt;a href=&quot;https://github.com/franz-josef-kaiser&quot;&gt;franz-josef-kaiser&lt;/a&gt;, &lt;a href=&quot;https://github.com/greatislander&quot;&gt;greatislander&lt;/a&gt;, &lt;a href=&quot;https://github.com/itspriddle&quot;&gt;itspriddle&lt;/a&gt;, &lt;a href=&quot;https://github.com/miya0001&quot;&gt;miya0001&lt;/a&gt;, &lt;a href=&quot;https://github.com/mmcev106&quot;&gt;mmcev106&lt;/a&gt;, &lt;a href=&quot;https://github.com/mopquill&quot;&gt;mopquill&lt;/a&gt;, &lt;a href=&quot;https://github.com/ocean90&quot;&gt;ocean90&lt;/a&gt;, &lt;a href=&quot;https://github.com/pj-dave&quot;&gt;pj-dave&lt;/a&gt;, &lt;a href=&quot;https://github.com/pkarjala&quot;&gt;pkarjala&lt;/a&gt;, &lt;a href=&quot;https://github.com/richardbuff&quot;&gt;richardbuff&lt;/a&gt;, &lt;a href=&quot;https://github.com/sommarnatt&quot;&gt;sommarnatt&lt;/a&gt;, &lt;a href=&quot;https://github.com/szepeviktor&quot;&gt;szepeviktor&lt;/a&gt;, &lt;a href=&quot;https://github.com/torounit&quot;&gt;torounit&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can browse the full list of &lt;a href=&quot;https://github.com/wp-cli/wp-cli/issues?q=milestone%3A1.0.0+is%3Aclosed&quot;&gt;resolved issues&lt;/a&gt; on GitHub.&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<id>https://wp-cli.org/blog/version-0.25.0</id>
		<link type="text/html" rel="alternate" href="https://wp-cli.org/blog/version-0.25.0.html"/>
		<title>Version 0.25.0 released</title>
		<updated>2016-10-25T00:00:00+00:00</updated>
		<author>
			<name>scribu</name>
			<uri>https://wp-cli.org</uri>
		</author>
		<content type="html">&lt;p&gt;Happy release day!&lt;/p&gt;

&lt;p&gt;Today, I’m excited to bring you WP-CLI v0.25.0. Check out the &lt;a href=&quot;/docs/roadmap/&quot;&gt;newly published roadmap&lt;/a&gt; for details on upcoming releases and product focus (hint: there’s a future where WP-CLI no longer supports PHP 5.3).&lt;/p&gt;

&lt;p&gt;Let’s dive in.&lt;/p&gt;

&lt;h3 id=&quot;compatibility-with-wordpress-47&quot;&gt;Compatibility with WordPress 4.7&lt;/h3&gt;

&lt;p&gt;WordPress 4.7 introduces a new &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;WP_Hook&lt;/code&gt; implementation for registering and executing actions and filters. Because WP-CLI has its own &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;WP_CLI::add_wp_hook()&lt;/code&gt; that was erroneously accessing the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;$wp_filter&lt;/code&gt; global even when the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;add_filter()&lt;/code&gt; function was available, WP-CLI could fatal in certain circumstances. WP-CLI now appropriately calls &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;add_filter()&lt;/code&gt; when it’s available.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Importantly, due to the nature of these changes, WP-CLI versions prior to 0.25.0 will be incompatible with WordPress 4.7.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Inspect the change in &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3384&quot;&gt;this pull request&lt;/a&gt;.&lt;/p&gt;

&lt;h3 id=&quot;new-packages-in-the-package-index&quot;&gt;New packages in the Package Index&lt;/h3&gt;

&lt;p&gt;The WP-CLI community has been quite active in creating new tools for you to use (and contribute back to):&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/aaemnnosttv/wp-cli-login-command&quot;&gt;aaemnnosttv/wp-cli-login-command&lt;/a&gt; - Log in to WordPress with secure passwordless magic links.&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/alessandrotesoro/wp-cli-helpscout-docs-parser&quot;&gt;alessandrotesoro/wp-cli-helpscout-docs-parser&lt;/a&gt; - Extract helpscout docs articles and categories to build an offline documentation.&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/alessandrotesoro/wp-usergen-cli&quot;&gt;alessandrotesoro/wp-usergen-cli&lt;/a&gt; - Generate random users for testing purposes.&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/anhskohbo/wp-cli-themecheck&quot;&gt;anhskohbo/wp-cli-themecheck&lt;/a&gt; - Run Themecheck in WP-CLI.&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/BeAPI/wp-cli-light-db-export&quot;&gt;BeAPI/wp-cli-light-db-export&lt;/a&gt; - Allows you to export big databases with all the tables but not all the data.&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/binarygary/db-checkpoint&quot;&gt;binarygary/db-checkpoint&lt;/a&gt; - Treat your DB like a save point in a video game.&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/brightoak/wp-cli-envoyer&quot;&gt;brightoak/wp-cli-envoyer&lt;/a&gt; - Invoke an Envoyer deployment via WP-CLI.&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/getshifter/wp-cli-shifter&quot;&gt;getshifter/wp-cli-shifter&lt;/a&gt; - Enables you to import/export your WordPress site for the Shifter.&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/eriktorsner/wp-checksum&quot;&gt;eriktorsner/wp-checksum&lt;/a&gt; - Verify checksums for themes and plugins.&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/iandunn/wp-cli-plugin-active-on-sites&quot;&gt;iandunn/wp-cli-plugin-active-on-sites&lt;/a&gt; - List all sites in a multisite network that have activated a given plugin.&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/markri/wp-sec&quot;&gt;markri/wp-sec&lt;/a&gt; - Checks for WordPress CVE security issues at wpvulndb.com.&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/mattgrshaw/wp-installer&quot;&gt;mattgrshaw/wp-installer&lt;/a&gt; - Simple commands to install and uninstall WordPress.&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/pressbooks/pb-cli&quot;&gt;pressbooks/pb-cli&lt;/a&gt; - A suite of wp-cli commands for Pressbooks.&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/runcommand/assign-featured-images&quot;&gt;runcommand/assign-featured-images&lt;/a&gt; - Assign featured images to posts that support thumbnails.&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/runcommand/manifest&quot;&gt;runcommand/manifest&lt;/a&gt; - Produces an overview of WordPress’ configuration for a high-level understanding of what’s going on inside of WordPress.&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/rxnlabs/wp-composer&quot;&gt;rxnlabs/wp-composer&lt;/a&gt; - Manage your WordPress site dependencies using the power of Composer.&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/trendwerk/faker&quot;&gt;trendwerk/faker&lt;/a&gt; - Fake post data with WP-CLI.&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/trepmal/blog-extractor&quot;&gt;trepmal/blog-extractor&lt;/a&gt; - Extract a single blog from multisite.&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/trepmal/wp-revisions-cli&quot;&gt;trepmal/wp-revisions-cli&lt;/a&gt; - Manage revisions.&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/welaika/wp-cli-db2utf8&quot;&gt;welaika/wp-cli-db2utf8&lt;/a&gt; - Downgrade db encoding of a new WP installation to UTF8.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Install any one of these with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp package install &amp;lt;package-name&amp;gt;&lt;/code&gt; (where &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;package-name&amp;gt;&lt;/code&gt; is typically the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;user&amp;gt;/&amp;lt;repo&amp;gt;&lt;/code&gt;). When you do, go say thanks to the author!&lt;/p&gt;

&lt;h3 id=&quot;more-ways-to-install-wp-cli-packages&quot;&gt;More ways to install WP-CLI packages&lt;/h3&gt;

&lt;p&gt;Although we’d love to see your package listed in the Package Index, we realize there are reasons you might not be able to do so. &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp package install&lt;/code&gt; now supports installing an arbitrary Git URL [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3482&quot;&gt;#3482&lt;/a&gt;], &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.zip&lt;/code&gt; file [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3485&quot;&gt;#3485&lt;/a&gt;], or directory path [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3484&quot;&gt;#3484&lt;/a&gt;] as a package.&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;$ wp package install git@github.com:runcommand/doctor.git
$ wp package install https://github.com/runcommand/doctor.zip
$ wp package install doctor
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;(doctor is the &lt;a href=&quot;https://runcommand.io/wp/doctor/&quot;&gt;second premium WP-CLI command from runcommand&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;It’s worth noting Composer’s behavior is slightly different for each package type:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Git URLs are treated as VCS repositories, and cloned to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;~/.wp-cli/packages/vendor&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;ZIP archives (remote and local) are extracted to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;~/.wp-cli/packages/local&lt;/code&gt;, and added as path repositories.&lt;/li&gt;
  &lt;li&gt;Local directory paths are added as path repositories, which means Composer creates a symlink to the existing directory path. If the directory you’ve provided is removed, then the installation will break.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;everything-else-in-0250&quot;&gt;Everything else in 0.25.0&lt;/h3&gt;

&lt;p&gt;New commands:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp db check&lt;/code&gt; - Runs &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mysqlcheck&lt;/code&gt; with the default &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--check&lt;/code&gt; option [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3332&quot;&gt;#3332&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp site option *&lt;/code&gt; - CRUD commands for managing WordPress site options [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3386&quot;&gt;#3386&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp user session *&lt;/code&gt; - CRUD commands for managing user sessions [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3307&quot;&gt;#3307&lt;/a&gt;].&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Command improvements:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp cli update&lt;/code&gt;:
    &lt;ul&gt;
      &lt;li&gt;Introduces &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--stable&lt;/code&gt; to install or reinstall the latest stable version [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3430&quot;&gt;#3430&lt;/a&gt;].&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp core config&lt;/code&gt;:
    &lt;ul&gt;
      &lt;li&gt;Adds comments to generated &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp-config.php&lt;/code&gt; to better match the one provided by WordPress core [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3312&quot;&gt;#3312&lt;/a&gt;].&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp core download&lt;/code&gt;:
    &lt;ul&gt;
      &lt;li&gt;Preserves case for &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--version&lt;/code&gt; argument to properly handle release candidates [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3283&quot;&gt;#3283&lt;/a&gt;].&lt;/li&gt;
      &lt;li&gt;Ensures &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp core download --version=latest&lt;/code&gt; produces correctly-versioned cache key [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3467&quot;&gt;#3467&lt;/a&gt;].&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp core language update&lt;/code&gt;:
    &lt;ul&gt;
      &lt;li&gt;Fixes strict standard error about variable reference [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3380&quot;&gt;#3380&lt;/a&gt;].&lt;/li&gt;
      &lt;li&gt;Permits updating language packs even when &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;en_US&lt;/code&gt; is set as locale [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3397&quot;&gt;#3397&lt;/a&gt;].&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp core multisite-(install|convert)&lt;/code&gt;:
    &lt;ul&gt;
      &lt;li&gt;Warns when multisite constants can’t be inserted into &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp-config.php&lt;/code&gt;, instead of erroneously inserting at the end [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3272&quot;&gt;#3272&lt;/a&gt;].&lt;/li&gt;
      &lt;li&gt;Includes adequate vertical spacing around inserted constants [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3267&quot;&gt;#3267&lt;/a&gt;].&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp core update-db&lt;/code&gt;:
    &lt;ul&gt;
      &lt;li&gt;Ensures &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp core update-db --network --dry-run&lt;/code&gt; is actually dry [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3347&quot;&gt;#3347&lt;/a&gt;].&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp core version&lt;/code&gt;:
    &lt;ul&gt;
      &lt;li&gt;Displays default core language in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp core version --extra&lt;/code&gt; [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3221&quot;&gt;#3221&lt;/a&gt;].&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp import&lt;/code&gt;:
    &lt;ul&gt;
      &lt;li&gt;Indicates current file in WXR import progress indicator to communicate the total count is of the current file, not all files [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3270&quot;&gt;#3270&lt;/a&gt;].&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp media regenerate&lt;/code&gt;:
    &lt;ul&gt;
      &lt;li&gt;Adds a simple progress indicator [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3407&quot;&gt;#3407&lt;/a&gt;].&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp option list&lt;/code&gt;:
    &lt;ul&gt;
      &lt;li&gt;Adds &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--no-transients&lt;/code&gt; flag to ignore transients [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3452&quot;&gt;#3452&lt;/a&gt;].&lt;/li&gt;
      &lt;li&gt;Adds &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--exclude=&amp;lt;exclude&amp;gt;&lt;/code&gt; argument to list options excluding a specific pattern [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3455&quot;&gt;#3455&lt;/a&gt;].&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp package install&lt;/code&gt;
    &lt;ul&gt;
      &lt;li&gt;Displays package dependency details when installing a package with a dependency [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3418&quot;&gt;#3418&lt;/a&gt;, &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3425&quot;&gt;#3425&lt;/a&gt;].&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp package uninstall&lt;/code&gt;
    &lt;ul&gt;
      &lt;li&gt;Removes a package’s dependencies when the package is removed [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3343&quot;&gt;#3343&lt;/a&gt;].&lt;/li&gt;
      &lt;li&gt;Properly assigns &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;$composer_backup&lt;/code&gt; when uninstalling [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3399&quot;&gt;#3399&lt;/a&gt;].&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp plugin install&lt;/code&gt;:
    &lt;ul&gt;
      &lt;li&gt;Removes branch names from directories created for Github-based ZIPs [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3314&quot;&gt;#3314&lt;/a&gt;, &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3451&quot;&gt;#3451&lt;/a&gt;].&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp scaffold plugin-tests&lt;/code&gt;:
    &lt;ul&gt;
      &lt;li&gt;Uses PHP version specific to Trusty on CircleCI [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3359&quot;&gt;#3359&lt;/a&gt;].&lt;/li&gt;
      &lt;li&gt;Uses correct default user for MySQL on CircleCI [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3457&quot;&gt;#3457&lt;/a&gt;].&lt;/li&gt;
      &lt;li&gt;Uses the latest version of PHPUnit on Travis, depending on PHP version [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3463&quot;&gt;#3463&lt;/a&gt;].&lt;/li&gt;
      &lt;li&gt;Adds WordPress Coding Standards to newly-scaffolded plugins [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3472&quot;&gt;#3472&lt;/a&gt;].&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp search-replace&lt;/code&gt;:
    &lt;ul&gt;
      &lt;li&gt;Ensures tables are quoted to support all permitted characters [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3318&quot;&gt;#3318&lt;/a&gt;].&lt;/li&gt;
      &lt;li&gt;Prevents error notice when &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;export_insert_size&lt;/code&gt; isn’t defined [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3357&quot;&gt;#3357&lt;/a&gt;].&lt;/li&gt;
      &lt;li&gt;Fails back to PHP if SQL triggers an error for some reason [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3387&quot;&gt;#3387&lt;/a&gt;].&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp server&lt;/code&gt;:
    &lt;ul&gt;
      &lt;li&gt;Supports passing a custom &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.ini&lt;/code&gt; file to configure the server [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3330&quot;&gt;#3330&lt;/a&gt;].&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp site create&lt;/code&gt;:
    &lt;ul&gt;
      &lt;li&gt;Use &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;get_blog_details()&lt;/code&gt; for the site URL when creating a new site to ensure the correct URL is displayed [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3416&quot;&gt;#3416&lt;/a&gt;].&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp site empty&lt;/code&gt;:
    &lt;ul&gt;
      &lt;li&gt;Ensures the entire uploads directory is empty [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3400&quot;&gt;#3400&lt;/a&gt;].&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp theme install&lt;/code&gt;:
    &lt;ul&gt;
      &lt;li&gt;Correctly installs parent theme when installing a child theme [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3301&quot;&gt;#3301&lt;/a&gt;].&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp transient&lt;/code&gt;:
    &lt;ul&gt;
      &lt;li&gt;Consolidates &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp transient delete-all&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp transient delete-expired&lt;/code&gt; to flags of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp transient delete&lt;/code&gt; [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3389&quot;&gt;#3389&lt;/a&gt;].&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp user create&lt;/code&gt;:
    &lt;ul&gt;
      &lt;li&gt;Prevents email notifications when users are created because email notifications should only be sent when &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--send-email&lt;/code&gt; is provided [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3331&quot;&gt;#3331&lt;/a&gt;].&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Framework enhancements:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Updates Composer-based dependencies to latest [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3257&quot;&gt;#3257&lt;/a&gt;, &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3429&quot;&gt;#3429&lt;/a&gt;, &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3460&quot;&gt;#3460&lt;/a&gt;, &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3468&quot;&gt;#3468&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Properly handles registering an instantiated object as a command [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3269&quot;&gt;#3269&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Splits the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ProcessRun&lt;/code&gt; class out to its own file [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3377&quot;&gt;#3377&lt;/a&gt;, &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3422&quot;&gt;#3422&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Permits running test suite with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;WP_VERSION&lt;/code&gt; env variable [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3383&quot;&gt;#3383&lt;/a&gt;, &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3392&quot;&gt;#3392&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Prevents error notice when using &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Utils\get_named_sem_ver()&lt;/code&gt; with WP versions [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3404&quot;&gt;#3404&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Fixes fatal error for failed early database connection by handling &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;dead_db()&lt;/code&gt; error on &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;nocache_headers&lt;/code&gt; filter [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3440&quot;&gt;#3440&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Assigns a default &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;$_SERVER[&apos;SERVER_NAME&apos;]&lt;/code&gt; to prevent uncaught exception when &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp_mail()&lt;/code&gt; is used [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3449&quot;&gt;#3449&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Ignores &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;url:&lt;/code&gt; in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp-cli.yml&lt;/code&gt; when alias is used, because aliases completely override user, url, path, ssh, and http [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3450&quot;&gt;#3450&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Warns when &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;WP_CLI::launch()&lt;/code&gt; ends up with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;return_code=-1&lt;/code&gt;, which could be caused by a custom compiled version of PHP that uses the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--enable-sigchild&lt;/code&gt; option [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3458&quot;&gt;#3458&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Provides more verbosity in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp_die()&lt;/code&gt; handler to give the end user more detail when a database connection fails [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3459&quot;&gt;#3459&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Supports passing arguments to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;WP_CLI::do_hook()&lt;/code&gt; [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3470&quot;&gt;#3470&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Logs the current alias when executing an alias group [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3471&quot;&gt;#3471&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Only checks &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;options&lt;/code&gt; for a positional argument when a value is present [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3481&quot;&gt;#3481&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Variety of bash completion improvements [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3490&quot;&gt;#3490&lt;/a&gt;, &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3491&quot;&gt;#3491&lt;/a&gt;, &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3492&quot;&gt;#3492&lt;/a&gt;].&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Bug fixes across the board:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Defines all requisite dependencies for PHP 7 on Debian-based systems [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3208&quot;&gt;#3208&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Ensures &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;site --site_id= -&amp;gt; site --network_id=&lt;/code&gt; backwards compat shim only affects &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp site create&lt;/code&gt; [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3227&quot;&gt;#3227&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Catches exceptions thrown by &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;RecursiveDirectoryIterator&lt;/code&gt; when verifying core checksums [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3266&quot;&gt;#3266&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Passes slashed data in meta commands [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3274&quot;&gt;#3274&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Ensures appropriate WP-CLI package index URL is used in the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;composer.json&lt;/code&gt; [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3276&quot;&gt;#3276&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Corrects reference of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;WP_CLI&lt;/code&gt; to use global namespace in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;WP_CLI\Utils\get_temp_dir()&lt;/code&gt; [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3369&quot;&gt;#3369&lt;/a&gt;].&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Contributors to this release (pull requests, documentation, and package authors): &lt;a href=&quot;https://github.com/2ndkauboy&quot;&gt;2ndkauboy&lt;/a&gt;, &lt;a href=&quot;https://github.com/aaemnnosttv&quot;&gt;aaemnnosttv&lt;/a&gt;, &lt;a href=&quot;https://github.com/alessandrotesoro&quot;&gt;alessandrotesoro&lt;/a&gt;, &lt;a href=&quot;https://github.com/anhskohbo&quot;&gt;anhskohbo&lt;/a&gt;, &lt;a href=&quot;https://github.com/balbuf&quot;&gt;balbuf&lt;/a&gt;, &lt;a href=&quot;https://github.com/BeAPI&quot;&gt;BeAPI&lt;/a&gt;, &lt;a href=&quot;https://github.com/binarygary&quot;&gt;binarygary&lt;/a&gt;, &lt;a href=&quot;https://github.com/bradp&quot;&gt;bradp&lt;/a&gt;, &lt;a href=&quot;https://github.com/brightoak&quot;&gt;brightoak&lt;/a&gt;, &lt;a href=&quot;https://github.com/danielbachhuber&quot;&gt;danielbachhuber&lt;/a&gt;, &lt;a href=&quot;https://github.com/danilomaccioni&quot;&gt;danilomaccioni&lt;/a&gt;, &lt;a href=&quot;https://github.com/diggy&quot;&gt;diggy&lt;/a&gt;, &lt;a href=&quot;https://github.com/getshifter&quot;&gt;getshifter&lt;/a&gt;, &lt;a href=&quot;https://github.com/eriktorsner&quot;&gt;eriktorsner&lt;/a&gt;, &lt;a href=&quot;https://github.com/ernilambar&quot;&gt;ernilambar&lt;/a&gt;, &lt;a href=&quot;https://github.com/fisele&quot;&gt;fisele&lt;/a&gt;, &lt;a href=&quot;https://github.com/grappler&quot;&gt;grappler&lt;/a&gt;, &lt;a href=&quot;https://github.com/guillaumemolter&quot;&gt;guillaumemolter&lt;/a&gt;, &lt;a href=&quot;https://github.com/iandunn&quot;&gt;iandunn&lt;/a&gt;, &lt;a href=&quot;https://github.com/johnbillion&quot;&gt;johnbillion&lt;/a&gt;, &lt;a href=&quot;https://github.com/jorgeatorres&quot;&gt;jorgeatorres&lt;/a&gt;, &lt;a href=&quot;https://github.com/kouratoras&quot;&gt;kouratoras&lt;/a&gt;, &lt;a href=&quot;https://github.com/markri&quot;&gt;markri&lt;/a&gt;, &lt;a href=&quot;https://github.com/mattgrshaw&quot;&gt;mattgrshaw&lt;/a&gt;, &lt;a href=&quot;https://github.com/miya0001&quot;&gt;miya0001&lt;/a&gt;, &lt;a href=&quot;https://github.com/mustafauysal&quot;&gt;mustafauysal&lt;/a&gt;, &lt;a href=&quot;https://github.com/nyordanov&quot;&gt;nyordanov&lt;/a&gt;, &lt;a href=&quot;https://github.com/ocean90&quot;&gt;ocean90&lt;/a&gt;, &lt;a href=&quot;https://github.com/petenelson&quot;&gt;petenelson&lt;/a&gt;, &lt;a href=&quot;https://github.com/polevaultweb&quot;&gt;polevaultweb&lt;/a&gt;, &lt;a href=&quot;https://github.com/pressbooks&quot;&gt;pressbooks&lt;/a&gt;, &lt;a href=&quot;https://github.com/rahulsprajapati&quot;&gt;rahulsprajapati&lt;/a&gt;, &lt;a href=&quot;https://github.com/runcommand&quot;&gt;runcommand&lt;/a&gt;, &lt;a href=&quot;https://github.com/rxnlabs&quot;&gt;rxnlabs&lt;/a&gt;, &lt;a href=&quot;https://github.com/shulard&quot;&gt;shulard&lt;/a&gt;, &lt;a href=&quot;https://github.com/swissspidy&quot;&gt;swissspidy&lt;/a&gt;, &lt;a href=&quot;https://github.com/szepeviktor&quot;&gt;szepeviktor&lt;/a&gt;, &lt;a href=&quot;https://github.com/taianunes&quot;&gt;taianunes&lt;/a&gt;, &lt;a href=&quot;https://github.com/tnorthcutt&quot;&gt;tnorthcutt&lt;/a&gt;, &lt;a href=&quot;https://github.com/trendwerk&quot;&gt;trendwerk&lt;/a&gt;, &lt;a href=&quot;https://github.com/trepmal&quot;&gt;trepmal&lt;/a&gt;, &lt;a href=&quot;https://github.com/veganista&quot;&gt;veganista&lt;/a&gt;, &lt;a href=&quot;https://github.com/welaika&quot;&gt;welaika&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can browse the full list of &lt;a href=&quot;https://github.com/wp-cli/wp-cli/issues?q=milestone%3A0.25.0+is%3Aclosed&quot;&gt;resolved issues&lt;/a&gt; on GitHub.&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<id>https://wp-cli.org/blog/remaining-releases-2016</id>
		<link type="text/html" rel="alternate" href="https://wp-cli.org/blog/remaining-releases-2016.html"/>
		<title>Two more major releases in 2016</title>
		<updated>2016-08-16T00:00:00+00:00</updated>
		<author>
			<name>scribu</name>
			<uri>https://wp-cli.org</uri>
		</author>
		<content type="html">&lt;p&gt;Just a heads up there will be two more major releases in 2016:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;v0.25.0 will be released on Tuesday, October 25th.&lt;/li&gt;
  &lt;li&gt;v1.0.0 will be released on Tuesday, November 29th.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Want to help out? We’ll be focusing on framework refinement; in particular, there are a &lt;a href=&quot;https://github.com/wp-cli/wp-cli/issues?q=is%3Aopen+is%3Aissue+label%3Acommand%3Apackage&quot;&gt;number of improvements that can be made&lt;/a&gt; to the package management experience.&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<id>https://wp-cli.org/blog/version-0.24.1</id>
		<link type="text/html" rel="alternate" href="https://wp-cli.org/blog/version-0.24.1.html"/>
		<title>Version 0.24.1 released</title>
		<updated>2016-08-09T00:00:00+00:00</updated>
		<author>
			<name>scribu</name>
			<uri>https://wp-cli.org</uri>
		</author>
		<content type="html">&lt;p&gt;Curious as to why you’re getting a warning message when updating an option? Or why &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--skip-plugins=&amp;lt;plugin-slug&amp;gt;&lt;/code&gt; skips all of your network-activated plugins?&lt;/p&gt;

&lt;p&gt;These two bugs, regressions from v0.24.0, are fixed in v0.24.1.&lt;/p&gt;

&lt;p&gt;You can browse the full list of &lt;a href=&quot;https://github.com/wp-cli/wp-cli/issues?q=is%3Aclosed+milestone%3A0.24.1&quot;&gt;resolved issues&lt;/a&gt; on GitHub.&lt;/p&gt;

&lt;p&gt;Contributors to this release: &lt;a href=&quot;https://github.com/danielbachhuber&quot;&gt;danielbachhuber&lt;/a&gt;&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<id>https://wp-cli.org/blog/support-policy</id>
		<link type="text/html" rel="alternate" href="https://wp-cli.org/blog/support-policy.html"/>
		<title>Support policy updates</title>
		<updated>2016-08-09T00:00:00+00:00</updated>
		<author>
			<name>scribu</name>
			<uri>https://wp-cli.org</uri>
		</author>
		<content type="html">&lt;p&gt;To help keep the maintenance burden manageable by volunteers, our support policies have changed: Github issues are now reserved for bug reports and enhancements of existing commands; they are no longer a venue for general support questions.&lt;/p&gt;

&lt;p&gt;Have a question about something related to WP-CLI? You might find an answer in one of the following resources:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://wp-cli.org/docs/common-issues/&quot;&gt;Common issues and their fixes&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://wp-cli.org/docs/&quot;&gt;Documentation portal&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/wp-cli/wp-cli/issues?utf8=%E2%9C%93&amp;amp;q=is%3Aissue&quot;&gt;Open or closed issues on GitHub&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://runcommand.io/excerpts/&quot;&gt;runcommand Excerpts&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://wordpress.stackexchange.com/questions/tagged/wp-cli&quot;&gt;WordPress StackExchange forums&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you can’t find your answer at one of those links, join the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;#cli&lt;/code&gt; channel on the &lt;a href=&quot;https://make.wordpress.org/chat/&quot;&gt;WordPress.org Slack organization&lt;/a&gt; to see if a community member might have an answer for you. Professional users may also consider &lt;a href=&quot;https://runcommand.io/&quot;&gt;runcommand&lt;/a&gt; for premium support.&lt;/p&gt;

&lt;p&gt;Using WP-CLI professionally? We encourage you to purchase support from a &lt;a href=&quot;https://github.com/wp-cli/wp-cli/graphs/contributors&quot;&gt;regular WP-CLI contributor&lt;/a&gt;. Libre != gratis; the open source license grants you the freedom to use and modify, but not commitments of other people’s time. Participating responsibly in the economic ecosystem around an open source tool you depend upon helps to ensure the long-term health of the project.&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<id>https://wp-cli.org/blog/version-0.24.0</id>
		<link type="text/html" rel="alternate" href="https://wp-cli.org/blog/version-0.24.0.html"/>
		<title>Version 0.24.0 released</title>
		<updated>2016-07-27T00:00:00+00:00</updated>
		<author>
			<name>scribu</name>
			<uri>https://wp-cli.org</uri>
		</author>
		<content type="html">&lt;p&gt;As I &lt;a href=&quot;https://runcommand.io/2016/06/26/my-condolences-youre-now-the-maintainer-of-a-popular-open-source-project/&quot;&gt;mentioned in my WordCamp Europe talk&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Just like WordPress has plugins, the future of WP-CLI is packages of commands. For this future, I’m trying to proactively solve the problems WordPress has with plugins:&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;Where WordPress plugins are considered second-class to what’s included in core, I’d like WP-CLI packages to be considered first-class citizens amongst the commands in WP-CLI.&lt;/li&gt;
    &lt;li&gt;All too often, WordPress plugins have just one author. I’d like for each WP-CLI package to have two or three active maintainers.&lt;/li&gt;
  &lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;In this model, WP-CLI becomes the common interface, and supporting application layer, to a rich ecosystem of features. Doing so opens more frontiers for innovation, which leads to a greater selection of ideas to choose from. And because more people are involved in authoring packages, WP-CLI benefits from a larger contributor pool.&lt;/p&gt;

&lt;p&gt;With this model, my focus shifts towards designing a world-class experience for WP-CLI package authorship. Read through the &lt;a href=&quot;https://wp-cli.org/docs/commands-cookbook/&quot;&gt;commands cookbook&lt;/a&gt; for a thorough introduction to creating a WP-CLI command. Check out &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp scaffold package&lt;/code&gt; [&lt;a href=&quot;https://github.com/wp-cli/scaffold-package-command&quot;&gt;repo&lt;/a&gt;] for the easiest way to generate the boilerplate for your new WP-CLI package. Weigh in with your thoughts on &lt;a href=&quot;https://github.com/wp-cli/wp-cli/issues/3197&quot;&gt;how we should evolve the WP-CLI package index&lt;/a&gt;. And &lt;a href=&quot;https://twitter.com/runcommand&quot;&gt;follow @runcommand&lt;/a&gt; as I explore commercializing WP-CLI products and services — I hope that &lt;a href=&quot;https://runcommand.io&quot;&gt;runcommand&lt;/a&gt; is just the first of several WP-CLI-based businesses.&lt;/p&gt;

&lt;p&gt;One last ask: if you care about the WP-CLI release cycle, or dependencies and backwards compatibility, please &lt;a href=&quot;https://github.com/wp-cli/wp-cli/issues/3198&quot;&gt;let me know how often you think WP-CLI should be released&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Let’s get on with the show. Use &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp cli update&lt;/code&gt; to install v0.24.0, representing &lt;a href=&quot;https://github.com/wp-cli/wp-cli/issues?q=milestone%3A0.24.0+is%3Aclosed&quot;&gt;449 resolved issues and pull requests&lt;/a&gt;. Here’s what’s new.&lt;/p&gt;

&lt;h3 id=&quot;forked-wp-settingsphp-no-more&quot;&gt;Forked &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp-settings.php&lt;/code&gt; no more&lt;/h3&gt;

&lt;p&gt;Every application has a bootstrap file which loads all of the requisite utilities needed to serve a request. In WordPress, this is called &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp-settings.php&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Since v0.8.0 [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/261&quot;&gt;#261&lt;/a&gt;], WP-CLI has used a forked version of this bootstrap file, called &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp-settings-cli.php&lt;/code&gt;, to give it more control over the load process, providing features like &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--skip-plugins&lt;/code&gt;. But, because WordPress can require new files from &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp-settings.php&lt;/code&gt;, maintaining a forked version has the unfortunate side effect of WP-CLI &lt;a href=&quot;https://wp-cli.org/blog/versions-0.21.1-and-0.20.4.html&quot;&gt;regularly breaking when a new version of WordPress is released&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Thanks to coordinated changes in the WordPress project, WP-CLI v0.24.0 returns to loading &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp-settings.php&lt;/code&gt; for WordPress 4.6 and higher [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/issues/2278&quot;&gt;#2278&lt;/a&gt;]. Doing so should make WP-CLI more future proof against new versions of WordPress.&lt;/p&gt;

&lt;h3 id=&quot;more-documentation-in-more-languages&quot;&gt;More documentation in more languages&lt;/h3&gt;

&lt;p&gt;Thanks to tireless efforts by a solid group of contributors, WP-CLI now has more documentation in more languages.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Dozens of commands have improved examples for reference.&lt;/li&gt;
  &lt;li&gt;We have a new &lt;a href=&quot;https://github.com/wp-cli/wp-cli/blob/master/CONTRIBUTING.md&quot;&gt;CONTRIBUTING.md&lt;/a&gt;, which also has a &lt;a href=&quot;https://wp-cli.org/docs/contributing/&quot;&gt;page on the website&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;Our new &lt;a href=&quot;https://github.com/wp-cli/wp-cli/blob/master/README.md&quot;&gt;README.md&lt;/a&gt; powers the &lt;a href=&quot;https://wp-cli.org/&quot;&gt;WP-CLI homepage&lt;/a&gt;, and is available in &lt;a href=&quot;https://wp-cli.org/ja/&quot;&gt;Japanese&lt;/a&gt;, &lt;a href=&quot;https://wp-cli.org/fr/&quot;&gt;Français&lt;/a&gt;, &lt;a href=&quot;https://wp-cli.org/br/&quot;&gt;Português (Brasil)&lt;/a&gt;, &lt;a href=&quot;https://wp-cli.org/tr/&quot;&gt;Türkçe&lt;/a&gt;, &lt;a href=&quot;https://wp-cli.org/de/&quot;&gt;Deutsch&lt;/a&gt;, &lt;a href=&quot;https://wp-cli.org/ne/&quot;&gt;नेपाली&lt;/a&gt;, and &lt;a href=&quot;https://wp-cli.org/gr/&quot;&gt;ελληνικά&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Want to get involved with WP-CLI’s documentation? Check out the &lt;a href=&quot;https://github.com/wp-cli/wp-cli/issues?q=is%3Aopen+sort%3Aupdated-desc+label%3Ascope%3Adocumentation&quot;&gt;Github issues labeled “scope:documentation”&lt;/a&gt;.&lt;/p&gt;

&lt;h3 id=&quot;effortlessly-use-wp-cli-against-any-wordpress-install&quot;&gt;Effortlessly use WP-CLI against any WordPress install&lt;/h3&gt;

&lt;p&gt;WP-CLI aliases are shortcuts you register in your &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp-cli.yml&lt;/code&gt; or &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;config.yml&lt;/code&gt; to effortlessly run commands against any WordPress install.&lt;/p&gt;

&lt;p&gt;For instance, if I’m working locally on the runcommand theme, have registered a new rewrite rule, and need to flush rewrites inside my Vagrant-based virtual machine, I can run:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;$ wp @dev rewrite flush
Success: Rewrite rules flushed.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Then, once the code goes to production, I can run:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;$ wp @prod rewrite flush
Success: Rewrite rules flushed.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Look ma! No more SSH’ing into machines, changing directories, and generally spending a full minute to get to a given WordPress install.&lt;/p&gt;

&lt;p&gt;Additionally, alias groups let you register groups of aliases. If I want to run a command against both runcommand WordPress instances, I can use &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;@both&lt;/code&gt;:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;$ wp @both core check-update
Success: WordPress is at the latest version.
Success: WordPress is at the latest version.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Aliases can be registered in your project’s &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp-cli.yml&lt;/code&gt; file, or your user’s global &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;~/.wp-cli/config.yml&lt;/code&gt; file:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;@prod:
  ssh: runcommand@runcommand.io~/webapps/production
@dev:
  ssh: vagrant@192.168.50.10/srv/www/runcommand.dev
@both:
  - @prod
  - @dev
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;but-wait-whats-the-ssh-in-there&quot;&gt;But wait, what’s the ‘ssh’ in there?&lt;/h3&gt;

&lt;p&gt;WP-CLI now natively supports a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--ssh=&amp;lt;host&amp;gt;&lt;/code&gt; global parameter for running a command against a remote WordPress install. Many thanks to XWP and their community for paving the way with &lt;a href=&quot;https://github.com/xwp/wp-cli-ssh&quot;&gt;WP-CLI SSH&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Under the hood, WP-CLI proxies commands to the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ssh&lt;/code&gt; executable, which then passes them to WP-CLI installed on the remote machine. Your syntax for &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;-ssh=&amp;lt;host&amp;gt;&lt;/code&gt; can be any of the following:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Just the host (e.g. &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp --ssh=runcommand.io&lt;/code&gt;), which means the user will be inferred from your current system user, and the path will be the SSH user’s home directory.&lt;/li&gt;
  &lt;li&gt;The user and the host (e.g. &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp --ssh=runcommand@runcommand.io&lt;/code&gt;).&lt;/li&gt;
  &lt;li&gt;The user, the host, and the path to the WordPress install (e.g. &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp --ssh=runcommand@runcommand.io~/webapps/production&lt;/code&gt;). The path comes immediately after the TLD of the host.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Or, if you use a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;~/.ssh/config&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;host&amp;gt;&lt;/code&gt; can be any host alias stored in the SSH config (e.g. &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp --ssh=rc&lt;/code&gt; for me).&lt;/p&gt;

&lt;p&gt;Note you do need a copy of WP-CLI on the remote server, accessible as &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp&lt;/code&gt;. Futhermore, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--ssh=&amp;lt;host&amp;gt;&lt;/code&gt; won’t load your &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.bash_profile&lt;/code&gt; if you have a shell alias defined, or are extending the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;$PATH&lt;/code&gt; environment variable. If this affects you, &lt;a href=&quot;https://runcommand.io/to/wp-ssh-custom-path/&quot;&gt;here’s a more thorough explanation&lt;/a&gt; of how you can make &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp&lt;/code&gt; accessible.&lt;/p&gt;

&lt;p&gt;Relevant pull requests for aliases and SSH support include: &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/2755&quot;&gt;#2755&lt;/a&gt;, &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/2974&quot;&gt;#2974&lt;/a&gt;, &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3012&quot;&gt;#3012&lt;/a&gt;, &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3013&quot;&gt;#3013&lt;/a&gt;, &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3014&quot;&gt;#3014&lt;/a&gt;, &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3016&quot;&gt;#3016&lt;/a&gt;, &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3026&quot;&gt;#3026&lt;/a&gt;, &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3040&quot;&gt;#3040&lt;/a&gt;, &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3070&quot;&gt;#3070&lt;/a&gt;, &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3093&quot;&gt;#3093&lt;/a&gt;, &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3100&quot;&gt;#3100&lt;/a&gt;, &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3117&quot;&gt;#3117&lt;/a&gt;, &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3134&quot;&gt;#3134&lt;/a&gt;, &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3135&quot;&gt;#3135&lt;/a&gt;, &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3145&quot;&gt;#3145&lt;/a&gt;, &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3161&quot;&gt;#3161&lt;/a&gt;, &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3180&quot;&gt;#3180&lt;/a&gt;.&lt;/p&gt;

&lt;h3 id=&quot;everything-else-in-0240&quot;&gt;Everything else in 0.24.0&lt;/h3&gt;

&lt;p&gt;Command improvements:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Adds a newline when using the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp shell&lt;/code&gt; interactive prompt [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/2601&quot;&gt;#2601&lt;/a&gt;, &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/2659&quot;&gt;#2659&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Improves formatting of scaffolded plugins [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/2588&quot;&gt;#2588&lt;/a&gt;, &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/2598&quot;&gt;#2598&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Introduces &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--format=ids&lt;/code&gt; to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp (*) generate&lt;/code&gt; commands for easier chaining [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/2622&quot;&gt;2622&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Adds &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;term recount&lt;/code&gt; command for trigger a recount of taxonomy terms assigned to posts [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/2625&quot;&gt;#2625&lt;/a&gt;, &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/2628&quot;&gt;#2628&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Normalizes plugin / theme version numbers and header formatting when scaffolding [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/2644&quot;&gt;#2644&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Introduces &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--due-now&lt;/code&gt; to run all cron events due or overdue [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/2658&quot;&gt;#2658&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Permits &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp cron (event|schedule) list&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp option list&lt;/code&gt; to output a single field [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/2657&quot;&gt;#2657&lt;/a&gt;, &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3033&quot;&gt;#3033&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Adds field filtering in cron event list command [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/2674&quot;&gt;#2674&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Includes a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.distignore&lt;/code&gt; file when scaffolding a new plugin, to define files and folders excluded from distributions [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/2697&quot;&gt;#2697&lt;/a&gt;, &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/2756&quot;&gt;#2756&lt;/a&gt;, &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3042&quot;&gt;#3042&lt;/a&gt;, &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3088&quot;&gt;#3088&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Displays a summary success message when using &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--dry-run&lt;/code&gt; with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp search-replace&lt;/code&gt; [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/2740&quot;&gt;#2740&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Scaffolds plugin based on supported WordPress version [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/2751&quot;&gt;#2751&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Applies extended insert format to search-replace SQL export, for a substantial performance boost [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/2745&quot;&gt;#2745&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Warns with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp core verify-checksums&lt;/code&gt; when extra files exist in wp-admin or wp-includes [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/2638&quot;&gt;#2638&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Supports &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--format=&amp;lt;format&amp;gt;&lt;/code&gt; argument for &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp cap list&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp user list-caps&lt;/code&gt;, and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp super-admin list&lt;/code&gt; [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/2851&quot;&gt;#2851&lt;/a&gt;, &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/2961&quot;&gt;#2961&lt;/a&gt;, and &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/2949&quot;&gt;#2949&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Accepts multiple term IDs with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp term url&lt;/code&gt; [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/2865&quot;&gt;#2865&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Supports PHP 5.5 Memcache extension when checking cache type [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/2945&quot;&gt;#2945&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Uses &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;WP_CLI::warning()&lt;/code&gt; when a theme is already active, to make behavior more consistent with plugin activation [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3015&quot;&gt;#3015&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Adds &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--porcelain&lt;/code&gt; flag to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp db export&lt;/code&gt; [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3032&quot;&gt;#3032&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Allow the author field to be selected in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp theme list --fields=&amp;lt;field&amp;gt;&lt;/code&gt; [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3043&quot;&gt;#3043&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Introduces &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp widget reset &amp;lt;sidebar&amp;gt;&lt;/code&gt;, for removing all widgets from a sidebar and placing them in the inactive sidebar [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3077&quot;&gt;#3077&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Supports ‘trunk’ and ‘nightly’ version arguments for &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp core download&lt;/code&gt; [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3127&quot;&gt;#3127&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Adds verbosity to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp role reset&lt;/code&gt; [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3132&quot;&gt;#3132&lt;/a&gt;, &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3141&quot;&gt;#3141&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Adds &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--include-columns=&amp;lt;columns&amp;gt;&lt;/code&gt; argument to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp search-replace&lt;/code&gt; [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3142&quot;&gt;#3142&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Adds &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--ci=&amp;lt;provider&amp;gt;&lt;/code&gt; argument for &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp plugin test scaffold&lt;/code&gt;, which supports ‘travis’, ‘circle’, or ‘gitlab’ [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3144&quot;&gt;#3144&lt;/a&gt;, &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3163&quot;&gt;#3163&lt;/a&gt;].&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Framework enhancements:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Uses &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;is_callable()&lt;/code&gt; in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;WP_CLI::add_command()&lt;/code&gt;, instead of custom logic [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/2595&quot;&gt;#2595&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Introduces &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CompositeCommand-&amp;gt;remove_subcommand()&lt;/code&gt;, and modifies the bootstrap process to always register core commands [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/2629&quot;&gt;#2629&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Runs &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;before_invoke&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;after_invoke&lt;/code&gt; callbacks on subcommands, such that you can hook into immediately before and after subcommand execution [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/2647&quot;&gt;#2647&lt;/a&gt;, &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/2686&quot;&gt;#2686&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Introduces &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--debug=&amp;lt;group&amp;gt;&lt;/code&gt; to limit debug output to a particular group of debug calls [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/2648&quot;&gt;#2648&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Interacts with the Package Index over SSL [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/2720&quot;&gt;#2720&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Supports CSV with spaces when using &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--fields=&amp;lt;fields&amp;gt;&lt;/code&gt; [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/2750&quot;&gt;#2750&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Disables WP cron when &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ALTERNATE_WP_CRON&lt;/code&gt; is defined [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3118&quot;&gt;#3118&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Supports positional arguments defined in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp-cli.yml&lt;/code&gt; [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3120&quot;&gt;#3120&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Introduces &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;WP_CLI_STRICT_ARGS_MODE&lt;/code&gt; for dealing with arg ambiguity [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3128&quot;&gt;#3128&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Registers &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--http=&amp;lt;url&amp;gt;&lt;/code&gt; global parameter for use with RESTful WP-CLI [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3130&quot;&gt;#3130&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Introduces &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;WP_CLI::add_wp_hook()&lt;/code&gt;, for adding actions and filters when you don’t yet have access to actions and filters [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3195&quot;&gt;#3195&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Increases minimum supported PHP version to 5.3.29 [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/2672&quot;&gt;#2672&lt;/a&gt;].&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Bug fixes across the board:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Mitigates a DateTime fatal when instantiating the Composer object [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/2607&quot;&gt;#2607&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Squashes &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp export&lt;/code&gt; notice about &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;skip_comments&lt;/code&gt; [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/2620&quot;&gt;#2620&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Avoids regex to fix greedy parsing of parameter arguments [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/2587&quot;&gt;#2587&lt;/a&gt;, &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/2717&quot;&gt;#2717&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Ensures &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;default&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;options&lt;/code&gt; are used when supplied as arg args [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/2741&quot;&gt;#2741&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Considers image sizes missing when using &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp media regenerate&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;sizes&lt;/code&gt; doesn’t have registered sizes [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/2645&quot;&gt;#2645&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Catches &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;WP_Error&lt;/code&gt; from &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;translations_api()&lt;/code&gt; [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/2671&quot;&gt;#2671&lt;/a&gt;, &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3179&quot;&gt;#3179&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Doesn’t erroneously try to (de)activate plugins with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--all&lt;/code&gt; flag [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/2692&quot;&gt;#2692&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Defines &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;DOING_CRON&lt;/code&gt; before WordPress is loaded when running &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp cron event run&lt;/code&gt;  [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/2691&quot;&gt;#2691&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Only attempts to use &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;add_user_to_blog()&lt;/code&gt; on multisite when importing users from CSV [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/2690&quot;&gt;#2690&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Fixes listing user meta associated with a given username [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/2700&quot;&gt;#2700&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Differentiates output when moving comments to trash from output when deleting comments [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/2701&quot;&gt;#2701&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Prevents runaway memory usage from &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp export&lt;/code&gt; by clearing object cache after each file [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/2716&quot;&gt;#2716&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Ignores ambiguous empty plugin and theme slugs when installing [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/2715&quot;&gt;#2715&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Takes all digits when running commands that use the comment id [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/2714&quot;&gt;#2714&lt;/a&gt;, &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/2901&quot;&gt;#2901&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Only displays packages directory path when it exists [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/2773&quot;&gt;#2773&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Bails early in theme commands if theme is broken or has error [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/2798&quot;&gt;#2798&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Displays error if theme directory exists but is erred; permits force install [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/2821&quot;&gt;#2821&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Fixes PHP notice when installing a child theme, and running &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp theme status&lt;/code&gt; [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/2976&quot;&gt;#2976&lt;/a&gt;, &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3047&quot;&gt;#3047&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Ensures YAML formatter handles objects and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--fields=&amp;lt;fields&amp;gt;&lt;/code&gt; arg [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3060&quot;&gt;#3060&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Fixes exception in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp menu list&lt;/code&gt; if &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--format=ids&lt;/code&gt; [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3075&quot;&gt;#3075&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Populates recently active plugins list when deactivating a plugin [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3068&quot;&gt;#3068&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Respects &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp-cli.yml&lt;/code&gt; default values when applying argument defaults [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3111&quot;&gt;#3111&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Calls &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp_slash()&lt;/code&gt; on data passed to post, comment, term, and user commands [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3156&quot;&gt;#3156&lt;/a&gt;, &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3157&quot;&gt;#3157&lt;/a&gt;, &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3158&quot;&gt;#3158&lt;/a&gt;, &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3159&quot;&gt;#3159&lt;/a&gt;, &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3167&quot;&gt;#3167&lt;/a&gt;, &lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3173&quot;&gt;#3173&lt;/a&gt;].&lt;/li&gt;
  &lt;li&gt;Appropriately lists duplicated cron events [&lt;a href=&quot;https://github.com/wp-cli/wp-cli/pull/3175&quot;&gt;#3175&lt;/a&gt;].&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Contributors to this release: &lt;a href=&quot;https://github.com/andyexeter&quot;&gt;andyexeter&lt;/a&gt;, &lt;a href=&quot;https://github.com/bordoni&quot;&gt;bordoni&lt;/a&gt;, &lt;a href=&quot;https://github.com/danielbachhuber&quot;&gt;danielbachhuber&lt;/a&gt;, &lt;a href=&quot;https://github.com/diggy&quot;&gt;diggy&lt;/a&gt;, &lt;a href=&quot;https://github.com/enrico-sorcinelli&quot;&gt;enrico-sorcinelli&lt;/a&gt;, &lt;a href=&quot;https://github.com/ernilambar&quot;&gt;ernilambar&lt;/a&gt;, &lt;a href=&quot;https://github.com/geo4orce&quot;&gt;geo4orce&lt;/a&gt;, &lt;a href=&quot;https://github.com/gedex&quot;&gt;gedex&lt;/a&gt;, &lt;a href=&quot;https://github.com/gilbitron&quot;&gt;gilbitron&lt;/a&gt;, &lt;a href=&quot;https://github.com/hideokamoto&quot;&gt;hideokamoto&lt;/a&gt;, &lt;a href=&quot;https://github.com/apertureless&quot;&gt;apertureless&lt;/a&gt;, &lt;a href=&quot;https://github.com/JRGould&quot;&gt;JRGould&lt;/a&gt;, &lt;a href=&quot;https://github.com/johnbillion&quot;&gt;johnbillion&lt;/a&gt;, &lt;a href=&quot;https://github.com/kkoppenhaver&quot;&gt;kkoppenhaver&lt;/a&gt;, &lt;a href=&quot;https://github.com/kouratoras&quot;&gt;kouratoras&lt;/a&gt;, &lt;a href=&quot;https://github.com/markjaquith&quot;&gt;markjaquith&lt;/a&gt;, &lt;a href=&quot;https://github.com/miya0001&quot;&gt;miya0001&lt;/a&gt;, &lt;a href=&quot;https://github.com/mustafauysal&quot;&gt;mustafauysal&lt;/a&gt;, &lt;a href=&quot;https://github.com/NateWr&quot;&gt;NateWr&lt;/a&gt;, &lt;a href=&quot;https://github.com/Nikschavan&quot;&gt;Nikschavan&lt;/a&gt;, &lt;a href=&quot;https://github.com/ocean90&quot;&gt;ocean90&lt;/a&gt;, &lt;a href=&quot;https://github.com/petenelson&quot;&gt;petenelson&lt;/a&gt;, &lt;a href=&quot;https://github.com/phh&quot;&gt;phh&lt;/a&gt;, &lt;a href=&quot;https://github.com/rachelbaker&quot;&gt;rachelbaker&lt;/a&gt;, &lt;a href=&quot;https://github.com/PatelUtkarsh&quot;&gt;PatelUtkarsh&lt;/a&gt;, &lt;a href=&quot;https://github.com/PeterDaveHello&quot;&gt;PeterDaveHello&lt;/a&gt;, &lt;a href=&quot;https://github.com/robhenley&quot;&gt;robhenley&lt;/a&gt; &lt;a href=&quot;https://github.com/rodrigoprimo&quot;&gt;rodrigoprimo&lt;/a&gt;, &lt;a href=&quot;https://github.com/roelveldhuizen&quot;&gt;roelveldhuizen&lt;/a&gt;, &lt;a href=&quot;https://github.com/ShinichiNishikawa&quot;&gt;ShinichiNishikawa&lt;/a&gt;, &lt;a href=&quot;https://github.com/shulard&quot;&gt;shulard&lt;/a&gt;, &lt;a href=&quot;https://github.com/stephenharris&quot;&gt;stephenharris&lt;/a&gt;, &lt;a href=&quot;https://github.com/stevenkword&quot;&gt;stevenkword&lt;/a&gt;, &lt;a href=&quot;https://github.com/swissspidy&quot;&gt;swissspidy&lt;/a&gt;, &lt;a href=&quot;https://github.com/taianunes&quot;&gt;taianunes&lt;/a&gt;, &lt;a href=&quot;https://github.com/villevuor&quot;&gt;villevuor&lt;/a&gt;, &lt;a href=&quot;https://github.com/voldemortensen&quot;&gt;voldemortensen&lt;/a&gt;, &lt;a href=&quot;https://github.com/wesm87&quot;&gt;wesm87&lt;/a&gt;, &lt;a href=&quot;https://github.com/8bitodyssey&quot;&gt;8bitodyssey&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can browse the full list of &lt;a href=&quot;https://github.com/wp-cli/wp-cli/issues?q=milestone%3A0.24.0+is%3Aclosed&quot;&gt;resolved issues&lt;/a&gt; on GitHub.&lt;/p&gt;

&lt;p&gt;Back to work!&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<id>https://wp-cli.org/blog/restful-wp-cli-update-4</id>
		<link type="text/html" rel="alternate" href="https://wp-cli.org/blog/restful-wp-cli-update-4.html"/>
		<title>RESTful WP-CLI - The final update?</title>
		<updated>2016-07-20T00:00:00+00:00</updated>
		<author>
			<name>scribu</name>
			<uri>https://wp-cli.org</uri>
		</author>
		<content type="html">&lt;p&gt;Last November, I &lt;a href=&quot;https://www.kickstarter.com/projects/danielbachhuber/a-more-restful-wp-cli&quot;&gt;published a Kickstarter&lt;/a&gt;, and was completely blown away by the support. This month, the funding ran out, so I thought I’d post one last &lt;a href=&quot;https://github.com/wp-cli/restful&quot;&gt;RESTful WP-CLI&lt;/a&gt; update.&lt;/p&gt;

&lt;p&gt;Actually, the story doesn’t end here. I’m writing a massive retrospective post about using Kickstarter to fund open source, so keep an eye out for that. Also, WP-CLI v0.24.0 is due out a week from now, July 27th, and it’s looking to be the largest release ever. When you do a Kickstarter, it’s really just the beginning of something bigger.&lt;/p&gt;

&lt;p&gt;Enough with the superlatives, let’s dive into some new features. Remember: RESTful WP-CLI features require under the hood changes to WP-CLI. You’ll want to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp cli update --nightly&lt;/code&gt; to play with this new functionality locally. Once you’ve done so, you can &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp package install wp-cli/restful&lt;/code&gt; to install the latest.&lt;/p&gt;

&lt;h3 id=&quot;effortlessly-use-wp-cli-against-any-wordpress-install&quot;&gt;Effortlessly use WP-CLI against any WordPress install&lt;/h3&gt;

&lt;p&gt;WP-CLI aliases are shortcuts you register in your &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp-cli.yml&lt;/code&gt; or &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;config.yml&lt;/code&gt; to effortlessly run commands against any WordPress install.&lt;/p&gt;

&lt;p&gt;For instance, if I’m working locally on the runcommand theme, have registered a new rewrite rule, and need to flush rewrites inside my Vagrant-based virtual machine, I can run:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;$ wp @dev rewrite flush
Success: Rewrite rules flushed.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Then, once the code goes to production, I can run:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;$ wp @prod rewrite flush
Success: Rewrite rules flushed.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Look ma! No more SSH’ing into machines, changing directories, and generally spending a full minute to get to a given WordPress install.&lt;/p&gt;

&lt;p&gt;Additionally, alias groups let you register groups of aliases. If I want to run a command against both runcommand WordPress instances, I can use &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;@both&lt;/code&gt;:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;$ wp @both core check-update
Success: WordPress is at the latest version.
Success: WordPress is at the latest version.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Aliases can be registered in your project’s &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp-cli.yml&lt;/code&gt; file, or your user’s global &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;~/.wp-cli/config.yml&lt;/code&gt; file:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;@prod:
  ssh: runcommand@runcommand.io~/webapps/production
@dev:
  ssh: vagrant@192.168.50.10/srv/www/runcommand.dev
@both:
  - @prod
  - @dev
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;but-wait-whats-the-ssh-in-there&quot;&gt;But wait, what’s the ‘ssh’ in there?&lt;/h3&gt;

&lt;p&gt;WP-CLI now natively supports a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--ssh=&amp;lt;host&amp;gt;&lt;/code&gt; global parameter for running a command against a remote WordPress install. Many thanks to XWP and their community for paving the way with &lt;a href=&quot;https://github.com/xwp/wp-cli-ssh&quot;&gt;WP-CLI SSH&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Under the hood, WP-CLI proxies commands to the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ssh&lt;/code&gt; executable, which then passes them to WP-CLI installed on the remote machine. Your syntax for &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;-ssh=&amp;lt;host&amp;gt;&lt;/code&gt; can be any of the following:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Just the host (e.g. &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp --ssh=runcommand.io&lt;/code&gt;), which means the user will be inferred from your current system user, and the path will be the SSH user’s home directory.&lt;/li&gt;
  &lt;li&gt;The user and the host (e.g. &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp --ssh=runcommand@runcommand.io&lt;/code&gt;).&lt;/li&gt;
  &lt;li&gt;The user, the host, and the path to the WordPress install (e.g. &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp --ssh=runcommand@runcommand.io~/webapps/production&lt;/code&gt;). The path comes immediately after the TLD of the host.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Or, if you use a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;~/.ssh/config&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;host&amp;gt;&lt;/code&gt; can be any host alias stored in the SSH config (e.g. &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp --ssh=rc&lt;/code&gt; for me).&lt;/p&gt;

&lt;p&gt;Note you do need a copy of WP-CLI on the remote server, accessible as &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp&lt;/code&gt;. Futhermore, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--ssh=&amp;lt;host&amp;gt;&lt;/code&gt; won’t load your &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.bash_profile&lt;/code&gt; if you have a shell alias defined, or are extending the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;$PATH&lt;/code&gt; environment variable. If this affects you, &lt;a href=&quot;https://runcommand.io/to/wp-ssh-custom-path/&quot;&gt;here’s a more thorough explanation&lt;/a&gt; of how you can make &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp&lt;/code&gt; accessible.&lt;/p&gt;

&lt;h3 id=&quot;restful-wp-cli-v020-and-beyond&quot;&gt;RESTful WP-CLI v0.2.0 and beyond&lt;/h3&gt;

&lt;p&gt;Today marks the release of &lt;a href=&quot;https://github.com/wp-cli/restful&quot;&gt;RESTful WP-CLI&lt;/a&gt; v0.2.0. Among &lt;a href=&quot;https://github.com/wp-cli/restful/milestone/2?closed=1&quot;&gt;43 closed issues and pull requests&lt;/a&gt;, I’d like to highlight two new features.&lt;/p&gt;

&lt;p&gt;First, use &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp rest (post|user|comment|*) generate&lt;/code&gt; to create an arbitrary number of any resource:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;$ wp @wpdev rest post generate --count=50 --title=&quot;Test Post&quot;
Generating items  100% [==============================================] 0:01 / 0:02
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;When working on a site locally, you often need dummy content to work with. There are a myriad of ways custom post types can store data in the database though, so generating dummy content can be a painstaking process. Because the WP REST API represents a layer of abstraction between the client (e.g. WP-CLI in this case) and the database, it’s much easier to produce a general purpose content generation command.&lt;/p&gt;

&lt;p&gt;In the future, I’d love to see &lt;a href=&quot;https://github.com/wp-cli/restful/issues/69&quot;&gt;dummy data generated for each field based on the resource schema&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Second, use &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp rest (post|user|comment|*) diff&lt;/code&gt; to compare resources between two enviroments:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;# &quot;command&quot; isn&apos;t a typo in this example; &quot;command&quot; is a content type expressed through the WP REST API on runcommand.io
$ wp @dev rest command diff @prod find-unused-themes --fields=title
(-) http://runcommand.dev/api/ (+) https://runcommand.io/api/
  command:
  + title: find-unused-themes
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;When working with multiple WordPress environments, you may want to know how these environments differ. Because the WP REST API represents a higher-level abstraction on top of WordPress, computing the difference between two environments becomes a matter of fetching the data and producing a comparison.&lt;/p&gt;

&lt;p&gt;There are a &lt;a href=&quot;https://github.com/wp-cli/restful/issues?q=is%3Aissue+is%3Aopen+label%3Acommand%3Adiff&quot;&gt;number of ways the diff command could be improved&lt;/a&gt;, so consider this implementation to be the prototype.&lt;/p&gt;

&lt;p&gt;What’s next?&lt;/p&gt;

&lt;p&gt;More immediately, I’d like to start looking at how well RESTful WP-CLI works with plugins and themes. If you’ve written custom endpoints for the WP REST API, &lt;a href=&quot;https://github.com/wp-cli/restful/issues/85&quot;&gt;please weigh in on this Github issue&lt;/a&gt; so I can check it out.&lt;/p&gt;

&lt;p&gt;Ultimately, the goal is for &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp rest post&lt;/code&gt; to replace &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wp post&lt;/code&gt;, but there are many months between here and there. In this future where WP-CLI packages are first-class citizens amongst the commands in WP-CLI core, RESTful WP-CLI gets to serve as a testbed for figuring out how that actually works. We shall see, we shall see.&lt;/p&gt;

&lt;p&gt;As always, thanks for your support!&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<id>https://wp-cli.org/blog/future-wp-cli</id>
		<link type="text/html" rel="alternate" href="https://wp-cli.org/blog/future-wp-cli.html"/>
		<title>The future of WP-CLI</title>
		<updated>2016-06-23T00:00:00+00:00</updated>
		<author>
			<name>scribu</name>
			<uri>https://wp-cli.org</uri>
		</author>
		<content type="html">&lt;p&gt;As you might be aware, WP-CLI is an indispensable tool for many individuals and companies. We very much appreciate our community of users (although we have no idea how many of you there actually are), and want to ensure our relationship is strong for the years to come.&lt;/p&gt;

&lt;p&gt;Just over a month ago, I &lt;a href=&quot;https://github.com/wp-cli/wp-cli/issues/2743&quot;&gt;started a GitHub issue&lt;/a&gt; with this question:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;how do I reduce WP-CLI’s bus factor, and more generally lay a foundation for WP-CLI’s long-term organizational stability?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Although things seem to be going reasonably well now, I want to make sure we’re taking steps towards ensuring the long-term continuity of the project. Today, Andreas (WP-CLI’s founder) and I sat down for breakfast to discuss our options and how we want to proceed.&lt;/p&gt;

&lt;p&gt;Based on our conversation, we think the most important task is to reduce WP-CLI’s bus factor and onboard one or more additional maintainers to focus on a few non-code roles:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Documentation - Help ensure WP-CLI’s documentation is world-class.&lt;/li&gt;
  &lt;li&gt;Marketing / community management - Help spread the word about WP-CLI.&lt;/li&gt;
  &lt;li&gt;Support - Help WP-CLI users where they’re asking questions, let it be GitHub, WordPress.org, Stack Exchange, or elsewhere.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Contributions in these areas will always be welcome. Maintainership is a longer-term commitment to the project, focused on ongoing improvements to the specific area. WP-CLI expects its maintainers to commit a few hours per week to the project.&lt;/p&gt;

&lt;p&gt;At this time, we don’t have plans to establish a legal WP-CLI organization. We’ve decided the operational complexities exceed the benefits. While many companies and individuals want to donate to WP-CLI, introducing money always has the possibility of causing more harm than good. Instead, we’ll use Kickstarter to fund larger endeavors (e.g. a logo and website redesign) on an as-needed basis.&lt;/p&gt;

&lt;p&gt;If you would like to become a maintainer of WP-CLI in a non-code role, please email &lt;a href=&quot;mailto:info@wp-cli.org&quot;&gt;info@wp-cli.org&lt;/a&gt;. Expect to participate in a trial period of 2-3 months.&lt;/p&gt;

&lt;p&gt;We have a Mailchimp mailing list now too. &lt;a href=&quot;http://wp-cli.us13.list-manage.com/subscribe?u=0615e4d18f213891fc000adfd&amp;amp;id=8c61d7641e&quot;&gt;Sign up&lt;/a&gt; for email notifications of new versions and occasional announcements about the project.&lt;/p&gt;

&lt;p&gt;Thanks,&lt;/p&gt;

&lt;p&gt;Daniel Bachhuber, maintainer&lt;br /&gt;
Andreas Creten, founder&lt;/p&gt;
</content>
	</entry>
	

</feed>
