Documentation

WP Migrate DB Pro Changelog

2.6.12 - Mar 04, 2024

  • Bug fix: Pull migrations are no longer broken by tables with multiple unique indexes

2.6.11 - Feb 08, 2024

  • Bug fix: Security: Plugin configuration data now uses JSON encoding instead of serialization to prevent PHP Object Injection (thanks to Patchstack for responsible disclosure on January 15, 2024 followed by development and testing of the fix by WP Engine)
  • Bug fix: Security: Unserializing an object during find and replace operations now passes 'allowed_classes' => false to avoid instantiating the complete object and potentially running malicious code stored in the database
  • Bug fix: Security: The wp-queue library now ensures that only its own classes can be unserialized via allowed_classes
  • Bug fix: Sites with "bundle" or "runtime" in the domain name can now load plugin pages in WP Admin

2.6.10 - Aug 29, 2023

  • New: Links to plugin documentation, support, feedback, and changelog are now available in the footer of WP Admin
  • Improvement: Migration performance is now improved for sites that do not organize uploads into month- and year-based folders
  • Bug fix: Form data types are now consistent when using default fallbacks

2.6.9 - Jul 10, 2023

  • Improvement: PHP 8.2 and WP Migrate are now compatible
  • Improvement: CLI migrations no longer produce warnings related to undefined array keys in multisite tools

2.6.8 - Jun 01, 2023

  • Bug fix: All-In-One Security and WP Migrate are now more compatible as a result of skipping the stacktrace column in the aiowps_audit_log table during find and replace operations
  • Bug fix: Multisite Tools are now only displayed when a qualifying license has been activated

2.6.7 - May 18, 2023

  • Bug fix: Exports are now compatible with PHP 8.1+

2.6.6 - May 09, 2023

  • Bug fix: Migrations including Themes, Plugins, Must-Use Plugins, and Other Files now properly move those files into place during finalization.

2.6.5 - Apr 25, 2023

  • Bug fix: Migrations no longer cause PHP notices when a file path is null
  • Bug fix: Multisite CLI migrations using the --subsite argument once again add users to the correct tables
  • Bug fix: CLI migrations using the profile subcommand now work reliably even if older profiles have been deleted
  • Bug fix: Profiles are now loaded with the expected Database settings immediately after a remote plugin update

2.6.4 - Apr 06, 2023

  • Improvement: Easy Updates Manager and WP Migrate are now more compatible as a result of skipping the eum_logs table
  • Improvement: Inactive licenses can now be reactivated from the plugin
  • Bug fix: Migrations no longer cause PHP warnings that mention an “undefined array key”

2.6.2 - Feb 28, 2023

  • Improvement: Domain and path values are once again pre-populated when exporting the database after being temporarily removed in version 2.6.0
  • Improvement: Sites with firewall plugins such as Wordfence and Defender Pro now communicate possible compatibility issues when enabling push migrations
  • Improvement: Zlib compression is no longer used in pull operations, resulting in faster migrations
  • Bug fix: The multisite tools panel is no longer hidden in Find & Replace profiles

2.6.3 - Feb 28, 2023

  • Bug fix: Reverted a change from 2.6.2 that inadvertently caused profiles with all post types selected to behave as if no post types were selected

2.6.1 - Feb 01, 2023

  • Improvement: Duplicator is now more compatible as a result of skipping references in the duplicator_packages table
  • Improvement: Windows servers and WAMP are now more compatible due to consistent handling of file paths
  • Improvement: Folder permission errors are now shown before starting a migration
  • Bug fix: Export file downloads no longer cause PHP warnings and notices
  • Bug fix: Non-alphanumeric characters no longer break exported file downloads
  • Bug fix: Media uploads date picker styles are no longer broken
  • Bug fix: CLI migrations that include files once again complete without error

2.6.0 - Jan 19, 2023

  • View Release Post
  • New: Full-site exports including the database and files are now available to all users
  • New: Exported ZIP archives are now compatible with drag-and-drop importing to Local
  • New: Highlights from recent releases are now communicated through the What’s New tab
  • Improvement: Exports can now be performed without defining the URL or Path
  • Improvement: CLI exports can once again accept paths with slashes so an export can be saved to a directory that is different from where the command is executed
  • Bug fix: Large export file downloads no longer cause errors
  • Bug fix: All profile panels are now available immediately after a license has been added
  • Bug fix: Defining the UPLOADS constant with a location outside of wp-content no longer causes an error when migrating files

