A flexible, elegant, fast and easy-to-use content management system written in PHP

Overview

Textpattern CMS

Crowdin Known Vulnerabilities GitHub Sponsors

Textpattern Logo

A flexible, elegant, fast and easy-to-use content management system written in PHP. Textpattern is free and open source software.

Textpattern CMS screenshots

System requirements

Textpattern is installed to a web server with PHP and MySQL.

Ensure the server meets or exceeds the system requirements before you continue.

Download Textpattern

The current production release is version 4.8.8. It can be downloaded from the Textpattern website or GitHub in .zip and .tar.gz varieties.

If you want to use the multi-site functionality in Textpattern, get the .tar.gz archive.

textpattern.com GitHub
.zip Download Download
.tar.gz Download Download

Install Textpattern

Please see README.txt for details on installing Textpattern.

Upgrade Textpattern

Please see README.txt for details on upgrading Textpattern.

Help and Support

The Textpattern support forum is home to a friendly and helpful community of Textpattern users and experts. Textpattern also has a social network presence on Twitter.

Development

The development snapshot can be obtained from the Textpattern repository on GitHub.

Anticipated changes to future system requirements

As a development version approaches release, minimum and recommended system requirements are confirmed and the production release system requirements is updated accordingly.

The following table outlines anticipated forthcoming changes to system requirements. It takes into account vendor support, security considerations, overall performance and other factors. Note that minimum and/or recommended versions listed may change multiple times during the development process.

Textpattern development versions

Note that targeted versions listed may change multiple times during the development process.

We are targeting Textpattern 4.9 as the next minor release. Refer to the following table for anticipated changes to system requirements.

Minimum Recommended
PHP 5.6 vendor supported
(7.4, 8.0 or 8.1)
MySQL 5.5 vendor supported
(5.7 and/or 8.0, depends on platform)
Apache vendor supported
(2.4)
Nginx mainline (1.21) or stable (1.20)

Contributing

Do you want to help with the development of Textpattern? Please refer to the contributing documentation for full details.

GitHub topic tags

If you use GitHub for Textpattern-related development please consider adding some of the following topic keywords to your public project repositories, so we can expand the network of discoverable resources:

Additional development tools

Various components used within Textpattern (such as the bundled themes and language translations) are maintained in standalone repositories. Textpattern has a simple development toolset built on Node.js to pull the distribution files of those repositories into the core as required.

You can install Node.js using the installer or package manager.

Install required dev tools:

npm install

You can then pull the following components from the CLI, like so:

npm run get-default-theme
npm run get-classic-admin-theme
npm run get-hive-admin-theme
npm run get-pophelp
npm run get-textpacks
npm run get-dependencies

To request a specific tag or branch:

npm run get-default-theme 4.8.8
npm run get-classic-admin-theme 4.8.8
npm run get-classic-admin-theme 4.8.x
npm run get-hive-admin-theme 4.8.x
npm run get-textpacks 4.8.x

You can verify PHP code via a PHP linter from the CLI, like so:

npm run phplint

You can verify JavaScript code via a JavaScript linter from the CLI, like so:

npm run eslint

Release tools:

Usage: npm run txp-gitdist [dest-dir] (dest-dir defaults to a temporary location).

npm run txp-index
npm run txp-checksums
npm run txp-gitdist 1.2.3 ../my-dest-dir

Thank You

Thank you to our GitHub monthly sponsors. Your continued support is greatly appreciated!

We are grateful to DigitalOcean, BrowserStack and 1Password for their kind considerations in supporting Textpattern CMS development by way of web hosting infrastructure (DigitalOcean), cross-browser testing platform (BrowserStack) and secure password management (1Password). Thank you!

This project is supported by:

Legal

Released under the GNU General Public License. See LICENSE.txt for terms and conditions.

Includes contributions licensed under the GNU Lesser General Public License. See LICENSE-LESSER.txt for terms and conditions.

Includes contributions licensed under the New BSD License. See LICENSE-BSD-3.txt for terms and conditions.

Textpattern CMS blogging illustration

