do/changelog.md

113 lines
9.5 KiB
Markdown
Raw Permalink Normal View History

2025-06-21 15:50:12 -04:00
# Changelog
2025-09-19 18:42:21 -04:00
## [1.4] - 2025-09-19
### 🚀 New Features
* **Automated Remote Site Snapshots `disembark`:** A powerful new command that uses browser automation (Playwright) to remotely log into a WordPress site, install and activate the Disembark Connector plugin, retrieve a connection token, and initiate a backup. It's a complete, hands-off solution for snapshotting a remote site without prior access.
* **Debug Mode for Browser Automation `--debug`:** The `disembark` command now includes a `--debug` flag to run the browser automation in a visible (headed) mode, making it easy to troubleshoot login or installation issues.
### ✨ Improvements
* **Selective Backups `backup --exclude`:** The `backup` command now accepts multiple `--exclude="<pattern>"` flags, allowing you to easily omit specific files or directories (like large cache folders) from the backup archive.
* **Script-Friendly Backups `backup --quiet`:** Added a `--quiet` flag to the `backup` command to suppress all informational output and print only the final backup URL, perfect for scripting and automation.
* **Contextual Performance Testing `find slow-plugins`:** The `find slow-plugins` command can now test performance against a specific front-end page render (e.g., `_do find slow-plugins /about-us`) instead of just the WP-CLI bootstrap, providing more relevant and accurate results for front-end slowdowns.
2025-07-10 06:42:08 -04:00
2025-08-16 20:39:36 -04:00
## [1.3] - 2025-08-16
2025-09-19 18:42:21 -04:00
### 🚀 New Features
2025-08-16 20:39:36 -04:00
2025-09-19 18:42:21 -04:00
* **Quick Archiving `zip`:** A new utility to create a zip archive of any specified folder. When run within a WordPress site, it provides a public URL for the generated archive, making it easy to share.
* **Plugin Cleanup `clean plugins`:** A new subcommand to find and delete all inactive plugins. It works safely on both single-site and multisite installations, only removing plugins that are not active anywhere in a network.
2025-08-16 20:39:36 -04:00
2025-09-19 18:42:21 -04:00
### ✨ Improvements
2025-08-16 20:39:36 -04:00
2025-09-19 18:42:21 -04:00
* **⚡️ High-Speed Image Conversion `convert-to-webp`:** The image conversion utility has been massively overhauled for performance and flexibility.
* It now accepts an optional folder path to convert images outside the default `wp-content/uploads` directory.
* Performance is dramatically improved by processing multiple images in parallel.
* The script now provides clearer feedback by indicating which image detection method (`identify` or a PHP fallback) is being used.
* **Smarter Naming `dump`:** The output file from the `dump` command is now intelligently named based on the source directory (e.g., `my-plugin-dump.txt`) for better organization.
2025-08-16 20:39:36 -04:00
2025-09-19 18:42:21 -04:00
### 🐛 Bug Fixes
2025-08-16 20:39:36 -04:00
2025-09-19 18:42:21 -04:00
* **Robust Image Handling `convert-to-webp`:** The command is now more reliable, as it verifies that an image file exists before attempting to process it, preventing errors from broken file paths.
2025-08-16 20:39:36 -04:00
2025-07-10 06:42:08 -04:00
## [1.2] - 2025-07-10
2025-09-19 18:42:21 -04:00
### 🚀 New Features
2025-07-10 06:42:08 -04:00
2025-09-19 18:42:21 -04:00
* **🏦 Secure Snapshot Vault `vault`:** A comprehensive suite of commands for managing secure, remote, full-site snapshots using Restic and Backblaze B2. Includes creating, listing, deleting, and browsing snapshots, as well as mounting the entire backup repository.
* **🔍 Advanced Diagnostics `find`:** Centralizes several diagnostic tools under a single powerful command.
* `find recent-files`: Finds recently modified files.
* `find slow-plugins`: Identifies plugins slowing down WP-CLI.
* `find hidden-plugins`: Detects active plugins hidden from the admin list.
* `find malware`: Scans for suspicious code and verifies file integrity.
2025-07-10 06:42:08 -04:00
* `find php-tags`: Scans for outdated PHP short tags.
2025-09-19 18:42:21 -04:00
* **🔌 Easy Plugin Installation `install`:** Simplifies installing common helper and premium plugins.
2025-07-10 06:42:08 -04:00
* `install kinsta-mu`: Installs the Kinsta Must-Use plugin.
* `install helper`: Installs the CaptainCore Helper plugin.
* `install events-calendar-pro`: Installs The Events Calendar Pro after prompting for a license.
2025-09-19 18:42:21 -04:00
* **New Standalone Utilities:**
* `https`: Applies HTTPS to all site URLs with an interactive prompt for `www` preference.
* `launch`: A dedicated command to launch a site, updating the URL from a dev to a live domain.
2025-07-10 06:42:08 -04:00
* `upgrade`: Allows the `_do` script to upgrade itself to the latest version.
* `email`: Provides an interactive prompt to send an email using `wp_mail` via WP-CLI.
2025-09-19 18:42:21 -04:00
* **⚙️ Database Prefix Changer `db change-prefix`:** Safely changes the database table prefix after automatically creating a backup.
### ✨ Improvements
* **New Command Flags:** Added several flags for non-interactive use and more control:
* `--all` for `convert-to-webp` to convert all images regardless of size.
* `--domain` for `launch` to specify the new domain for scripting.
2025-07-10 06:42:08 -04:00
* `--force` for `install kinsta-mu` to bypass the Kinsta environment check.
* `--output` for `vault snapshots` to provide a non-interactive list.
2025-09-19 18:42:21 -04:00
* **🛠️ Advanced Dependency Sideloading:** `_do` can now automatically download and use tools like `restic`, `git`, and `imagemagick` in a private directory if they aren't installed system-wide. The ImageMagick setup cleverly extracts the `identify` binary from an AppImage to avoid system installation and FUSE issues.
* **Reliable WebP Detection:** The `convert-to-webp` command no longer requires a system-installed `identify` command. It now uses the automatically sideloaded ImageMagick binary and includes a PHP fallback to reliably check if an image is already a WebP file.
* **Command Organization:** Refactored several commands into logical groups for better usability (e.g., `reset-wp` is now `reset wp`, `slow-plugins` is now `find slow-plugins`).
* **Private Directory Discovery:** The script is now much smarter at finding a writable private directory, checking WP-CLI configs, WPEngine paths, and common parent structures (`../private`) before falling back to the home directory.
* **Public Dump URL:** The `dump` command now generates a public URL for the created text file if run within a WordPress site.
2025-07-10 06:42:08 -04:00
2025-09-19 18:42:21 -04:00
### 🐛 Bug Fixes
2025-07-10 06:42:08 -04:00
2025-09-19 18:42:21 -04:00
* **Cross-Platform PHP Tag Scanning `php-tags`:** Rewrote the command to use a more portable `grep` syntax, ensuring it works correctly on systems like macOS where the `-P` flag is not available by default.
2025-07-10 06:42:08 -04:00
2025-09-19 18:42:21 -04:00
## [1.1] - 2025-06-21
2025-07-10 06:42:08 -04:00
2025-09-19 18:42:21 -04:00
### 🚀 New Features
2025-07-10 06:42:08 -04:00
2025-09-19 18:42:21 -04:00
* **💾 Checkpoint Management `checkpoint`:** A full suite to create, list, show, and revert WordPress installation checkpoints. Capture the state of your site's core, themes, and plugins and easily roll back changes.
* **🔄 Integrated Update Management `update`:** Streamlines the WordPress update process. `update all` automatically creates 'before' and 'after' checkpoints around the updates, logging all changes for easy review.
* **⏰ Cron Job Management `cron`:** Schedule any `_do` command to run at specific intervals. Includes commands to `enable`, `list`, `add`, `delete`, and `run` scheduled tasks.
* **🩺 WP-CLI Health Checker `wpcli`:** A new utility to diagnose issues with WP-CLI itself by identifying themes or plugins that cause warnings.
* **💥 Site Reset `reset-wp`:** A powerful command to reset a WordPress installation to its default state, reinstalling core and the latest default theme.
* **🧹 Advanced Cleaning `clean`:**
* `clean themes`: Deletes all inactive themes while preserving the latest default WordPress theme.
* `clean disk`: Launches an interactive disk usage analyzer to find and manage large files.
* **⚙️ Database Optimization `db optimize`:** A new command to convert tables to InnoDB, clean transients, and report the largest tables.
### ✨ Improvements
* **Command Structure:** Refactored commands for better organization. `backup-db` is now `db backup`, and `monitor` is now a subcommand with specific targets (`traffic`, `errors`, etc.).
* **🛠️ Automated Dependency Handling:** The script now automatically checks for, downloads, and installs missing dependencies like `gum`, `cwebp`, and `rclone` into a `~/private` directory.
* **🏗️ Development Workflow:** Added `compile.sh` and `watch.sh` scripts to streamline development by combining source files into a single distributable script automatically.
* **Flexible Migrations `migrate`:** Added an `--update-urls` flag to control URL replacement and improved temporary file handling.
* **File Exclusion `dump`:** The `dump` command was enhanced with an `-x` flag to exclude specific files or directories.
### 🐛 Bug Fixes
2025-06-21 15:50:12 -04:00
2025-09-19 18:42:21 -04:00
* **Migration File Handling:** The `migrate` function now handles cases where `wp-content` exists but contains no plugins or themes, preventing errors.
* **Dump Self-Exclusion:** The `dump` command now explicitly excludes its own output file to prevent it from being included in the dump.
2025-06-21 15:50:12 -04:00
## [1.0] - 2025-06-10
2025-09-19 18:42:21 -04:00
### 🎉 Initial Release
* **Full and Database Backups `backup`, `backup-db`**: Create full-site (files + DB) and database-only backups.
* **Real-time Traffic Monitoring `monitor`**: Watch server access logs in real-time with a summarized view of top hits.
* **Performance Profiling `slow-plugins`**: Identify WordPress plugins that slow down WP-CLI commands.
* **Image Optimization `convert-to-webp`**: Find and convert large JPG/PNG images to the modern WebP format.
* **Site Migration `migrate`**: Automate migrating a WordPress site from a backup URL or local file.
* **File Content Dumper `dump`**: Concatenate the contents of files matching a pattern into a single text file.
* **Database Autoload Checker `db-check-autoload`**: Check the size of autoloaded options in the database.
* **Permission Resetter `reset-permissions`**: Reset file and folder permissions to standard defaults (755/644).
* **Site Suspension `suspend`**: Activate or deactivate a "Website Suspended" maintenance page.