Textpattern v4.8.0 Release Notes

Release Date: 2020-02-25 // 5 months ago
  • Textpattern CMS 4.8.0

    • 🔄 Changed: Minimum system requirements increased to PHP 5.5.
    • 🔄 Changed: <txp:newer /> and <txp:older /> tags support pagination ranges.
    • 🔄 Changed: Author's real name is available in <txp:page_url>.
    • 🔄 Changed: Refined scope of root .htaccess, and restricted directory listing in /files/ and /textpattern/ with their respective .htaccess.
    • 🔄 Changed: Non-searchable sections can be omitted from <txp:section_list> output with valueless 'exclude' attribute.
    • 🔄 Changed: Consistent Edit step search behaviour on Plugins and Links panels.
    • 🔄 Changed: Text/HTML tabs now in popup dialog, with optional live preview.
    • 🔄 Changed: Tag parser tweaks for secondpass handler.
    • 🔄 Changed: Plugins cached and loaded from disk to avoid eval().
    • 🔄 Changed: Custom fields support from/to filtering.
    • 🔄 Changed: <txp:evaluate /> removes empty items from lists.
    • 🔄 Changed: Scroll to top on list panels during navigation.
    • 🔄 Changed: Random generator supports random_bytes and doesn't throw errors.
    • 🐎 Changed: Improved performance of syndication feed handling for sections.
    • ⚡️ Changed: Check for updates throttle reduced to 1hr from 24hrs.
    • ➕ Added: Global public theme switcher.
    • ➕ Added: Dedicated live/dev theme switching.
    • ➕ Added: Support for PHP 7.4.
    • ➕ Added: <txp:if_request /> tag for checking server, URL, POST and cookie variables.
    • ➕ Added: <txp:pages /> tag for enhanced pagination schemes.
    • ➕ Added: 'item' attribute to <txp:yield /> tag.
    • ➕ Added: 'title' attribute to image tags.
    • ➕ Added: 'class' attribute to comment form tags.
    • ➕ Added: 'match' and 'separator' attributes to <txp:if_variable /> tag.
    • Added: 'month' and 'time' attributes to <txp:file_download_list /> and <txp:linklist> tags.
    • ➕ Added: 'pg', 'total' and 'limit' attributes to <txp:newer /> and <txp:older /> tags.
    • ➕ Added: Support for id ranges in some tags and admin fields.
    • ➕ Added: Support for HTTP status 451 (Unavailable For Legal Reasons).
    • ➕ Added: Support for native PHP password hashing.
    • ➕ Added: Dark Mode support in Hive admin theme.
    • ➕ Added: Pageless sections for content snippets and creative article flows.
    • ➕ Added: Per-section article link format override.
    • ➕ Added: 'breadcrumb/title' article link format.
    • ➕ Added: 'section/category/title' article link format.
    • ➕ Added: Links have an editable publish time and date.
    • ➕ Added: Category searching to a specified depth.
    • ➕ Added: Custom field aliases and URL filters via valueless attributes.
    • ➕ Added: Global 'evaluate', 'replace' and 'yield' attributes. Evaluate can execute contained content in arbitrary order.
    • ➕ Added: Ability to trim lists when using valueless 'trim' attribute.
    • ➕ Added: Link to phpinfo() in Diagnostics panel.
    • ➕ Added: Configuration file generated during setup can be downloaded.
    • ➕ Added: Support for Bengali language translation.
    • ➕ Added: Support for Khmer language translation.
    • ➕ Added: Support for Norwegian Nynorsk language translation.
    • ➕ Added: Support for Welsh language translation.
    • ➕ Added: Latest translations. Thanks to all Crowdin translators for their work.
    • ➕ Added: Hive and Classic admin themes now support 3 column layouts.
    • ➕ Added: Option to disable auto-expanding text areas in Hive admin themes via config.php file. See Hive theme's README.txt file for instructions.
    • ➕ Added: Warning to admin panels if JavaScript is unavailable.
    • ➕ Added: Support for SSL MySQL connections in config.php.
    • ✂ Removed: Obsolete 'No widowed words' preference setting. If this feature is needed it can be implemented directly with <txp:title /> tag.
    • ✂ Removed: Some deprecated functions from long ago.
    • 🛠 Fixed: index.php correctly included in css.php.
    • 🛠 Fixed: 3 undefined routing-related indexes.
    • 🛠 Fixed: Article preview (txpreview) is not cached.
    • 🛠 Fixed: <txp:category_list> 'sort' attribute respects 'categories' attribute instead of requiring sort="" override.
    • 🛠 Fixed: <txp:recent_articles> only uses default link without form/container.
    • 🛠 Fixed: Use locale on admin side.
    • 🛠 Fixed: Localization of pre-flight diagnostic upgrade messages.
    • 🛠 Fixed: Undefined variable warnings thrown via compact().
    • 🛠 Fixed: Password handling when using MySQL 8+.
    • 🛠 Fixed: nbsp on French opening quote broke Textile in some cases.
    • 🛠 Fixed: Incorrect acronym tag in welcome article.
    • Accessibility: Improved indication of required form fields.
    • Accessibility: Honour 'prefers-reduced-motion' in official themes.
    • Accessibility: Target WCAG 2.0 AAA contrast levels in official themes.
    • Accessibility: Improved ARIA experience.
    • Accessibility: Improved keyboard-only access experience.
    • 🔌 Developer: Plugins can be uploaded with .php and .zip extensions.
    • Developer: Upload order and file totals sent when batch uploading files.
    • 🚚 Developer: Some txplib_misc.php functions moved to txplib_admin.php.
    • Developer: PHP magic_quotes_gpc, magic_quotes_runtime, safe_mode and register_globals support removed.
    • 🔌 Developer: Title accessible to plugins in Atom/RSS.
    • 🔀 Developer: Merge headers on demand.
    • Developer: Tags can be registered with custom attributes/parameters.
    • Developer: Multiple forms can be fetched at once.
    • Developer: txp.article > neighbour.criteria callback on Write panel.
    • 🔌 Developer: Please register plugin tags or they will not work in future.
    • 🐎 Performance optimizations via cacheing and preloading frequent content.
    • 🚀 Textile 3.7.6. See https://github.com/textile/php-textile/releases/tag/v3.7.6 for full list of changes in this release (thanks, gocom).
    • jQuery 3.4.1.
    • PrismJS 1.19.0.
    • jQuery File Upload 10.8.0.

Previous changes from v4.8.0-beta.3

  • Third beta of Textpattern CMS. Changes since beta.2:

    • 🛠 Fix viewport width overflow on small devices (thanks, Myusername, phiw13).
    • 🐎 Permit multiple forms to be fetched from the database at once for performance improvements.
    • 👌 Improve pagination flexibility, introduce limit attribute to <txp:newer> and <txp:older> tags, and add the <txp:pages> tag.
    • Enable <txp:evaluate> and the evaluate attribute to execute content in arbitrary order.
    • 🛠 Fix international character usage in section/category/title and breadcrumb/title permlink schemes (thanks, phiw13).
    • 🛠 Fix plugin warnings issued when directory isn't writeable (thanks, phiw13).
    • 🛠 Fix ID range selection (thanks, Mikulas).
    • 🛠 Fix <txp:output_form> error being thrown (thanks, Summer).
    • 🛠 Fix incorrect <acronym/> vs <abbr/> tag in welcome article (thanks, colak).
    • ➕ Add JavaScript warning to admin side if it's disabled (thanks, cara-tm).
    • Accessibility improvements for screen readers and keyboard-only page navigation.
    • 🌐 Latest translations and pophelp: thank you to all contributors via Crowdin.
    • UglifyJS v3.7.7.