Textpattern PHP Cross Reference Content Management Systems

Source: /HISTORY.txt - 640 lines - 43570 bytes - Text - Print

   1  Changes in 4.6.2
   2  
   3  * Maintenance release with bug fixes.
   4  * Fixed: More complete SQL trace on non-row-based queries.
   5  * Fixed: Update process for filesystem-only releases.
   6  * Fixed: Normalise link text in some tag builder tags (thanks, makss).
   7  * Fixed: Incorrect focus ring styling.
   8  * Fixed: Define Trace in RPC (thanks, Retrax/makss).
   9  * Added: Better cross-browser support for input type=color (thanks, NicolasGraph).
  10  * Added: Support for printing of admin panels.
  11  * Added: Additonal Latvian setup translations.
  12  
  13  Changes in 4.6.1
  14  
  15  * Maintenance release with bug fixes.
  16  * Added: A modern interpretation of the 'Classic' admin theme.
  17  * Added: More complete SQL trace (thanks, makss).
  18  * Fixed: New articles only marked modified after modification (thanks, gaekwad).
  19  * Fixed: Silently fail if old files cannot be deleted.
  20  * Fixed: Conditional tags now trigger correctly (thanks, craigerskine).
  21  * Fixed: Missing sql_now_* preferences (thanks, makss).
  22  * Fixed: Save preference pane states on keyboard focus too (thanks, phiw13).
  23  * Fixed: Avoid setLocale errors if locale unavailable in lang tag attributes (thanks, brachycera).
  24  * Fixed: 'Change author' multi-edit only available to users with sufficient rights (thanks, makss).
  25  * Fixed: Relative URLs in feeds (thanks, hidalgo).
  26  * Changed: Made better use of available screen estate for presentation panel code textareas (thanks, phiw13).
  27  * Changed: Tightened up vertical layout on Forms panel.
  28  * Changed: Put an upper limit on preference group widths for better readability (thanks, phiw13).
  29  * Changed: CONTRIBUTING.textile info has been consolidated into main README.txt file.
  30  * jQuery UI 1.12.1.
  31  * zxcvbn 4.4.0.
  32  
  33  Changes in 4.6.0
  34  
  35  * Textile v3.5.
  36  * Improved RTL language support.
  37  * Improved admin side UI.
  38  * Requires PHP 5.3.3 or newer. Compatible with PHP 7 and MySQL 5.7 (thanks Ruud van Melick).
  39  * New tags: <txp:authors />, <txp:meta_description />, <txp:if_description> and <txp:if_yield>.
  40  * No more plaintext passwords sent: password reset requests are handled directly on the server.
  41  * One-week validity for new account activation requests by default. Configurable in config.php (see ACTIVATION_EXPIRY_HOURS).
  42  * Ninety-minute validity for password reset requests by default. Configurable in config.php (see RESET_EXPIRY_MINUTES).
  43  * Stronger password hashes and strength meter implemented (zxcvbn).
  44  * Performance increases due to cache-friendly public side database queries, parser improvements and reduction of admin-side queries (thanks Ruud van Melick and etc).
  45  * Added: Support for adding other markup languages (for example, Markdown) via plugins.
  46  * Added: Default article publishing status preference.
  47  * Added: Support for custom CSS and JavaScript files in admin themes, for advanced users.
  48  * Removed: Import panel - the blog import options were obsolete (thanks Ruud van Melick).
  49  * Removed: Commenter IP ban feature - this method of banning is unreliable and becoming obsolete (thanks Ruud van Melick).
  50  * Removed: Modernizr - unnecessary due to Internet Explorer 11 being the minimum Internet Explorer browser requirement.
  51  * 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.
  52  * Changed: <txp:article_custom /> accepts 'exclude' attribute to exclude articles by a comma-separated id list.
  53  * Changed: <txp:author /> accepts 'escape' and 'format' attributes.
  54  * Changed: <txp:category_list /> accepts 'html_id', 'limit' and 'offset' attributes.
  55  * Changed: <txp:comments_form/>: Deprecated 'isize', 'msgcols', 'msgrows', 'msgstyle', 'previewlabel', 'submitlabel', 'rememberlabel', and 'forgetlabel' attributes .
  56  * Changed: <txp:comments/>, <txp:comments_form/>, <txp:comments_preview/> and <txp:popup_comments/> can be used as container tags.
  57  * Changed: <txp:comment_email_input /> accepts 'size' attribute.
  58  * Changed: <txp:comment_message_input /> accepts 'cols' and 'rows' attributes. Removed capability to apply an immediate style to the element.
  59  * Changed: <txp:comment_name_input /> accepts 'size' attribute.
  60  * Changed: <txp:comment_preview /> accepts 'label' attribute.
  61  * Changed: <txp:comment_remember /> accepts 'rememberlabel' and 'forgetlabel' attributes.
  62  * Changed: <txp:comment_submit /> accepts 'label' attribute.
  63  * Changed: <txp:comment_web_input /> accepts 'size' attribute.
  64  * Changed: <txp:link /> accepts 'id' and 'name' attributes.
  65  * Changed: <txp:meta_author /> accepts 'escape' and 'format' attributes.
  66  * Changed: <txp:meta_keywords /> accepts 'escape', 'format' and 'separator' attributes.
  67  * Changed: <txp:password_protect /> can be used as a container tag.
  68  * Changed: <txp:recent_articles /> accepts 'offset' attribute.
  69  * Changed: <txp:section_list /> accepts 'html_id', 'limit' and 'offset' attributes.
  70  * Changed: Deprecated <txp:keywords /> tag. Use <txp:meta_keywords format="" /> instead.
  71  * Changed: Deprecated <txp:rsd /> tag.
  72  * Changed: Deprecated 'breakclass' attribute for <txp:comments /> and <txp:image_info />.
  73  * Changed: Removed Form (article) Preview facility.
  74  * Changed: Removed empty 'About' section from new installs.
  75  * Changed: Tag builder has been reworked as a dialog window.
  76  * Changed: Increased 'page' and 'css' sizes in txp_section table.
  77  * Changed: 'Prevent widowed words in article titles' preference defaults to 'No' in new installs.
  78  * Changed: 'Include email in Atom feeds' preference defaults to 'No' in new installs.
  79  * Changed: Detailed debug trace log.
  80  * Changed: Default charset is now utf8mb4: supports a wider range of characters, including emoji.
  81  * Changed: Removed built-in Gzip compression of RSS feed and Atom feed.
  82  * 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'
  83  * Developer: getNeighbour() returns 'false' if no matching neighbour article exists.
  84  * Developer: Uses 'mysqli' extension for database access, lose dependency on 'mysql' extension.
  85  * Developer: Uses the TXP 'now()' function instead of the SQL 'NOW()' function to create cache-friendly, faster SELECT queries.
  86  * Developer: Added jQuery UI library to admin side.
  87  * 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.
  88  * Developer: Added DocBlock documentation comments throughout the source code.
  89  * Developer: Adherence to PSR coding standards where possible.
  90  * Developer: Function signature for wrapRegion() changed: 7th parameter 'ARIA role' dropped, as it shouldn't be stated for semantic tags such as 'section'.
  91  * Developer: Refactored 'Validator', 'Constraint', and 'theme' classes into the 'Textpattern' namespace; deprecated their 'txplib_validator' and 'txplib_theme' implementations.
  92  * jQuery 1.12.4.
  93  * jQuery UI 1.12.0.
  94  
  95  Changes in 4.5.7
  96  
  97  * Maintenance release with bug fixes.
  98  * Textile v2.4.3 resolves PHP 5.5 compatibility issues.
  99  * Updated default site theme and libraries.
 100  * Setup now remembers settings. No more 'form resubmission' browser warnings when going back through the wizard.
 101  * Allow pre_publish_script in multi-site installations.
 102  * Email address validation uses PHP's filter_var(), which permits addresses such as @[127.0.0.1].
 103  * Fixed: <txp:link_to_prev>, <txp:link_to_next>, <txp:prev_title>, and <txp:next_title> tags for certain combinations with <txp:article_custom>.
 104  * Fixed: SQL statement escaping in set_pref().
 105  * Fixed: Situations where set_pref() could corrupt the preference table if the string name contained '%' or '_' characters.
 106  * Fixed: Save comment emails of any valid length properly.
 107  * Fixed: Visitor logs support IPv6.
 108  * Fixed: Articles can be assigned to sections with names longer than 64 characters.
 109  * Fixed: Setup script more robust, and compatible with MySQL 5.6.
 110  * Fixed: Warnings when writing image thumbnails.
 111  * Fixed: Files no longer trash author names, and empty files can no longer be created.
 112  * Fixed: Percent encoding of spaces in site URL.
 113  * Security: IXR fixes to prevent XML quadratic blowup attack.
 114  * Security: Prevent variable injection during setup and plugin preview step.
 115  
 116  Changes in 4.5.6
 117  
 118  * Skipped due to broken update path for SVN users.
 119  
 120  Changes in 4.5.5
 121  
 122  * Maintenance release with bug fixes, no security implications.
 123  * Fixed: Compatibility issues with PHP 5.5 in <txp:yield> and setup routines.
 124  * Fixed: Category table's parent-child associations break and the table malforms on name updates, if two different category types share same category name.
 125  * Fixed: Image caption isn't escaped.
 126  * Fixed: Admin-side JavaScript dies on Safari 5 (or any browser that doesn't allow re-defining keywords or constructs as variables).
 127  * jQuery 1.8.3.
 128  
 129  Changes in 4.5.4
 130  
 131  * Corrects a packaging error in the 4.5.3 archives.
 132  
 133  Changes in 4.5.3
 134  
 135  * Maintenance release with bug fixes, no security implications.
 136  * Fix <txp:link_to_prev>, <txp:link_to_next>, <txp:prev_title>, and <txp:next_title> tags for certain combinations with <txp:article_custom>.
 137  * Escape new page name in the 'Pages' panel.
 138  * Developer: Render valid HTML in fInput() for input types 'file' and 'image'.
 139  * Developer: In http_accept_format(), discard MIME formats with a quality factor below 0.1.
 140  
 141  Changes in 4.5.2
 142  
 143  * Maintenance release with bug fixes, no security implications.
 144  * Fix <txp:link_to_prev>, <txp:link_to_next>, <txp:prev_title>, and <txp:next_title> tags for setups with web server and database server in different time zones.
 145  * Avoid "undefined variable" error while bulk-editing form types.
 146  * Developer: Use actual callback instead of hard-coded function to render 'View'link.  Pass reference to partials meta data into partial callbacks as $rs['partials_meta'].
 147  * Developer: Escape '<script>' tags in script_js(). Use jQuery in dom_attach().
 148  
 149  Changes in 4.5.1
 150  
 151  * Maintenance release with bug fixes, no security implications.
 152  * Default front-side template: Remove duplicate search input field.
 153  * Textile: Use 'named groups' syntax '?P<group>' for b/c with older PCRE libary versions.
 154  * Hive admin-side theme: Modernizr v2.6.2.
 155  * Prevent fatal aborts from error-handling during version upgrades.
 156  * Unregister all globals in multi-site setups.
 157  * Prevent deletion of used stylesheets from UI.
 158  * Offer all supported units in the tag builder for <txp:file_download_size />.
 159  * Developer: New events 'authors_deleted', 'categories_deleted', 'css_deleted', 'discuss_deleted', 'file_deleted', 'forms_deleted', 'thumbnail_deleted', 'links_deleted', 'articles_deleted', 'page_deleted', 'sections_deleted'.
 160  
 161  Changes in 4.5.0
 162  
 163  * Minimum system requirement: PHP 5.2.
 164  * Modern default site theme (responsive, HTML5, CSS3).
 165  * Choice of HTML5 or XHTML document type as a preference.
 166  * Textile 2.4.1. See full changelog at http://textpattern.com/textile-changelog.
 167  * User interface realignment and clean-up.
 168  * Additional admin theme (Hive).
 169  * Beautified setup process.
 170  * Write, Plugin and Section panels save some changes without page refreshes (AJAX).
 171  * WordPress import tool imports image media attachemnts as article images, can use 'utf8' or 'latin1' source databases.
 172  * New advanced preference "Login info email address" allows to define a 'From:' address from which  a new user's login info is sent.
 173  * Check for new Textpattern version moved from Preferences to Diagnostics panel.
 174  * Removed raw PHP support in pages and articles.
 175  * Plugin status is preserved across plugin updates.
 176  * <txp:link_to_prev> and <txp:link_to_next> adhere to the sort order set by <txp:article>.
 177  * Deprecated 'escape' attribute for <txp:search_term />.
 178  * Removed 'align' attribute for <txp:image />, <txp:thumbnail />, <txp:article_image />.
 179  * <txp:css /> accepts a comma-separated list of style-sheet names for the 'name' attribute.
 180  * <txp:txp_die />: New attribute 'url'. Specifies location target for HTTP stati 301, 302, 307.
 181  * <txp:article_custom>, <txp:file_download_list> preserve sorting order from 'id' attribute.
 182  * <txp:images /> preserves sorting order from article image ids.
 183  * <txp:file_download> may be used as a container tag.
 184  * <txp:comment_form />: New attributes 'previewlabel', 'submitlabel', 'rememberlabel', 'forgetlabel'.
 185  * New <txp:author_email> tag.
 186  * <txp:linklist /> accepts a comma-separated list of link ids in the new 'id' attribute.
 187  * <txp:images /> uses the sort order of images from the 'id' attribute if present.
 188  * Developer: Introduce gTxtScript() to help with the l10n of client-side strings.
 189  * Developer: Introduce txpspecialchars() as a recommended HTML5-safe alternative to htmlspecialchars().
 190  * Developer: New events 'article_saved', 'article_posted', 'comment.saved', 'article_ui'.'partials_meta', 'article_ui'.'validate_save', 'image_ui'.'fullsize_image', 'image_ui'.'thumbnail_image', 'admin_criteria'.'author_list', 'admin_criteria'.'author_list', 'admin_criteria'.'css_list', 'admin_criteria'.'discuss_list', 'admin_criteria'.'file_list', 'admin_criteria'.'form_list', 'admin_criteria'.'image_list', 'admin_criteria'.'link_list', 'admin_criteria'.'list_list', 'admin_criteria'.'log_list', 'admin_criteria'.'page_list', 'admin_criteria'.'section_list' (NB: 'image_ui'.'image_edit' and 'image_ui'.'thumbnail_edit' changed).
 191  * Developer: Introduce textpattern.Relay, a pub/sub hub for client-side events.
 192  * Developer: Introduce txpAsyncForm (a jQuery plugin for asynchronous posts from forms) and txpAsyncHref (a jQuery plugin for asynchronous posts from links)
 193  * Developer: Introduce safe_escape(), Constraint() and Validator() classes plus their descendents, callback_event_ref(), theme::announce_async()
 194  * Developer: Restrict plugin type '3' to load only at non-AJAX requests. Introduce plugin type '4' to be loaded on the admin side for both AJAX and non-AJAX requests. Introduce plugin type '5' to be loaded on the public side and on the admin side for both AJAX and non-AJAX requests.
 195  * Developer: Run custom post-update code from txpath.'/update/custom/post-update*.php' if this glob() exists.
 196  * Developer: Include custom code like page-caches before the page is assembled by setting $txpcfg['pre_publish_script'] to a valid filename.
 197  * Developer: Modified plugin type '1': Load only on non-AJAX requests on the admin-side.
 198  * Developer: Additional plugin types '4' (admin-side, only for AJAX requests), and '5' (public side; admin-side, only for AJAX requests).
 199  * Security: Admin-side disallows framing, sends "X-Frame-Options: SAMEORIGIN" header.
 200  * Security: The 'txp_login' cookie is set with a 'HttpOnly' attribute.
 201  * Security: Fixed a persistent XSS vulnerability in Textile discovered by Mauro Gentile.
 202  * Security: Fixed a XSS vulnerability in the setup process discovered by Jonathan Claudius of Trustwave SpiderLabs.
 203  * Security: Fixed a persistent XSS vulnerability in the access log panel discovered by Sasha Zivojinovic.
 204  * Bug and security fixes.
 205  * jQuery 1.7.2.
 206  
 207  Changes in 4.4.1
 208  
 209  * Security: Add admin-side CSRF protection measures. Updates are highly recommended. Thanks, Neal Poole.
 210  * Upload of SWF images requires 'image.create.trusted' privilege (applies to publisher, managing editor, copy editor, and designer roles).
 211  * <txp:file_download_size /> improved from both i18n and l10n viewpoints.
 212  * Developer: CSRF protection API in bouncer(), form_token() and tInput().
 213  * Developer: CSRF token included in output from form(), aLink(), eLink(), dLink(), and wLink() functions.
 214  * phpass 0.4 / genuine.
 215  * jQuery 1.6.1.
 216  
 217  Changes in 4.4.0
 218  
 219  * Security: Fix several vulnerabilites. Updates are *absolutely* recommended for sites running any older version. Thanks, Neal Poole.
 220  * Passwords are case-sensitive.
 221  * Hotlink protection for files: Downloads from a web-accessible '/files' directory are inhibited. The '/file_download/$id/example.foo' route is the only valid way to access downloadable files. Requires an Apache webserver and usage of the sample .htaccess file.
 222  * Empty <txp:variable></txp:variable> container sets a variable's value to "".
 223  * WordPress import tool fixed for WP 3.x.
 224  * Context bug in messy mode fixed.
 225  * get_pref() now honours per-user prefs in all cases.
 226  * Developer: txp_validate() accepts a '$log' parameter to discern between 'real user login' vs. 'just validating credentials' usage.
 227  * Developer: sendAsyncEvent() accepts parameter $format.
 228  * Developer: Introducing escape_js() and send_script_response().
 229  * Developer: Taghandler functions *must not* contain upper case letters.
 230  * Developer: Taghandler functions *must not* be defined within a <txp:php> element.
 231  * Developer: phpass 0.3 / genuine for password portability, hashing, stretching, and salting. Old-style passwords will be migrated upon a user's first login. Persistent hash values in database are incompatible with previous versions.
 232  * jQuery 1.5.1.
 233  
 234  Changes in 4.3.0
 235  
 236  * Security: Fixed two XSS vulnerabilities (thanks Jorge Hoya and High-Tech Bridge). Updates are recommended.
 237  * New Textpattern logo by courtesy of Philipp Schilling (belipe, http://www.psgd.de). Happy retirement to The Carver!
 238  * Feature: Optional alternate URL for static image resources. Defined in constant 'ihu'.
 239  * Feature: /category and /author lists for all content types, with conditionals and pagination.
 240  * Feature: Optional top-level 'Home' tab for dashboard plugins.
 241  * Feature: File titles.
 242  * Feature: Multiple categories/sections in feeds via http://example.com/rss/?category=foo,bar&section=baz,omg and http://example.com/atom/?category=foo,bar&section=baz,omg).
 243  * New tags: <txp:images />, <txp:image_info />, <txp:image_url />, <txp:image_date />, <txp:if_thumbnail />.
 244  * New tags: <txp:link_author />, <txp:image_author />, <txp:file_download_author />.
 245  * Changed: Verbose semantic admin-side markup.
 246  * Changed: Explicit 'Create new $thing' button for pages and styles.
 247  * Changed: <txp:image /> and  <txp:article_image /> accept 'width' and/or 'height' attribute.
 248  * Changed: <txp:search_input /> accepts a 'match' attribute. Possible values: 'exact', 'any' or 'all' (default).
 249  * Changed: <txp:css /> accepts a 'name' attribute. Attribute 'n' is deprecated.
 250  * Changed: <txp:image_index /> accepts a 'category' attribute. Attribute 'c' is deprecated.
 251  * Changed: <txp:breadcrumb /> accepts a 'separator' attribute. Attribute 'sep' is deprecated.
 252  * Changed: <txp:if_plugin /> accepts a 'version' attribute. Attribute 'ver' is deprecated.
 253  * Changed: <txp:if_custom_field /> accepts a "value" attribute. Attribute "val" is deprecated. Added attributes 'match' and 'separator'.
 254  * Changed: <txp:feed_link />, <txp:link_feed_link />, <txp:popup />, <txp:search_input /> accept a 'class' attribute.
 255  * Changed: Use percent-encoding in URLs as a RFC-1738-compliant fallback for languages lacking a suitable transliteration array.
 256  * Changed: Silence E_STRICT warnings in "live" production mode.
 257  * Removed: 'Friendly' CSS editor.
 258  * Developer: pluggable_ui() in the images tab.
 259  * Developer: Stylesheets are stored as plain text in the database - no more base64-encoding.
 260  * Developer: Textpacks, a method to install i18n strings from uploaded text files and from plugins.
 261  * Developer: article_format_info(), link_format_info(), and get_groups() convenience functions.
 262  * Developer: i18n strings are not loaded while Textpattern renders the public-side style sheet.
 263  * Textile 2.2 adds support for note lists, definition lists, thead, tbody, tfoot, table summary, table caption, table colgroup, glyphs for fractions, degrees and plusminus et cetera.
 264  * jQuery 1.4.3.
 265  * Incutio XML-RPC Library 1.7.4.
 266  
 267  Changes in 4.2.0
 268  
 269  * Feature: Extendable admin-side themes. 'Classic' and 'Remora' theme contained in the core package, user-contributed themes available from http://textgarden.org/layouts/?c=txp-admin.
 270  * Feature: Capability for multi-site file system layouts (thanks: Sam Weiss).
 271  * Feature: Role-based permission checks for images, links and files.
 272  * Feature: Save various pane toggle states.
 273  * Feature: Store author of links and files.
 274  * Feature: Automatic adjustment for DST (requires PHP 5.2+, fall back to manual adjustment for servers running older PHPs).
 275  * Feature: Timezone selector in preferences (requires PHP 5.2+, GMT-based selector as a fallback).
 276  * Feature: Default event preference setting (thanks: Mary).
 277  * Fixed: PHP 5.3 compatibility (thanks: Mary).
 278  * Fixed: When a user is deleted, reassign her assets.
 279  * Fixed: Tag builders for <txp:category /> and <txp:section />.
 280  * Fixed: Bogus "Article tags cannot be used outside an article context" warning  in <txp:else />-branch of <txp:if_keywords>.
 281  * Fixed: Removed superflous &amp; encoding for article titles in <txp:recent_comments />.
 282  * Fixed: <txp:expires> uses "class" and "wraptag" attributes as intended.
 283  * New tag: <txp:link_id /> (thanks: Rick Silletti).
 284  * New tag: <txp:yield />.
 285  * Changed: Article timestamp is left untouched for draft, pending, or hidden articles published into the future.
 286  * Changed: <txp:file_download_list /> tag accepts a comma-separated list of file ids in a new "id" attribute (thanks: Rick Silletti).
 287  * Developer: pluggable_ui() serves as a base for custom admin-side user interface panels, see new '*_ui' events below.
 288  * Developer: New events 'log_it', 'plugin_lifecycle', 'plugin_prefs', 'txp_die', 'article_ui', 'author_ui', 'category_ui', 'file_ui', 'image_ui', 'link_ui', 'prefs_ui', 'section_ui'.
 289  * Developer: Per-user preferences.
 290  * Developer: Increased maximum plugin code size to MEDIUMTEXT (16 MiB).
 291  * Developer: Increased maximum preferences value size to TEXT (64 KiB).
 292  * Developer: Core support for unlimited custom fields (thanks: Gerhard Lazu).
 293  * Developer: Thumbnail dimensions are stored in the image table.
 294  * Developer: Sending requests to the admin-side with URL parameter 'app_mode' set to 'async' suppress any default admin-side output. Think AJAX.
 295  * Developer: Cached plugins are loaded in natural sort order.
 296  * Developer: Deprecated cleanfInput(), escape_output(), escape_tags(), getAtt(), gAtt(), and input() functions. These will be removed in next release.
 297  * Developer: Plugins can flag their interest in lifecycle events (install, uninstall, activate, deactivate). @see http://svn.textpattern.com/development/4.x-plugin-template/.
 298  * Developer: Optional capability to jump to a plugin's options from the plugin tab. @see http://svn.textpattern.com/development/4.x-plugin-template/.
 299  * jQuery 1.3.2.
 300  
 301  Changes in 4.1.0
 302  
 303  * Version 4.1.0 was assigned to the experimental "crockery" branch and never officially released.
 304  
 305  Changes in 4.0.8
 306  
 307  * Fixed: Current section/category is overwritten in <txp:section_list> and <txp:category_list> (container or form mode).
 308  * Fixed: Registration and notification mails are not sent in PHP safe mode.
 309  * Fixed: Error message upon article save from MySQL 5 in 'strict' mode.
 310  * Fixed: Timeout during "clean URL test" causes WSOD in diagnostics tab.
 311  * Partly fixed: Search result excerpt breaks HTML entities.
 312  * Changed tag: <txp:if_section> without a name attribute is now TRUE on a section page (old behaviour is preserved on upgrades).
 313  * Changed tag: <txp:if_category name=""> is now FALSE on a category page (old behaviour is preserved on upgrades).
 314  * Changed tag: <txp:link_url /> escapes its output.
 315  * Changed tag: <txp:file_download_list /> uses 'wraptag', 'break', and 'label' attributes consistently like other tags.
 316  * Speed: faster plugin loading from the database.
 317  * Diagnostics tab: ignore line endings when checking for modified files and show full paths.
 318  * Pages tab: allow 'default' page to be deleted if not used by a section.
 319  * Developer: Fall back to standard page/permlink behaviour if custom_url_func() returns FALSE.
 320  * Developer: set_pref() accepts an optional "position" parameter.
 321  
 322  Changes in 4.0.7
 323  
 324  * Parser: full nesting support, allowing unlimited nesting of identical tags.
 325  * Parser: attribute values are parsed when enclosed in single quotes.
 326  * Parser: unquoted attribute values are deprecated and will result in warnings when site status is not set to 'live'. Fix your templates and use double quotes to delimit attribute values.
 327  * Feature: Expiry time for articles, accompanied by related tags.
 328  * Speed: various components of the parsing process have been optimized, which compensates the impact of increased parser complexity, resulting in slightly faster parsing speed.
 329  * New tags: <txp:expires />, <txp:if_expired>, <txp:if_expires>.
 330  * New tag: <txp:if_keywords>.
 331  * New tags: <txp:if_first_section>, <txp:if_last_section>.
 332  * New tags: <txp:if_first_category>, <txp:if_last_category>.
 333  * New tag: <txp:if_variable>.
 334  * New tag: <txp:modified />.
 335  * New tag: <txp:rsd /> specifies the Really Simple Discovery endpoint for XML-RPC clients.
 336  * New tag: <txp:variable />.
 337  * Changed tag: <txp:article /> can be used as a container tag.
 338  * Changed tag: <txp:article /> allows new attributes 'wraptag' and 'break'.
 339  * Changed tag: <txp:article_custom /> can be used as a container tag.
 340  * Changed tag: <txp:article_custom /> allows new attributes 'wraptag' and 'break'.
 341  * Changed tag: <txp:article_custom /> allows comma separated list for 'id' attributes (this doesn't imply a sort order).
 342  * Changed tag: <txp:category /> applies 'class' attribute to the <a> element when wraptag is empty.
 343  * Changed tag: <txp:category_list /> can be used as a container tag.
 344  * Changed tag: <txp:category_list /> accepts a 'children' attribute which limits the list depth to one level below the parent category when set to '0'.
 345  * Changed tag: <txp:file_download_list /> can be used as a container tag.
 346  * Changed tag: <txp:if_article_id /> defaults to the current article's id.
 347  * Changed tag: <txp:linklist /> can be used as a container tag.
 348  * Changed tag: <txp:recent_comments /> can be used as a container tag.
 349  * Changed tag: <txp:recent_comments /> allows new attribute 'offset'.
 350  * Changed tag: <txp:search_input /> allows new attribute 'html_id' to set the form's id.
 351  * Changed tag: <txp:section /> applies the 'class' attribute to the <a> element when wraptag is empty.
 352  * Changed tag: <txp:section_list /> can be used as a container tag.
 353  * XML-RPC: server now included in main Textpattern package, disabled by default.
 354  * Articles tab: added 'article image' and 'keywords' as search criteria.
 355  * Categories tab: categories cannot be accidentally deleted if they are still in use.
 356  * Write tab: Concurrent article edit warning.
 357  * Write tab: WYSIWYG preview for draft/pending/hidden articles.
 358  * Images tab: added 'alternate text' and 'caption' as search criteria.
 359  * Images tab: multi-edit functionality (delete, change category).
 360  * Images tab: setting both thumb width and height to zero or empty values disables auto-thumbnailing.
 361  * Links tab: multi-edit functionality (change category).
 362  * Files tab: multi-edit functionality (delete, change category).
 363  * Users tab: multi-edit functionality (delete, reset password, change privilege).
 364  * Users tab: sortable and paginated author list.
 365  * Users tab: 'last login' shown in author list.
 366  * Plugins tab: User-selectable plugin load order.
 367  * Plugins tab: sortable and multi-edit functionality (change order/status, delete).
 368  * More verbose "First Post" article with basic instructions and helpful links.
 369  * Developer: getTree() receives an optional 'table' name, returned array contains 'parent' field.
 370  * Developer: New event 'pretext_set'.
 371  * Developer: new plugin type '3' for admin-only plugins (0=public, 1=admin+public, 2=library).
 372  * Developer: fInput now uses htmlspecialchars on the value parameter (previously only escape_title).
 373  * Developer: pagelinkurl() calls a custom URL handler if present. NB: The custom URL handlers function signature is modified, as an additional flag discerns pagelinks from permlinks.
 374  * Developer: $prefs['searchable_article_fields'] may contain an arrray of column names defining the fulltext-indexed set. A corresponding MySQL fulltext index must be established previously.
 375  * jQuery 1.2.6.
 376  * Ability to connect to the MySQL server through SSL.
 377  
 378  Changes in 4.0.6
 379  
 380  * Security: add missing escape in SQL query (admin side).
 381  * Security: safer use of txp_login cookie + nonce (note: users are logged out after upgrading!).
 382  * Security: fixed XSS vulnerability (thanks DSecRG) and input validation in setup script.
 383  * Security: fixed local file include vulnerability (publisher only) in textpattern/index.php (thanks DSecRG and Victor).
 384  * Security: fixed XSS vulnerability and parameter value overflow in comments preview (thanks DSecRG).
 385  * Security: escape request method as shown on logs tab (thanks Victor).
 386  * Changed tag: <txp:thumbnail /> allows non-JS links to the full-size image.
 387  * Changed tag: <txp:article_custom /> allows comma-separated lists for category, section and author attributes (thanks Manfre).
 388  * Changed tag: <txp:linklist /> allows comma-separated list for category attribute.
 389  * Changed tag: <txp:file_download_list /> allows comma-separated list for category attribute.
 390  * Changed tag: <txp:recent_articles /> allows comma-separated lists for category and section attribute.
 391  * Changed tag: <txp:related_articles /> allows comma-separated list for section attribute.
 392  * Changed tag: <txp:search_result_excerpt /> allows a custom "break" attribute defaulting to an ellipsis.
 393  * Deprecated tag: <txp:sitename /> replaced by <txp:site_name />.
 394  * Deprecated tag: <txp:request_uri /> replaced by <txp:page_url />.
 395  * Deprecated tag: <txp:s /> replaced by <txp:page_url type="s" />.
 396  * Deprecated tag: <txp:c /> replaced by <txp:page_url type="c" />.
 397  * Deprecated tag: <txp:q /> replaced by <txp:page_url type="q" />.
 398  * Deprecated tag: <txp:id /> replaced by <txp:page_url type="id" />.
 399  * Deprecated tag: <txp:pg /> replaced by <txp:page_url type="pg" />.
 400  * Deprecated function: escape_output(), use htmlspecialchars() instead.
 401  * Deprecated function: gAtt() (and getAtt()), use lAtts() instead.
 402  * Deprecated variable: $txpcfg['txpath'], use constant 'txpath' instead.
 403  * New tag: <txp:if_search_results> </txp:if_search_results>.
 404  * New tag: <txp:search_term />.
 405  * New languages: Croatian, Korean, Português (Brasil), Serbian (Latin + Cyrillic), Turkish and Vietnamese (thanks: Filip Baraka, Alexsander Albert Santana, Vladimir Siljkovic, Süleyman Şentürk, Quang Anh Do).
 406  * Developer: using add_privs() for admin-side plugins is now required (used to be optional for publisher-only plugins).
 407  * Developer: dmp() prints debug output to a file in the temporary directory according to preferences. Define 'txpdmpfile' for the file name.
 408  * Developer: Added 'modified' and 'status' to global $thisarticle array.
 409  * Developer: Added 'is_logged_in()' function to check on the public side if the visitor is logged in on the admin side.
 410  * Speed: less SQL queries (-2 for individual article pages, -1 for other pages).
 411  * Speed: recent_comments tag (thanks Manfre) and admin side comments list only uses 1 query.
 412  * Added 'password reset' functionality (with confirmation email) on the login screen.
 413  * Update to jQuery 1.2.2 as a default JavaScript library.
 414  * Fix textile list incompatibility with PHP 5.2.4 (and higher).
 415  * Fix http-auth when using lighttpd or (mostly) apache+fcgi.
 416  * Fix HTTPS protocol check for ISAPI with IIS.
 417  * Fix use of article tags on a sticky article page.
 418  * Pages, categories and styles cannot be accidentally deleted if they are used on other tabs.
 419  * Corrections in the tag builder.
 420  * Refrain from showing sticky articles from non-frontpage sections in search results.
 421  * Enable separate search section for messy URL mode.
 422  * Many, many minor improvements, see: http://dev.textpattern.com/log/development/4.0?action=stop_on_copy&rev=2802&stop_rev=2471.
 423  
 424  Changes in 4.0.5
 425  
 426  * Fixed security issue on public-side (XSS) (thanks zarathu).
 427  * Fixed path disclosure issue (thanks zarathu).
 428  * Search for posted and last modifed dates in article list.
 429  * New tag: <txp:hide /> as a container for comments and other internal content.
 430  * Changed tags: <txp:comments />, <txp:category_list />, <txp:section_list /> and <txp:image_index /> support 'sort' attribute.
 431  * Distribute jQuery 1.1.2 as a default JavaScript library.
 432  * Keep image properties on replacement.
 433  * Add 'delete thumbnail' function.
 434  * Support back end branding: customisable logo and colour bar.
 435  * Table sort indicators.
 436  * Textile improvements.
 437  * Fix non-utf8 mails (iso 8859-1).
 438  * Better wrapping in admin-interface to prevent horizontal scrollbar.
 439  * Add comment status to comment notification mails.
 440  * Fix "infinite" pagination in rare edge cases.
 441  * Work around apache bug for file-downloads (in connection with mod_deflate).
 442  * Fix error messages on wrong logins for older MySQL versions.
 443  * Fix comment spam blacklist false positives (see FAQ for 4.0.4).
 444  * Fix file_download-tag from showing the same URL for different downloads (see FAQ for 4.0.4).
 445  * Fix disappearing comment preferences in certain ciscumstances (see FAQ for 4.0.4).
 446  * Fix 'active class' in section_list, category_list.
 447  * Better cooperation with some proxies (and other HTTP/1.0 clients).
 448  * Smarter comment submit button emphasises preview step.
 449  * Optionally hide spam comments in back end list.
 450  * Truncate longish article category titles in the write screen.
 451  * Handle thumbnailing of larger images.
 452  * Better MoveableType import.
 453  * Fix some more IIS issues.
 454  * New callback event: 'textpattern_end'.
 455  * New callback event: 'ping'.
 456  * New tag: <txp:article_url_title />.
 457  * Changed tag: <txp:permlink /> loses default title attribute.
 458  * Changed tag: <txp:file_download_link /> returns filename as an additional URL part.
 459  * Many, many minor improvements, see: http://dev.textpattern.com/log/development/4.0/?action=stop_on_copy&rev=2443&stop_rev=1963.
 460  
 461  Changes in 4.0.4:
 462  
 463  * RSS 2.0 support.
 464  * RSS and Atom feed fixes and improvements.
 465  * Many improvements to admin interface XHTML markup and CSS.
 466  * Many subtle improvements to the admin UI.
 467  * Add automatical detection of and working with SSL.
 468  * add nowidow-attribute to article tags.
 469  * Adapt navigation-elemts to the user's permissions.
 470  * Lots of Textile improvements.
 471  * Fixed sending Last-Modified header.
 472  * Better indexing for faster article list queries.
 473  * Update to tag builders.
 474  * Show (source of) plugin-help before installation.
 475  * Improvements in translations (and translateables) (thanks Skubidu and others).
 476  * New translations: Indonesian, Hebrew, Hungarian, Romanian.
 477  * Improved handling of comma-separated values in tag attributes.
 478  * article, article_custom tags: new 'sort' attribute.
 479  * New conditional if_article_id.
 480  * author, category, category1, category2 tags: can link to any section by name.
 481  * Improved XHTML attributes on many tags (class, rel).
 482  * time and date tags: new attributes for overriding language, GMT.
 483  * css, feed_link tags: easier generation of XHTML 'link' tags.
 484  * New link tags: link_category, link_date, link_name, link_url.
 485  * Navigation tag improvements (new attributes, improved XHTML output).
 486  * Warn if article or comment tags are used in the wrong context.
 487  * Improved error checking, reporting and diagnostics.
 488  * Stricter 404 checking (missing category, author, messy article ID).
 489  * Simplify and improve comment preview and input form tags.
 490  * Improved article load/parse logic on individual article pages.
 491  * Workaround some rare FCGI problems with HTTP headers.
 492  * Fix some IIS clean URL issues.
 493  * Improved multi-edit support on admin pages.
 494  * Deprecate old-style PHP tags.
 495  * Don't lose your place in admin lists when returning from an edit.
 496  * Extra diagnostic info and pre-flight tests.
 497  * Better time zone handling.
 498  * Remember and automatically reuse thumbnail size settings.
 499  * Textile: fix inline class/style/lang.
 500  * Warn when article and comment tags are used in the wrong place.
 501  * New 'if_plugin' conditional checks for an active plugin, with optional version number.
 502  * Fix an occasional time zone bug.
 503  * Fix 404 errors on clean category URLs.
 504  * Add backtrace list to error messages in Debug mode.
 505  * Add limit attribute to search_result_excerpt tag.
 506  * Add escape and default attributes to custom_field tag.
 507  * Fix image-upload for outdated gdlib-installations (wet).
 508  * Fix label attribute breadcrumb function (richard).
 509  * Add if_author, if_article_author (with attribute 'name') (mary).
 510  * Allow multiple sections for if_article_section (like for if_section, if_category) (mary).
 511  * Display link category's title, rather than name, in the links page (mary).
 512  * Extend article_image tag to optionally display the article image thumbnail (mary).
 513  * Many minor bugfixes.
 514  
 515  Changes in 4.0.3:
 516  
 517  * fixed 2 potential security holes(detected in internal code review). Updade is recommended.
 518  * Textile i18n improvements.
 519  * Add a bulk Ban function for comments.
 520  * Automatically hide comments when banning an IP.
 521  * Fix comments 'page by'.
 522  * Fix double translated linebreaks in comments.
 523  * Fix nofollow in comments.
 524  * Fix preview without textile in certain edge cases.
 525  * Seperate hidden comments into unmoderated and spam.
 526  * Add bulk changing of comment status (visible, moderated, spam).
 527  * Better error-handling in comments-form when critical fields are missing.
 528  * New tag: <txp:comments_error /> (and conditional <txp:if_comments_error>).
 529  * Style-able error-message and form-elements via CSS (class=comments_warn).
 530  * Plugin-Authors: Add callbacks for future spam-plugins [comment.save, comment.form].
 531  * Plugin-Authors: Add getComment() and comment_evaluator for future spam-plugins.
 532  * Plugin-Authors: Allow (optionally, transparently) for installing compressed plugins.
 533  * Plugin-Authors: Add window events using addEvent, to allow multiple events loading at window.onload, useful for admin side plugins.
 534  * Improve MySQL 5 compatibility.
 535  * Add comment edit link to notification emails.
 536  * Make comment-time format customizable in tag (mary).
 537  * Add offset-attribute to file_download_list (mary).
 538  * Make older, newer and link_to_home work more consistantly with other nav-tags (mary).
 539  * Fix mailto: links.
 540  * Fix tag trace output for enclosing tags.
 541  * Update comment_count after import.
 542  * Add extra info to the tag trace (SQL queries, conditional tag results, page template and form names).
 543  
 544  Changes in 4.0.2:
 545  
 546  * Fix a bug in 404 handling on some fastcgi servers.
 547  * Fix a bug that prevented file_download_list from working properly.
 548  * Fix a redirection bug in the comment form.
 549  * Fix occasional category URL i18n problems.
 550  * Remove extra trailing slash in some breadcrumb links.
 551  * Make articles by author work properly.
 552  * Make feed_link support section and category correctly.
 553  * Add correct content-type to popup comments page.
 554  * Fix an obscure feed caching bug.
 555  * Fix a possible problem with circular dependencies when loading plugins.
 556  * Fix timestamps in Atom feeds.
 557  * Fix occasional Atom encoding issues.
 558  * UI improvements when creating/copying/deleting styles.
 559  * Improve performance of the language loader.
 560  * Make date-based permlinks work properly in comment emails.
 561  * Better handling of invalid login cookies.
 562  * Use page templates for 404 (and other) error pages.
 563  * Minor Atom validation improvements.
 564  * Improved comment conditionals logic; txp:if_comments now means 'if the current article has at least 1 comment'.
 565  * Minor performance improvements.
 566  * New txp:if_status and txp:page_url tags.
 567  * Prevent config.php whitespace from breaking stylesheets.
 568  * UI improvements to JavaScript toggles.
 569  * Improved comment input form HTML markup.
 570  * Improved txp:section and txp:category tags.
 571  * New tags: txp:if_different, txp:if_first_article, txp:if_last_article.
 572  * Localise the XML feed link title.
 573  * Better encoding of article titles.
 574  * Fix rare problems caused by magic_quotes_runtime.
 575  * Improved file upload forms.
 576  * New language: Latvian.
 577  * Support section and category titles in txp:breadcrumb.
 578  * Allow decimals=0 in txp:file_download_size tag.
 579  * Minor diagnostic info changes.
 580  * New labeltag attribute on most list tags.
 581  * Restore use_textile preference.
 582  * Minor HTML validation fixes.
 583  * Developers: new safe_upsert() database function.
 584  * Fall back to English if no language data is available.
 585  * Support comma-separated names in txp:if_category and txp:if_section.
 586  * Identify the offending tag when displaying error messages in templates and forms.
 587  * Add include_default attribute to txp:section_list.
 588  * Add support for changing status and section on multiple articles at once.
 589  * Fix nested category titles in txp:breadcrumb.
 590  * Improved comment message markup.
 591  * Restore the comments_closed message.
 592  * Better handling of per-article Use Textile selection.
 593  * Add class attribute to comments_invite for CSS classes.
 594  * Added 4 attributes to comments_invite: showcount, wraptag, textonly (just the invite-text)
 595      and showalways (also display on individual article-pages). Example:
 596      <comments_invite wraptag="p" showcount="0" textonly="1" showalways="1" />
 597  * Support c-style backslash sequences in tag attributes.
 598  * Fix some rare bugs in feeds, admin list paging.
 599  * Add a pageby attribute to txp:article, for multi-column lists.
 600  * Fix txp:link_to_next/prev so they work at the top of a page.
 601  * Minor speed improvements, new class and linkclass attributes for txp:breadcrumb tag.
 602  * Added txp:comments_preview and txp:if_comments_preview tags. Example usage:
 603      <txp:if_comments_preview>
 604       <div id="cpreview" style="background-color:#FF0"><b>Hello, the following is your preview</b>
 605         <txp:comments_preview /><txp:comments_form preview="1" />
 606       </div>
 607      </txp:if_comments_preview>
 608  * Fixed unparsed excerpts in Feeds.
 609  * Textile: smarter handling of relative link and image paths.
 610  * Textile: stop footnote links from clashing in article lists.
 611  * Added fi_FI locale support.
 612  
 613  Changes in 4.0.1:
 614  
 615  * Fixed some serious security issues. Updates are strongly recommended.
 616  * Fixed textile problems (missing block-elements in some cases; notextile; span-handling).
 617  * Fixed updating of comment_count when deleting comments.
 618  * Fixed bug in Atom feeds (multiple identical excerpts).
 619  * Added new permission level (article.edit.own.published, allows you to edit own articles _after_ publishing).
 620  * Added very basic 404 support (correct 404 Headers are sent).
 621  * Added new languages (Islenska, Suomi).
 622  * Fixed bugs in articles by author (clean and messy URLs).
 623  * Fixed category_list to use clean URLs when appropriate.
 624  * Fixed installation problems with certain database prefixes by limiting possible prefixes.
 625  * Fixed timezone issue with ymd permlinks.
 626  * Fixed GMT formatting of dates.
 627  * Fixed bugs with i18n-ascii.txt and added a few new items.
 628  * Added language overrides to dirifying url_titles.
 629  * Several improvements to url_titles (including not updating them until published).
 630  * Several improvements to diagnostics.
 631  * Added style and class attributes to txp:permlink.
 632  * Fixed bugs with multibyte strings in some URLs.
 633  * Added contextual information to page title on the admin side.
 634  * Fixed problems with larger file downloads.
 635  * Fixed file_download_link with multiple files.
 636  * Fixed logging of file downloads (only finished downloads are counted; aborts go to normal logs).
 637  * Fixed problems with sending mail on some systems.
 638  * Improvements to older/newer tags.
 639  * Developers: added more consistent URL generation via new pagelinkurl() function.
 640  * Developers: added callbacks to public side (for example to handle 404s).

title

Description

title

Description

title

Description

title

title

Body