- Commands
quicksave list
,quicksave list-generate
,quicksave list-missing
,quicksave get
andquicksave get-generate
which power the improved Quicksave GUI. - Command
backup list-missing
to generate missing backup responses for GUI.
- Command
account sync
has been restored with compatibility fixes for Cobra - Improved
monitor
server caching handling - Improved remote script
update
with new WP-CLI--exec
parameter to quickly passdefine( 'WP_ADMIN', true );
before running updates. - Massive quicksave performance improvements. Generating quicksaves will now also create individual
commit-<hash>.json
files and alist.json
. Those cached responses are used to power a very fast GUI.
- Command
server
. Previously was a separate project named CaptainCore Dispatch which has now been merged here. - Command
configuration get
andconfiguration sync
- Integration for Fathom Analytics. Starting phase out support of Fathom Lite.
- Revamped Fathom tracker.js
- Delete accounts
- Replaced underlying Bash CLI framework with Cobra.
- Argument
--captain_id
is now--captain-id
- Moved command
backup
tobackup generate
and organized backup related commands tobackup download
,backup get
,backup get-generate
,backup list
andbackup list-generate
. - Moved command
quicksave
toquicksave generate
and organized quicksave related commands toquicksave file-diff
,quicksave generate
,quicksave rollback
,quicksave show-changes
,quicksave sync
andquicksave usage-update
. - Moved command
site environment
commands toenvironment
- Moved command
snapshot
tosnapshot generate
and organized snapshot related command tosnapshot fetch-link
. - Moved commands
copy-production-to-staging
andcopy-staging-to-production
tosite copy-to-production
andsite copy-to-staging
. - Command
site copy-to-staging
now uses a snapshot for improved deployments.
- Command
bulk
to provide standardized way of parallelizing commands. - Command
site environment list
- Commands
running get
,running list
andrunning listen
- Local scripts
process-add.php
,process-remove.php
,process-start.php
andprocess-track.php
- Restic infused backups
- Parallelizing to
captaincore backup
- Global argument
--progress
- Tracks process ID of parent CaptainCore command. Useful for following progress of bulk background commands.
- Remove runner commands
backup-runner
,ssh-runner
andsync-data-runner
. Implemented newbulk
command for running commands in parallel. - Handles Elementor database upgrades when running
update
script. - Improved
migrate
script. Better feedback and minor order correction when applying new table prefix. - Improved
launch
script to use the source domain and properly handle escaped URLs. - Improved site monitor notifications.
- Command
cli update
now performs CaptainCore database upgrades. - Store
scan-errors
with site instead of environment.
- Command
scan-errors
- Command
regenerate-thumbnails
- Shell environmental variables
- Support for dynamic /wp-content/ location
- Generate high quality home page thumbnails after running
capture
- Site monitor emails notifications now include site names and emojis π β
- Support custom /wp-content/ path in remote scripts
deploy-fathom
anddeploy-helper
- Improved remote script
apply-https
to handle more common url replacements. - CaptainCore Helper v0.2.4: WPS Hide Login plugin compatibility
- CaptainCore Helper v0.2.3: Disable WordPress 5.5 auto-update email notifications for themes and plugins
- CaptainCore Helper v0.2.2: Remove site health widget from dashboard
- CaptainCore Helper v0.2.1: Improves compatibility with custom login plugins
- Replaced Gowitness screenshots with ScreenshotsCloud
- Command
account sync
- Command
default-sync
- Command
site deploy-defaults
as replacement forsite deploy-recipes
,site deploy-settings
andsite deploy-users
- Local script
site-deploy-defaults.php
as replacement forsite-fetch-default-recipes.php
,site-fetch-default-settings.php
andsite-fetch-default-users.php
- Moved quicksave commands under
captaincore site
for better organization - Improved
update
with support for handling WooCommerce database upgrades - Improved
site prepare
as replacement forsite deploy-init
andsite deploy-configs
- Command
site sync
will now trigger global defaults to deploy with argument--update-extras
- Renamed command
view-changes
toshow-changes
- Removed unnecessary commands
- Removed commands
site deploy-init
,site deploy-configs
,site deploy-recipes
,site deploy-settings
andsite deploy-users
. Functionality combined and rolled intosite deploy-defaults
andsite prepare
- Removed command
login
. No longer needed as same functionality exists with deployed mu-plugincaptaincore-helper.php
- Removed argument
--skip-deployment
from commandsite prepare
- Remote script
reset-permissions
- Command
snapshot-fetch-download-link
- Command
site sync
as replacement forsite add
andsite update
- Argument
--skip-extras
tosite update
- File
lib/excludes
which defines list of files to exclude from backups. - Local script
site-run-updates.php
which handles WordPress updates fromcaptaincore update
- Command
snapshot
with new data format. - Improved fleet mode configs within local script
configs.php
. - Improved
site get
. Will now accept in addition to . - Improved
site delete
. Will now be triggered to run in the background. - Improved
captaincore backup
. WordPress core files are ignored. Database backups now directed to private folder and nameddatabase-backup.sql
. - Fix bug with remote script
plugins-zip
- Renamed
captaincore prep
tocaptaincore site prepare
- Renamed
captaincore rclone-configs
tocaptaincore site rclone-configs
- Removed legacy s3 support from
captaincore backup
- Removed commands
site update-field
,site add
andsite update
- Removed local scripts
site-update.php
andsite-update-field.php
- CaptainCore WordPress plugin to CLI's private WordPress data storage.
- Command
captaincore site update-field <site> <field> <value>
- Command
captaincore captain db-create
- Argument
--skip-screenshot
tosync-data
command. - Argument
--debug
toscreenshot
command. - Config
rclone_upload
andrclone_upload_uri
. Defines public bucket to use for capture images. - Local script
site-update-field.php
- Local scripts
site-fetch-default-recipes.php
,site-fetch-default-settings.php
andsite-fetch-default-users.php
as replacement for commandssite fetch-default-recipes
,site fetch-default-settings
andsite fetch-default-users
- CaptainCore CLI's private WordPress data structure has been significant improved. The CLI now uses the same data structure as the CaptainCore WordPress plugin v0.10.
- Commands
captaincore site list
andcaptaincore site get
to work with new data format. - Argument
--field=ids
changed to--field=site_id
oncaptaincore site list
- Improved
captaincore update
with built in cache clearing. - Improved
screenshot
with new gowitness argument--disable-db
- Improved local script
configs.php
. Now pulls in keys and values pairs dynamically. - Fix bug with
screenshot
when folder names contain spaces. - Updated local scripts
site-get.php
,site-list.php
,site-add.php
to use new data storage. - Command
captaincore capture
run automatically after a new quicksave.
- SSH key management with commands
key add
andkey delete
. - Command
site deploy-receipes
- Command
site fetch-default-receipes
- Arguments
--notes
and--user_id
tosnapshot
command. - Argument
--debug
tomonitor-check
command. - Argument
--debug
tossh-runner
command.
- SSH connections now hard fail with bad SSH key. Previously they timed out asking for a password.
- Fix bug with argument
--html
withquicksave-file-diff
- Improved pulling in site details
- Removed
site fetch-default-plugins
andsite deploy-plugins
as they are no longer needed.
- Command
recipe add
- Command
run
- Command
site fetch-settings
- Command
site deploy-settings
- Argument
--recipe=<recipe_id>
tossh
command. - Argument
--html
toquicksave-file-diff
command for safe HTML output. - Config
path_recipes
- Fix bug where certain password wouldn't add correctly to Rclone.
- Fix bug when running
--fleet
.
- Command
stats-generate
. Integrates with Fathom instance for automatic setup - Command
manifest-generate
. Generates manifest which tracks CaptainCore usage stats in manifest.json. In fleet mode this is generated per captain. - Command
quicksave-usage-update
. Generates usage info (count and storage) for quicksaves. - Local script
manifest-generate.php
- Config
captaincore_tracker_user
andcaptaincore_tracker_pass
for integration with Fathom instance - Environment support to
stats-deploy
- Fleet mode support to
rclone-configs
- Added fleet mode support to
monitor
- Improved
backup
to use rclone site name with fleet mode support - Improved local usage stats storage
- Improved argument compatibility with remote script
deploy-fathom
and commandstats-deploy
- Command
deploy-defaults
for bulk deploying default plugins/users.
- Reduced feedback are various commands. This helps keeps command output streaming to the websocket running smoothly.
- Various fixes in
copy-production-to-staging
,copy-staging-to-production
and scriptmigrate
. Will properly handlecaptain_id
. Fix paths for table_prefix checks. - Script
migrate
now automatically selects most recent modified .sql file for import.
- Command
ssh-runner
which adds parallelizing tossh
. - Config
rclone_screenshots
for automatic upload of screenshots. - Flag
--skip-remote
tosite deploy-init
.
- Replaced argument
--all
with a new flexible targeting argument using the @ symbol. To target use@all
,@production
or@staging
. These can be combined to filter sites further by chaining other modifiers after the target. For example@production.updates-on
will target production sites are marked for automatic updates and@all.offload-on
will target all sites which have offload enabled. - Added an ongoing errors section to site monitor email notifications.
- Added environment support to
deploy-plugins
and configured plugins to activate. - Added gallery and ngg folder to remote script
migrate
. - Added delay in
monitor
when retrying failed checks. Attempt to reduce false positives.
- Commands
site bare-add
,site bare-delete
andsite bare-update
to handle site management from other CaptainCore servers. These are used from CaptainCore Dispatch to relay site changes to all servers. - Argument
--filter
argument tosnapshot
which supports options: database, themes, plugins, uploads and everything-else. - Argument
--email-notify
tobackup
. Will no longer send emails by default.
- New visits format in
backup
,copy
andusage-update
- Fleet mode β΅β΅β΅ which enables CaptainCore to manage sites for mutiple captains (CaptainCore GUIs).
- Global argument
--fleet
which will loop any commands through all captains by--captain_id=<id>
. - Config
captaincore_fleet
to activate Fleet mode. Sites will be stored in folders percaptain_id
in format:<path>/<captain_id>/<site>_<site-id>/
- Configuration now stored in new
config.json
format. - Command
screenshot
andscreenshot-runner
. Takes screenshots using https://github.com/sensepost/gowitness and headless Chrome. - Command
site fetch-token
which replacesget token
php script. - Command
site deploy-configs
which replacesget configs
php script. - Argument
--direct
tossh
- Argument
--skip-remote
toquicksave
- Improvements to command
monitor
. New argumentretry
which defines attempts on failures. New data storagemonitor.json
for tracking sites when offline and come back online. New "notify at" times defined as 1 hour, 4 hour and 24 hour. Other failure checks will be ignored per failure. - Improvement to command
snapshot
performance. - Improvement to command
captaincore site deploy-init
. Now deploys helper mu-plugin plugin to both production and staging sites. - Fixes in remote script
migrate
. Properly handles themes/plugins with spaces in directory names. - Replaced configrations file
config
for newconfig.json
. - Internally bundled configs script with arguments script. Now script files only needs a single include:
source ${root_path}lib/arguments
. - Remove global arguments
--run-in-background=<job-id>
andmark-when-completed
- Replaced old commands
users
,users-json
,plugins-get
,deploy plugins
,deploy keys
,deploy plugins
,deploy users
anddeploy-init
with completely rewritten, simplified and organized commandssite deploy-init
,site deploy-keys
,site deploy-plugins
,site deploy-users
,site fetch-default-plugins
andsite fetch-default-users
. Replaced legacy mu-plugin injection method for proper WP-CLI over SSH deployment.
- Environment support to commands
quicksave
andquicksave-store
- Added multisite site count to remote script
fetch-site-data
- Command
captaincore stats-fetch
- Fetch stats from Fathom
- Breaking changes - Updated folder structure to include environments. New format:
<path>/<site>_<site-id>/<environment>/
. Each environment can now handlebackups
,snapshots
,quicksaves
andupdates
. - Command
captaincore site get
now returns a single environment (production by default). Examplecaptaincore site get <site>
andcaptaincore site get <site>-production
will return production details whereascaptaincore site get <site>-staging
will return staging. - Command
captaincore stats
now requires<site>
instead of domain. This allows stats to be pulled dynamically from various provider (WordPress.com and Fathom). - Improved error handling with command
captaincore site delete
. - Remote script
migrate
properly flushes permalinks and ignores SSL errors from source backups. - Bug fix where certain theme updates were missed due to duplicate json file name.
- Argument
--urls
tocaptaincore monitor
- Multisite support to remote script
deploy-fathom
- Improvements to
captaincore monitor-check
- Reversed git compare with
quicksave-file-diff
- Removed argument --skip-uploads from
copy-production-to-staging
andcopy-staging-to-production
. Now always skips uploads and syncs them incrementially using rclone. - Install matching version of WordPress core when using
copy-production-to-staging
andcopy-staging-to-production
.
- Bug fix with command
plugins-get
- Local script
monitor-fetch-errors-and-clean
- Remote script
deploy-helper
. Deploys a must-use helper plugin for CaptainCore. Initial release include quick login support for CaptainCore GUI. - Command
captaincore cli backup
. Backups current CaptainCore cli configs to remote. - Config
rclone_cli_backup
which configures where to store CaptainCore cli backups. - Argument
--updates-enabled
tocaptaincore update
- Argument
--page
tocaptaincore monitor
- Bug fix to resolve inconsistent arguments with remote scripts over SSH.
- Consistent sha-bangs on bash script files.
- Improved local script
monitor-generate-email
- Reset file permissions.
- Functionality to remote script
migrate
. Files from zip now extract within a new timestamped folder. Supports moving non-default root level files and folders. Supports moving blogs.dir folder for legacy multisite networks. Better feedback while running. Reapplies search privacy settings. Better wp-config.php handling. - Config
captaincore_branding_slug
. Used when generating stats mu-plugin. - Config
captaincore_tracker
for running a Fathom Analytics instance. Used when generating stats mu-plugin.
- Improved staging and production deploys. Now uses new
migrate
remote script. - Improvements for
captaincore ssh
. Now checks and fails properly for staging sites which do not exists. Bug fix when sending arguments with spaces to remote script. - Make sure database export is secured when running
captaincore backup
- Bug fix causing files within Kinsta cache plugin from being excluded during Quicksaves.
- Bug fix when uploading local zip with
captaincore store-snapshot
- Bug fix with
captaincore util git-permissions-reset
Only process a max of 1000 files per run.
- Command
captaincore multisite-extract-subsite
. Helps extract subsite from a Multisite network - Concurrency to
captaincore sync-data
- Command
captaincore sync-data-runner
for concurrency support
- Run
captaincore update
with WP_ADMIN set true for increased compatibility. - Deactivate
wp-rocket
when usingcopy-production-to-staging
- Argument
<site>
and<plugin>...
to commandplugins-zip
- Configs
captaincore_branding_name
,captaincore_branding_title
,captaincore_branding_author
,captaincore_branding_author_uri
,captaincore_server
,WPCOM_API_KEY
,GF_LICENSE_KEY
andACF_PRO_KEY
toconfig
file
- Command
captaincore plugins-zip
now handled through single SSH request. - Command
captaincore cli update
now pulls via git. - Command
captaincore backup
now using rclone link sharing rather then separate script. - When doing a
wp search-replace
always use argument--report-changed-only
- Revised
readme.md
andconfig.sample
documentation. - Renamed directory
lib/php
tolib/local-scripts
for better clarity and consistency. - Renamed remote scripts for applying https to
apply-https
andapply-https-with-www
. - Renamed
captaincore utils localwp
tocaptaincore local-create-wordpress
- Renamed
captaincore utils import-prod-db-locally
tocaptaincore local-db-import-from-production
- Bug fix with
captaincore upload
. - Bug fix remote script
fetch-site-data
when trimming whitespace. - Improved
readme.md
- Improved
captaincore get transferred-stats
regex matching. Accepts<file>
argument directly rather then--file=<file>
. - Improved
curl
requests. Now uses defined config$captaincore_gui
.
- Argument
--file
fromcaptaincore get transferred-stats
- Unused submodule dnsrecon
- Dropbox uploader script
- Command
captaincore monitor-check <site>
. Standalone script which allows checking of individual valid urls for parallelizing purposes. - Local script
monitor-error-count
- Local script
monitor-generator-email
- Emoji-Log for git commits.
- Improved remote script
fetch-site-data
. Results are now striped of whitespace. - Run
sync-data
during site prep - After
quicksave
backup quicksave to remote - Improvements to
captaincore monitor
. Added basic email reporting for errors and warnings. Add max time of 30 secs per check. Parallel now defaults to 20. Refactored code. Moved email generation and error count to PHP.
- Command
captaincore update-logs-store <site>
- Command
captaincore quicksave-store <site>
- Argument
--all
tocaptaincore ssh
- Remote script
rewrite-prep
- CaptainCore API moved to custom WordPress rest endpoint. All communication to API now require a
site_id
. - Renamed remote scripts
applyssl
andapplysslwithwww
toapplyhttps
andapplyhttpswithwww
- Renamed config
captaincore_wordpress_site
tocaptaincore_gui
- Remote script
migrate
- Only download if local file doesn't exist. - Command
captaincore update
now send update logs to CaptainCore API.
- Argument
<git_hash_previous>
fromcaptaincore quicksave-file-diff
. This is now automatically calculated. - Domain requirement from CaptainCore API. Will need determine site from included
site_id
.
- Global argument
--run-in-background=<job-id>
- Command
captaincore job-fetch <job-id>
- Command
captaincore login <site> <login> [--open]
- Argument
--updates-enabled
tocaptaincore site list
- Remote script
fetch-site-data
- Improved json output of
captaincore update-fetch
- Quicksaves now collects user data
- Improvements to
captaincore sync-data
. Added--all
argument. - Improvements to
--run-in-background
json output. - Bug Fix: Curl argument list too long. All curl requests to CaptanCore API now use JSON format via standard input.
- Command
captaincore open
. Opens one or more sites in browser. - Command
captaincore get config-from-api --field=<field>
for fetching dynamic info from GUI. - Configs
captaincore_admin_email
andrclone_logs
toconfig
file - Arguments
[--exclude-themes=<theme-names>]
and[--exclude-plugins=<plugin-names>]
tocaptaincore update
- Breaking changes - Updated folder structure to include site IDs. New format:
<path>/<site>_<site-id>/
. Updated remote path to match local subfolder format/backup
. Using a unique site ID allows sites to share the same name from different host providers. - Moved all action commands, not relating to site configs, from
captaincore site
to top levelcaptaincore
. Those includeactivate
,deactivate
,prep
,rclone-configs
andsync-data
. captaincore deploy plugins
now pulls standard set of plugins via WordPress APIcaptaincore quicksave
now sends git commit timestamp to GUI- Improved docs and added
--all
tocaptaincore monitor
- Moved command
get quicksave_file_diff
toquicksave-file-diff
- Moved command
get quicksave_changes
toquicksave-view-changes
- Moved command
deploy production-to-staging
tocopy-production-to-staging
- Moved command
deploy staging-to-production
tocopy-staging-to-production
- Moved command
get transferred_stats
toget transferred-stats
- Moved command
utils store-snapshot
tostore-snapshot
- Duplicate command
quicksave_status
- Commands
get log_stat
,get log_stats
andget server
- Command/library dnsrecon
- Command
captaincore size
. Calculates size of one or more sites. - Argument
--file=<file>
tocaptaincore rollback
. Handles rollback of individual Quicksave file. - Arguments
[--field=<field>]
and[--search-field=<field>]
tocaptaincore site search
- Updated
<site>
format to support a host provider<site>@<provider>
. The classic<site>
will continue to work however won't be very particular if multiple site names exist. This should make dealing with multiple host providers enjoyable. Here's an example coping a site between providerscaptaincore copy anchorhost@wpengine anchorhost@kinsta
. - Support for new provider field when running
captaincore site add
orcaptaincore site update
- Improvements for
captaincore site get
. Moved complex logic into PHP needed for supporting new<site>
with providers. - Improvements to Readme
- Improvements to
captaincore site search
. Will now return partial domain and address matches. - Fixed name output in debug message.
- MacOS compatibility fix for
captaincore quicksave
- Housecleaning commands.
- Global argument
--mark-when-completed
which adds json output after command finishes. Example:{"response":"Command finshed","timestamp":"2018-05-09-213121","runtime":"5"}
. Used to track background jobs initiated from CaptainCore GUI. - Command
captaincore copy <site-source> <site-destination> [--email=<email>]
- Arguments
--name
and--link
tocaptaincore site deactivate
for custom links on deactivated sites.
- Improvements to
captaincore ssh
. When using a--script
automatically pass the current site via--site
reducing the need to manually pass that info along. - Improved display of deactivated sites.
- Better output with remote script
launch
- Require arguments
--site
and--domain
on remote scriptlaunch
- Improved output of remote scripts
applyssl
,applysslwithwww
andlaunch
by only reporting changes.
- Argument
--site
from remote scriptlaunch
. This is now handled automatically.
- Command
captaincore update
for themes/plugin updates. Changes are logged in json files. - Command
captaincore update-fetch
to return update logs in json format - Command
db-restore
for pulling in a revision from Rclone remote. - Argument
[--all]
tocaptaincore backup
for backing up all sites - Argument
[--all]
tocaptaincore update
for updating all sites - Argument
[--all]
tocaptaincore quicksave
for quicksaving all sites - Arguments
[--all]
and[--skip-backup]
tocaptaincore snapshot
- Require
<site>
forcaptaincore site get
- Require
<site>
and<commit>
forcaptaincore rollback
- Output
site_id
tocaptaincore site get
. - Script
lib/arguments
to handle bash arguments removing duplication - Automatic removal of files from remote storage when removing sites.
- File permission reset to
captaincore cli update
- Breaking changes - Switched folder structure from domains to site names. Consolidated folders under sites rather then separate top level organization for backups and quicksaves. New format: "//backup", "//quicksave" and "//updates"
- Moved functionality of
captaincore generate snapshots
intocaptaincore snapshot
- Moved
users
andusers-json
commands to root level - Quicksave will no longer happen as part of the backup process
- Improved Quicksave functionality to run standalone without a full backup requirement.
- Fix for uploading snapshots to remote storage
- Fixed staging/production deployment emails
- Improved docs for
captaincore backup
,captaincore rollback
,captaincore update
andcaptaincore site get
- Improved sample config file
- Replaced
install(s)
tosite(s)
throughout docs and code - Replaced
[--skip-url-override with]
with[--update-urls]
in migrate script. Default behavior now keeps sources urls when migrating sites. - Excluded certain files when unzipping during migrations
- Generalized ssh script
update
. Will now pass through any arguments towp plugin update
andwp theme update
. - Revised definable
$path
. It's now used bybackup
,quicksave
andupdate
commands. - Renamed
lib/ssh/
tolib/remote-scripts
- Bundled bash cli command
captaincore cli uninstall
- Command
captaincore get stats
- Command
captaincore generate snapshots
- Command
captaincore cli update
- Support for flags with special characters with
captaincore ssh
- Renamed deployment commands to
captaincore deploy production-to-staging
captaincore deploy staging-to-production
- Renamed lib ssh_scripts folder to ssh
- Renamed email command from
dns email-lookup
todns email
- Renamed commands
dns bulk-domain
anddns bulk-nameserver
todns domain
anddns nameserver
- Renamed
captaincore generate plugins_zipped
tocaptaincore generate plugins-zipped
- Renamed to throughout usage documentation
- Renamed command
captaincore generate usage
tocaptaincore usage-update
- Moved and renamed command
captaincore get backup_status
tocaptaincore backup-status
- Moved and renamed command
captaincore generate plugins
tocaptaincore plugins-get
- Moved and renamed command
captaincore generate plugins-zipped
tocaptaincore plugins-zip
- Moved and renamed command
captaincore generate rclone
tocaptaincore site rclone-configs
- Moved command
captaincore generate localwp
tocaptaincore utils localwp
- Moved command
captaincore generate quicksave
tocaptaincore quicksave
- Deactivate 'login-recaptcha' plugin on staging deployment
- Cleaned up whitespace and added comments to SSL scripts
- Improvements to
migrate
script. Update table prefix if changed. Expand database search.
- Argument
[--skip-uploads]
tocaptaincore deploy production_to_staging_kinsta
- Command
captaincore dns ips-from-site-names <site> [<site>] [<site>] [--skip-follow]
- Command
captaincore dns email-lookup <site> [<site>] [<site>]...
- Updated
config.sample
. Remove trailing slash as it will cause issues with backups. - Improvements to
captaincore ssh [<site>] --script=db-convert-to-innodb
. Will count MyISAM tables and convert to InnoDB if needed. - Renamed underscores to dashes with
captaincore dns bulk-domain
andcaptaincore dns bulk-nameserver
- Fix for plugin deploys and plugin rollbacks
- Standardized arguments for migration script
captaincore ssh <site> --script=migrate --url=<backup-url> [--skip-url-override]
- Clean up and added comments to migrate script
- Deployable scripts
verify-google-analytics-takeover --verifycode=<verifycode> --uacode=<uacode> --email=<email>
,launch --install=<install> --domain=<domain>
andupdate
- Argument
[--skip-url-override]
to deployable scriptmigrate <backup-url>
- File support to
captaincore utils store-snapshot <url|file>
- Configurable variables rclone_archive, rclone_backup and rclone_snapshot to config file to manage Rclone remote locations.
- Fixed various typos in comments
- Argument support to deployable ssh scripts
- Renamed command store_snapshot to store-snapshot
- Improvements to
captaincore ssh --script
to allow for passing arguments. For examplecaptaincore ssh <site> --script=<script> --<arg1>=arg1 --<arg2>=<arg2>
- Improvements to migrate script. Wget progress now displays properly. Fix for db import with buggy plugins/themes.
- Exclude zip files from Quicksaves
- Subcommand
captaincore site search <search>
to find sites by domain - Argument
--all
tocaptaincore rollback <site> <commit>
to rollback entire quicksave - Arguments
[--filter=<theme|plugin|core>]
[--filter-slug=<slug>]
[--filter-version=<version>]
[--filter-status=<active|inactive|dropin|must-use>]
tocaptaincore site list
- File to remove duplicate quicksaves with
wp eval-file remove-duplicate-quicksaves.php
- Added installations steps to generate local WordPress site to
captaincore cli install
- Usage info for rollback command
captaincore rollback --help
- Argument
[--script-args=<script-args>]
tocaptaincore ssh --script
. Example:captaincore ssh <site> --script=migrate --script-args=<backup-url>
- Collection of scripts (applyssl, applysslwithwww, db-import, migrate-to-kinsta) to be used with
captaincore ssh --script
. - Argument
--field=ids
tocaptaincore site list
- Command
captaincore utils sync-with-master
to keep captaincore cli running locally in sync with master. To config addcaptaincore_master
andcaptaincore_master_port
vars to ~/.captaincore/config file. - Argument
[<site-id>]
tocaptaincore utils sync-with-master
which will force sync a particular site by id
- Deploy keys and generate token on
captaincore site update
. - Improvements to
captaincore utils store_snapshot
- If script doesn't exist attempt running locally.
captaincore ssh --script
- Updated usage info for ssh command
captaincore ssh --help
- Command
captaincore ssh
will attempt to retrieve unknown sites by triggeringcaptaincore utils sync-with-master
- Significant improvements to
migrate
script in order to work on both WP Engine and Kinsta.
- Arguments
[--plugin]
[--theme]
[--plugin-status=<plugin-status>]
and[--theme-status=<theme-status>]
have been removed and functionality moved to new filter arguments oncaptaincore site list
- Arguments
--command=<command>
and--script=<file>
tocaptaincore ssh
- Argument
--bash
tocaptaincore site get <install>
which allows bash to read credentials stored in CLI's own private WordPress storage. - New method for loading site credentials into bash
- Command
captaincore site sync-data [<install>]
- Command
captaincore monitor <site>
- Argument
[--parallel=<number-of-checks>]
tocaptaincore monitor
which controls how many health checks are run at the same time
- Site credentials are now stored in private WordPress site within CaptainCore CLI.
- Switched internal commands to use new ssh argument
--command=<command>
- Moved site functions from
config
command undersite
command - Renamed site command
new
toadd
for better consistency - Major rework on all
captaincore site
commands to use new WordPress storage. - Added argument
--field=<field>
tocaptaincore site list
- Fixed regex bug with ssh argument
--command
- Fixed backups for sites not running WordPress
- Support for ftp sites backups only
- Command
captaincore ssh-batch
and merged functionality intocaptaincore ssh
- Default docs for
captaincore cli install
- Command
captaincore site process
as it's no longer needed since switching over credential storage to WordPress. - Local text based
logins
file which previously was storing site credentials. - Command
captaincore get domains
as functionality has been merged withcaptaincore site list --field=domain
- Quicksave file diff command
captaincore get quicksave_file_diff <install> <git_hash_current> <git_hash_previous> <file>
- New command
captaincore deploy staging_to_production_kinsta <install> --email=<email>
- New command
captaincore ssh-batch <command>
- Argument
--email=<email>
tocaptaincore deploy production_to_staging_kinsta
captaincore deploy keys <install>
now deploys to Kinsta staging sites- Major performance increases to
captaincore deploy production_to_staging_kinsta
. Switch over to zip/extract wp-content folder instead of sftp sync. - Standardized site address PHP variable. All $ipAddress are now $address.
- Rollback command
captaincore rollback <install> <commit> [--plugin=<plugin>] [--theme=<theme>]
- Argument
--force
tocaptaincore generate quicksave
to manually force add even if no changes were made - Argument
--public
tocaptaincore upload <install>
which is used for the new rollback command - Get quicksave status command
captaincore get quicksave_status <install> <git_hash>
- URL encoding to curl commands
- Added Kinsta staging support to
captaincore upload
- Excluded unnecessary files for quicksave
*.log, *.log.txt and cache/
- Patch to work around WPE SSH WP-CLI username bug
- Curl now posts to CaptainCore API
- Updated header info for
captaincore
- Deploy ssh keys
captaincore deploy keys <install>
which is needed before using SSH/WP CLI on Kinsta sites. - Generate plugin zips for easy deployment
captaincore generate plugins_zipped
- Quicksave command
captaincore generate quicksave <install>
which captures nightly version numbers for plugins, themes and core. - Get quicksave changes command
captaincore get quicksave_changes <install> <git_hash>
- Simplified internals for
captaincore config new
- Upgraded deploy users to new format
- Rewrote
captaincore deploy plugins
to use SSH/WP-CLI - Deploy token using Anchor API
- Fix for stats during nightly backup
- Changed backup snapshots to use Zip format because non geeks don't know what tar files are
- Deploy to backup API
- Argument
--delete-after-snapshot
tocaptaincore snapshot
- Config process command
captaincore config process
which will safely update the logins only when needed - Generate rclone command
captaincore generate rclone <install>
which now imports staging credentials automatically. - Setup instructions to readme.md for installing rclone systemwide
- Generate usage command
captaincore generate usage
- Command for grabbing Quicksave changes from git repo
- Load bash config file dynamically
- Upgraded
captaincore config update
command to new format - Switch
captaincore config update
andcaptaincore backup
to use new generate rclone command - Delete command format is now
captaincore config delete --install=<install> --domain=<domain>
- Only make snapshot if domain for install is found
- Unnecessary delete.sh support file
- Bash variable $path_rclone
- Bulk domain lookup command
captaincore dns domain <domain>
- Bulk nameserver lookup command
captaincore dns nameserver <domain>
- File upload command
captaincore upload <install> <local-file>
- Config get command
captaincore config get <install> --field=<field>
- Local WordPress generator (MacOS + Valet required)
captaincore generate localwp <folder>
- DNSRecon
captaincore utils dnsrecon <domain>
seecaptaincore help utils dnsrecon
for setup configuration - CLI usage and help documentation
- Argument to snapshot
--skip-remote
- Tools for resetting file permissions within local git repo
- Database backup and
--skip-db
tocaptaincore backup [<install>]
- Renamed project to CaptainCore CLI
- Migrated to structured CLI using Bash CLI. See
captaincore help
for getting started. - Implemented Rclone v1.39 new
rclone config create
for adding/removing sites - Moved WordPress.com API to config file
- Old structure
~/Scripts/{Action}/{Task}.sh {installname}
- Lftp dependencies and replaced with Rclone
- Unnecessary .php and .sh extensions
- Initial release