Skip to content

v4.0.0

Choose a tag to compare

@gaambo gaambo released this 20 Mar 08:30
· 2 commits to master since this release
52e37ed

This release has been in the works for a long time. I've been using v4 on projects for nearly a year and it's working great!

v4 is a major version that adds a new packages system to support more custom code (multiple mu-plugins, plugins, themes), adds multisite support

Info: This release does not yet officially support Deployer v8, since it's not released yet. See #15

Key Changes

  • Uses current_path instead of symlinked release_path by default in the examples
  • Better Localhost Support: Proper context handling for local operations with consistent path resolution.
  • Multisite Support: Set wp/multisite flag for proper network-wide database URL replacements.
  • New Language Tasks: Tasks for syncing WordPress language files: languages:push, languages:pull, languages:sync, languages:backup:*
  • Code Quality: Autoloading, code-quality tools and test suite

New Packages System

Unified way to manage custom themes, plugins, and mu-plugins:

set('packages', [
    'custom-theme' => [
        'path' => '{{themes/dir}}/custom-theme',
        'assets' => true,
        'assets:build_script' => 'build',
        'vendors' => true,
    ],
]);

The old theme, plugin and mu-plugin tasks still exist and work. I'm planning to remove them in a future version. We recommend updating to the new package system.

New Recipes

  • recipes/simple.php - For standard rsync deployments
  • recipes/bedrock.php - For Roots Bedrock projects

⚠️ Breaking Changes

  1. current_path is now the primary deployment target
  2. Task file locations: Moved from src/tasks/ to tasks/
  3. Removed advanced recipe: Use simple or bedrock instead
  4. Removed :sync tasks: Use :push and :pull instead

Upgrading from v3.x

  1. Set current_path on all hosts (remote and localhost)
  2. Migrate to packages: Convert theme/plugin build configs to the new packages system. Optional, but recommended
  3. Update recipe: Switch to recipes/simple.php or recipes/bedrock.php
  4. Check examples: Review examples/simple/ or examples/bedrock/ for patterns
  5. Replace :sync tasks: Update any custom tasks using :sync to use :push or :pull

Documentation

See CHANGELOG.md for complete changes and README.md for updated documentation.