Delicious Brains

Documentation

WP Migrate DB Pro Changelog

1.8

  • Release Blog Post
  • New: Import any SQL file whether it was generated by the mysqldump command, phpMyAdmin, or WP Migrate DB Pro's export option (recommended)
  • New: Plugins and themes are disabled by default for HTTP requests made by WP Migrate DB Pro for better performance and compatibility
  • Improvement: Page is reloaded automatically after migrations that alter the wp_options, wp_users, and wp_usermeta tables
  • Improvement: Additional constants added to the diagnostic log for better debugging by our support team
  • Improvement: Compatibility mode directory permission errors are now dismissable and fewer notices are displayed
  • Improvement: Convert utf8_unicode_520_ci collation to utf8mb4_unicode_ci for MySQL < 5.6
  • Bug Fix: Characters with improper database encoding cause migration to fail without warning
  • Bug Fix: Find & Replace not operating on wp_site and wp_blogs tables on multisite
  • Bug Fix: Migrations fail on spacial data types
  • Bug Fix: CLI not warning about empty parameters
  • Bug Fix: CLI progress bar is logged when the command is piped to file
  • Bug Fix: Parse error on PHP 5.2
  • Bug Fix: Row not set for wpmdb_replace_custom_data filter

1.7.2

1.7.1

  • Bug Fix: Tables occasionally shown as completed twice, throwing off migration progress
  • Bug Fix: Backups run before find/replace operations sometimes have incorrect encoding
  • Bug Fix: Occasional unintended modification of HTTP responses for non WP Migrate DB Pro related requests

1.7

  • Release Blog Post
  • New: In-place Find & Replace functionality added - a find and replace can now be run on a site's own database
  • New: CLI find-replace subcommand added
  • New: Automatically convert protocols between migration origin and destination (HTTPS <=> HTTP)
  • New: "Copy to Clipboard" button - formats the connection info string to a single line for usage with the CLI
  • Improvement: Convert utf8mb4_unicode_520_ci collation to utf8mb4_unicode_ci for MySQL < 5.6
  • Improvement: Display more helpful errors when SSL errors occur during a migration
  • Improvement: Removed font-family declarations from stylesheets
  • Improvement: Truncate WP Migrate DB Pro diagnostic log to always be < 1MB, to help with memory exhaustion errors
  • Improvement: Added help tooltips for the default find and replace fields
  • Improvement: Added multisite specific constants to the diagnostic log
  • Improvement: "Clear Error Log" button only removes error messages and updates any changed diagnostic values
  • Bug Fix: When the "Backup database before replacing it" option is selected, the option text doesn't match backed up tables prefix

1.6.1

  • Improvement: Compatibility with WordPress 4.6
  • Improvement: Added WP Migrate DB menu item to Tools menu for Network administrators in multisite subsite administration screens
  • Improvement: Total stage progress now remains visible when scrolling migration item progress
  • Improvement: Progress bar animations now reflect paused migration state
  • Improvement: JS files now include a version number to better avoid cache issues
  • Improvement: Better handling of extraneous whitespace output from theme or plugins when unserializing request data
  • Bug Fix: No error when switching between push and pull for connections where the remote has disabled the selected migration method
  • Bug Fix: Legacy 32 character secret keys are not accepted
  • Bug Fix: Leftover migration tables causing database errors on multisite installs
  • Bug Fix: Migrating a subdomain based multisite to a subdomain URL causes subdomain to be repeated in URL replacements
  • Bug Fix: When migrating a single item, the item's progress bar disappears when completed
  • Bug Fix: Total Progress sometimes rounds up to 100% when migration is not yet complete
  • Bug Fix: Included JS sourcemap causes errors when re-minified by CloudFlare
  • Bug Fix: When using HTTPS and response is 401, connection URL is erroneously rewritten to HTTP

