- Compatible XF Versions 2.x
- Additional Requirements
PHP 5.6 or newer (PHP 7.3 recommended)
MySQL 5.5 and newer (Also compatible with MariaDB/Percona etc.)
All of the official add-ons require XenForo 2.1.
Enhanced Search requires at least Elasticsearch 2.0.
Some of the changes in XF 2.1.4 include:
- Fix some slightly over-zealous image removal code in the editor if image uploads are not supported.
- Improve performance of embed metadata rebuild.
- Fix regression relating to markdown being parsed in built-in block BBCodes
- Implement the russian ruble symbol
- Detect UTF-8 Byte Order Marker to prevent incorrect Windows-1252 fallback
- Standardize on \w for BB code tag matching, rather than a mishmash of [a-z0-9] and [a-z0-9_]
- Add support for user_id token in notices
- Don't enforce minimum tag requirements when using the quick lock/stick moderator actions
- Update draft last_update field when draft is updated.
- Make show current activity privacy checkbox dependent on show online status checkbox when editing a user
- Prevent guests from entering user upgrade checkout flow
- Use isIgnored methods in widget classes where available
- Ensure deleteChildAction option of XF:TreeStructured behaviour is passed through to child entities
- Workaround for image dragging bug in Firefox.
- Prevent additional content reports being considered a state change from Open->Open
- Show the 'unignore' button for users that can no longer be ignored
- Ensure tags containing quotes are escaped properly in the token input.
- Increase the maximum query length for the auto-completer to 15 characters (from 10).
- Allow IP hostnames in email addresses
- Update currency symbols for KZT and UAH
- Don't treat 6to4 IPv6 addresses as local
- Change the news feed item thread link to link to the thread rather than the post.
- Adjust in-editor vertical alignment to be the same as it is in the published post.
- Apply missing maxEntity field for warning_message column in various entity classes
- Prevent line break being inserted between two tables when rendering BBCode in editor
- Prevent caching of inline thread edit overlay to ensure accurate state
- Increase thread quick reply message container selector specificity
- When editing a phrase, only display the "Master value" row if the phrase exists in the "Master language".
- When using the schema manager and changing an existing column to a non-int type, remove the unsigned property if set.
- When rendering push templates, attempt to maintain the receiving user's style (or the site default).
- Move restoration of original language and style after push template render to finally block
- Delete reply ban alerts sent to unbanned user rather than from banning moderator
- Attempt to detect and block batch install of encrypted archives
- Make global '$xf' variable available to push templates
- Add workaround to prevent error when searching content in the admin panel based on value of custom field with numeric ID
- Handle string IDs in the abstract field map class when updating field associations.
- Fix issue with being able to delete emojis in the editor by reverting back to a previous version of the editor.
- Ensure the unapproved counts are recalculated correctly and take content visibility into account.
- Update inline_mod_actions event listener description to suggest using the global app object rather than public.
- Skip custom field max length checks for field types which tend to have a fixed length.
- Prevent unfurl block overlapping aligned image
- Fix issue causing high-numbered pages on bookmarks list to appear empty
- When an email address is changed, move user out of email bounced state if email confirmation is not required
- Wrap markForumReadByUser query in a separate transaction and attempt retry on deadlock
- Ensure message_count field is updated in cached entities when posts inserted/deleted
- Only hide the editor button for smilies if there are no smilies AND no option to use emoji.
- Remove defunct currency 'Lithuanian litas'
- Make \XF\Repository\AbstractField display group agnostic
- Fix n+1 queries on moderator list
- Correctly handle deleting directories with symlinks
- Run add-on onActiveChange method in a separate CLI process after transaction committed
- Use the term "login" rather than "log in" on the admin login form.
- Twitch VOD URLs were only embeddable if they had a start time in the URL. Allow base Twitch VOD URLs to be embedded.
- Standardize metadata fetcher header keys to be lower case. This allows Twitter profile URLs to be unfurled.
- Add new alert action for watched forum content alerts
- When indexing profile post comments, reduce the number of queries.
- When setting http client defaults, do not overwrite existing headers that have been passed in.
- For the new threads widget, adjust what is queried for in expanded mode.
- Remove the forced index hint for latest threads widget and add a new (post) date limit option.
- For some node types, display them as table-cells which will ensure vertical alignment.
The following public templates have had changes:
Note: add-ons, customizations and styles made for XenForo 1.x are not compatible with XenForo 2.x. If your site relies upon these for essential functionality, ensure that a XenForo 2 version exists before you start to upgrade. We strongly recommend you make a backup before attempting an upgrade.
Please note that XenForo 2.1.x has higher system requirements than XenForo 1.x.
The following are minimum requirements:
- PHP 5.6 or newer (PHP 7.3 recommended)
- MySQL 5.5 and newer (Also compatible with MariaDB/Percona etc.)
- All of the official add-ons require XenForo 2.1.
- Enhanced Search requires at least Elasticsearch 2.0.
Full details of how to install and upgrade XenForo can be found in the XenForo 2 Manual.
If you are already running XF 2.1 or above we strongly recommend upgrading directly from within your control panel.
Note that when upgrading from XenForo 1.x, all add-ons will be disabled and style customizations will not be maintained. New versions of add-ons will need to be installed and customizations will need to be redone. We strongly recommended that you make a backup before attempting an upgrade. Once upgraded, you will not be able to downgrade without restoring from a backup.