2.5.0 - Nov 22, 2022

  • View Release Post
  • New: High-performance file transfers have left public beta and are now automatically applied to new and existing migration profiles
  • Improvement: Push and pull migrations via CLI are now more compatible with PHP 8
  • Improvement: Doctrine Cache is no longer a dependency
  • Bug fix: HTML entities in profile names are now rendered correctly

2.4.2 - Oct 21, 2022

  • Bug fix: Limited file permissions outside of the uploads directory no longer prevent find and replace operations on hosts like Pantheon
  • Bug fix: Excluded file defaults for caches and backups are now limited to directories
  • Bug fix: Empty custom pairs are no longer processed during find and replace operations

2.4.1 - Oct 12, 2022

  • Improvement: All log files, backup and cache directories contained in the uploads directory are now excluded by default
  • Bug fix: Push and pull migrations involving WP Engine can now be repeated without reloading the profile
  • Bug fix: Missing mu-plugins directory no longer causes a fatal error
  • Bug fix: Database imports are now more compatible with PHP 8 and above
  • Bug fix: Find and replace via CLI is now more compatible with PHP 8 and above
  • Bug fix: Push and pull migrations via CLI no longer show PHP notices and warnings

2.4.0 - Sep 22, 2022

  • View Release Post
  • New: Must-Use Plugins and Other Files in wp-content can now be migrated
  • New: High-Performance File Transfers have now entered public beta
  • New: Real-time metrics are now presented during file transfer stages
  • New: File transfer statistics can now be downloaded after a successful migration
  • Improvement: Temporary tables and directories are now cleaned up after migration failure
  • Improvement: Re-rendering of the user interface is now optimized
  • Improvement: Settings sliders are now more accessible
  • Improvement: Migration complete modal is now more accessible
  • Bug fix: First-time connections after a fresh install no longer cause JS error
  • Bug fix: First Custom Find & Replace field is no longer pre-filled with subsite URL
  • Bug fix: Subsite media migrations now migrate to the correct directory
  • Bug fix: Multisite tools no longer cause a PHP warning during single-site media migrations
  • Bug fix: Migrating without database no longer creates warnings using PHP 8
  • Bug fix: Migrations without themes or plugins no longer require FS writability check

2.3.4 - Aug 12, 2022

  • Improvement: Push migrations to WP Engine can now include themes and plugins
  • Improvement: Settings sliders now have a visible focus style and improved keyboard accessibility
  • Improvement: Error log messages now provide additional context about the migration to assist our support team
  • Bug fix: Find & Replace regex can now include special characters such as < and >
  • Bug fix: Subsite-to-subsite migrations involving two different site IDs now migrate media from the correct source
  • Bug fix: Errors related to ajax_verify_connection_to_remote_site have been reduced

2.3.3 - May 19, 2022

  • Bug fix: WP Migrate no longer initializes on pages outside of WP Admin in order to improve front-end performance
  • Bug fix: Pulling themes or plugins without the database now works on the first attempt
  • Bug fix: Migrations without the database are now compatible with PHP 8 or above
  • Bug fix: Network-to-network migrations via the CLI now process without warnings
  • Bug fix: Compatibility mode path now uses the proper case to avoid errors with case-sensitive file systems

2.3.2 - Apr 12, 2022

  • Bug fix: License API is no longer called with every page visit

2.3.1 - Apr 11, 2022

  • Bug fix: Migration profile performance is no longer slowed down by UI changes introduced in 2.3.0
  • Bug fix: WP-CLI integration is now enabled correctly when the plugin is updated outside of WP Admin via Composer, WP-CLI, or third-party service
  • Bug fix: WP-CLI setting subcommand is now available without a license so that it may be used to activate a license
  • Bug fix: Time zone now defaults to UTC if one cannot be detected
  • Bug fix: Migration profiles without excludes defined no longer cause errors in WP Admin

2.3.0 - Mar 31, 2022

  • View Release Post
  • New: “WP Migrate DB Pro” is now “WP Migrate”
  • New: Addon functionality is now part of the core plugin
  • New: Database-less migrations no longer require a database table to be selected
  • New: Subsite-to-subsite migrations push/pull subsites directly across multisite networks
  • New: Themes and plugins now communicate version differences across sites
  • New: CLI commands now support migrate base command as an alias of migratedb
  • Improvement: CLI exports no longer require find/replace arguments
  • Improvement: Migration profile panels are now closed when opening existing profiles
  • Improvement: Notices are now styled to reflect their state (success, error, warning, or information)
  • Bug fix: Subsite migrations now only migrate media related to the selected subsite
  • Bug fix: Subsite exports now preselect tables based on the selected subsite
  • Bug fix: Themes excludes and plugins excludes are no longer linked
  • Bug fix: License key is no longer checked on non-admin pages

