All notable changes to MigrateMe 4 will be documented in this file.

v4.4.14.3 2026-10-01

joomla.zip Upload Fix & Clearer Download Errors

🐛 Bug Fixes

  • Fixed the joomla.zip upload never being used: If your server can't download Joomla itself, the advice has always been to download the package yourself and upload it to the /mm4/ folder as joomla.zip. MigrateMe 4 noticed the file and skipped the download, but then tried to unpack a different file that wasn't there, so the migration always failed at "Installing Joomla". It now unpacks the joomla.zip you uploaded, and removes it afterwards so it isn't carried into your live site at Go Live.

⚙️ Changes

  • Clearer error when your host blocks downloads: Some hosts switch off the PHP function curl_exec. MigrateMe 4 then reported "The Joomla download was incomplete (0 bytes)", which sounded like a connection problem. It now says exactly what is disabled, what to ask your host for, and where to download the Joomla package so you can upload it as joomla.zip instead.
  • If the Joomla package can't be opened or unpacked, MigrateMe 4 now stops with a message naming the file, instead of carrying on and failing later with a confusing error.
  • This release also includes the changes from 4.4.14.2 below, which was not released publicly.

v4.4.14.2 2026-09-08

Dotted Database Names, Support & Log Screens, Translation

📦 New Features

  • Added a welcome screen after installing: Until now, installing MigrateMe 4 left you on Joomla's great big green "Installation Successful" message with nothing to tell you the component even had a control panel, let alone where to find it. You now get a proper card with a button that takes you straight there, plus links to the settings, the user guide and support.
  • Added a Support screen: It gathers the things we always end up asking for - your Joomla and PHP versions, your PHP time and memory limits, the migration target, and whether you are looking at the live site or the migrated copy - into one block you can copy straight into a message. It also warns you up front if your PHP time limit or memory limit is low enough to stop a migration part-way, which is far and away the most common cause of a migration that stalls.
  • Added a log screen: The log was already there but you could only read it as a wall of raw text in a browser tab. It now has a proper screen with a count of errors and warnings, a filter box, a tick box to show only problems, and a download button that hands you a file you can attach to a support message. Errors and warnings are colour coded so the interesting line is easy to spot.

🐛 Bug Fixes

  • Fixed MigrateMe 4 failing at "preparing the migration environment" on sites whose database name contains a full stop - names like dev.example-site.hu1234, which several shared hosts hand out as standard. MigrateMe 4 was treating the part before each dot as a separate database, so the very first thing it does - asking your server for the list of tables - was rejected outright and the migration stopped before it started. The whole name is now treated as one database name, which is what it is. If your database name has no dots in it, nothing changes. Reported by Balazs Daniel.
  • Fixed the Go Live button losing its background when you pointed at it: The hover styling had been written in a way browsers quietly discard, so instead of turning dark blue the button lost its background altogether and its white text was left on whatever was behind it. The blue is also brighter than before - it previously faded to almost black at the edges, which is what made the button look dull.
  • Fixed the "Contact us at PHP Web Design" link pointing at the wrong product: It went to the MigrateMe Plus page - a different product with its own licence - so anyone clicking it from MigrateMe 4 landed on something they had not bought. It was also an insecure http:// address. Both fixed.
  • Fixed a rare case where the "Go Live" button could appear on the LIVE site rather than the migrated copy: The screen decided which site you were on by looking for "mm4/" anywhere in the address, so any address that merely mentioned the folder could fool it. Given that Go Live replaces the live site, this is worth being exact about, and it now checks properly.
  • Fixed the log download failing on large logs: It loaded the whole file into memory, so on the very migrations that produce a big log - the failed ones, where the log is the thing support needs - the download died with a memory error and a blank page. It now streams the file instead, so size no longer matters.
  • Fixed a warning appearing at the top of the Support screen on some shared hosting, which also revealed the full server path of your site - on the one screen most likely to be shared publicly.

⚙️ Changes

  • The Go Live button now stands out: It used to be the same grey as every other button on the screen, so the most important control in the whole component looked no different from "Remove the migration area". It is now MigrateMe orange, and turns blue when you point at it. Reported by Tim Davis.
  • The text throughout MigrateMe 4 can now be translated: Almost every word was previously written into the code itself, which meant no translation was possible at all. The wording now lives in a language file, so MigrateMe 4 can be translated into other languages without touching the code.
  • Each screen now says which screen it is: Every page used to be headed "MigrateMe 4: Joomla! 4 Migration" regardless of where you were; the settings, backups, checks, log and support screens now say so.
  • MigrateMe 4 now describes itself in Extensions > Manage: The listing was blank before.
  • Removed 72KB of unused code that had been shipped in every release since the MigrateMe 3 era: It was never loaded, and it defined a second copy of an internal name that would have caused a fatal error had anything ever tried.
  • Clicking a setting's label now opens its dropdown: Three of them did nothing, which also meant screen readers could not associate the two.
  • The settings file can no longer be requested directly in a browser
  • The support report no longer includes your database table prefix: It sat under a note saying nothing in the report is secret, next to a one-click Copy button, so it would have ended up in forum posts and screenshots. Joomla randomises that prefix deliberately as a security measure, and support does not need it.
  • The log screen now explains that its counts cover the whole file while the list below shows only the most recent lines: Previously it could report twelve errors above a list containing three, with nothing to explain the difference.
  • Clearing the log now tells you if it did not work: It always reported success, so on a site where the folder is not writable you were told the log had been cleared while the old contents stayed - and the next run's messages were added underneath, making a stale error look like a current one.

