Problems introduced by CF7 updates

Contact Form 7 has a bit of a reputation when it comes to breaking updates. I can think of two reasons for this:

  1. The plugin is the most popular plugin on wp.org
  2. The author, Takayuki Miyoshi, manages the entire plugin by himself

Typically, each major CF7 update is followed by a patch a couple of days later. More than with any other plugin, the end user is an important part of the development cycle, as they take on the role of quality assurance (QA) tester, often without realising it. In this sense, Contact Form 7 is truly a community effort.

The Conditional Fields plugin is an extension for Contact Form 7, and so with each update of CF7 it tends to break as well. Luckily, because we get some revenue from the PRO version of the plugin, we don’t have to rely on the end user for QA testing. Here are some actions we take to make sure that the Conditional Fields plugin always runs smoothly.

  1. We have developed an ever growing list of automated unit tests (with PHP unit) and integration tests (with Cypress) to check whether all CF7 and Conditional Fields features are working correctly before we release an update.
  2. The Conditional Fields plugin checks which version of CF7 is installed and will display a notice in the WordPress dashboard if the current CF7 version is not compatible with Conditional Fields yet. The notice includes instructions on how to roll back to a previous version of CF7 if needed.
  3. When CF7 releases a new version we run our test-suite against it and we try to release an update the same day.
  4. Because some updates take a long time or are impossible to fix from the Conditional Fields side, we started work on this page, where we attempt to list potential problems with each CF7 update.

CF7 problems by version

In this overview, we try to list the problems and fixes related to every breaking CF7 update.
Note: This list is not complete yet.

CF7 version 5.7.6 (April 23, 2023)

Compatible with Conditional Fields versions:

  • 2.3.8 (released April 23, 2023)

This version of CF7 includes a fix for the breaking shortcodes that reference the form by title only.

Official release notes for version 5.7.6

CF7 version 5.7.5.1 (March 24, 2023)

Compatible with Conditional Fields versions:

  • 2.3.5 (released March 24, 2023)
  • 2.3.6 (released April 11, 2023)
  • 2.3.7 (released April 13, 2023)

Since this version it’s no longer possible to define a form like this:

[contact-form-7 title="my contact form"]

Instead, you need to make sure that you specify the id of the form, like this:

[contact-form-7 id="123" title="my contact form"]

The title is optional, but if you omit the id, conditional fields might stop working and you’ll get a PHP warning that looks like this:

PHP Fatal error:  Uncaught Error: Call to a member function id() on null in /wp-content/plugins/cf7-conditional-fields/cf7cf.php:468

CF7 version 5.7.5 (March 24, 2023)

This release broke many sites, because of a PHP error.

Because the CF7 plugin itself was broken, and the fix was released a couple of hours later by Takayuki Miyoshi, this version was never tested with Conditional Fields, and should be avoided.

Official release notes version 5.7.5