1.6

  • Release Blog Post
  • New: Migration progress UI
  • New: Individual table migration progress
  • New: Migration progress shown in title bar
  • New: Settings tab UI
  • New: Helpful greeting when activating a license for the first time
  • Improvement: Adding a new find/replace row now automatically adds focus to the new "find" input
  • Improvement: More reliable filesystem operations
  • Improvement: Better grammar in migration modal
  • Improvement: Compatibility with WordPress 4.5

1.5.5

  • Bug Fix: CLI --include-tables and --exclude-post-types arguments not available
  • Bug Fix: Exclude Site Transients option not saving to profile

1.5.4

  • New: Compatibility with WP Migrate DB Pro Multisite Tools 1.1
  • Improvement: CLI errors more consistent with WP-CLI format when unknown parameters supplied
  • Bug Fix: Target site's options for upload_path and upload_url_path should be preserved by default
  • Bug Fix: Fixed cause of blank error messages when remote host could not be resolved
  • Bug Fix: Fixed problem with partial matches with WP_ACCESSIBLE_HOSTS entries not resolving

1.5.3

  • New: Added "Pause before replacing migrated tables" advanced option
  • Improvement: "Migrate" button renamed to "Export"
  • Improvement: Remove Find & Replace row icon is now a little dimmer to reduce UI clutter
  • Improvement: The wpmdb_tables filter can now be used to alter tables shown in UI
  • Improvement: Compatibility with WordPress 4.4
  • Bug Fix: Foreign key constraints being applied to deleted _mig_ tables

1.5.2

  • Improvement: Information about current theme added to help tab debugging information
  • Bug Fix: CLI exports not handling --include-tables argument properly
  • Bug Fix: Version mismatch errors are scrambled, unreadable in earlier versions of WP Migrate DB Pro
  • Bug Fix: WP Migrate DB Pro breaks in WordPress versions < 3.6 due to use of wp_unslash()
  • Bug Fix: Incorrect error message when trying to migrate from utf8mb4 → utf8

1.5.1

  • Improvement: Display better error message when remote server goes away unexpectedly
  • Improvement: Added more diagnostic info to facilitate debugging
  • Improvement: Avoid migrating utf8mb4 tables to databases that don't support it
  • Improvement: Global JS variables moved to single global object to avoid conflicts
  • Bug Fix: Default find/replace values not updating when connection info changes
  • Bug Fix: Table sizes not displayed in table select list
  • Bug Fix: WP Migrate DB and Pro can be activated at the same time when activating plugins in bulk or via WP CLI
  • Bug Fix: BINARY data not migrating properly
  • Bug Fix: BIT data not migrating properly
  • Bug Fix: When post_max_size is set to 0 (unlimited), wpmdb_bottleneck is broken
  • Bug Fix: Sanitization rules failing when local site's URL contains a space

1.5

  • Release Summary Blog Post
  • New: Delay Between Requests slider control added to Settings tab
  • New: Multisite Tools addon compatibility
  • New: WP-CLI export subcommand
  • New: Quick copy find textbox value to replace textbox by clicking arrow icon in between (hat tip Jonathan Perlman)
  • New: Added filters to hook into find & replace routine and deal with encoded data (example)
  • Improvement: Greatly reduced data passed through each HTTP request for better security and reliability
  • Improvement: Massive overhaul of input sanitization for better security
  • Improvement: Add _mig_ prefix to wpmdb_alter_statements table
  • Improvement: Cleanup wpmdb_alter_statements tables from failed migrations
  • Improvement: Show dimmed remove icons in find & replace rows to indicate they can be removed
  • Improvement: Dim remove icons next to saved profiles
  • Improvement: Better error message when empty response received from remote server
  • Improvement: Added diagnostic info to facilitate debugging and decrease time to resolution for support requests
  • Improvement: Warning notice when WP_HTTP_BLOCK_EXTERNAL constant is set to true
  • Improvement: Leave it to WordPress core to convert tables to utf8mb4
  • Improvement: Workaround to fix issues with Siteground's staging environments
  • Improvement: Always show addons on the Addons tab regardless of license
  • Improvement: Connection Info box receives focus upon selecting Push or Pull option
  • Improvement: Retired the third-party callable function wpmdb_migrate()
  • Bug fix: Connection URL with space(s) in beginning failing
  • Bug fix: Cancelling a gzipped Export does not remove file
  • Bug fix: Unusual table names causing regular expressions to fail
  • Bug fix: Preserving options not working when default subsite is not 1
  • Bug fix: NAN% shown at beginning of a migration
  • Bug fix: Migration progress bar is overflowing the scale, passing 100%
  • Bug fix: Custom post type links broken after migration with Compatibility Mode enabled
  • Bug fix: Saving a new profile does not change the URL to that saved profile URL
  • Bug fix: jQuery.parseJSON requires a valid JSON string when changing Maximum Request Size slider
  • Bug fix: Maximum Request Size slider showing 1 MB max even when max is less than 1 MB
  • Bug fix: Able to resume a paused Export before it finishes pausing
  • Bug fix: Duplicate constraints
  • Bug fix: "New URL Missing" and "New File Path Missing" notices shown when they should be hidden
  • Bug fix: "Check my license again" on Plugins page not working properly
  • Bug fix: "Connect" button not working after getting "you've entered the secret key for this web site" error
  • Bug fix: PHP warning when Compatibility Mode enabled but no plugins selected

