@Bloke Bloke released this May 15, 2018 · 73 commits to master since this release

Assets 6

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.