Comments
  • Textpattern 4.8.0 release - preflight

    Textpattern 4.8.0 release - preflight

    We are targeting Textpattern 4.8.0 for release in Q1 2020.

    Please update this post and subsequent replies with tasks etc as needed, assigning yourself or others where appropriate.

    Overview

    Repo Issues

    Related to 4.8.0

    • [x] bundle up textpacks as 4.8.0 release archive (see https://github.com/textpattern/textpacks/releases) (@philwareham)
      • [x] update URL shortcut at https://github.com/textpattern/server-config/blob/master/servers/files/trident.textpattern.com/etc/nginx/sites-available/www.textpattern.com.conf#L255 (@petecooper)
    • [x] bundle up pophelps as 4.8.0 release archive (see https://github.com/textpattern/pophelp/releases) (@philwareham)

    Housekeeping

    • [x] sift through https://github.com/textpattern/textpattern/projects/1 for anything valuable, spin out to issues as needed, then close the project (all)
    opened by petecooper 111
  • Textpattern 4.8.5 release flight plan

    Textpattern 4.8.5 release flight plan

    We are targeting Textpattern 4.8.5 for release in Q1/Q2 2021 to address issues relating to PHP 8.0 as outlined in https://github.com/textpattern/textpattern/issues/1592, plus other snagging.

    Please update this post and subsequent replies with tasks etc as needed, assigning yourself or others where appropriate.

    Repo Issues

    Personnel

    • Release pilot: @Bloke
    • Release co-pilot: @petecooper

    Preflight

    • [x] preflight
      • [x] latest translations (@philwareham)
      • [x] latest pophelp (@philwareham)
      • [x] draft .com blog post (release pilot, or assigned person)
      • [x] write change history (everyone)
      • [x] tag public/admin themes with release tag (@philwareham)
      • [x] tag Textpacks and Pophelps with release tag (@philwareham)

    Take Off

    • [x] take off
      • [x] package up for GitHub and .com (release pilot)
      • [x] update latest.zip and latest.tar.gz in server config (@petecooper)
      • [x] update language pack links in server config (@petecooper)
      • [x] update demo site (@petecooper)
      • [x] publish .com blog post (release pilot, or assigned person)
      • [x] forum announcement (release pilot, or assigned person)
      • [x] forum feedback (release pilot, or assigned person)

    Inflight service

    • [x] inflight service
      • [x] close 4.8.5 milestone (release pilot, or assigned person)
      • [x] update TXPversion on rpc.textpattern.com (release pilot, or assigned person)
      • [x] update https://en.wikipedia.org/wiki/Template:Textpattern_version (@petecooper or @philwareham)
      • [x] socials (@petecooper or @philwareham)
      • [x] repin https://github.com/textpattern/textpattern/issues/279 (anyone)
    release flight plan 
    opened by petecooper 101
  • UX quirk - hyperlink on an active theme

    UX quirk - hyperlink on an active theme

    Tested with 4.8.0-dev.

    Visit /textpattern/index.php?event=skin, note an active theme has an 'Active' text marker:

    Screen Shot 2019-10-06 at 20 35 23

    The 'Active' marker is a hyperlink, which leads to /textpattern/index.php?event=section&step=section_use_theme&skin=theme-name-here and using the hyperlink throws up an 'Are you sure?' dialog:

    Screen Shot 2019-10-06 at 20 35 27

    I end up at the Section list:

    Screen Shot 2019-10-06 at 20 35 31

    It's not clear to me what action is being taken that I need to be sure of. I can't see any changes that are made, so is the 'Are you sure?' required?

    usability / UI / UX themes 
    opened by petecooper 92
  • Enable support for WebP images

    Enable support for WebP images

    opened by philwareham 89
  • Themes branch ready to merge?

    Themes branch ready to merge?

    Hi @Bloke and @NicolasGraph - is the themes branch ready for testing/merge as yet or is there more planned work. Keen to get this into dev as soon as possible so we can prepare for the beta release towards the end of December. Cheers!

    opened by philwareham 88
  • Textpattern 4.8.8 release flight plan

    Textpattern 4.8.8 release flight plan

    We are targeting Textpattern 4.8.8 for release in Q4 2021 to provide initial support for PHP 8.1, address some snags, and provide further refinements. The release flight plan includes at least one beta release before the production release.

    Please update this post and subsequent replies with tasks etc as needed, assigning yourself or others where appropriate.

    Timeline

    • beta release: 1 January 2022
    • GA release: 24 January 2022

    Repo Issues

    Production Release

    Personnel

    • Release pilot: tbc
    • Release co-pilot: tbc

    Preflight

    • [x] preflight
      • [x] latest translations (@philwareham)
      • [x] latest pophelp (@philwareham)
      • [x] draft .com blog post (release pilot, or assigned person)
      • [x] write HISTORY.txt (everyone)
        • [x] additional credits where not already listed (e.g. patched security issues) (everyone)
      • [x] top and tail HISTORY.txt with additional information (release pilot or co-pilot)
      • [x] tag public/admin themes with release tag (@philwareham)
      • [x] tag Textpacks and Pophelps with release tag (@philwareham)

    Take Off

    • [x] take off
      • [x] package up for GitHub and .com (release pilot)
      • [x] update latest.zip and latest.tar.gz in server config (@petecooper)
      • [ ] update language pack links in server config (@petecooper)
      • [x] update demo site (@petecooper)
      • [x] publish .com blog post (release pilot, or assigned person)
      • [x] forum announcement (release pilot, or assigned person)
      • [x] forum feedback (release pilot, or assigned person)

    Inflight service

    • [x] inflight service
      • [x] close milestone (release pilot, or assigned person)
      • [x] update TXPversion on rpc.textpattern.com (release pilot, or assigned person)
      • [x] update https://en.wikipedia.org/wiki/Template:Textpattern_version (@petecooper or @philwareham)
      • [x] socials (@petecooper or @philwareham)
      • [x] update https://textpattern.com/about/system-requirements to reflect PHP 8.1.0 support
      • [x] repin https://github.com/textpattern/textpattern/issues/279
    priority 2: high release flight plan meta 
    opened by petecooper 87
  • Update 4.5 -> 4.7 seems problematic

    Update 4.5 -> 4.7 seems problematic

    The function load_lang() is run before the update script. But in 4.7 it uses owner column absent in 4.5 and issues a warning just before update. Not sure for the final effect.

    priority 2: high 
    opened by bloatware 84
  • Textpattern 4.8.2 release flight plan

    Textpattern 4.8.2 release flight plan

    We are targeting Textpattern 4.8.2 for release in Q3 2020.

    Please update this post and subsequent replies with tasks etc as needed, assigning yourself or others where appropriate.

    Preflight

    Repo Issues

    • [x] latest pophelp (@philwareham)
    • [x] write .com blog post (@petecooper and @Bloke - ID 430, awaiting sanity check and additional late changes from HISTORY.txt)

    Take Off

    • [x] package up for GitHub and .com (@Bloke)
    • [x] update demo site (@petecooper)
    • [x] publish .com blog post: ID 430 (anyone)
    • [x] forum announcement (@petecooper)
    • [x] forum feedback (@petecooper)
    • [x] socials (@petecooper)
    • [x] tag public/admin themes with release tag (@philwareham)
    • [x] tag Textpacks and Pophelps with release tag (@philwareham)
    release flight plan meta 
    opened by petecooper 81
  • Inline JS and CSS and Content Security Policy

    Inline JS and CSS and Content Security Policy

    Currently, the reliance on inline JavaScript and inline CSS makes it near impossible to create a secure Content Security Policy for Textpattern.

    Sure, you can set strict rules in your root .htaccess file that disallow inline JS and CSS for the site itself but you then need to create another .htaccess in your textpattern subdirectory with 'unsafe-inline' directives set to get Textpattern's control panel to work. That takes away a large chunk of the security provided by CSP.

    If possible we need to move core JavaScript to external files and use classnames instead of inline CSS style attributes.

    Obviously plugin authors are a separate issue, but at least we can then say the core can be covered by CSP.

    security 
    opened by philwareham 79
  • Assets panel instead of styles panels?

    Assets panel instead of styles panels?

    See background here: https://forum.textpattern.io/viewtopic.php?id=48528

    TLDR; there was talk of changing the 'Styles' panel to a generic 'Assets' panel. Is this a planned 4.7 feature or for a later version? Bearing in mind it has direct consequences for themes it may need to be implemented now to avoid a backwards compatibility issue with any themes down the line.

    If implemented now, it needs a fair amount of work to bring the language strings in line with it, and some beta testing, and some documentation. Phew!

    opened by philwareham 68
  • Textpack format change + language performance gains

    Textpack format change + language performance gains

    Any specific reason we have labelled the tag trace text strings as config.ini? That could cause confusion for users when we talk of the config file (i.e. config.php). Unless there is a technological barrier to naming it differently it would be wise to change the ini filename I think.

    enhancement performance 
    opened by philwareham 64
  • Accessibility: Multi edit widget (select and checkboxes) need labels

    Accessibility: Multi edit widget (select and checkboxes) need labels

    Both the multi-edit select widget and the associated checkboxes are currently completely un-labeled and are next to impossible to handle through AT.

    The select widget should have either a label (possibly hidden through the relevant CSS class) or aria-label. The checkboxes should have either an aria-label or a aria-labelledby attribute to identify (name) them.

    With Firefox: Right-click / control-click on element, choose “Inspect Accessibility Properties” from the context menu. The accessibility inspector displays an angry red warning about the need for the element to be labeled.

    Attached: screenshot from the Article pane with Firefox 107b Accessibility inspector

    multi-edit-Fx admin-side usability / UI / UX accessibility / a11y 
    opened by phiw13 0
  • Tweak markup so screen readers use correct context of ID and title

    Tweak markup so screen readers use correct context of ID and title

    https://forum.textpattern.com/viewtopic.php?id=51932

    When in the admin article or category lists (I haven’t tested files or images), the title and ID of the article or category is not displayed in a way that my screen reader can announce it to me.

    Follow up from @Bloke:

    We should definitely tweak the anchors or markup so that screen readers etc can latch onto the context of the ID and title.

    usability / UI / UX accessibility / a11y articles categories 
    opened by petecooper 6
  • Considerations for CI pipeline / Github Actions

    Considerations for CI pipeline / Github Actions

    We have two checksum generation scripts, they do the same job but they're slightly different. It would be helpful to sync them (as far as viable) with a view to introducing into dev CI pipeline in future.

    https://github.com/textpattern/textpattern/blob/dev/.github/txp-checksums.php https://github.com/textpattern/textpattern-toolbelt/blob/main/release/checksums.php

    core security ci scaffold 
    opened by petecooper 5
  • theme `name` white space characters

    theme `name` white space characters

    The theme name field should not accept white space characters (U+0020, U+00A0, …). When first time saving, convert those to hyphen (U+002D) or underscore, similar to e.g. category name.

    More details in this forum thread.

    localization / i10n / i18n / textpacks themes 
    opened by phiw13 2
  • When deleting a user, that user should not appear in the re-assign articles drop-down

    When deleting a user, that user should not appear in the re-assign articles drop-down

    Expected behaviour

    On the Admin › Users panel, when deleting a user with articles, you are asked to reassign those articles to another user. I expect to see only other users in the "Select author drop-down".

    Actual behaviour

    As above but you still the user you are about to delete in the user drop-down.

    If you go through and choose "Go", the error is thankfully trapped and you get the error “You cannot assign assets to a deleted account”. As such the "bug report" is only a cosmetic problem. See screenshot below.

    Steps to reproduce

    • Set up txp
    • Add a new user
    • Duplicate the start article, set to live and assign to the new user name
    • Visit Admin › Users, place a checkmark in the box next to the new user, and choose "Delete" from the multi-action choice menu at the bottom. The “re-assign to another user” dropdown still includes the user that is about to be deleted.

    Additional information

    Textpattern version: 4.8.8

    Web server vendor and version: Apache + nginx

    Database server vendor and version: 8.0.30

    PHP version: 8.1.9

    Operating system: Linux / Darwin

    image

    Thanks to @uli-on for spotting it and reporting it.

    usability / UI / UX 
    opened by jools-r 4
  • PHP 8.2 compatibility tracking for Textpattern next

    PHP 8.2 compatibility tracking for Textpattern next

    https://wiki.php.net/todo/php82

    At the time of writing, PHP 8.2 GA is expected late November 2022. The first alpha is expected in June 2022.

    For reference, the PHP 8.1 tracking issue is https://github.com/textpattern/textpattern/issues/1696

    I will tool-up the demo server with the latest PHP 8.2 cuts from Beta 1 (current ETA: July 2022) onwards.

    It was useful to have a beta release for PHP 8.1 support in Textpattern 4.8.8, so if the consensus is positive we should consider doing that again – whether it's a patch or minor release. I'm happy to volunteer to run that release process if that swings it.

    enhancement core meta php 
    opened by petecooper 34
Releases(4.8.8)
  • 4.8.8(Jan 24, 2022)

    • 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.
    Source code(tar.gz)
    Source code(zip)
    textpattern-4.8.8.tar.gz(1.73 MB)
    textpattern-4.8.8.tar.gz.SHA256SUM(91 bytes)
    textpattern-4.8.8.zip(1.96 MB)
    textpattern-4.8.8.zip.SHA256SUM(88 bytes)
  • 4.8.8-beta.1(Jan 1, 2022)

    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.

    Source code(tar.gz)
    Source code(zip)
    textpattern-4.8.8-beta.1.tar.gz(1.72 MB)
    textpattern-4.8.8-beta.1.tar.gz.SHA256SUM(98 bytes)
    textpattern-4.8.8-beta.1.zip(1.97 MB)
    textpattern-4.8.8-beta.1.zip.SHA256SUM(95 bytes)
  • 4.8.7(May 30, 2021)

  • 4.8.6(May 28, 2021)

    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.
    Source code(tar.gz)
    Source code(zip)
    textpattern-4.8.6.tar.gz(1.69 MB)
    textpattern-4.8.6.tar.gz.SHA256SUM(91 bytes)
    textpattern-4.8.6.zip(1.95 MB)
    textpattern-4.8.6.zip.SHA256SUM(88 bytes)
  • 4.8.5(Mar 29, 2021)

    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.
    Source code(tar.gz)
    Source code(zip)
    textpattern-4.8.5.tar.gz(1.68 MB)
    textpattern-4.8.5.tar.gz.SHA256SUM(91 bytes)
    textpattern-4.8.5.zip(1.94 MB)
    textpattern-4.8.5.zip.SHA256SUM(88 bytes)
  • 4.8.4(Nov 29, 2020)

    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.
    Source code(tar.gz)
    Source code(zip)
    textpattern-4.8.4.tar.gz(1.64 MB)
    textpattern-4.8.4.tar.gz.SHA256SUM(91 bytes)
    textpattern-4.8.4.zip(1.89 MB)
    textpattern-4.8.4.zip.SHA256SUM(88 bytes)
  • 4.8.3(Sep 13, 2020)

    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.
    Source code(tar.gz)
    Source code(zip)
    textpattern-4.8.3.tar.gz(1.62 MB)
    textpattern-4.8.3.tar.gz.SHA256SUM(91 bytes)
    textpattern-4.8.3.zip(1.87 MB)
    textpattern-4.8.3.zip.SHA256SUM(88 bytes)
  • 4.8.2(Jul 29, 2020)

    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.
    Source code(tar.gz)
    Source code(zip)
    textpattern-4.8.2.tar.gz(1.61 MB)
    textpattern-4.8.2.tar.gz.SHA256SUM(91 bytes)
    textpattern-4.8.2.zip(1.87 MB)
    textpattern-4.8.2.zip.SHA256SUM(88 bytes)
  • 4.8.1(May 31, 2020)

    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.
    Source code(tar.gz)
    Source code(zip)
    textpattern-4.8.1.tar.gz(1.60 MB)
    textpattern-4.8.1.tar.gz.SHA256SUM(91 bytes)
    textpattern-4.8.1.zip(1.86 MB)
    textpattern-4.8.1.zip.SHA256SUM(88 bytes)
  • 4.8.0(Feb 25, 2020)

    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.
    Source code(tar.gz)
    Source code(zip)
    textpattern-4.8.0.tar.gz(1.56 MB)
    textpattern-4.8.0.tar.gz.SHA256SUM(91 bytes)
    textpattern-4.8.0.zip(1.82 MB)
    textpattern-4.8.0.zip.SHA256SUM(88 bytes)
  • 4.8.0-beta.3(Feb 14, 2020)

    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.
    Source code(tar.gz)
    Source code(zip)
    textpattern-4.8.0-beta.3.tar.gz(1.56 MB)
    textpattern-4.8.0-beta.3.tar.gz.SHA256SUM(98 bytes)
    textpattern-4.8.0-beta.3.zip(1.82 MB)
    textpattern-4.8.0-beta.3.zip.SHA256SUM(95 bytes)
  • 4.8.0-beta.2(Jan 28, 2020)

    Notable changes since first beta:

    • Developer preview pref toggles all preview ability.
    • Tweak Sections panel: Development assets now appear below any live assets. Change theme/page/style's Live checkbox is now off by default. Development assets are now searchable.
    • Show dev themes in use on Themes panel.
    • Only show In use pill and Assign section link if more than one theme is present (thanks, phiw13).
    • Improve asset deletion/renaming to avoid orphaned content (thanks, phiw13)
    • Support for pageless sections. This allows content snippets and creative article flows to be constructed (e.g. parent/child articles stitched together via custom fields) while not exposing pageless content directly via a URL.
    • Improve section/category URL scheme (thanks, colak).
    • Breadcrumb URL scheme: cat1+cat2 is now cat1/cat2 (thanks, colak).
    • Improve category matching and exclusion filters (thanks, colak).
    • Restore 4.7 <txp:header> defaults (thanks, Myusername).
    • New <txp:if_request /> tag for checking server, URL, POST and cookie variables.
    • Added global replace attribute to swap out content that has been removed by the trim attribute.
    • Added 'match' and 'separator' attributes to <txp:if_variable /> tag.
    • Added 'pg' and 'total' attributes to <txp:newer /> and <txp:older /> tags.
    • Links have an editable publish time and date on the Links panel (thanks, code365).
    • Hive and Classic admin themes now support 3 column layouts.
    • Warn if plugin directory is not writable in Diagnostics and Plugins panels (thanks, Destry).
    • Support for Bengali, Khmer, Nynorsk and Welsh languages.
    • Latest translations: thank you to all contributors via Crowdin.
    • Reverted enforced plugin tag registration for another version (or two).
    Source code(tar.gz)
    Source code(zip)
    textpattern-4.8.0-beta.2.tar.gz(1.55 MB)
    textpattern-4.8.0-beta.2.tar.gz.SHA256SUM(98 bytes)
    textpattern-4.8.0-beta.2.zip(1.82 MB)
    textpattern-4.8.0-beta.2.zip.SHA256SUM(95 bytes)
  • 4.8.0-beta(Dec 21, 2019)

    Beta release of Textpattern 4.8.0. Please see HISTORY.txt for a full list of changes that will appear in the 4.8.0 stable release.

    As this is a beta, code may change between this and the final 4.8.0 stable release. As such, it is not recommended for production use. If you do, back up your existing database and filesystem before upgrading.

    Please report any issues here, stating the beta version that you are using. Further beta releases may be required prior to 4.8.0 stable release, depending on issues reported.

    Thank you and have fun!

    Source code(tar.gz)
    Source code(zip)
    textpattern-4.8.0-beta.tar.gz(1.54 MB)
    textpattern-4.8.0-beta.tar.gz.SHA256SUM(96 bytes)
    textpattern-4.8.0-beta.zip(1.80 MB)
    textpattern-4.8.0-beta.zip.SHA256SUM(93 bytes)
  • 4.7.3(Feb 25, 2019)

    Textpattern CMS maintenance release v4.7.3 introduces the following feature enhancements, changes and fixes:

    Features

    • <txp:yield /> values are available in external forms too.
    • Indicator for WebP support in Diagnostics panel.
    • Latest language translations.
    • Complete Italian inline help translation. Many thanks to Giampiero Mellea for all their work.
    • Introduce L10n/Lang->languageList() to get language tuples.

    Changes

    • Permit falling back on pophelp in 'lang' database table.
    • 'Show password' on Users panel displays both passwords.
    • Latest version of Textile (3.7.1).

    Fixes

    • 'Export to disk' checkbox state inconsistencies for new assets.
    • Logout issue in Classic admin theme.
    • A bug when PHP mbstring extension is disabled.
    • Prevent Alt+S from triggering save (thanks, o10154016).
    • Language .ini files trump old .txt files.
    Source code(tar.gz)
    Source code(zip)
    textpattern-4.7.3.tar.gz(1.50 MB)
    textpattern-4.7.3.tar.gz.SHA256SUM(91 bytes)
    textpattern-4.7.3.zip(1.73 MB)
    textpattern-4.7.3.zip.SHA256SUM(88 bytes)
  • 4.7.2(Dec 20, 2018)

    Textpattern CMS maintenance release v4.7.2 introduces the following feature enhancements, changes and fixes:

    Features

    • Latest translations and languages, including help texts for Czech, French and Italian. Many thanks to all translators.
    • Global 'trim', 'default' and 'wrapform' attributes.
    • Global 'escape="ordinal|spell|url"' attribute values.
    • 'aria_label' and 'placeholder' attributes on comment input fields.
    • 'breakform' attribute in <txp:article(_custom) /> tag.
    • 'test' attribute in <txp:if_different /> tag.
    • 'context' attribute in <txp:link_to_next />, <txp:link_to_prev />, <txp:page_url /> and <txp:permlink /> tags.
    • 'context' and 'format' attributes in <txp:output_form /> tag.
    • 'add', 'reset', 'separator' and 'output' attributes in <txp:variable /> tag.
    • Custom form media (MIME) types, served as 'flat' files if needed.
    • Option to export form/page/style to disk on save.
    • Custom functions can be registered for use in <txp:evaluate /> tag.

    Changes

    • <txp:search_input /> can be used as a container tag, and also accepts 'aria_label' and 'placeholder' attributes.
    • More robust search routes within default public-side theme.
    • Improved upgrade route where MySQL NO_ZERO_DATE is set.
    • Enhanced password manager compatibility on login and user details pages.
    • Extended fallback to 'C' locale in some situations.
    • Partially translated inline help files use fallback language (by default: English) where localized help items are not present.
    • Hive admin theme login panel now displays link to public site.
    • Simplified Classic admin theme login panel layout.
    • Fine-grained development theme preview.
    • More customizable Atom/RSS feeds via 'atom_head', 'rss_head' and 'feed_filter' callbacks.
    • Deleting an article deletes any associated comments.
    • Forms, Pages and Styles accept pre-4.7 names for editing, but must be sanitized prior to saving.
    • Some emoji are preserved in automatically-generated article URL titles.
    • Article text blocks starting with a Textpattern tag are not Textile'd.
    • File data is available on 'file_download' callback.
    • Article lists can be split by 'breakby' form value.
    • Expanded Schema.org media items within default public-side theme.
    • Latest versions of Textile (3.7.0) and jQuery File Upload (9.28.0)

    Fixes

    • A bug with <txp:link_to_[next|prev] /> tags in 'month' URL mode.
    • A bug with <txp:related_articles /> tag.
    • <txp:search_input /> will always respect its 'form' attribute setting, if set.
    • A bug with the global 'not' attribute.
    • Multibyte characters are correctly obfuscated by <txp:email />.
    • Unparsed strings in a few places.
    Source code(tar.gz)
    Source code(zip)
    textpattern-4.7.2.tar.gz(1.48 MB)
    textpattern-4.7.2.tar.gz.SHA256SUM(91 bytes)
    textpattern-4.7.2.zip(1.71 MB)
    textpattern-4.7.2.zip.SHA256SUM(88 bytes)
  • 4.7.1(Jun 25, 2018)

    • Maintenance release with bug fixes.
    • Fixed: <txp:article /> and <txp:article_custom /> correctly parse their content.
    • Fixed: <txp:article /> with 'listform' attribute returns correct value.
    • Fixed: Textpack correctly updates timestamp where web server and database server reside in different timezones.
    • Fixed: Fallback to 'C' locale in some situations.
    • Fixed: Section page/style selectors are correctly populated.
    • Fixed: Articles without a URL-only title have a valid permlink across all link formats.
    • Changed: Additional code optimization for PHP 5.4 and later.
    • Changed: Improved language string coverage in setup process.
    • Changed: Extended use of Textpattern 4.7.*-native tags in Four Point Seven theme.
    • Changed: Additional database-related information included in Diagnostics.
    • Added: Latest translations.
    • PrismJS 1.15.0.
    • jQuery File Upload 9.22.0.
    Source code(tar.gz)
    Source code(zip)
    textpattern-4.7.1.tar.gz(1.38 MB)
    textpattern-4.7.1.tar.gz.SHA256SUM(91 bytes)
    textpattern-4.7.1.zip(1.61 MB)
    textpattern-4.7.1.zip.SHA256SUM(88 bytes)
  • 4.7.0(May 15, 2018)

    Textpattern CMS 4.7.0 notable changes:

    • In memory of Dean Cameron Allen, creator of Textpattern CMS.
    • Changed: Minimum system requirements increased to PHP 5.4.0.
    • Textpattern instances older than version 4.2.0 (released 17 Sep 2009) should upgrade to version 4.2.0 before upgrading to version 4.7.0.
    • Added: Support for website themes, markup stored within the database (accessed via the Themes panel) and available as flat file templates for easier version control, portability and installation (many many thanks, NicolasGraph).
    • Added: Support for installation on Nginx web servers (thanks, makss).
    • Added: Support for automated installation from CLI (thanks, makss).
    • Added: Filipino language translation (thanks, Joseph Buarao).
    • Added: Tagalog language translation (thanks, Kurt Lem Zamora).
    • Added: User-selectable column list options in tables replaces 'Show more detail' checkboxes. Settings remembered per device.
    • Added: Valueless attributes.
    • Added: Optional short-tags.
    • Added: Ability to use Forms as tags via <txp:output_form /> or <txp::shortcode /> tags.
    • Added: Tag global attributes: 'breakby', 'breakclass', 'class', 'escape', 'html_id', 'not' and 'wraptag'.
    • Added: <txp:article_custom /> tag can count pages.
    • Added: <txp:evaluate /> tag.
    • Added: <txp:header /> tag allows optional setting of HTML headers on page output.
    • Added: <txp:if_logged_in /> tag.
    • Added: XML and JSON file support. Completely overhauled setup procedure to centralise and verify/delete preferences on upgrade. Table structure and preferences defined in files for easier maintenance (thanks, makss).
    • Added: Per-user admin panel language preference (decoupled from site language preference).
    • Added: All users can administer their own key biographical info.
    • Added: Ability to copy an article without enforced save.
    • Added: Button to swap width and height values on image edit thumbnail generator.
    • Added: Ctrl+S/Cmd+S keyboard shortcuts for Submit, Publish and Save buttons on any admin panel.
    • Added: Multiple Files and Images upload with progress meter.
    • Added: Section searches by description.
    • Added: Visual indicator that a subset of search fields are in use.
    • Added: One-pass comment searches by parent article (thanks, makss).
    • Added: Diagnostics can optionally suppress sensitive path data.
    • Added: 'Expire now' checkbox on Write panel.
    • Added: Automatic table of contents generation for well-structured plugin help text.
    • Added: JSON-LD and Open Graph metadata scaffold included with default theme.
    • Removed: Involuntary Personally Identifiable Information within comments (IP address) and logs (IP address/host) no longer collected - for GDPR compliance.
    • Removed: Any pre-existing IP addresses stored in comments database table are deleted upon upgrade to 4.7.0 (and not stored in future) - for GDPR compliance.
    • Changed: Comments 'Remember me?' option is now an opt-in instead of opt-out, setting stored in localStorage instead of as a cookie - for GDPR compliance.
    • Changed: Revised multi-site installation routine and symbolic linking (thanks, jools-r).
    • Changed: Most panels perform saves/searches/pagination without page refreshes (Ajax).
    • Changed: Last used Page/Form/Stylesheet remembered.
    • Changed: Forms can recursively (up to 15 levels deep) call themselves.
    • Changed: <txp:breadcrumb /> can be used as a container tag, and accepts 'type' attribute.
    • Changed: Enhanced <txp:article /> sort and status handling.
    • Changed: Enhanced <txp:article_custom /> 'exclude', 'expired', 'month' and 'time' attributes.
    • Changed: <txp:category_list /> can output nested lists.
    • Changed: <txp:if_category /> accepts 'parent' attribute.
    • Changed: <txp:image_author /> tag accepts 'id' and 'name' attributes.
    • Changed: txp:link_to_next/ and <txp:link_to_prev /> are more consistent.
    • Changed: Reinstate txp:keywords tag and add 'break', 'class' and 'wraptag' attributes.
    • Changed: Deprecated <txp:image_display /> and <txp:image_index /> tags, use <txp:image /> and <txp:images />, respectively, instead.
    • Changed: <txp:newer /> and <txp:older /> tags accept 'rel' attribute.
    • Changed: <txp:output_form /> tag supports user-defined attributes, coupled with txp:yield.
    • Changed: <txp:page_title /> tag SEO - site name renders after page name, default separator changed from ': ' to ' | ', page numbers added.
    • Changed: <txp:page_url /> tag can return more URL paths via 'type' attribute.
    • Changed: <txp:site_url /> tag accepts 'type' attribute to return admin-side URL.
    • Changed: Deprecated the 'poplink' attribute on <txp:thumbnail /> tag.
    • Changed: txp:yield tag accepts 'name' and 'default' attributes.
    • Changed: Pagination tags (like <txp:newer /> and <txp:older />) can be placed before <txp:article /> tag.
    • Changed: Image Edit panel available to all users - read-only to some (thanks, phiw13).
    • Changed: Textfilter options and help topics moved inline with their textareas. Write panel 'sidehelp' twisty and article>sidehelp callback removed.
    • Changed: Categories moved from Sort & Display subpanel to their own twisty. Override Form (if used) moved to 'Sort and display' subpanel. 'Advanced' twisty and its callback removed.
    • Changed: Languages are updated automatically on upgrade.
    • Changed: Further improvements to RTL language support.
    • Changed: Language translations included in core instead of legacy RPC server.
    • Changed: Diagnostics and tag trace reports always rendered in English (for easier international support enquiries). Text strings moved to 'mode.ini'.
    • Changed: Use local inline help files instead of legacy RPC server. Help topics rendered in dialogs instead of new window (thanks, makss).
    • Changed: Use JSON file to check for new releases/pre-releases instead of legacy RPC server (thanks, makss).
    • Changed: Cleanup of panels/UI elements shown based on specific user roles.
    • Changed: Plugin Textpacks stored in database and installed on demand.
    • Changed: Plugins have persistent data column available for custom storage.
    • Changed: Clearer plugin list on Diagnostics panel.
    • Changed: Article posted/modified info and ID moved below Title field.
    • Changed: Enable HTTP 226 responses (thanks, da2x).
    • Changed: Make Preferences panel and subpanels fully printable (thanks, phiw13).
    • Changed: Panel states stored only client-side (localStorage).
    • Changed: pluggable_ui() behaves more intelligently when chaining.
    • Changed: Pagination steps are more grid friendly: 12/24/48/96 items.
    • Changed: More locale-aware date handling in safe_strftime().
    • Changed: Deprecated support for uploading .swf files via Images panel (support will be removed entirely at Textpattern 4.8.0).
    • Changed: Extensive admin theme image optimizations.
    • Changed: Admin theme accessibility improvements.
    • Changed: Admin theme layout improvements on small devices.
    • Changed: Pagination and search added to Plugins panel.
    • Changed: Plugin preview page syntax highlighting and layout improvements. Also show Textpack string additions preview (if applicable).
    • Changed: Removed 'Create ...' links from Pages/Forms/Styles panels when viewing a new, unsaved Page/Form/Style (thanks, adi).
    • Changed: Categories can no longer reassign the parent of a child element to its children. Avoids infinite tree loops.
    • Changed: Article preview includes debug info.
    • Changed: 'wraptag' attribute can prepend/append content using special '<+>' syntax.
    • Developer: 'ahu' constant as multi-site-compatible URL to admin side. Plugin authors please use ahu in place of hu.'textpattern'.
    • Fixed: Multi-site setup overhauled: Correct setup and install messages, diagnostics information, login URL in user-invite email, login cookie accessible to public and admin URLs (thanks, jools-r).
    • Fixed: SQL injection in 'qty' attribute (thanks Manuel Garcia Cárdenas).
    • Fixed: Keyboard navigation on select list popups.
    • Fixed: Only update database version string if using release version.
    • Fixed: Support for other MySQL client versions (thanks, CeBe).
    • Fixed: URL handling for /title and /year/month/day/title (thanks, planeth44).
    • Fixed: Panel layout improvements across all privilege levels.
    • Fixed: Per-user preferences exposed to all users (thanks, gaekwad).
    • Removed: zxcvbn password strength meter.
    • Textile 3.6.
    • jQuery 3.3.1.
    • PrismJS 1.14.0.
    • PHPass 0.5.
    • jQuery File Upload 9.21.0.

    A massive thank you to all coders, collaborators, translators, documentors, supporters and community folk who have contributed so much to this release. You help make Textpattern what it is today.

    Source code(tar.gz)
    Source code(zip)
    textpattern-4.7.0.tar.gz(1.38 MB)
    textpattern-4.7.0.tar.gz.SHA256SUM(91 bytes)
    textpattern-4.7.0.zip(1.61 MB)
    textpattern-4.7.0.zip.SHA256SUM(88 bytes)
  • 4.7.0-rc.1(May 10, 2018)

    Release Candidate 1 for Textpattern 4.7.0.

    Notable changes since third beta:

    • Include new translations - thank you once again to all translators for keeping pace.
    • Add preamble to Languages panel regarding translations.
    • GDPR compliance:
      • <txp:comment_remember> now forgets for good (destroys cookie) and defaults to 'off'.
      • No collection of IP when a user leaves a comment.
      • No logging of IP/host and no reverse DNS lookups. General hit logging capability still retained, just without Personally Identifiable Information being collected (thanks, Destry et al).
    • Logs panel operates via AJAX.
    • Fix upgrades from 4.5.x. It's even possible to jump from 4.2.0 directly, although it's safer to do it in two or more hops with 4.2.0 and 4.5.7 as the stepping stones (thanks, gaekwad and phiw13).
    • Improve article sort values for complex conditions.
    • More consistent link to next/previous.
    • Using the shorthand status in <txp:article> tags assumes any published status (live/sticky currently).
    • Permit any file type to be handled from the Styles panel (js, svg, txt, ...) if the hidden assets_mimetypes pref is set with a list of supported file extensions (thanks, colak).
    • Public theme tweaks to include Facebook OpenGraph and JSON-LD metadata (thanks, gaekwad).
    • Fix multiple notifications being trashed by newer ones when doing a series of file-based actions (thanks, gaekwad).
    • Visual tweaks such as higher contrast ratios and visual weight to improve readability.
    • Fix some GIF uploads (such as animated GIFs) throwing warnings if the transparent colors were out of range.
    • Remove 'Copy' link from articles panel for now as it's not so pretty. Copy capability retained via URL manipulation (e.g. so plugins can step in).
    • Permit pophelp on link headings - reinstate the pophelp on the Custom Fields group (thanks, gaekwad).
    Source code(tar.gz)
    Source code(zip)
    textpattern-4.7.0-rc.1.tar.gz(1.38 MB)
    textpattern-4.7.0-rc.1.tar.gz.SHA256SUM(96 bytes)
    textpattern-4.7.0-rc.1.zip(1.61 MB)
    textpattern-4.7.0-rc.1.zip.SHA256SUM(93 bytes)
  • 4.7.0-beta.3(Apr 6, 2018)

    Notable changes since second beta:

    • Fix syntax errors on PHP <5.6 (thanks, makss).
    • Included new language translations - thank you to all translators.
    • Staff Writer/Freelancer/Designer saving as Live/Sticky gives better notification feedback (thanks, Pete Cooper).
    • Sub-Copy Editor-level users can now modify an article immediately after initial save (thanks, Pete Cooper).
    • Categories: can no longer reassign the parent of a child element to its children! Avoids infinite tree loops.
    • Fixes and UX improvements for lower privilege level users.
    • Margin tweaks for UI elements across devices.
    • Checkbox and radio button visual tweaks.
    • Make 'new' links consistent throughout the interface.
    • Only show 'new' links when on saved Pages, Forms and Styles (thanks, Adi).
    • More consistent URL title when duplicating articles.
    • Fix Save/Publish button interaction when changing status.
    • Hide list options for empty tables.
    • Improve panel layout across all privilege levels (thanks, Pete Cooper).
    • Tag builder link only appears for authors with sufficient privileges.
    • Permit all users to edit per-user prefs.
    • Add debug info to article preview step.
    • Only show article preview option if privileged.
    • Move more panels to Ajax saves.
    • Add pagination and search to Plugins panel.
    • Fix pagination message when searching boolean values.
    • Make search impossible if no fields are chosen.
    • Add Textpack preview and tidied plugin preview step.
    • Fix installation of language textpacks from plugins (thanks, Adi and jools-r).
    • Only show truly active plugins in Diagnostics, and strikethrough plugin status if prefs indicate certain types are inactive (thanks, Uli).
    • Alter working theme when saving section asset assignments (thanks, ruud).
    • Permit direct manipulation of $textarray as an interim fallback for legacy plugins.
    • Permit custom field content to be omitted in <txp:article_custom> based on the exclude attribute.
    • Add <+> syntax for prepend/append in wraptag attribute.
    • <txp:yield> fixes to permit unset attributes.
    • <txp:output_form> uses yield by default.
    • Fix Textile use-string-as-array bug (thanks, Pat64).
    • Parser performance tweaks.
    • Add sync param to theme callbacks.
    • Use correct txp. prefix for API calls, instead of api..
    Source code(tar.gz)
    Source code(zip)
    textpattern-4.7.0-beta.3.tar.gz(1.37 MB)
    textpattern-4.7.0-beta.3.tar.gz.SHA256SUM(98 bytes)
    textpattern-4.7.0-beta.3.zip(1.61 MB)
    textpattern-4.7.0-beta.3.zip.SHA256SUM(95 bytes)
  • 4.7.0-beta.2(Mar 21, 2018)

    Notable changes since first beta:

    • Hardened the Languages panel to help prevent form resubmission spamming (thanks, Pete Cooper).
    • Added ability to copy an article (from the Articles list panel) without automatically saving it (thanks, cara-tm). This is distinct from 'Duplicate' which does save the clone as Draft with a new title that includes the ID.
    • Added rel attribute to newer/older tags.
    • Improved the Themes update/export multi-edit options to be clearer.
    • Fixed blank page on them update if no theme selected (thanks, NicolasGraph).
    • Fixed layout bugs on the Themes panel (thanks, phiw13).
    • Tweaked layout of upload category buttons on Images and Files panels (thanks, phiw13).
    • Fixed alignment of Textfilter drodowns.
    • Added a whole bunch of other visual tweaks to improve usability.
    • Tightened other language text around the place (thanks, Destry).
    • Fixed Diagnostics alert for All Checks Passed (thanks, Adi).
    • Removed global attribute fields in tag builder, pending overall tag builder improvements.
    • Fixed pagination in plugins using legacy pageby calls (thanks, Adi).
    • Fixed order of Form blocks (thanks, phiw13).
    • Improved Languages API and reintroduced public $textarray to help plugins authors (thanks Adi).
    • Permitted multiple language identifiers in a single Textpack (e.g. en, en-us, en-gb).
    • Fixed a few stray Textpack string grouping issues.
    • Fixed string trim when using the escape attribute's tidy feature (thanks, cara-tm).
    • Tightened data sanitization and added more defensive coding (thanks, Manuel García Cárdenas).
    • Fixed /title only mode and /year/month/day/title interpretations (thanks, planeth44).
    • Included new translations - thank you to all translators who work tirelessly to keep up with our code meddling.
    Source code(tar.gz)
    Source code(zip)
    textpattern-4.7.0-beta.2.tar.gz(1.36 MB)
    textpattern-4.7.0-beta.2.tar.gz.SHA256SUM(98 bytes)
    textpattern-4.7.0-beta.2.zip(1.59 MB)
    textpattern-4.7.0-beta.2.zip.SHA256SUM(95 bytes)
  • 4.7.0-beta(Mar 7, 2018)

    Beta release of Textpattern 4.7.0. Please see HISTORY.txt for a full list of changes that will appear in the 4.7.0 stable release.

    As this is a beta, code may change between this and the final 4.7.0 stable release. As such, it is not recommended for production use. If you do, back up your existing database and filesystem before upgrading.

    Please report any issues here, stating the beta version that you are using. Further beta releases may be required prior to 4.7.0 stable release, depending on issues reported.

    Source code(tar.gz)
    Source code(zip)
    textpattern-4.7.0-beta.tar.gz(1.35 MB)
    textpattern-4.7.0-beta.tar.gz.SHA256SUM(96 bytes)
    textpattern-4.7.0-beta.zip(1.60 MB)
    textpattern-4.7.0-beta.zip.SHA256SUM(93 bytes)
  • 4.6.2(Oct 21, 2016)

    • Maintenance release with bug fixes.
    • Fixed: More complete SQL trace on non-row-based queries.
    • Fixed: Update process for filesystem-only releases.
    • Fixed: Normalise link text in some tag builder tags (thanks, makss).
    • Fixed: Incorrect focus ring styling.
    • Fixed: Define Trace in RPC (thanks, Retrax/makss).
    • Added: Better cross-browser support for input type=color (thanks, NicolasGraph).
    • Added: Support for printing of admin panels.
    • Added: Additional Latvian setup translations.
    Source code(tar.gz)
    Source code(zip)
    textpattern-4.6.2.tar.gz(1.42 MB)
    textpattern-4.6.2.tar.gz.SHA256SUM(91 bytes)
    textpattern-4.6.2.zip(1.58 MB)
    textpattern-4.6.2.zip.SHA256SUM(88 bytes)
  • 4.6.1(Oct 4, 2016)

    • Maintenance release with bug fixes.
    • Added: A modern interpretation of the 'Classic' admin theme.
    • Added: More complete SQL trace (thanks, makss).
    • Fixed: New articles only marked modified after modification (thanks, gaekwad).
    • Fixed: Silently fail if old files cannot be deleted.
    • Fixed: Conditional tags now trigger correctly (thanks, craigerskine).
    • Fixed: Missing sql_now_* preferences (thanks, makss).
    • Fixed: Save preference pane states on keyboard focus too (thanks, phiw13).
    • Fixed: Avoid setLocale errors if locale unavailable in lang tag attributes (thanks, brachycera).
    • Fixed: 'Change author' multi-edit only available to users with sufficient rights (thanks, makss).
    • Fixed: Relative URLs in feeds (thanks, hidalgo).
    • Changed: Made better use of available screen estate for presentation panel code textareas (thanks, phiw13).
    • Changed: Tightened up vertical layout on Forms panel.
    • Changed: Put an upper limit on preference group widths for better readability (thanks, phiw13).
    • Changed: CONTRIBUTING.textile info has been consolidated into main README.txt file.
    • jQuery UI 1.12.1.
    • zxcvbn 4.4.0.
    Source code(tar.gz)
    Source code(zip)
    textpattern-4.6.1.tar.gz(1.42 MB)
    textpattern-4.6.1.zip(1.57 MB)
  • 4.6.0(Sep 10, 2016)

    • 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.
    • One-week validity for new account activation requests by default. Configurable in config.php (see ACTIVATION_EXPIRY_HOURS).
    • Ninety-minute validity for password reset requests by default. Configurable in config.php (see RESET_EXPIRY_MINUTES).
    • 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, formatand 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 SQL 'NOW()' 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.
    Source code(tar.gz)
    Source code(zip)
    textpattern-4.6.0.tar.gz(1.28 MB)
    textpattern-4.6.0.zip(1.43 MB)
  • 4.6.0-beta.3(Sep 1, 2016)

    Notable changes since beta 2:

    • Reintroduced and rewritten the tag builder.
    • Reintroduced site name in admin header area.
    • Rewritten admin-side layout grid and various UI widgets in Flexbox, which affords better support for RTL languages.
    • Many RTL language admin-side improvements.
    • Improved layout accessibility for pages, forms, styles panels by moving content-switcher to left-hand column.
    • Removed built-in Gzip compression of RSS feed and Atom feed (server compression tools can, and should, handle this task).
    • Multi-site bug fixes.
    • Minor improvements to public-side theme.
    • Various other bug fixes and cosmetic improvements, as reported by beta testers.
    Source code(tar.gz)
    Source code(zip)
    textpattern-4.6.0-beta.3.tar.gz(1.28 MB)
    textpattern-4.6.0-beta.3.zip(1.43 MB)
  • 4.6.0-beta.2(Jul 20, 2016)

    Notable changes since beta 1:

    • Made preference panes URL-selectable.
    • You can now click on the Textpattern logo to go quickly to whatever panel has been set as default.
    • Admin theme custom CSS file and custom JavaScript file support.
    • Delete icon is now coloured red to highlight importance.
    • Fixed a couple of layout glitches in RTL languages.
    • Minor bug fixes and optimisations, as reported by beta testers.
    • jQuery UI v1.12.0 release.
    Source code(tar.gz)
    Source code(zip)
    textpattern-4.6.0-beta.2.tar.gz(1.27 MB)
    textpattern-4.6.0-beta.2.zip(1.42 MB)
  • 4.6.0-beta(Jun 1, 2016)

    Beta release of Textpattern 4.6.0, please see HISTORY.txt for a full list of changes that will appear in the 4.6.0 stable release.

    As this is a beta, code may change between this and the final 4.6.0 stable release. As such, it is not recommended for production use.

    Please report any issues here, stating the beta version that you are using. Further beta releases may be required prior to 4.6.0 stable release, depending on issues reported.

    Source code(tar.gz)
    Source code(zip)
    textpattern-4.6.0-beta.tar.gz(1.29 MB)
    textpattern-4.6.0-beta.zip(1.45 MB)
  • 4.5.7(Feb 11, 2016)

    Note: v4.5.6 was skipped due to broken update path for SVN users.

    • Maintenance release with bug fixes.
    • Textile v2.4.3 resolves PHP 5.5 compatibility issues.
    • Updated default site theme and libraries.
    • Setup now remembers settings. No more 'form resubmission' browser warnings when going back through wizard.
    • Allow pre_publish_script in multi-site installations.
    • Email address validation uses PHP's filter_var(), which permits addresses such as @[127.0.0.1].
    • Fixed: <txp:link_to_prev>, <txp:link_to_next>, <txp:prev_title>, and <txp:next_title> tags for certain combinations with <txp:article_custom>.
    • Fixed: SQL statement escaping in set_pref().
    • Fixed: Situations where set_pref() could corrupt the preference table if the string name contained % or _ characters.
    • Fixed: Save comment emails of any valid length properly.
    • Fixed: Visitor logs support IPv6.
    • Fixed: Articles can be assigned to sections with names longer than 64 characters.
    • Fixed: Setup script more robust, and compatible with MySQL 5.6.
    • Fixed: Warnings when writing image thumbnails.
    • Fixed: Files no longer trash author names, and empty files can no longer be created.
    • Fixed: Percent encoding of spaces in site URL.
    • Security: IXR fixes to prevent XML quadratic blowup attack.
    • Security: Prevent variable injection during setup and plugin preview step.
    Source code(tar.gz)
    Source code(zip)
    textpattern-4.5.7.tar.gz(540.97 KB)
    textpattern-4.5.7.zip(604.21 KB)
  • 4.5.5(Feb 11, 2016)

  • 4.5.4(Feb 11, 2016)

    Note: v4.5.3 was skipped due to a packaging error.

    • Maintenance release with bug fixes, no security implications.
    • Fix <txp:link_to_prev>, <txp:link_to_next>, <txp:prev_title>, and <txp:next_title> tags for certain combinations with <txp:article_custom>.
    • Escape new page name in the 'Pages' panel.
    • Developer: Render valid HTML in fInput() for input types 'file' and 'image'.
    • Developer: In http_accept_format(), discard MIME formats with a quality factor below 0.1.
    Source code(tar.gz)
    Source code(zip)
    textpattern-4.5.4.tar.gz(534.45 KB)
    textpattern-4.5.4.zip(1022.41 KB)
Owner
Textpattern CMS
The people that bring you Textpattern CMS.
Textpattern CMS
A great looking and easy-to-use photo-management-system you can run on your server, to manage and share photos.

Lychee A great looking and easy-to-use photo-management-system. Since the 1st of April 2018 this project has moved to it's own Organisation (https://g

Tobias Reich 6.2k Jan 5, 2023
Powerful, yet easy to use, open-source online ordering, table reservation and management system for restaurants

TastyIgniter provides a professional and reliable platform for restaurants wanting to offer online food ordering and table reservation to their custom

TastyIgniter 2.4k Dec 27, 2022
Laravel-Library-Management-system is nice to management library system...

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

Eng Hasan Hajjar 2 Sep 30, 2022
UserFrosting is a secure, modern user management system written in PHP and built on top of the Slim Microframework, Twig templating engine, and Eloquent ORM.

UserFrosting 4.6 Branch Version Build Coverage Style master hotfix develop https://www.userfrosting.com If you simply want to show that you like this

UserFrosting 1.6k Jan 1, 2023
Hybrid Content Management System with the freedom of a headless CMS and with the full functionality of a traditional CMS

INTRODUCTION Flextype is an open-source Hybrid Content Management System with the freedom of a headless CMS and with the full functionality of a tradi

Flextype 524 Dec 30, 2022
DooTask is a lightweight open source online project task management tool that provides various document collaboration tools, online mind mapping, online flowcharting, project management, task distribution, instant IM, file management and other tools.

DooTask is a lightweight open source online project task management tool that provides various document collaboration tools, online mind mapping, online flowcharting, project management, task distribution, instant IM, file management and other tools.

kuaifan 3k Jan 5, 2023
mini Project in Laravel and vue js. Real World Laravel 8x + vue js Dashboard.Task management and project management system

mini Project in Laravel and vue js. Real World Laravel 8x + vue js Dashboard.Task management and project management system. Dashboard features such as: Complete Dashboard, Custom Authentication, Email Verification, custom-login-register-forgot password (without jetstream).

Hasmukh Dharajiya 2 Sep 20, 2022
Open Source Voucher Management System is a web application for manage voucher. used PHP with Laravel Framework and use MySQL for Database.

Voucher Management System is a web application for manage voucher. You can create and manage your voucher. Voucher Management System is used PHP with Laravel Framework and use MySQL for Database.

Artha Nugraha Jonar 34 Sep 17, 2022
This is a visitor management system, developed by the use of Laravel 8 combined with Jetstream, Livewire and Tailwind CSS.

This is a visitor management system, developed by the use of Laravel 8 combined with Jetstream, Livewire and Tailwind CSS.

Marios Tsouras 0 Apr 23, 2022
Modern, Crazy Fast, Ridiculously Easy and Amazingly Powerful Flat-File CMS powered by PHP, Markdown, Twig, and Symfony

Grav Grav is a Fast, Simple, and Flexible, file-based Web-platform. There is Zero installation required. Just extract the ZIP archive, and you are alr

Grav 13.6k Dec 24, 2022
Laravel website prototype with backoffice for content and users management

LaraProto LaraProto is a Laravel website prototype with backoffice for content and users management. Just install and glue your front end views Based

Marco Afonso 7 Aug 26, 2016
Drupal is an open source content management platform supporting a variety of websites ranging from personal weblogs to large community-driven websites.

Drupal is an open source content management platform supporting a variety of websites ranging from personal weblogs to large community-driven websites.

Drupal 3.8k Jan 4, 2023
:panda_face: Jitamin is a free software written in PHP, intended to handle the project management over the web. QQ群: 656868

Jitamin Jitamin (pronounced /ˈdʒɪtəmɪn/) is a free software written in PHP, intended to handle the project management over the web. Jitamin is inspire

jitamin 916 Dec 14, 2022
Simple and fast issue tracking system

Treenga — Simple and fast issue tracking system Treenga is simple. Team functions as the main umbrella under which all issues sit. It shares everythin

null 38 Dec 24, 2022
School Management System Ver 1.0 with login and registration and admin panel

School Management System Ver 1.0 with login and registration and admin panel

JehanKandy 10 Jul 13, 2022
Hotel Management System using MySQL, Php, Ajax, Jquery and HTML

Hotel-Management-System-Ajax-PHP-Mysql A hotel management system in which clients can perform operations such as booking a room and event. It is possi

vengadesh ks 2 Jun 6, 2022
Learning Management System made in vanilla PHP to learn core concepts and usage of some basic utils

Learning Management System Learning Management System made in vanilla PHP to learn core concepts and usage of some basic utils. Report Bug · Request F

TitansLab 1 Mar 30, 2022
DBase - An easy-to-use backend for mobile and web applications

DBase DBase is an easy-to-use backend for your mobile and web applications, host the files in an Ubuntu server and use the SDKs to perform CRUD operat

Frank Eno ~ XSGames 39 May 25, 2022
An easy-to-use, free and open source laravel e-Exam platform to build your online course right away.

➡️ Website | Documentation | Community ⬅️ Laerx Get detailed information about your clients, exams and courses to create an effective report and track

Codenteq 93 Jan 5, 2023