1.4.7

1.4.6

  • Bug fix: Fatal PHP error when default URL find & replace removed or edited

1.4.5

  • New: Compatibility with Media Files 1.3
  • New: Compatibility with CLI 1.2

1.4.4

  • New: breadcrumb-style UI for saved profiles
  • New: Brazilian Portugese translation
  • Security: Added .htaccess to backup folder to help prevent direct downloads
  • Security: False values not included in signature
  • Security: Increased secret key length to 40 characters
  • Security: Truly secret keys using `wp_rand()`
  • Improvement: Compatibility with TGM Plugin Activation
  • Improvement: Fixed hundreds of PHP Code Sniffer warnings
  • Improvement: Switch to update_site_option() and get_site_option()
  • Improvement: Cleaner and more instructive error message on JSON decoding failure
  • Improvement: New hooks to massage data before and after find & replace
  • Improvement: Common server security rules better accommodated
  • Improvement: Better compatibility with SSL on WP Engine
  • Improvement: Minify all the Javascripts
  • Improvement: Use PHP's DIRECTORY_SEPARATOR instead of our own constant
  • Improvement: Updated tons of translation strings to be translator-friendly
  • Improvement: Find & replace field error messages could suggest removing the fields
  • Improvement: Download button for Diagnostic Info & Error Log
  • Improvement: Push/pull still available when our API is down
  • Improvement: Smoother license reactivation
  • Improvement: Copy license to remote install
  • Improvement: Added instructions to error message when secret keys are the same
  • Bug fix: 404 errors after successful migrations due to caching
  • Bug fix: Multisite exports broken on PHP < 5.4.7
  • Bug fix: Using relative paths for file includes
  • Bug fix: Typing new profile name does not select "Create new profile" option
  • Bug fix: Find & replace field errors stick around even after removing fields
  • Bug fix: wpmdb_error_log option is auto loading
  • Bug fix: Inconsistent stripping of slashes
  • Bug fix: Spinner is inconsistent with WP 3.8+ spinner
  • Bug fix: Apostrophe in path not being handled
  • Bug fix: Inappropriate use of htmlentities()
  • Bug fix: The table tooltip still shows during the media files migration
  • Bug fix: Import/Export issues between MySQL 5.1 and 5.5+
  • Bug fix: Notice error on Updates dashboard page
  • Bug fix: Signature verification error when local and remote plugins are different versions
  • Bug fix: Find & replace handle icon is rendering poorly
  • Bug fix: PHP Notice: Undefined variable: safe_mode
  • Bug fix: Fatal error: Cannot use object of type WP_Error as array in verify_download()
  • Bug fix: Cannot save expired license on the Settings tab
  • Bug fix: Mixed case table names
  • Bug fix: One install taking up two activations
  • Bug fix: License error message should use the common error styling
  • Bug fix: License key entry not sanitized
  • Bug fix: MySQL error when sitemeta or options tables excluded from migration
  • Bug fix: WP Migrate DB Pro and addons not showing in WP-CLI plugin updates list
  • Bug fix: MySQL error FUNCTION xxxxxxx.ROUND does not exist