2.2.2 - Jan 11, 2022

  • Bug fix: Updating WP Migrate DB Pro via WP-CLI now includes license key in the download link
  • Bug fix: Opening Find & Replace no longer results in a JavaScript error when SCRIPT_DEBUG is true
  • Bug fix: Custom Find & Replace URL for exports no longer includes the protocol
  • Bug fix: Altered unsaved profiles can now be saved

2.2.1 - Nov 09, 2021

  • Improvement: WP Migrate DB Pro license-related API calls are now faster, which significantly decreases load times for WP admin pages such as “Plugins” and “Tools > Migrate DB Pro”
  • Bug fix: Running a pull migration with different database prefixes no longer causes PHP notices
  • Bug fix: WP Migrate DB profiles can now be re-saved without requiring a page refresh

2.2.0 - Oct 19, 2021

  • View Release Post
  • New: Find & Replace tool now includes an option to preview changes before applying them to the database
  • New: Find & Replace tool now offers a granular preview of the diff for each database record before the change is applied
  • New: Migrating between sites with different table prefixes is now possible as the destination tables are automatically updated to match the destination site's wp-config.php file
  • Improvement: Keyboard navigation is now more accessible thanks to new focus styles throughout plugin
  • Improvement: Addon plugin thumbnails now display on the WordPress updates screen
  • Bug fix: WP Migrate DB Pro is now more compatible other plugins that use Composer's autoloader and have dependencies with the same name
  • Bug fix: WP Migrate DB Pro is now compatible with WPML when default language is added to the url

2.1.2 - Aug 30, 2021

  • Improvement: Accessibility: Better support for Skip to main content keyboard navigation.
  • Improvement: Resetting the secret key won’t require a full page refresh to take effect.

2.1.1 - Aug 18, 2021

  • Improvement: Migrations can now be run on sites that use the default permalink structure
  • Bug fix: PHP fatal error when running find and replace on a serialized unclonable object
  • Bug fix: PHP notices during an existing find and replace related to the addition of regex support
  • Bug fix: PHP notice during plugin upgrade under certain circumstances

2.1 - Aug 04, 2021

  • View Release Post
  • New: Regular expression custom find and replace
  • New: Case-sensitive custom find and replace
  • Improvement: Show a notice when the REST API is disabled or inaccessible
  • Improvement: Allow the tables select area to be expanded
  • Improvement: Allow a table range selection and deselection, using the mouse and a keyboard shortcut (Shift + Click)
  • Bug fix: Exclude file patterns were skipped when separated by an extra newline

2.0.4 - Jul 01, 2021

  • Improvement: License key activated for each WordPress user, to support the new Organization licenses. Learn more
  • Improvement: Using tabular fonts for numbers to prevent them from jumping around during a migration
  • Bug fix: Plugins list scrolls to the top when performing multi-selection
  • Bug fix: Filenames with Non-UTF8 characters causes media file migrations to fail
  • Bug fix: Support form shows Please select your email address when the email is already selected

2.0.3 - Jun 21, 2021

  • Improvement: Compatibility with WPML's "Use directory for default language" option, fixing REST API not working when that option is enabled
  • Improvement: "Search & Replace" updated to "Find & Replace" for consistency
  • Improvement: Email address in support form selected automatically if no other emails are available
  • Bug fix: Basic auth credentials with special characters didn’t work
  • Bug fix: PHP 8 usort notice
  • Bug fix: Some PHP files can be directly accessed in a browser
  • Bug fix: Clicking "Activate Your License" didn't make the Settings tab active
  • Bug fix: Rewrite rules lost after migration
  • Bug fix: Error loading JavaScript assets in sites with build in the path

2.0.2 - May 06, 2021

  • Bug fix: Replacing a string with nothing not supported
  • Bug fix: Plugin not working on sites with a custom REST API URL
  • Bug fix: Plugin not working on sites with a custom plugin directory
  • Bug fix: 'gmdateI18n' function not available on older versions of WordPress
  • Bug fix: Javascript file with tilde in filename blocked by some firewalls

2.0.1 - Apr 29, 2021

  • Bug fix: Delay between request setting not imported correctly from WP Migrate DB Pro version 1.9
  • Bug fix: Updating core plugin on remote during migration not working
  • Bug fix: Changelog for Theme & Plugin files addon is not displaying correctly

2.0 - Apr 28, 2021

  • View Release Post
  • New: Brand new user interface powered by React
  • New: Dedicated backup migration type
  • New: Automatically save the last 10 migrations
  • New: Ability to rename profiles from the profiles tab
  • New: Ability to remotely update WP Migrate DB Pro and its addons on the remote site when connecting for migration
  • New: Added 'wpmdb_replace_json_encode_flags' filter for modifying how data is JSON-encoded during a search/replace

