Skip to content

Releases: textpattern/textpattern

v4.8.8

24 Jan 13:42
Compare
Choose a tag to compare
  • Maintenance release with support for PHP 8.1, security enhancements, general improvements and bug fixes.
  • Security: Fix reported cross-site scripting issue relating to article preview CSRF token (many thanks, Paul Ritchie at Pentest Limited).
  • Fixed: More robust numeric searches.
  • Fixed: Improved query efficiency of category operations.
  • Fixed: Required parameters after optional in tag builder (thanks, @phiw13).
  • Fixed: Admin-side pagination when sorting by non-unique values.
  • Added: PHP 8.1 support.
  • Added: Natural search mode.
  • Added: Random form selection.
  • Added: Support for AVIF image format, on PHP 8.1 or higher.
  • Added: Global limit, offset and sort attributes.
  • Added: url_title attribute to <txp:article[_custom] />.
  • Added: range attribute to <txp:article_image />.
  • Added: date and time attributes to <txp:if_expired />.
  • Added: calendar attribute to <txp:posted /> and similar tags.
  • Added: Substring extraction via escape attribute.
  • Added: <txp:items_count /> tag.
  • Added: Expanded conditional match attribute with comparison operators.
  • Added: UTC is now a permitted time zone.
  • Added: Custom date formats.
  • Changed: <txp:category_list /> with children >1 attribute behaviour.
  • Changed: Global escape attribute operates at the items level in lists.
  • Changed: Multi-site plugins directory defaults to site/admin/plugins.
  • Accessibility: Additional aria-label attributes for some internal links.
  • Internal: Removed FOUND_ROWS() which is deprecated in MySQL 8.0.17.
  • Internal: Prefer is_readable() and is_file() to file_exists().
  • Developer: Added plugin lifecycle events upgraded and downgraded.
  • Developer: Export new article IDs on duplicate.
  • PrismJS 1.26.0.

v4.8.8-beta.1

01 Jan 14:03
Compare
Choose a tag to compare
v4.8.8-beta.1 Pre-release
Pre-release

First beta release of Textpattern 4.8.8 (aka Textpattern 4.8.8-beta.1).

  • Maintenance release with support for PHP 8.1, security enhancements, general
    improvements and bug fixes.
  • Security: to be advised (many thanks, Paul Ritchie at Pentest Limited).
  • Fixed: More robust numeric searches.
  • Fixed: Improved query efficiency of category operations.
  • Fixed: Required parameters after optional in tag builder (thanks, phiw13).
  • Fixed: Admin-side pagination when sorting by non-unique values.
  • Added: Natural search mode.
  • Added: Random form selection.
  • Added: Support for AVIF image format, on PHP 8.1 or higher.
  • Added: Global limit, offset and sort attributes.
  • Added: url_title attribute to <txp:article[_custom] />.
  • Added: range attribute to <txp:article_image />.
  • Added: date and time attributes to <txp:if_expired />.
  • Added: calendar attribute to <txp:posted /> and similar tags.
  • Added: Substring extraction via escape attribute.
  • Added: <txp:items_count /> tag.
  • Added: Expanded conditional 'match' attribute with comparison operators.
  • Added: UTC is now a permitted time zone.
  • Added: Custom date formats.
  • Changed: <txp:category_list /> with children >1 attribute behaviour.
  • Changed: Global escape attribute operates at the items level in lists.
  • Accessibility: Additional aria-label attributes for some internal links.
  • Internal: Removed FOUND_ROWS() which is deprecated in MySQL 8.0.17.
  • Internal: Prefer is_readable() and is_file() to file_exists().
  • Developer: Added plugin lifecycle events upgraded and downgraded.
  • Developer: Export new article IDs on duplicate.
  • PrismJS 1.24.1.

Final cut of Textpattern 4.8.8 expected 2022 Q1.

v4.8.7

30 May 15:47
Compare
Choose a tag to compare

High priority maintenance release to address functionality and setup issues discovered after 4.8.6 release.

  • 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.

v4.8.6

28 May 21:43
Compare
Choose a tag to compare

DO NOT USE IN PRODUCTION - issues discovered after release, use 4.8.7 instead.

Textpattern CMS maintenance release including improvements for PHP 8.0, bug fixes and minor tweaks.

Headlines

  • Fixed regression in override form usage in lists (thanks, Christian Rapp).
  • Fixed undefined $article warning when accessing non-existent articles.
  • Fixed error with <txp:output_form /> 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 txp:article(_custom) 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.