1.4.3

  • Bug fix: Cannot use push or pull after license expires

1.4.2

  • Improvement: JS has been minified
  • Improvement: URL find & replace field is now required on multisite installations
  • Improvement: Additional debugging information when unserialize() fails
  • Improvement: Only load WP Migrate DB Pro when necessary
  • Improvement: Settings are now stored network wide in multisite
  • Improvement: Multisite subdomain find & replace code was optimized by only executing certain replace code once per request
  • Bug fix: One install using two site activations when WordPress core installed in a subdirectory
  • Bug fix: Hard coded strings not translatable
  • Bug fix: Multisite subdomain export migrations were not correctly applying the default URL search & replace pair

1.4.1

  • Bug fix: No such file or directory warnings occurring if either the Media Files or CLI addons were not installed

1.4

  • New: Internationalization fully supported — Bring on the translations! 🙂
  • New: Migration controls, pause/resume and cancel (details)
  • New: Option to select plugins to not load for migration requests — improves performance and reliability (details)
  • New: CLI addon (included with Developer license or better) enabling execution of migrations via WP-CLI or using a function call (details)
  • New: Option to include/exclude transients for a migration
  • Improvement: Find & replace UI (details)
  • Improvement: Reworked Post Type controls to be less confusing
  • Improvement: Added warning messages when find and replace has not be filled in correctly
  • Improvement: Clearer license validation error messages
  • Bug fix: Errors not shown in the UI when an AJAX request error occurs
  • Bug fix: Some errors were not being recorded in the error log
  • Bug fix: Plugin can be activated on subsites in a multisite install
  • Bug fix: Some URLs not replaced in subdomain multisite install
  • Bug fix: Ability to push when push was disabled
  • Bug fix: Sitewide notices overlapping the plugin's title
  • Bug fix: False positive "Invalid Content Verification" errors
  • Bug fix: Added error supression to the set_time_limit() function call

1.3.6

  • Bug fix: License activation via Settings tab completely broken

1.3.5

  • Security fix: Missing capability and nonce checks for some AJAX requests

1.3.4

  • Bug fix: White screen and errors when Media Files addon 1.1.1 or below is active
  • Bug fix: Cannot upgrade Media Files addon after upgrading to 1.3.3

1.3.3

  • Improvement: Removed PressTrends tracking
  • Bug fix: get_plugins() called on every dashboard page request (major performance issue)
  • Bug fix: No update notification (or error message) on servers where SSL isn't setup properly
  • Bug fix: Replaced deprecated mysql_get_server_info() function
  • Bug fix: Addon download links only appearing when the addon isn't installed
  • Bug fix: Backups should contain all post types, but only contain post types selected for migration

1.3.2

  • New: Update notices now show up in the WP Migrate DB Pro UI as well as the WordPress Plugins page
  • Improvement: Better error handling when an AJAX request error occurs
  • Bug fix: Inconsistently styled warning messages
  • Bug fix: Videos on the help tab give insecure content warnings over SSL
  • Bug fix: Custom temporary table prefixes were breaking the migration
  • Bug fix: Consecutive exports were not producing an export file
  • Bug fix: MySQL duplicate key error on tables that included primary keys of 0
  • Bug fix: Find & replace fields switched incorrectly for saved profiles
  • Bug fix: Display issue caused by unchecking the "Save as file to your computer" option
  • Bug fix: Internet Explorer not correctly detected

