I love deadlines. I love the whooshing noise they make as they go by. Douglas Adams, The Salmon of Doubt
Can you believe it’s been almost two and a half years since our last major release! It’s been a long time coming, but we’re pleased to announce that WP Migrate DB Pro 2.0 is ready for the big time.
We were so busy getting the new major version ready that we almost forgot about another important event. It’s WP Migrate DB’s 8th Birthday! 🎉
After 8 years, 700,000+ activations, and thousands of happy customers, we’re excited to see where the next 8 years take us.
It was fitting that our newest major version coincided with our 8th anniversary because we have loads of new presents in the 2.0 release.
What’s New
Redesigned User Interface
WP Migrate DB Pro 2.0 contains our most ambitious and exciting update yet. Not much had changed with the plugin interface in the last eight years since we first released WP Migrate DB Pro, and it was time for a new look.
We completely redesigned the plugin interface from the ground up, making for a much more enjoyable user experience. Take a look at what it looks like now by revealing the new 2.0 user interface below:
We’ve also created a short video, which walks you through the new plugin user interface:
Some highlights of the new design:
- A horizontal tabbed interface, making it much easier to access the various pieces of plugin functionality
- A much clearer user interface for managing all the different migration types
- The redesigned Settings screen makes more frequently used settings simpler to find
I’d like to take this opportunity to give massive props to our designer, Lewis, for these new designs. WP Migrate DB Pro really lives up to its Pro name with this user interface.
React Under the Hood
As we looked at implementing the new designs, we realized we’d need a brand new engine to power them. The jQuery/admin-ajax codebase we had in place would not cut it. As the WordPress dashboard was moving more and more towards JavaScript-powered frameworks, we took Matt Mullenweg’s advice and started to learn JavaScript deeply.
We chose React as the framework to implement the new designs, both because it’s already being used in WordPress core for the block editor and because at the time, it was the JavaScript framework our development team was most familiar with.
This decision was not without its hiccups (which I’ll cover later on), but it was great to replace our spaghetti of jQuery code with a more well-structured, modular codebase. We also quite like the benefits of more modern build tools!
New Features
Not only did we redesign the user interface and rewrite a huge chunk of our codebase, but we also added several frequently requested features and updates for the 2.0 release. Let’s take a look.
Profile Improvements
You can now rename any previously saved profiles on the profiles tab, the first tab you see in the WP Migrate DB Pro interface. The plugin will also keep a list of any unsaved profiles (i.e., previously successful migrations not saved as a profile). This gives you the ability to rerun a previous migration quickly or save it as a profile for future use.
All-New Media Files Addon
The new Media Files addon has been rewritten from the ground up and now offers the following two options:
- Migrate All Files
- Migrate New Files
The All option does what you would expect; it transfers all the files in your uploads folder. The New option allows you to specify a date and will only transfer files with a created or modified date after the specified date.
Unlike the old addon, the new Media Files addon only looks at the filesystem and doesn’t pay any attention to the database. It transfers all files in the uploads folder, not just those in the WordPress Media Library. So now, if one of your plugins adds its own files to the uploads folder but not the WordPress Media Library, the addon will transfer those files.
At the same time, we upgraded the Media Files Addon so that you can now exclude specific media files, using the .gitignore syntax. This functionality was previously only available for theme and plugin files. With this update, you can exclude large media files during a migration, like audio or video files, or files you just don’t need for local development, like PDFs and other documents.
Theme & Plugin Files Addon Changes
Prior to this release, you had one box to list files you’d like to exclude from both themes and plugins. Now the Theme and Plugin Files addon gives you a separate box for themes and plugins. We also added Theme and Plugin Files addon support to our CLI addon so that you can transfer theme and plugin files during command line migrations.
CLI Addon Improvements
Besides the update mentioned above to support theme and plugin files, the CLI addon was updated to allow profile migrations by profile name in addition to profile ID. Previously you could only run profile migrations by profile ID.
Remote Plugin Updates
If you’ve ever tried to quickly run a migration, maybe refresh your local development site, only to run into a Version Mismatch notice requiring you to login to the remote site and update WP Migrate DB Pro and/or its addons, you know what a pain it is. Well now when you get that message, you also get a link that you can click to update the plugins on the remote site quickly.
The Elephant in the Room
Some folks are probably wondering why it took 2.5 years to get to this point. Some may think the pandemic had a role to play, but it didn’t really. The reality is there were several other factors at play.
By far, the most significant factor was learning React. We threw out all our JavaScript and planned to replace it with React, but no one on our team had much experience with React, let alone using React within the unique environment of WordPress. We knew this would be a challenge, but with WordPress fully embracing React, we felt we had to go forward with it.
Another issue was that we only had one developer, Pete working on this project for the first year. It almost certainly would have gone faster with two developers especially since Pete was also doing virtually all of the customer support!
In addition to working on 2.0, we were working on keeping the 1.9 release of WP Migrate DB Pro up-to-date, sometimes even adding some new features and improvements from the 2.0 release to the 1.9 release. Over the last two and a half years, we’ve had 14 point releases on the 1.9 version and 10 beta releases of the 2.0 version!
This was also the first time we’ve attempted an extended beta release period. We made the first beta version of the plugin available to beta testers over a year ago, way back in February 2020. We are incredibly grateful to all our beta testers, who sent in their beta testing feedback, and helped us fix over 150 bugs during the beta testing process.
While this process added to our development time, delaying the release, it does help us feel more confident that we’re releasing a very stable major update to our most important product.
Acknowledgments
Putting together a new release like this is no easy task, and I’d like to take this opportunity to thank the people involved.
First and foremost, to Peter Tasker. Pete was the primary developer behind most of the 2.0 release and did an amazing job, taking what we had and improving it a hundred-fold. Much of the time, he spent diligently working on his own, fighting burnout and leaving us in a much better position.
Thanks, Pete, we salute you!
Thanks also to the rest of the development team (Matt, Ahmed, Ram), Lewis for the fantastic new UI and user experience, the folks who helped us test (Jonesy), our beta testers, and the rest of the Delicious Brains team who helped make this happen. It truly was a group effort.
What’s Next
You’d think with such a big release, we’d be taking a long break, but we’re already looking ahead. With the new user interface and underlying codebase refactor, we can now turn our eyes toward some of the more popular feature requests we have from our customers.
- Migration ‘dry run’, to test a migration before actually completing it
- Use regular expressions in Find and Replace fields
- Push individual posts, pages, and custom post types
- Save migration profiles to your deliciousbrains.com account and use them between sites
- …and loads more.
Are you excited about the new WP Migrate DB Pro 2.0 release? What do you think about the new user interface or the new features? What’s the one feature you’d like to see in the next version? Let us know in the comments.