v4.4.14.1 2026-08-24

Security Hardening, Dark Mode & Post-Migration Checks

📋 Version Numbering

  • New Version Numbering: from this release the first three digits are the DESTINATION Joomla version MigrateMe 4 installs (4.4.14, the final Joomla 4 release) and the fourth digit is MigrateMe 4's own release number. Joomla 4 will receive no further versions, so the first three digits are now fixed.

🛡️ Security

  • Added CSRF protection to every destructive action: Upgrade, Resume, Go Live, Restore, Remove and Remove Backup all ran with no token, so a logged in administrator who visited a hostile page could have their live site overwritten, restored over, or the migration area deleted without any interaction. The confirmation dialogs are client side only and never protected against this.
  • Restore and Remove Backup took the target folder straight from the request: Any directory on the server could be passed - Restore copies that folder OVER the live site and Remove Backup deletes it recursively. Both now refuse anything that does not resolve inside the backups folder.
  • The AJAX step name was taken from the URL and called as a method with no validation, so steps could be run out of order - for example jumping straight to the final step and writing an incomplete configuration.php. Step names are now checked against a fixed list.
  • The Joomla download had TLS certificate verification switched off while redirects were followed: That archive is unpacked over the site and becomes the live installation, so anyone able to intercept the connection could replace it. Verification is now on, and certificate errors are reported clearly instead of silently.
  • The permission check named com_contact rather than com_migrateme4, so anyone allowed to manage contacts could run a migration or Go Live.
  • The migration log was a plain file readable by anyone who knew its address, and contains the database prefix, table names, server paths and failing SQL: It is now served through the component behind the login, and .htaccess / web.config block the direct path.

📦 New Features

  • Added dark mode: Having fixed the above, MigrateMe 4 now follows your operating system's light or dark setting properly, on the Joomla 3 site and on the migrated Joomla 4 site. Neither Joomla 3 nor Joomla 4 has a dark mode of its own - that arrived in Joomla 5 - so the setting is taken from your system. If a migrated site is later upgraded to Joomla 5, MigrateMe 4 follows the admin template's dark mode as well. Light mode is unchanged.
  • Added a check for the "Install from Web" update loop: A migrated site inherits the Joomla 3 update site for that plugin, which still advertises a build targeting Joomla 4 - but the package refuses to install there because the plugin is part of Joomla 4 core, failing every time with PLG_INSTALLER_WEBINSTALLER_ERROR_PLUGIN_INCLUDED_IN_CORE. The leftover update site is now retired so Joomla stops offering an impossible update. Joomla 4's own copy of the plugin is unaffected and updates with core.
  • Added Weblinks handling: Weblinks left Joomla core in 4.0 and is now a separate package, so a migrated site arrives carrying the Joomla 3 version. If the site has weblinks, the Weblinks 4.4.0 package (the last Joomla 4 release) is downloaded during the migration and then installed AUTOMATICALLY, using Joomla's own installer, the first time MigrateMe 4 is opened on the migrated site - which always happens, because that is where Go Live is. No manual step. If the site has no weblinks at all, it is offered for removal instead. Sites that never used weblinks are left alone.
  • Added post-migration database checks, run automatically at the end of every migration and re-runnable from the new Post-migration checks screen: Repairs the missing default workflow (which leaves the Article Manager empty), missing workflow associations, the missing Smart Search submenu, and the missing finder_tokens / finder_tokens_aggregate tables. Ported from CS Quirky DB Fixes; workflow fixes by Brian Teeman.
  • Added "Block search engines" option, on by default: The migrated site is set to noindex, nofollow, and the live site's own setting is recorded beforehand and restored automatically at Go Live.