v4.8.5

29 Mar 22:55
Compare
Choose a tag to compare

Textpattern CMS maintenance release including improvements for PHP 8.0 and bug fixes.

PHP compatibility

  • Fixed: Database connection issue for new installations on PHP 8.0.
  • Fixed: libxml_disable_entity_loader() deprecation warning on PHP 8.0.
  • Fixed: Undefined array key/offset warnings on PHP 8.0.
  • Fixed: System temp directory notice on PHP 8.0.

User interface & user experience

  • Fixed: Custom field ordering on Write panel.
  • Fixed: Diagnostics panel strings no longer have 'Help' appended, and the textarea is rendered fully in English to aid support requests.
  • Fixed: RSS/Atom feeds display correct titles (thanks, jrmartin).

Tags and attributes

  • Added: <txp:image_info type="mime" />.
  • Added: More aggregators in <txp:article /> fields attribute.
  • Added: Global break, replace and trim attributes.
  • Added: breakby and breakform attributes for all content types.
  • Added: Import attributes in <txp:php /> as PHP variables.
  • Added: root attribute of <txp:page_url /> to create relative URLs.
  • Changed: <txp:header /> attributes are unset by default. Ensure any name attributes are set before updating to avoid issues with custom headers.
  • Changed: <txp:article_custom /> can paginate content using pageby attribute.
  • Changed: <txp:images /> outputs full-size images if thumbs don't exist and <txp:images thumbnail="0" /> displays full-size images as expected.
  • Changed: txp:images accepts <txp:else />.
  • Changed: txp:variable default attribute can be used during assignment (thanks, cara-tm).

Images

  • Added: Support for WebP image format, on PHP 7.1 or higher.

Language support, translations and internationalisation

  • Added: Latest text translations. Thank you to all our translators.
  • Added: Support for Fulah language translation.
  • Added: Locale for en, and improved locale fallbacks.
  • Changed: Better i18n handling for 'ago'.

Other stuff

  • Fixed: Draft/hidden/pending articles output 404 Not Found status as they should.
  • Added: SSL version verification on Diagnostics panel during update checks.
  • Changed: Expose secondpass Advanced pref for testing.
  • Changed: Plugin load warning includes version number.
  • Changed: Comments off by default on new installations.
  • Changed: If allowed, <txp:php /> is processed in forms even in article body.
  • Changed: Copy Editors are allowed to use <txp:php /> (they were able to do it in forms anyway).

Developer

  • Fixed: Form processing on 'pretext_end' callback.
  • Developer: New pre-pretext_end callback.
  • Developer: New txp.image>types callback.

v4.8.4

29 Nov 15:51
Compare
Choose a tag to compare

Textpattern CMS maintenance release 4.8.4.

Compatibility

  • Support for PHP 8.0

User interface (UI) and user experience (UX)

  • Fixed: Write panel JS error when override forms were switched off (thanks, GugUser).
  • Fixed: Default publishing section is not updated on section delete/rename.
  • Added: Additional public-side language strings, primarily for themes.
  • Changed: Override forms can be of any type, not just article. See prefs.
  • Changed: Admin-side theme name references are appended with the theme version number.
  • Changed: Improved keyboard focus within responsive tables (to allow scrolling via arrow keys).

Tags

  • Added: Tags syntax extension to allow for custom processing order.
  • Added: ‘fields’ attribute to .

Internationalisation (i18n)

  • Added: Latest translations. Thank you to all translators for your hard work.

Libraries and other internals

  • PrismJS 1.22.0.

v4.8.3

13 Sep 14:00
Compare
Choose a tag to compare

Textpattern CMS maintenance release 4.8.3. Changes:

Plugins

  • Fixed: A bug in 4.8.2 that can break some legacy plugins (thanks, Yiannis).

User interface (UI) and user experience (UX)

  • Fixed: Improved upgrade path for Textpattern prior to version 4.5.0.
  • Fixed: Correctly label ‘Allow commenter images in comments’ pref.
  • Fixed: Reload private prefs on preferences save (thanks, phiw13).
  • Fixed: More notifications on list panels if there were no assets recorded.
  • Added: Instantly refresh admin theme on change.

Themes

  • Changed: Theme styles are now optional.

Tags

  • Added: ‘loading’ attribute for <txp:article_image />, <txp:image /> and <txp:thumbnail /> tags.

Internationalisation (i18n)

  • Added: Latest translations. Thank you to all translators for your hard work.

