Like you might have noticed, WPML 3.1 release, last week, didn’t go so well. In fact, due to a number of bugs, we had to pull that version down and go back to the previous 3.0.2. After a very intense week of debug and repair, we are ready with a fourth beta, which is very close to the final WPML 3.1.x release.

First, I would like to apologize and explain what happened.

Our goal in WPML 3.1 was to improve performance where ever we could. We ended up editing every singe file and every function in WPML’s code. The results of this are actually pretty good. Here is a screenshot of our server monitoring:

Server load went to 50% after we moved to WPML 3.1
Server load went to 50% after we moved to WPML 3.1

Not all this change is due to WPML update. We did other site optimizations to get to this result, but WPML update is a big part of it. A lot of the activity in wpml.org is in the forum and it’s all dynamic content, so it’s not cached. That performance update for WPML did a lot of good for our server load.

Problem is, too many bugs slipped through our QA.

As we edited every corner in WPML, some changes were made, which only effected configurations that we didn’t test. That’s the root cause of this release mess.

Today, we are after a long and extensive bugfix round. We’ve had 6 developers handling these bugs (besides the normal support team). We stopped all other development and made sure that every problem on every client site is fully debugged. Even if that means spending a whole day on it and even if the problem might not even be related to this update. Without complete debug, there’s no way to tell.

We also assigned developers to repair any site that got broken due to this release. It’s our fault and we should handle it.

Our own site is running this version and (now) it’s running smoothly. Just like you suffered from some of the bugs, our own site had dysfunctional parts. It’s all working fine now and performance is still great.

Fixes in WPML 3.1.4

Here is a list of major problems fixed from the initial release of WPML 3.1 (which we took down) and until now:

  • Translations losing relationsships
  • Problems with WordPress installed in directory
  • Some strings not translated
  • Problems with category templates
  • Problems with default menus on translated languages
  • Portuguese language switched locale
  • Custom post types producing 404
  • Category selector in post-edit not complete
  • Auto-adjust-ID not working correctly
  • PHP errors when updating only WPML components without core
  • Conflicts with plugins that manage capabilities

Of course, all these issues didn’t happen on all sites. They all got triggered by different combinations of factors. The interesting thing is, when you have these many sites running WPML, all combinations happen. We should have tested many more configurations after such large changes and we’ll be sure to do so going forward.

Since Friday, just after this unfortunate update, we found around 10 issues per day. That rate had dropped now and the last bug we found came in today in the morning. We’re down to very rare situations and it looks like WPML is back to being very stable.

We’ll take the next few days to make sure that everyone is OK and no site has any sort of problem and then we’ll release the final WPML 3.1.4 version.


The latest version, pretty close to a final release is WPML 3.1.4-b4. You can get it only from your wpml.org account (no automatic update). To use this version, please follow this:

  1. Back up your database. Seriously.
  2. Log in to your wpml.org account and click on Downloads.
  3. Scroll to the bottom and download the Beta package.
  4. Unzip it. Inside the package, you will find all WPML components. If you update WPML, make sure to update ALL components that you are using.


If you need any technical help with WPML, please open a new thread in our support forum. If it’s related to this release, indicate it clearly in the subject, so that it gets routed to our development team.

Again, be sure to back up your database before installing this beta version.