ClassicPress 1.4.0 Release Notes

This is no longer the latest release of ClassicPress!
You can find the latest release at the top of the Release Notes subforum.

We’re happy to announce the release of ClassicPress 1.4.0.

This release contains a few new features and a relatively large number of minor updates and fixes, as we have recently been going through the list of changes submitted to ClassicPress over the past ~year and accepting many of them. We have also started work on PHP 8 compatibility but this work is not finished so you will need to use PHP 7.x (7.4 recommended) with the 1.4.0 release series.

If your ClassicPress site has automatic updates enabled (the default configuration), then the new version will be installed automatically. Otherwise, we recommend upgrading your site(s) to 1.4.0 to receive all latest security updates.

Security updates since 1.3.1

New features since 1.3.1

  • Allow plugin and theme updates from an uploaded .zip file (#621, #877, #882, #885, thanks @MattyRob and WP contributors)
  • Add new ID column to posts/pages/CPTs admin screens, hidden by default (#786, thanks @alvarofranz)
  • Add two direct plugin upload links to admin to bypass loading the WP plugin repo (#788, #925, thanks @ozfiddler and @Simone)
  • Upgrade Dashicons to the latest version, making all icons in the Dashicons reference available for ClassicPress plugins (#769, thanks @MattyRob and WP contributors)
  • Work towards PHP 8 compatibility (not finished yet; multiple PRs, thanks @MattyRob, @omukiguy, @timkaye and WP contributors)

Minor changes and bugfixes since 1.3.1

  • Update TinyMCE to the latest minor version, 4.9.11 (#819, thanks @MattyRob and WP contributors) Temporarily reverted in version 1.4.1, see release notes for more information.
  • Upgrade PHPMailer to 6.x (#623, thanks @MattyRob and WP contributors) Temporarily reverted in version 1.4.1, see release notes for more information.
  • Upgrade SimplePie to latest version (#754, thanks @MattyRob and WP contributors)
  • Privacy: Remove blogs and users parameters from data sent to upgrade API (#831, thanks @viktor)
  • Fix “Required ClassicPress Version” text in plugins screen (#830, thanks @viktor)
  • Improve accessibility of toggle switches on Widgets admin page (#787, thanks @MattyRob)
  • Accessibility: Change the “Show / Hide dismissed updates” link to a button (#699, thanks @MarcoZ and WP contributors)
  • Ensure the proper action is triggered when a different action is selected in the top and bottom Quick/Bulk Edit forms (#588, thanks @MattyRob and WP contributors)
  • Unify “Back to”, “Return to”, “Go to” strings (#797) (#823, thanks @viktor and WP contributors)
  • Update the ClassicPress tagline (#784, thanks @smileBeda)
  • Update oEmbed sources (#683, thanks @MattyRob and WP contributors)
  • Ensure proper comment and page count for unapproved comments (#602, thanks @MattyRob and WP contributors)
  • Add more helpful user message when ‘heic’ images are uploaded (#773, thanks @MattyRob and WP contributors)
  • Enforce permission_callback in REST-API (#732, thanks @MattyRob and WP contributors)
  • Update $_old_files to remove erroneously included files (#929, #937, thanks @MattyRob)
  • Fix incomplete backport in do_all_pings() function (#923, thanks @timkaye and @MattyRob)
  • Minimize a race condition when using an object cache (#789, thanks @timkaye and WP contributors)
  • Correct the inline docs for the wp_kses_allowed_html filter (#798, thanks @timkaye and WP contributors)
  • Always show filters on media and post list tables (#590, thanks @MattyRob and WP contributors)
  • Fix WP and other version specifiers in inline docs (#857)
  • Ensure found_posts property of WP_Query is numeric (#592, thanks @MattyRob and WP contributors)

Development improvements and fixes since 1.3.1

  • Improve conflict detection/merging and other improvements to WP backport script (#825, #828, #847, and #832; thanks @MattyRob)
  • Add maintainers’ guide (#822)
  • Add new parents_first parameter to get_term_parents_list() function (#742, thanks @smileBeda)
  • Add new multiple and value_field parameters to wp_dropdown_users() function (#791, thanks @smileBeda)
  • Do not ignore existing PHP files in wp-content/plugins folder (#824, thanks @viktor)
  • Keep the automated tests running properly (e.g. #874, thanks @MattyRob and WP contributors)
  • A couple of other miscellaneous improvements and cleanups for core developers (#871 and #892, thanks @MattyRob)
  • Keep all build dependencies up to date (multiple PRs, thanks renovate-bot)

Download this release

New sites Download
and follow the installation instructions.
Existing WordPress sites Download the migration plugin and follow the migration instructions.
Existing ClassicPress sites Use the built-in update mechanism (more info).

Full changelog

The full changelog is available on GitHub.


That’s great news! Congrats to everyone who got this out the door. :slight_smile:



My sites updated automatically just a few minutes ago and all went well, no errors, no unexpected things happened.

1 Like

For both my sites, after the update, in the editing screens for posts/pages all the paragraph breaks were stripped, making them one big wall of text. :frowning: They’d show up properly if I viewed the post, but in the editing screen there were no paragraphs. Restoring one site from backups appears to have put it back to normal. The other site, however, still has the same problems.

1 Like

please see

Current solution is to not use visual editor mode, only text mode if you keep running CP 1.4
Or add these lines to wp-config.php after rolling back CP version so you do not get the automatic update:
define( 'WP_AUTO_UPDATE_CORE', false );

1 Like

I am using Code Potent’s Enriched Editor plugin and the p tags are not being stripped.

I’m using an older version though, 1.0.1


I have hidden the update to version 1.4.0 so that no further sites will receive it.

If you want to roll back to version 1.3.1 please do the following:

Once this is done, your site will stay on version 1.3.1 and will not see the 1.4.0 update (until we release a new version 1.4.1 to fix this issue).

It shouldn’t be necessary to restore entire sites from backup. You may need to restore individual posts that were edited in version 1.4.0 by following the steps here: WordPress Post Revisions: Everything You Need to Know

1 Like

FWIW Just tested the new release, can confirm this. In text mode I see the same behavior unless I view the page and go back to editing in that case it does show paragraphs.

1 Like

I think the key with Enriched Editor is to make sure that, under Advanced Options, ‘Keep paragraph tags’ is checked. That keeps paragraph tags from being stripped in ‘Text’ view.

Can we assume 1.4.1 will include fixes for both the SMTP issue and the TinyMCE issue?

@raygulick Yes that is correct. That preserves the p tags.

Seems like a reasonable assumption, but the best advice I can give you right now is to downgrade back to 1.3.1 while we get the fixes sorted.

FYI, I rolled back 5 sites to 1.3.1 this afternoon, and just got an email that one of them has (again) updated to 1.4.0.

Thanks for the heads up. This must have switched back an hour and a half ago when the nightly builds ran. It is fixed now.

Also, @raygulick , are you using the same plugin that is having an error or another one?

I’m using WP Mail SMTP, which is supposed to be incompatible with ClassicPress, but no issues until 1.4.0 update.

1 Like

Apparently I’m using WP Mail SMTP v.3.2.1, prior to the latest (3.3.0), which dropped support for WP below 5.1. So it still works.

1 Like

I finally got both sites working properly again. One site needed the cache purged a couple of times.

great work guys… :heartpulse:

I’ll update the sites I’m building maybe next week…

Your issue is about the site no more sending mails or with the test mail within the plugin?