Libraries and other internals

  • PrismJS 1.21.0.

v4.8.2

29 Jul 21:26
Compare
Choose a tag to compare

Textpattern CMS maintenance release 4.8.2. Changes:

Tags

  • Fixed: <txp:if_yield> 'else' container returning 1 instead of contents (thanks, Vienuolis).
  • Changed: Matching categories in <txp:article_custom> now performs AND. Use match="Category" for previous OR behaviour.
  • Changed: 'searchall="0"' attribute filters by section.
  • Added: valueless 'replace' attribute filters out duplicates.
  • Added: 'size' attribute to <txp:images> tag to filter by aspect ratio.

UI and UX

  • Fixed: Multi-edit rearmed correctly after async saves on Forms panel.
  • Fixed: Sanitize custom field labels on Write panel (thanks, luuthehienhbit).
  • Fixed: Notification on list panels if there were no assets recorded.
  • Fixed: Incorrect search label for 'name' on Links panel.
  • Fixed: Override forms on Write panel stay in step with live Theme/Section (thanks, cara-tm).
  • Fixed: Image/thumb uploaders default to image types (thanks, Adi).
  • Changed: Comments made by logged-in authors don't go through moderation.
  • Changed: Category links in breadcrumb permlink mode.
  • Changed: Multi-edit only active when checkboxes are selected.

Language support & i18n

  • Fixed: Update language list when deleting/switching to prevent stale entries.
  • Fixed: Language errors when using article preview (thanks, Destry and jakob).
  • Fixed: Date/time format when switching front-end language.
  • Changed: When logging in, chosen login language is used as admin language.
  • Changed: Password reset/welcome/activation and comment notification emails sent in author language.
  • Added: Language selector on login and User Edit panels (if >1 installed).
  • Added: Latest translations. Thank you to all translators for your hard work.

Database and server-related internals

  • Fixed: Date tags return -1 in some server setups (thanks, the blue dragon).
  • Fixed: Removed TRADITIONAL sql_mode for a smoother upgrade (thanks, Adi).
  • Fixed: Plugin panel uses the tempdir pref correctly.
  • Added: Support for table_collation variable in config.php to affect safe_create() calls, when used in tandem with dbcharset.

Plugins

  • Fixed: Plugins loaded from cache show correct Textpack menu labels instead of untranslated strings.
  • Fixed: Plugin auto-TOC strips out heading markup (thanks, Adi).
  • Developer: New 'pre' pretext callback.
  • Developer: Plugins can alter $pretext.
  • Developer: Add ability to filter strings in Lang->getPack() and extract().
  • Developer: getIfElse() function returns 'else' part of <txp:if_yield else />, and may be used as an EvalElse() replacement.

v4.8.1

31 May 01:50
Compare
Choose a tag to compare

Textpattern CMS maintenance release 4.8.1

UI and UX

  • Changed: Improved pophelp for update check status on Diagnostics panel.
  • Changed: Tag builder includes new 4.8.x attributes where possible.
  • Changed: Lazy load images within Images list on supported browsers.

Themes

  • Changed: Dedicated '*' option when altering theme/page/style to leave assets as they are.
  • Fixed: Development and live assets are kept in sync when renamed.
  • Fixed: When setting development assets/themes, link to both live and dev assets even if they share a name.

Scaffolding

  • Changed: Multi-assign pageless (live) sections.
  • Changed: Improved handling of yyyy/mm/dd article permlinks. Single-digit months and days permitted, and /section/yyyy/mm/dd will limit articles to the given section.
  • Changed: Use noopener on target="_blank" links.
  • Fixed: Default value of permlink_format on new installs. Thanks, cara-tm.
  • Fixed: Multi-site index.php correctly included in multi-site css.php.

Tags

  • Changed: Support <txp:else /> in shortcodes.
  • Added: showalways attribute for <txp:pages /> tag.

Language support

  • Added: Latest translations. Thank you to all translators for your hard work.

Libraries and internal workings

  • Changed: Optimised language loading.
  • Added: Support for InnoDB database engine.
  • Fixed: RPC errors when altering content from remote editors.
  • Fixed: Fall back on partial language identifier if code is not found.
  • Fixed: Strings loaded from plugin cache no longer break those already loaded. Thanks, David.
  • jQuery 3.5.1.
  • PrismJS 1.20.0.
  • jQuery File Upload 10.29.0.

v4.8.0

25 Feb 02:36
Compare
Choose a tag to compare

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.