You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
v4 is a major refactor focusing on simpler, rsync-based deployments with better developer experience.
6
+
7
+
_Info:_ This release does not yet officially support Deployer v8, since it's not released yet.
8
+
9
+
### Breaking Changes
10
+
11
+
-**Architecture**: Now uses `current_path` as primary deployment target instead of symlinked `release_path`. Atomic
12
+
releases via symlinks are still possible but no longer the default.
13
+
-**PSR-4 structure**: Internal code reorganized with PSR-4 autoloading. Task files moved from `src/tasks/` to `tasks/`.
14
+
-**Removed `advanced` recipe**: Use `simple` or `bedrock` recipes instead.
15
+
-**Removed `:sync` tasks**: Use explicit `:push` and `:pull` tasks instead.
16
+
17
+
### Added
18
+
19
+
-**Packages system**: Unified way to manage custom themes, plugins, and mu-plugins with individual build scripts and
20
+
vendor configs.
21
+
- Older `themes`/`plugins`/`mu-plugins` are still available for backwards compatibility, but will be removed in a future
22
+
release.
23
+
-**Multisite support**: Set `wp/multisite` flag for proper URL replacements during database sync.
24
+
-**Language tasks**: New tasks for syncing language files (`languages:push`, `languages:pull`, `languages:backup:*`).
25
+
-**Localhost context**: Proper context handling for local operations with consistent path resolution.
26
+
-**New recipes**: `recipes/simple.php` for rsync deployments, `recipes/bedrock.php` for Bedrock projects.
27
+
-**Comprehensive tests**: Full integration and functional test suite.
28
+
29
+
### Changed
30
+
31
+
- Improved bin detection and auto-installation for `composer` and `wp-cli`.
32
+
- Enhanced database task logic for URL/path replacements.
33
+
- Better sudo prefix handling in binary execution.
34
+
35
+
### Fixed
36
+
37
+
- Database pulling and local importing.
38
+
- Recipe include paths when installed via composer.
39
+
- Path resolution in localhost operations.
40
+
41
+
### Upgrading from v3.x
42
+
43
+
1.**Set `current_path`**: Define where your WordPress root lives on each host (including localhost).
44
+
2.**Migrate to packages**: Move theme/plugin build config to the new `packages` configuration.
45
+
3.**Update recipe**: Switch from old recipes to `recipes/simple.php` or `recipes/bedrock.php`.
46
+
4.**Check examples**: Review `examples/simple/` or `examples/bedrock/` for updated patterns.
47
+
5.**Replace `:sync` tasks**: Update custom tasks using `:sync` to use `:push` or `:pull`.
48
+
3
49
## v3.1.0
4
50
5
51
- Added a `deploy:build_assets` step into the default deploy task to build theme assets on local.
6
-
This allows for easier overwriting this task (eg to build custom plugin assets) and fixes running duplicates on some configurations.
52
+
This allows for easier overwriting this task (eg to build custom plugin assets) and fixes running duplicates on some
53
+
configurations.
7
54
8
55
## v3.0.0
9
56
@@ -17,25 +64,33 @@ This allows for easier overwriting this task (eg to build custom plugin assets)
17
64
- Removed `document_root` - use `release_or_current_path` instead
18
65
- New/changed task names:
19
66
-`push_code` now is called `update_code` again for parity with PHPDeployer.
20
-
67
+
21
68
**Upgrading:**
22
-
- If you haven't upgraded to v2.0.0 yet, it's best to upgrade to 3.0.0 directly
23
-
- Have a look at the example files. Your deploy.php will get much smaller and require less configuration.
24
-
- Also the new version is more smiliar to PHPDeployers default common recipe.
69
+
70
+
- If you haven't upgraded to v2.0.0 yet, it's best to upgrade to 3.0.0 directly
71
+
- Have a look at the example files. Your deploy.php will get much smaller and require less configuration.
72
+
- Also the new version is more smiliar to PHPDeployers default common recipe.
25
73
26
74
## v2.0.0
27
75
28
76
- Updated from Deployer 6.x to 7.x
29
77
See [docs](https://deployer.org/docs/7.x/UPGRADE#upgrade-from-6x-to-7x) for more information.
30
78
Most notable changes:
31
-
- New format for yml-files which can now also include configuration.
32
-
- The `local` is not available any more. Instead `once` and `runLocally` should be used. For theme assets the example uses a function callback and the `on` helper to optionally run those build tasks on the local host.
33
-
- When deploying you can't select a host by name or stage anymore. Instead you have to use labels (eg a `stage` label). If you've used `dep deploy production` you now have to use `dep deploy stage=production` and set the stage label in your yml file.
79
+
- New format for yml-files which can now also include configuration.
80
+
- The `local` is not available any more. Instead `once` and `runLocally` should be used. For theme assets the example
81
+
uses a function callback and the `on` helper to optionally run those build tasks on the local host.
82
+
- When deploying you can't select a host by name or stage anymore. Instead you have to use labels (eg a `stage`
83
+
label). If you've used `dep deploy production` you now have to use `dep deploy stage=production` and set the stage
84
+
label in your yml file.
34
85
- Switched to a single base recipe which can be included and built upon. See `examples/deploy.php`.
35
-
- The new recipe and examples uses yml-files for project-specific configuration so the `deploy.php` is a dropin file and has no configuration in it.
86
+
- The new recipe and examples uses yml-files for project-specific configuration so the `deploy.php` is a dropin file and
87
+
has no configuration in it.
36
88
- PHP 8 compatibility.
37
89
- Fixes issues with rsync flags/options and `'`.
38
90
39
91
**Upgrading:**
40
-
If you've used the default recipe it's probably easiest to copy the new example `deploy.php` and update your yml-file with project-specific configuration. If you have added any other tasks/features to your `deploy.php` make sure you upgrade them too.
41
-
If you've used most of the core functions of this library or just the examples, the upgrade should only take a few minutes.
92
+
If you've used the default recipe it's probably easiest to copy the new example `deploy.php` and update your yml-file
93
+
with project-specific configuration. If you have added any other tasks/features to your `deploy.php` make sure you
94
+
upgrade them too.
95
+
If you've used most of the core functions of this library or just the examples, the upgrade should only take a few
0 commit comments