1.3.1

  • New: Backup options to select which tables to backup
  • Improvement: Consistent styling for errors and warnings
  • Improvement: Make it more obvious when a migration has completed
  • Improvement: Add Media Files screencast to Help tab
  • Improvement: "Check Again" on the WordPress Updates page will force the plugin to check for a new version
  • Improvement: Better multisite find and replace
  • Improvement: Remove protocol from default find and replace fields
  • Improvement: Better handling of poorly configured SSL servers
  • Bug fix: Better debugging info for API requests to deliciousbrains.com
  • Bug fix: Backups not working with multisite migrations
  • Bug fix: Find & replace fields become reversed
  • Bug fix: Basic authentication not working when there's an '@' character in the username or password
  • Bug fix: Detecting wrong installed version of the plugin
  • Bug fix: SSL disabled message appearing when connecting without HTTPS
  • Bug fix: Replace GUIDs will not stay unchecked when saving profile
  • Bug fix: Dead end after error in the UI
  • Bug fix: Backup option only backs up tables to be replaced
  • Bug fix: Undefined 'path' index error
  • Bug fix: Primary key of zero not kept in migration

1.3

  • New: Addons - reworked lots of code to support addons
  • New: Styles for WordPress 3.8
  • New: Media Files addon now available
  • New: Post type filter option
  • New: Automatic updates for beta versions
  • Improvement: License key is now masked
  • Improvement: Automatically flush rewrite rules on migration completion
  • Improvement: Exclude transients from all migrations
  • Improvement: Show error message when uploads folder is not writable
  • Improvement: Cleaned up code to have briefer, clearer functions
  • Improvement: wpmdb_tables and wpmdb_table_sizes filters for tables shown in select box
  • Bug fix: You have an error in your SQL syntax...near '1' at line 1
  • Bug fix: Unselected tables being migrated
  • Bug fix: Database encoding issue with Export feature
  • Bug fix: Uppercase table prefixes fail
  • Bug fix: Errors trying to clone some PHP classes
  • Bug fix: Suhosin values assumed to be numeric

1.2

  • Check out the screencast video showing some of these new features
  • New Feature: Detect Basic Authentication and prompt for username and password
  • New Feature: Slider control on Settings tab to throttles Maximum Request Size
  • New Feature: Table sizes now shown in the table list
  • New Feature: Checkbox under Advanced - Do not migrate the 'active_plugins' setting (i.e. which plugins are activated/deactivated)
  • New Feature: Define license key in wp-config.php
  • Improvement: Now using HTTP file upload to transfer data and avoid triggering mod security
  • Improvement: Data is now gzipped for push/pull transfer if supported
  • Improvement: Progress of a single table's migration is now shown
  • Improvement: Detect and decode JSON encoded data and run recursive find & replace
  • Improvement: Replaced use of mysqli PHP extension with WordPress' wpdb class
  • Improvement: Table list now shows all tables in the database
  • Improvement: Added wpmdb_preserved_options filter for the ability to preserve any key in the wp_options table
  • Improvement: Detect Suhosin PHP extension and respect its limits
  • Improvement: Added wpmdb_migration_complete action to run code after a migration is complete
  • Improvement: MySQL foreign key constraint support
  • Improvement: Updated migration table prefix to '_mig_' to decrease instances where table name exceeds max length
  • Improvement: Backups are now stored in wp-content/uploads/wp-migrate-db/ with an index.php file instead of wp-content/uploads/
  • Improvement: Backups and temporary files now have salts appended to their file name
  • Bug fix: Error doing find and replace on some serialized objects (e.g. All-in-One Event Calendar)
  • Bug fix: Busy sites with MyISAM tables getting duplicate key error during migration
  • Bug fix: Byte order mark (BOM) characters causing problems
  • Bug fix: Missing Referer header triggering mod security
  • Bug fix: Multisite - GUIDs not being replaced in subsite tables
  • Bug fix: Replace use of deprecated wp_convert_bytes_to_hr function
  • Bug fix: Spam commentmeta included when exclude checked
  • Bug fix: Unexpected JS errors showing in alert dialog
  • Bug fix: Strict Standards errors with PHP 5.4 and WP 3.6
  • Bug fix: Incorrect default file path in certain situations
  • Also released functionality plugin for examples of extending WP Migrate DB Pro with actions and filters

