Textpattern CMS 4.6.0 released: it’s big

After a good few years of back and forth, and an extensive beta programme, we are excited to announce Textpatterm CMS 4.6.0.

It’s been a long road, and we are extremely grateful to the huge amount of collaboration that moving to GitHub has afforded us. This release marks a real turning point in community involvement and sheer number of commits that have taken place—almost double the number since the last release than the project had as a whole up to v4.5.7.

A lot of the changes are behind the scenes: documentation, code tidying, more modern programming concepts, more API functions, with lots (and lots) of deprecated functionality. But you’ll also notice the amazing amount of effort gone into the workflow. Interface enhancements that we’ll build upon in future releases; links for duplicating Articles, Pages, Forms and Styles; performance optimisations; language changes; new tags; the list goes on and the highlights are presented below.

You can discuss this announcement here.

Download

You can either download from the links below, or from the GitHub project repository directly (please take a minute to ‘star’ our project too if you like it!).

File download

Single-site install version, Zip format.
File size: 1465 kB | Last modified:
File download

Multi-site install version, Gzip format.
File size: 1313 kB | Last modified:

Installation and upgrade

As with all releases, please ensure you log out of your admin side prior to upgrade and refer to the README.txt file in the download archives for detailed instructions.

If your admin side previously ran Classic or Remora, you’ll be notified by a full-screen message that you’ll be redirected to Hive. Just refresh the page once you’ve read the message and the upgrade will continue. Both Classic and Remora have been dropped in favour of the more modern and fully responsive Hive (which has a lovely ‘neutral’ version if you’ve had enough of yellow), but if anyone cares to bring the old themes up-to-date, by all means make an admin theme for them.

Anybody who runs ultra-modern MySQL, MariaDB or Percona, or is using strict mode, might encounter an unfortunate upgrade issue to do with null dates. If this is the case and you end up stuck on the Languages panel or your upgrade process throws date-based errors, fear not: there are workarounds, but it might involve you jumping through a few hoops. We will address this in future releases.

List of major changes

  • Textile v3.5.
  • Improved RTL language support.
  • Improved admin side UI.
  • Requires PHP 5.3.3 or newer. Compatible with PHP 7 and MySQL 5.7 (thanks Ruud van Melick).
  • New tags: <txp:authors />, <txp:meta_description />, <txp:if_description> and <txp:if_yield>.
  • No more plaintext passwords sent: password reset requests are handled directly on the server.
  • Stronger password hashes and strength meter implemented (zxcvbn).
  • Performance increases due to cache-friendly public side database queries, parser improvements and reduction of admin-side queries (thanks Ruud van Melick and etc).
  • Added: Support for adding other markup languages (for example, Markdown) via plugins.
  • Added: Default article publishing status preference.
  • Added: Support for custom CSS and JavaScript files in admin themes, for advanced users.
  • Removed: Import panel – the blog import options were obsolete (thanks Ruud van Melick).
  • Removed: Commenter IP ban feature – this method of banning is unreliable and becoming obsolete (thanks Ruud van Melick).
  • Removed: Modernizr – unnecessary due to Internet Explorer 11 being the minimum Internet Explorer browser requirement.
  • Changed: The /textpattern/theme/ directory has been renamed to /textpattern/admin-themes/ for stronger differentiation between this and the public-side /themes/ directory planned for Textpattern 4.7. Additionally prevents breakage of preferences panel caused by old, incompatible themes residing in the previously titled admin theme directory during upgrade.
  • Changed: <txp:article_custom /> accepts exclude attribute to exclude articles by a comma-separated id list.
  • Changed: <txp:author /> accepts escape and format attributes.
  • Changed: <txp:category_list /> accepts html_id, limit and offset attributes.
  • Changed: <txp:comments_form/>: Deprecated isize, msgcols, msgrows, msgstyle, previewlabel, submitlabel, rememberlabel, and forgetlabel attributes .
  • Changed: <txp:comments/>, <txp:comments_form/>, <txp:comments_preview/> and <txp:popup_comments/> can be used as container tags.
  • Changed: <txp:comment_email_input /> accepts size attribute.
  • Changed: <txp:comment_message_input /> accepts cols and rows attributes. Removed capability to apply an immediate style to the element.
  • Changed: <txp:comment_name_input /> accepts size attribute.
  • Changed: <txp:comment_preview /> accepts label attribute.
  • Changed: <txp:comment_remember /> accepts rememberlabel and forgetlabel attributes.
  • Changed: <txp:comment_submit /> accepts label attribute.
  • Changed: <txp:comment_web_input /> accepts size attribute.
  • Changed: <txp:link /> accepts id and name attributes.
  • Changed: <txp:meta_author /> accepts escape and format attributes.
  • Changed: <txp:meta_keywords /> accepts escape, format and separator attributes.
  • Changed: <txp:password_protect /> can be used as a container tag.
  • Changed: <txp:recent_articles /> accepts offset attribute.
  • Changed: <txp:section_list /> accepts html_id, limit and offset attributes.
  • Changed: Deprecated <txp:keywords /> tag. Use <txp:meta_keywords format="" /> instead.
  • Changed: Deprecated <txp:rsd /> tag.
  • Changed: Deprecated breakclass attribute for <txp:comments /> and <txp:image_info />.
  • Changed: Removed Form (article) Preview facility.
  • Changed: Removed empty ‘About’ section from new installs.
  • Changed: Tag builder has been reworked as a dialog window.
  • Changed: Increased page and css sizes in txp_section table.
  • Changed: ‘Prevent widowed words in article titles’ preference defaults to ‘No’ in new installs.
  • Changed: ‘Include email in Atom feeds’ preference defaults to ‘No’ in new installs.
  • Changed: Detailed debug trace log.
  • Changed: Default charset is now utf8mb4: supports a wider range of characters, including emoji.
  • Changed: Removed built-in Gzip compression of RSS feed and Atom feed.
  • Developer: getNextPref() now returns array members next and prev with article data, no longer returns array members next_id, next_title, next_utitle, next_posted prev_id, prev_title, prev_utitle, prev_posted.
  • Developer: getNeighbour() returns false if no matching neighbour article exists.
  • Developer: Uses mysqli extension for database access, lose dependency on mysql extension.
  • Developer: Uses the TXP ‘now()’ function instead of the SQLNOW’ function to create cache-friendly, faster SELECT queries.
  • Developer: Added jQuery UI library to admin side.
  • Developer: Added Prism code highlighting for <code> and <pre><code> to admin side. The following languages are supported (when specified via classnames on the <code> tag, i.e. using class="language-xxx"): language-markup, language-css, language-clike, language-javascript, language-json, language-php, language-markdown, language-textile. Optional line numbers are also supported when code highlighting, by adding an additional classname of line-numbers to the parent <pre> tag.
  • Developer: Added DocBlock documentation comments throughout the source code.
  • Developer: Adherence to PSR coding standards where possible.
  • Developer: Function signature for wrapRegion() changed: 7th parameter ARIA role dropped, as it shouldn’t be stated for semantic tags such as <section>.
  • Developer: Refactored Validator, Constraint, and theme classes into the Textpattern namespace; deprecated their txplib_validator and txplib_theme implementations.
  • jQuery 1.12.4.
  • jQuery UI 1.12.0.

