WP-CLI v1.0.0 发行说明

Wpcli logo

喔耶!

在过去的五年多时间里,数百名贡献者共同努力,为您带来了WP-CLI v1.0.0,我今天很自豪地宣布。

这个版本代表了很少有开源项目能够达到的成熟水平。它也标志着一个过渡时刻。WP-CLI 项目将把重心转向WP-CLI软件包生态系统,在那里它将通过构建和鼓励新功能作为独立软件包来推动创新。我们希望这种方法将促进更快的迭代和更多的创造力,并更可持续地分担维护负担。随着这些社区软件包的成功,我们将把它们的经验带回WP-CLI,同时修复错误和进行小的增强。

现在问题积压已经清零,我个人期待着为我的自己的WP-CLI创新工作室runcommand做更多的创意。

本周去费城吗?我将出席Post Status Publish和WCUS(尽管只到周五下午)。打个招呼吧 – 我在Twitter上是@danielbachhuber。

接下来,让我们继续…

介绍WP_CLI::runcommand()

WP_CLI::runcommand()(文档)是从WP-CLI命令中运行WP-CLI命令的新方法。就好像WP_CLI::run_command()WP_CLI::launch_self()成长起来、结婚并生下了完美的孩子。

使用WP_CLI::runcommand(),您可以:

  • 启动新的子进程(默认),或重用现有进程。
  • 可选择在错误时防止进程退出。
  • 返回由命令生成的标准输出(STDOUT),或所有命令执行细节(STDOUT、STDERR、return_code)作为对象。
  • 可选择将捕获的STDOUT解析为JSON。

相关的拉取请求包括:#3605,#3619,#3621。

重大变更:部分批量操作失败时使用返回码1

某些命令支持对多个资源执行相同的操作(例如,使用wp plugin update akismet hello更新两个或更多插件)。以前,如果其中一个操作失败(例如,plugin更新未能下载),WP-CLI将显示警告,继续执行,并以返回码0退出。从v1.0.0开始,当一个或多个操作失败时,WP-CLI将使用返回码1。

更多背景和原因,请参见此问题。

受影响的命令包括:

  • wp media (regenerate|import)
  • wp menu delete
  • wp menu item delete
  • wp plugin (install|activate|update|toggle|deactivate|uninstall|delete)
  • wp super-admin add
  • wp theme (install|update)
  • wp term delete
  • wp widget (delete|deactivate|reset)

在您的自定义WP-CLI命令中使用WP_CLIUtilsreport_batch_operation_results()(文档)更容易支持这种行为。

相关的拉取请求包括:#3584,#3583,#3582,#3585,#3586,#3588。

1.0.0中的其他一切

新命令:

  • wp package update – 更新所有已安装的WP-CLI软件包到它们的最新版本。
  • wp scaffold theme-tests – 为主题创建PHPUnit测试脚手架。

命令改进:

  • wp cache type:
    • 支持WP LCache作为缓存类型[#3504]。
  • wp cli aliases:
    • 为更容易访问添加alias子命令[#3512]。
  • wp cli update:
    • 在更新时验证发行哈希值[#3515]。
    • 在以根用户身份运行时不再需要--allow--root标志[#3576]。
  • wp core config:
    • 确保WordPress编码标准应用于生成的wp-config[#3496]。
  • wp core (install|multisite-install)
    • 默认使用随机生成的密码--admin_password=<password>,现在是可选的[#3535,#3573]。
  • wp core language (install|update):
    • 缓存语言包下载[#3595]。
  • wp core update:
    • CoreUpgrader类中使用全局命名空间的WP_Error[#3593]。
  • wp core update-db:
    • 为更新过程设置WP_INSTALLING常量[#3503]。
  • wp package install:
    • 在包composer.json中使用提供的版本,而不是“dev-master”[#3519]。
    • 向包管理器的composer.json添加WP-CLI版本,以优雅地处理WP-CLI版本约束[#3603]。
  • wp package list:
    • 指示有可用更新的包[#3611,#3612]。
  • wp post delete:
    • 在成功消息中正确指示revisions立即删除[#3524]。
  • wp scaffold plugin:
    • .gitignore.distignore中忽略分发归档文件[#3520]。
    • .distignore中忽略circle.yml.gitlab-ci.ymlbehat.yml[#3599]。
  • wp scaffold plugin-tests:
    • install-wp-tests.sh中检出数据目录,以防止在WP 4.7中出现提示[#3571]。

框架增强:

  • 将基于Composer的依赖项更新为最新版本[#3498,#3525]。
  • 引入--prompt=<assoc>以提示特定的关联参数,使用户避免在bash历史中暴露安全数据[#3531]。
  • 添加对Cygwin附带的PHP版本的支持[#3591]。

此版本的贡献者(拉取请求、文档和软件包作者):abea、anttiviljami、cobyan、danielbachhuber、diggy、ernilambar、franz-josef-kaiser、greatislander、itspriddle、miya0001、mmcev106、mopquill、ocean90、pj-dave、pkarjala、richardbuff、sommarnatt、szepeviktor、torounit

您可以在Github上查看已解决问题的完整列表。

文章目录



发表评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注