Textpattern | PHP Cross Reference | Content Management Systems |
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§ion=baz,omg and http://example.com/atom/?category=foo,bar§ion=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 & 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
Body
title
Description
Body
title
Description
Body
title
Body
title