1.1.3

  • Bug fix: Plugin not working with PHP 5.2
  • Bug fix: No error reporting if the migration finalization stage fails
  • Bug fix: Find & replace is case-sensitive but shouldn't be
  • Improvement: Show notice if required MySQLi PHP extension is not installed
  • Improvement: Added 'wpmdb_rows_where' filter

1.1.2

  • Bug fix: Settings link in yellow notice on Plugins page is wrong in multisite
  • Bug fix: Network activated multisite plugins not showing in debug info
  • Bug fix: Not providing helpful error messages when there is a malformed JSON response
  • Bug fix: MySQL error messages cut off
  • Bug fix: MySQL syntax error 'TYPE=InnoDB' when migrating from MySQL 5.0.x to 5.1+
  • Improvement: Show a warning and automatically switch to non-SSL when SSL connection fails
  • Improvement: Reorganized Help tab a bit
  • Improvement: Added warning for those with PHP in safe mode
  • Improvement: Show error message when the plugin versions are not the same
  • Improvement: Added 'wpmdb_bottleneck', 'wpmdb_default_remote_post_timeout', 'wpmdb_max_allowed_packet_default' filters

1.1.1

  • Security fix: Not checking if push/pull enabled in Settings tab when handling push/pull requests
  • Bug fix: 500/404 errors in certain server configurations (e.g. mod_security enabled)
  • Bug fix: Warning: Missing argument 1 for Object_Name::__construct()
  • Bug fix: PHP Notice: Undefined index: sig
  • Bug fix: Connection taking longer than 5 seconds and timing out (increased to 10 seconds)
  • Improvement: Added 'wpmdb_prepare_remote_connection_timeout' filter for developers to change the connection timeout

1.1

  • Pulls are now up to 50% faster
    Removed serializing the response data which uses less CPU and memory on the remote server. And we now stream the data back rather than accumulate it on the remote side before sending.
  • Pushes are now up to 30% faster
    Replaced URL encoded POST requests with multipart POST requests for improved CPU and memory performance and much lighter overhead.
  • Improvement: Message to remind the user they can't connect to a local install from a remote install
  • Improvement: Message to warn the user that the table prefixes differ between installs and instructions to remedy that issue
  • Improvement: Automatically detect when OpenSSL is disabled and remove 's' from 'https'
  • Improvement: MySQL connection error handling
  • Improvement: More diagnostic information
  • Improvement: Find and replace now operates on serialized objects as well as arrays
  • Bug fix: Pull timing out at 60 secondes when there's a Varnish frontend
  • Bug fix: WP Migrate DB Pro's settings overwritten on push/pull
  • Bug fix: Error DB_CHARSET undefined
  • Bug fix: Not retrieving max_allowed_packet in MySQL version 5.0.x
  • Bug fix: Admin menu disappears when DISALLOW_FILE_MODS is true
  • Bug fix: Database table names with dashes not importing
  • Bug fix: Duplicate records on export when 'Exclude spam comments' or 'Exclude post revisions' are checked

1.0.1

  • Bug fix: Settings not being saved in multisite
  • Bug fix: AJAX spinners are appearing in a fresh install on the help page
  • Bug fix: Incorrect "Settings" link in the plugin row for multisite
  • Bug fix: Array index errors after upgrading
  • Bug fix: Migrate DB Pro menu item showing in subsite menus for multisite
  • Bug fix: JSON encoding issue with jQuery included in WP 3.6 Beta
  • Improvement: Write error log to database instead of file system
  • Improvement: Add another find & replace pre-fill for multisite
  • Improvement: Added "Try HTTP" link to connection failed error message
  • Improvement: Added OpenSSL to debug information in Help tab
  • Improvement: Turn off SSL verification by default
  • Improvement: Added setting to enable SSL verification