Way back in May, we had Daniel Bachhuber do a code review for us. Daniel is a very talented developer, used to work on the WordPress VIP team and currently maintains WP-CLI.
In his audit, he identified a few critical security issues, which we fixed and released shortly after. The majority of the issues he identified were not critical though, so we queued them up, spreading them out over several releases. Still, many of the issues we wanted resolved sooner than later, so the 1.4.4 release ended up ballooning a bit.
So although this was a minor release, we put a lot of work into it. It’s mostly just minor bug fixes, edge cases, minor security fixes, translation improvements, and making error messages clearer, but it amounted to a lot of work. You can see that the changelog is actually longer than any other release we’ve done.
Below I’m going to highlight a few of the little things that we spent a lot of time on. Some of them you may never run into, so this may be the only way you’ll appreciate them!
Fully Translation Ready
For many of our customers, English is not their first language. For that reason, we’ve made translating the plugin a priority. Version 1.4.4 comes bundled with a first crack at Brazilian Portuguese submitted by Dionizio Bonfim Bach.
We’ve also setup a translation site at translate.deliciousbrains.com so that anyone can login and help translate WP Migrate DB simply by filling out form fields. If you’re a customer, you can login with the same username and password as you use to login to My Account. Otherwise, you can create a new account. It’s super easy to translate the product now.
Copy License to Remote Install
When you try push or pull to a remote install that doesn’t yet have a license key added to it, you will now get the following warning:
You can then simply click the link and your license key will be copied to the remote install, activated, and the connection to the remote install established so you can quickly and easily continue with your push or pull.
Breadcrumb-style UI for Saved Profiles
MySQL 5.1 and 5.5+ Issue
The fine folks at 9Seeds pointed out an issue when migrating between MySQL 5.1 and 5.5+. MySQL 5.5+ outputs a COMMENT declaration with each CREATE TABLE statement and MySQL 5.1 doesn’t know how to deal with it and borks.
For push and pull, we now detect when you’re migrating between MySQL 5.5+ and 5.1 and strip out the COMMENT declaration. We also offer a new option under Advanced Options when running an Export from a MySQL 5.5+ database:
Better Secret Keys
In his code review, Daniel found that we were using
rand() which was not yielding truly random secret keys. We’ve since replaced this with WordPress core’s
wp_rand() function, so secret keys should be truly random now. We’ve also increased the secret key length slightly, from 32 to 40 characters, which should also help improve the security of the keys.
Of course, if you are already using the plugin, it has already generated the secret keys and we didn’t want to just change them on you automatically. Instead, we detect if you have an old key and provide a warning message for you:
Support Request Form
We now have a convenient form on the Help tab (we previously just had a support email address) that allows you to easily submit a support request and attach your Diagnostic Info & Error Log for both the local and remote sites. This should cut down on the initial back-and-forth and help us to resolve the problem you’re having a bit sooner.
Media Files Addon
Version 1.2 of the Media Files addon contains some minor bug fixes, improvements, and compatibility with WP Migrate DB Pro 1.4.4, but also introduces a major new feature.
Sometimes you just don’t want to compare the remote and local media files. For example, you might be pushing a dev site to a staging site and just want to wipe out all the files on staging and copy all the files from dev. This can greatly speed up the media migration in some cases and we now provide this option:
We’re also in the process of completely rewriting the Media Files addon to avoid server timeouts during the comparison routine. We’re also building in parallelism. That is, it will run the comparison and transfer files simultaneously. Should speed things up.
Version 1.0.2 of the CLI addon fixes a minor bug and adds compatibility with WP Migrate DB Pro 1.4.4. The next release will be a doozy, with progress indicators, and command line arguments for all the migration options. That’s right, finally you will no longer need to go to the UI to setup a migration profile before running a migration from the CLI.