1.9.14 - Feb 03, 2021

  • Improvement: Fix several styling issues
  • Improvement: Replace ANSI quotes with backticks for better MySQL compatibility
  • Improvement: Convert ANSI quotes in SQL files before running import
  • Bug fix: Deprecated PHP code causes warnings in PHP 8+
  • Bug fix: Regex to match recursive serialized records matches non-serialized data
  • Bug fix: Invert selection UI option doesn't work on newer versions of WordPress

1.9.13 - Sep 14, 2020

  • Bug fix: Import and Find & Replace migrations are not replacing data that is JSON encoded
  • Bug fix: The Filesystem::chmod() method does not function correctly and silently logs an error
  • Bug fix: Running a migration without find and replace values throws a PHP warning

1.9.11 - Jul 30, 2020

  • Bug fix: Invalid $_POST values are returned in plain text which is a cross site scripting (XSS) risk

1.9.12 - Jul 30, 2020

  • Bug fix: Check boxes are not saved correctly in plugin settings

1.9.10 - Mar 17, 2020

  • Bug fix: PHP warning during backup stage of migration due to JSON find & replace introduced in 1.9.9
  • Bug fix: Updating the plugin triggers a warning on PHP 7.4+
  • Bug fix: Usage of get_magic_quotes_gpc() triggers a warning on PHP 7.4+
  • Bug fix: WordPress home and site_url values are set incorrectly on multisite installs with the 'ms_files_rewriting' option set

1.9.9 - Feb 26, 2020

  • Bug fix: Search & replace did not work with JSON encoded content in the wp_posts table ?
  • Bug fix: Import migrations not correctly parsing file header in Windows environments

1.9.8 - May 15, 2019

  • Bug fix: Call to undefined end_ajax() method
  • Bug fix: Use of PHP compact() function not working with PHP 7.3+

1.9.7 - May 09, 2019

  • Bug fix: Sanitize $_GET parameter when triggering download for export
  • Bug fix: Sanitize $_GET parameter when downloading backup file

1.9.6 - Apr 24, 2019

  • Bug fix: WP_Filesystem initialized on all wp-admin pages
  • Bug fix: Port not added to replacement URL when running a multisite migration
  • Bug fix: For MySQL 8 compatibility, use uppercase TABLE_NAME column when getting table row counts

1.9.5 - Mar 07, 2019

  • Bug fix: Users are not correctly pulled into multisite installs from single sites

1.9.4 - Mar 04, 2019

  • Bug fix: Import fails if SQL file includes the wp_options table

1.9.3 - Feb 07, 2019

  • Improvement: Refactor to remove third-party dependency injection container
  • Improvement: MySQL 8 compatibility
  • Bug fix: Bit fields with a value of NULL are handled incorrectly
  • Bug fix: Media determination fails on multisite blogs where upload_path is set

1.9.2 - Dec 18, 2018

  • Bug fix: Migrations time out when transferring large database tables

1.9.1 - Nov 29, 2018

  • Improvement: Remove deprecated PHP code making PHP 7+ compatibility checks pass
  • Bug fix: WordPress filesystem class not correctly loaded and causes 500 error

1.9 - Nov 27, 2018

  • View Release Post
  • New: Increased PHP version requirement from PHP 5.2+ to PHP 5.4+
  • New: Backups tab that lists database backups with download and delete features
  • Improvement: Major reorganization of the PHP code into better classes and a better folder structure
  • Bug fix: Plugin throws JavaScript error in IE11
  • Bug fix: Reset Secret Key does not update displayed secret key after using Copy to Clipboard

1.8.6 - Oct 02, 2018

  • Bug fix: PHP 5.4+ syntax causes fatal error for sites running less than PHP 5.4

1.8.5 - Oct 01, 2018

  • Improvement: Increase width of new profile name input
  • Bug fix: Queue tables for file transfers created when not migrating themes or plugins
  • Bug fix: Some implementations of mod_security block Theme & Plugin File migrations
  • Bug fix: Self-referencing serialized data in the wp_options table causes memory exhaustion

1.8.4 - Sep 18, 2018

  • Improvement: Compatibility with Theme & Plugin Files 1.0.2
  • Bug fix: Image path broken in first time license activation message

1.8.3 - Sep 13, 2018

  • Bug fix: Overall progress bar spins when font-awesome loaded