🐛 Bug Fixes

  • Fixed text becoming invisible when the browser is in dark mode: Firefox's dark mode (and similar settings in other browsers) makes the browser's default text colour white. MigrateMe 4 set its own background but left much of its text to inherit, so on its white panel that text turned white on white and simply disappeared - the welcome message, the numbered instructions, the "How to Go Live" section and more. Only the parts that happened to set a colour of their own stayed readable. Every piece of text now sets its own colour, so nothing can vanish this way again. Reported with a screenshot by Nicolas Olivier, Agence Semaphore.
  • Fixed the stylesheet and script being served from browser cache after an update, which hid styling changes and could leave an old script in place.
  • Fixed the saved configuration being ignored on servers with OPcache: The check guarding the cache refresh tested a file path as if it were a function name, so it never ran - settings reported as saved and the old values kept being used.
  • Fixed a case where Joomla's own upgrade scripts could run against the LIVE database instead of the migrated copy: The scripts are rewritten to point at the migrated tables before being run, but with OPcache active the previous version could still execute. The cache is now cleared between the rewrite and the run, and an interrupted step can no longer leave the file rewritten.
  • Fixed the size check on the downloaded Joomla archive comparing against a value that was never set, so an incomplete download was reported as a file permissions problem instead.
  • Fixed a fatal error on the migrated Joomla 4 site when an unauthorised user opened MigrateMe 4.
  • Fixed the Weblinks check reporting "already installed" when it was not, which meant the update still had to be done by hand: The check read the version from the database, but the migration itself stamps the target Joomla version into every core extension record - so Weblinks claimed to be 4.4.14 while the Joomla 3 files were still in place. It now looks at the files on disk, which cannot be misreported.
  • Fixed log_path and tmp_path being written incorrectly into the migrated site's configuration.php: Joomla's default administrator/logs came out as administrator/mm4/logs, which is not a real directory. Only single-segment paths such as <root>/tmp were ever correct.
  • Fixed saving the Configuration screen resetting every setting the form does not itself post - which silently reset the recorded Joomla version back to 3.0.0.

⚙️ Changes

  • Removed Joomla 4.1.5 from the target system list: Joomla 4.4.14 is the only supported target.

v4.4.14 2025-11-10

Joomla 4.4.14 Support

⚙️ Changes

  • Joomla 4.4.14 Support: Added migration to Joomla 4.4.14.

v4.4.13 2025-07-09

Joomla 4.4.13 Support

⚙️ Changes

  • Joomla 4.4.13 Support: Added migration to Joomla 4.4.13.

v4.4.9 2024-10-23

Joomla 4.4.9 Support

⚙️ Changes

  • Joomla 4.4.9 Support: Added migration to Joomla 4.4.9.

v4.4.8 2024-09-05

Joomla 4.4.8 Support

⚙️ Changes

  • Joomla 4.4.8 Support: Added migration to Joomla 4.4.8.

v4.4.6 2024-08-19

Joomla 4.4.6 Support

⚙️ Changes

  • Joomla 4.4.6 Support: Added migration to Joomla 4.4.6.

v4.4.5 2024-06-24

Joomla 4.4.5 Support

⚙️ Changes

  • Joomla 4.4.5 Support: Added migration to Joomla 4.4.5.

v4.4.3 2024-03-04

Joomla 4.4.3 Support

⚙️ Changes

  • Joomla 4.4.3 Support: Added migration to Joomla 4.4.3.

v4.4.2 2024-01-23

Joomla 4.4.2 Support

⚙️ Changes

  • Joomla 4.4.2 Support: Added migration to Joomla 4.4.2.

v4.4.1 2023-11-30

Joomla 4.4.1 Support

⚙️ Changes

  • Joomla 4.4.1 Support: Added migration to Joomla 4.4.1.

v4.4.0.8 2023-11-08

Symlink Loop Fix

🐛 Bug Fixes

  • Fixed issue with engine following symlinks resulting in an infinite loop!

v4.4.0 2023-09-23

Joomla 4.4.0 Support

⚙️ Changes

  • Joomla 4.4.0 Support: Added migration to Joomla 4.4.0.

v4.3.4.7 2023-09-27

Fixed bug where opcache functions not available

🐛 Bug Fixes

  • Fixed bug where opcache functions not available

v4.3.4.6 2023-09-26

Configuration build fixed for slow filesystems

⚙️ Changes

  • Configuration build fixed for slow filesystems

v4.3.4.5 2023-09-25

Fixed a Resume bug

🐛 Bug Fixes

  • Fixed a Resume bug

⚙️ Changes

  • Clear Cache now automated

v4.3.4.4 2023-09-24

Fixed a vbMParams bug

🐛 Bug Fixes

  • Fixed a vbMParams bug

v4.3.4.3 2023-09-18

Added a remove migration area button

📦 New Features

  • Added a remove migration area button

v4.3.4.2 2023-09-18

Fixed bug with logging

🐛 Bug Fixes

  • Fixed bug with logging

v4.3.4.1 2023-09-18

Fixed bug with MySql strict mode

