Team Textpattern is pleased to announce the release of Textpattern CMS version 4.8.7, available for immediate download and deployment.

Textpattern 4.8.7 resolves a regression reported in Textpattern 4.8.5, and offers further minor improvements to the user interface. If you have an existing Textpattern 4.8 site, consider upgrading to Textpattern 4.8.7 for a more refined ride, particularly if you make creative or extensive use of Textpattern’s forms functionality.

Please note: Textpattern 4.8.6 was released earlier this week, and very early adopters discovered some issues which we’d missed in testing. Given the nature of the issues – which we have diagnosed and addressed in Textpattern 4.8.7 – we chose to not publicise the release of Textpattern 4.8.6. Textpattern 4.8.6 should not be used in a production environment.

As with all Textpattern upgrades, refer to the current Textpattern system requirements and ensure you have known-good backups of your site files and database, including any uploaded content such as images & files. Before you make any changes, please refer to the accompanying release notes in HISTORY.txt to ensure you understand what has changed in this release, along with any skipped versions released beforehand. You can check your current Textpattern version from the bottom of any page on the admin-side.

We are continuing to work on the Textpattern 4.9 series, as well as anticipating at least one further release in the Textpattern 4.8 series to account for any changes required for PHP 8.1 compatibility. We expect PHP 8.1 to arrive in late November 2021, and we will be tracking pre-release candidates along the way.

Thank you to everyone who contributed to this patch release with reporting & resolving bugs, providing & improving language translations and overall improvements to the Textpattern ecosystem. We’re grateful to all contributors offering us their expertise, time, attention, words, donations, signal boosting, evangelism, cheerleading and all other activities that fuel our progress.

We owe a special thank you to our early adopter crew who discovered and reported issues to us in a clear and timely fashion.

Textpattern’s infrastructure and continued development is kindly supported by DigitalOcean, 1Password and BrowserStack. We are grateful for their ongoing involvement and support for Textpattern and its global community of authors, publishers, designers and administrators. Thank you.

There is no spyware, adware, user tracking or other junk in Textpattern. We consciously work to keep things fast, nimble and ready for pretty much anything you can throw at it. We have a friendly forum for a Textpattern sites showcase – tell us what you’ve made with Textpattern, we’d love to hear from you. Even a ‘hello!’ or ‘thanks!’ helps us to gauge how far Textpattern has travelled, so don’t be a stranger.

You can also show your appreciation by sponsoring Textpattern on GitHub or supporting Textpattern on Open Collective. Alternatively, you can donate to Textpattern developers with PayPal.


You can download Textpattern from using the following links, or from Textpattern v4.8.7 on GitHub. Please take a moment to ‘star’ Textpattern’s repositories on GitHub if they are of interest to you. This really helps us out.

To take advantage of Textpattern’s multi-site capabilities, please download the .tar.gz archive as it includes the multi-site scaffold.

File download

SHA256 checksum eb0a808f659d7e751ecd09c1c28dbf451933e540a4e688ef2f6b97501d5536dc
File size 1999 kB | Created
File download


SHA256 checksum 0eaecf5b32ebed998d65684ae476fac413f9f0e5d24d5a41cffd90e9f806084c
File size 1738 kB | Created

System requirements

Textpattern 4.8 requires a minimum of PHP 5.5 as part of the system requirements, though a vendor-supported PHP version is highly recommended. At the time of writing, PHP 7.4 & PHP 8.0 have active and ongoing support. PHP 7.3 has extended security support until 6 December 2021. Please refer to PHP Supported Versions for up-to-date schedules.

If you are upgrading Textpattern from a version prior to 4.8.0, please note the SimpleXML PHP extension is now required. Most PHP web servers have this built-in and enabled already. Check with your web host if you have any doubts.

Please note: we will increase the minimum PHP and MySQL version requirements for Textpattern 4.9. More details will be provided in due course.

Installation and upgrade

Please ensure you log out of the admin side prior to upgrade, perform and verify a full site backup (database and files, including any file/image uploads), and refer to the README.txt file in the download archives for detailed instructions. The vast majority of Textpattern upgrades are smooth sailing and happen without incident, but on the rare occasion something does go astray it’s preferable to safely restore the known-good version from your full site backup and troubleshoot any issues while your site continues to be available.

What’s new in this release?

The Textpattern 4.8.7 HISTORY.txt outlines changes for this and previous Textpattern releases, along with their respective release dates. We recommend you read the list of changes to understand how this may affect your current sites, especially if you’re upgrading from older versions. Please note that while upgrades from very old releases of Textpattern are possible, you may need to perform a multi-stage upgrade.

If you require clarification on any aspect of the release notes, we recommend you seek advice before starting a site upgrade. The Textpattern support forum is an excellent place to start, and the Textpattern user documentation is regularly updated with examples, explanations and background information.

We have a forum thread dedicated to Textpattern 4.8.7 feedback. We gather field reports from fellow Textpattern administrators and users that may assist or guide you with upgrading.

Changes made in Textpattern 4.8.7 include everything that changed in Textpattern 4.8.6, and we fixed a few more bugs. Textpattern 4.8.7 has the following changes that addressed broken functionality in Textpattern 4.8.6…:


  • Fixed: Users panel throws error due to missing DB prefix (thanks, prbt2016).
  • Removed: database user GRANT check during initial setup, which broke some installations.
  • Changed: Context check priority in tags.

…and the changes made in Textpattern 4.8.6 include:


  • Maintenance release including improvements for PHP 8.0 and bug fixes.
  • Fixed: Regression in override form usage in lists (thanks, Christian Rapp).
  • Fixed: Undefined $article warning when accessing non-existent articles.
  • Fixed: Error with tag on empty forms (thanks, Adi).
  • Fixed: Low-privilege users can save immediately after duplicating articles.
  • Latest text translations. Thank you to all our translators.
  • Option to create database during setup.
  • Permission (grants) verification during setup.

Tag modifications

  • Articles can be filtered by keywords more easily.
  • Added: id attribute to <txp:if_different /> tag.
  • Added: db option to the global escape attribute.
  • <txp:variable trim> trims its own output (thanks, cara-tm).
  • <txp:link_to_next/prev> can return URL or container.
  • <txp:page_url> and <txp:if_request> tags are more flexible.
  • Boost power of grouping by date.
  • Deprecate <txp:search_result_date />. Use <txp:posted /> instead.
  • Remove deprecated break attribute from search_result_excerpt tag.

Back-end tweaks

  • ‘Assign sections’ from Themes panel only selects its own sections.
  • No Edit options in Write panel without appropriate privileges.
  • No disabled update buttons on Languages panel (thanks, phiw13).
  • Search improved when handling numbers. Comparators can also be used for numeric searches.

Developer goodies

  • Permit step=false to hook into explicit empty step callbacks and step=null to indicate ‘any step’.
  • Permit $pre to be any text. Opens up arbitrary callback grouping.
  • New articles>multi_edit.$method callback on Articles list panel.
  • User panel callbacks:
    • user>fields and user>from to manipulate the query
    • user>controls to affect the button area
    • user_ui>list.row (pluggable_ui) for adding table data
    • user>steps for plugins to register custom panel-level functionality
  • Diagnostics panel callbacks diag>steps and diag_ui>level for custom plugin steps and functionality.

Further notes

If you find anything not working correctly or wish to propose improvements, please file a report on GitHub. There are templates for feature requests and bug reports.

We hope you enjoy this release and it serves you, your sites and clients well!