1.8.2 - Sep 07, 2018

  • New: Theme & Plugin Files addon
  • New: Ability to opt-in to usage tracking and help us improve the plugin
  • New: Ability to turn on update notices for future betas and update to a beta from the WordPress dashboard
  • New: wpmdb_initiate_migration, wpmdb_respond_to_push_cancellation, wpmdb_before_finalize_migration and wpmdb_cancellation actions added
  • Improvement: Better diagnostic log formatting
  • Improvement: Add remote host information to diagnostic log when errors occur
  • Improvement: Switch to Webpack build tool and compiled ES2015 JavaScript
  • Improvement: Refactor migration progress UI to display individual items by percentage
  • Improvement: Added PHP 5.2 compatible autoloader for new class files
  • Improvement: Better treatment of slashes in URLs to avoid issues caused by firewall restrictions
  • Bug fix: Duplicate items appearing in migration progress UI
  • Bug fix: Fatal error wp_parse_url() function missing on WordPress versions prior to 4.4
  • Bug fix: Usage of static keyword errors in PHP 5.2.4
  • Bug fix: Protocol replace fails when home_url() contains port

1.8.1 - Nov 09, 2017

  • Bug fix: Import fails with files gzipped over command line
  • Bug fix: Switching from import or find & replace to push or pull doesn't force a reconnect
  • Bug fix: Some plugins causing "Invalid nonce" errors when using compatibility mode
  • Bug fix: Find values should be replace values when importing unrecongized import file
  • Bug fix: Curl throws error 52 when trying to connect to the remote site on some environments
  • Bug fix: Mixed collation error in WPMDB::get_post_types() on multisite installs
  • Bug fix: Error for invalid permissions for Exports not displaying

1.8 - Sep 14, 2017

  • View Release 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 - Jun 14, 2017

1.7.1 - Dec 15, 2016

  • 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 - Nov 01, 2016

  • View Release 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 - Jul 12, 2016

  • 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 - Apr 25, 2016

  • View Release 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 - Feb 17, 2016

  • 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 - Feb 03, 2016

  • 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 - Dec 09, 2015

  • 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 - Sep 21, 2015

  • 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 - Jul 15, 2015

  • 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 - Jun 24, 2015

  • View Release 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 - Apr 28, 2015

1.4.6 - Feb 06, 2015

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

1.4.5 - Jan 26, 2015

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

1.4.4 - Nov 10, 2014

  • New: breadcrumb-style UI for saved profiles
  • New: Brazilian Portugese translation
  • New: Added .htaccess to backup folder to help prevent direct downloads
  • New: False values not included in signature
  • New: Increased secret key length to 40 characters
  • New: 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 - Sep 17, 2014

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

1.4.2 - Aug 28, 2014

  • 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 - Jul 02, 2014

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

1.4 - Jun 25, 2014

  • New: Internationalization fully supported — Bring on the translations! 🙂
  • New: Migration controls, pause/resume and cancel
  • 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
  • New: Option to include/exclude transients for a migration
  • Improvement: Find & replace UI
  • 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 - May 18, 2014

  • Bug fix: License activation via Settings tab completely broken

1.3.5 - May 16, 2014

  • New: Missing capability and nonce checks for some AJAX requests

1.3.4 - Apr 20, 2014

  • 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 - Apr 19, 2014

  • 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 - Mar 10, 2014

  • 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 - Feb 05, 2014

  • 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 - Dec 13, 2013

  • 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 - Sep 10, 2013

  • New: New Feature: Check out the screencast video showing some of these new features
  • New: New Feature: Detect Basic Authentication and prompt for username and password
  • New: New Feature: Slider control on Settings tab to throttles Maximum Request Size
  • New: New Feature: Table sizes now shown in the table list
  • New: New Feature: Checkbox under Advanced - Do not migrate the 'active_plugins' setting (i.e. which plugins are activated/deactivated)
  • New: New Feature: Define license key in wp-config.php
  • New: New Feature: Also released functionality plugin for examples of extending WP Migrate DB Pro with actions and filters
  • 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

1.1.3 - Jul 21, 2013

  • Improvement: Show notice if required MySQLi PHP extension is not installed
  • Improvement: Added 'wpmdb_rows_where' filter
  • 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

1.1.2 - Jul 03, 2013

  • 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
  • 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+

1.1.1 - May 30, 2013

  • New: Not checking if push/pull enabled in Settings tab when handling push/pull requests
  • Improvement: Added 'wpmdb_prepare_remote_connection_timeout' filter for developers to change the connection timeout
  • 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)

1.1 - May 28, 2013

  • New:

    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.

  • New:

    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 - Apr 26, 2013

  • 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
  • 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

1.0.0 - Apr 15, 2013

  • New: Initial Release

- Jan 01, 1970