🐛 Bug Fixes

  • Fixed bug with MySql strict mode
  • Fixed bug with NULL in MySql tables

v4.3.4 2023-09-06

Joomla 4.3.4 Support

⚙️ Changes

  • Joomla 4.3.4 Support: Added migration to Joomla 4.3.4.

v4.3.3 2023-07-17

Joomla 4.3.3 Support

⚙️ Changes

  • Joomla 4.3.3 Support: Added migration to Joomla 4.3.3.

v4.3.2 2023-06-21

Joomla 4.3.2 Support

⚙️ Changes

  • Joomla 4.3.2 Support: Added migration to Joomla 4.3.2.

v4.3.1.1 2023-05-25

Minor xml fix

⚙️ Changes

  • Minor xml fix

v4.3.1 2023-05-15

Joomla 4.3.1 Support & Minor text fix

⚙️ Changes

  • Joomla 4.3.1 Support: Added migration to Joomla 4.3.1.
  • Minor text fix

v4.3.0 2023-04-19

Joomla 4.3.0 Support

⚙️ Changes

  • Joomla 4.3.0 Support: Added migration to Joomla 4.3.0.

v4.2.9 2023-03-21

Joomla 4.2.9 Support & Fixed minor bug with Remove Migration button

🐛 Bug Fixes

  • Fixed minor bug with Remove Migration button

⚙️ Changes

  • Joomla 4.2.9 Support: Added migration to Joomla 4.2.9.

v4.2.8.2 2023-02-27

Small textual changes

⚙️ Changes

  • Small textual changes

v4.2.8.1 2023-02-20

Added backups management

📦 New Features

  • Added backups management

v4.2.8 2023-02-17

Joomla 4.2.8 Support

⚙️ Changes

  • Joomla 4.2.8 Support: Added migration to Joomla 4.2.8.

v4.2.7 2023-02-06

Joomla 4.2.7 Support

⚙️ Changes

  • Joomla 4.2.7 Support: Added migration to Joomla 4.2.7.

v4.2.6.2 2023-01-18

Minor fix for Joomla 4.2.6 install

🐛 Bug Fixes

  • Minor fix for Joomla 4.2.6 install

v4.2.6.1 2022-12-16

Additional improvements for PHP 8+

⚙️ Changes

  • Additional improvements for PHP 8+

v4.2.6 2022-12-15

Joomla 4.2.6 Support

⚙️ Changes

  • Joomla 4.2.6 Support: Added migration to Joomla 4.2.6.

v4.2.5.1 - 4.2.5.2 2022-12-09

PHP 8.x Compatibility Notes

⚙️ Changes

  • Clarified PHP 8.x compatibility with J3 and MM4: Minor text changes.

v4.2.5 2022-11-09

Joomla 4.2.5 Support

⚙️ Changes

  • Joomla 4.2.5 Support: Added migration to Joomla 4.2.5.

v4.2.3 2022-10-12

Joomla 4.2.3 Support

⚙️ Changes

  • Joomla 4.2.3 Support: Added migration to Joomla 4.2.3.

v4.2.2 2022-09-21

Joomla 4.2.2 Support

⚙️ Changes

  • Joomla 4.2.2 Support: Added migration to Joomla 4.2.2.

v4.1.5 2022-07-25

Joomla 4.1.5 Support

⚙️ Changes

  • Joomla 4.1.5 Support: Added migration to Joomla 4.1.5.

v4.1.3 2022-05-11

Joomla 4.1.3 Support & Improved compatibilty with PHP 8.1

⚙️ Changes

  • Joomla 4.1.3 Support: Added migration to Joomla 4.1.3.
  • Improved compatibilty with PHP 8.1

v4.1.2.1-4.1.2.3 2022-05-04

Improved Joomla 4.1.2 Upgrade Sequence

⚙️ Changes

  • Improved the upgrade sequence to 4.1.2 to correct breaking changes in J4

v4.1.2 2021-10-13

Joomla 4.1.2 Support

⚙️ Changes

  • Joomla 4.1.2 Support: Added migration to Joomla 4.1.2.

v4.0.2.2 2021-10-13

Added compatibility for Joomla 3.10.2

📦 New Features

  • Added compatibility for Joomla 3.10.2
  • Added compatibility for old versions of Joomla (3.6 and previous)

v4.0.2.1 2021-09-03

Added SAFE Mode option to Configuration

📦 New Features

  • Added SAFE Mode option to Configuration

v4.0.2 2021-08-31

Added compatibility for Joomla 4.0.2

📦 New Features

  • Added compatibility for Joomla 4.0.2

⚙️ Changes

  • Joomla package retrieval

v4.0.0 2021-08-30

Initial Release

⚙️ Changes

  • First release

Add comment

Submit