Phew!

Plugin support

Although we strive to minimise the amount of backwards-compatibility issues introduced, with such a huge step up and the myriad changes to the admin-side layout structure there are bound to be casualties. A lot of plugins have been improved to take advantage of the new functionality and layout but, if not, please badger your favourite plugin authors to upgrade their code to the latest. We shall try and improve the documentation, including the new callbacks and API functionality, over the coming weeks.

As a security enhancement, all public tags now require registration so if you spot a plugin throwing an “unregistered tag” warning in debugging mode, the fix is trivial.

Credits and thanks

As always, we couldn’t have brought you this release without the incredible help of the community. Your support, beta testing, pull requests, documentation, plugins and, above all, patience are an amazing asset to the product. Please continue to get involved in whatever capacity you can as we ramp up the heat for the next version. Vive Textpattern!

Comments

  1. I love the work you guys (and gals) constantly do. This is still my favourite CMS ever and seeing constant improvements is encouraging. Kudos on a job well done.

  2. Very excited! Thanks, chaps.

  3. You are awesome!
    Thank you very – very – much for all the work improving textpattern and keeping it up to date!
    best wishes!

  4. This is not Textpattern. Textpattern was supposed to be a flexible, elegant and easy-to-use CMS. But developers have decided to exchange the very clean and unobtrusive admin interface in favour of this bold and clumsy “Hive” menu as the only choice on admin side. Because it is “responsive”. But I am not editing my sites on my iPhone and never will. And this blown-up default theme, what is it good for? Obviously, Textpattern users are supposed to decipher this contorted code before they do anything productive. How ugly has Textpattern become. Sigh.

  5. @Bloke: thanks

  6. Big congrats to TXP community! It has been rather long time since 4.5.7 version release. Can’t wait to installl and try the version 4.6!

  7. Thanks to all who make Textpattern what it still is: the power station of all my sites… ?

    @bloke: “If you don’t want to alter it manually, give me a few days to get smd_admin_themes up-to-date and you can edit the theme that way, bundle it up and release it back to the community. I’m sure there are people who would thank you.”

    I really would appreciate a release of the old, classic, theme… although it isn’t responsive, it’s still beautiful… and usable on laptop and desktop.

  8. Hi! What’s the situation with the MLP multi language Pack?
    Is it functional with the new version?

  9. Awesome. Nice work, thanks!

  10. Hats off to devs and team. +1 Hive all the way. Clean, efficient.

  11. Great news and especially great work. Upgrade went very smooth!

  12. Good awesome

  13. I am disappointed to lose the import panel, as I relied on it for the batch uploading of articles from the print edition of our magazine (prepared offline for handling by a modified import_mt.php script). Is there any other way to perform a similar batch upload?

Commenting has expired for this article.