- Compatible XF Versions
- 2.1
XenForo 2.1.3 is now available for all licensed customers to download. We recommend that all customers running previous versions of XenForo 2.1 upgrade to this release to benefit from increased stability.
Some of the changes in XF 2.1.3 include:
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.
Current Requirements
Please note that XenForo 2.1.x has higher system requirements than XenForo 1.x.
The following are minimum requirements:
Full details of how to install and upgrade XenForo can be found in the XenForo 2 Manual.
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.
Some of the changes in XF 2.1.3 include:
- Don't log when a push notification hits a 406 error as this is a temporary rate limiting issue.
- Update the Microsoft connected account explain text to point to the new Azure app registration portal.
- When logging a visitor out, pass the Clear-Site-Data header to ensure that cached content which may not ordinarily be visible by the next visitor, or a guest, remains not visible. (Thanks @Steffen)
- Fix the TagContent.AddUser relation.
- Support a "default" value for numberbox elements that isn't overridden by the "min" value particularly important for custom field values.
- Set appropriate content type for connected_account.php output.
- Update "Review" phrase on the file health check list to "Results" to avoid potential multi-lingual ambiguity.
- If a numberbox step attribute is set to "any" the stepUp/stepDown built-in methods stop working so fallback to our own code.
- When the Import CLI command is complete, add a note about being able to run the import-finalize command.
- Ensure the login form, particularly when it errors, maintains its redirect URL.
- If setting values in the Schema Manager, set any existing length value to null.
- Rename Templater::fn function to Templater::func. Templater::fn remains but will be removed in the near future.
- Hide active/expired upgrades if their parent upgrade has been deleted in more cases.
- Update wording from EmojiOne to JoyPixels. Also update emoji artwork to JoyPixels v5.0.
- If a webhook signing signature is not entered, skip verifying the provided signature.
- Add missing 'poll' content type.
- Update to Froala 2.9.5 to fix an IE11 compatibility issue.
- For new upgrades from XF 2.0 to 2.1, ensure the trophy phrases are updated to reflect the new reactions system.
- When starting a new conversation or adding users to an existing conversation, make it more clear if there are recipient limits in place.
- Fix API doc typo.
- No longer set a default alt value when inserting an image into the editor.
- Bail out of updating user trophies earlier if a trophy has already been awarded.
- When escaping JSON strings, ensure the tab character is converted to '\t'.
- When inserting a quote into the editor, before attempting to focus the editor, scroll the container into view first.
- Ensure the lastPageLinks option is passed in to the conversation list too.
- Suppress a browser console error if the canvas operations to draw over a favicon image fail.
- Override some inconsistent Froala styling.
- Add a new config key serviceUnavailableCode (defaults to 503) which represents the response code returned when parts of the site are unavailable.
- Remove superfluous tooltip from cookie notice approve button.
- Force payment provider log messages to their max length.
- When displaying the users who reacted to content, ensure we fetch all required data up-front.
- Revert a change from XF 2.1.2 which affected the read/unread appearance of conversation messages.
- Ensure the date of birth can be changed on a user's profile until it has been fully completed before it is locked.
- Update language title Azeri to Azerbaijani.
- Display a more accurate summary of the count of active/expired upgrades on the user upgrades list.
- Prevent an error in payment.js if a Stripe iframe is missing a name attribute.
- Prevent double escaping of thread prefixes in post reports.
- Allow error and payment provider logs to be sorted by their primary key in order to have more accurate chronological sorting for logs that can happen quickly.
- Try to do a case insensitive look up for the correct content type when fetching metadata from a URL.
- Change visibility of overridden canBookmarkContent method to match parent
- Add a checkbox so that add-ons rebuilt/upgraded from archive can opt to have all their files overwritten rather than only changed files.
- When increasing the unread alerts count for a user, do not let the number exceed the maximum storage for the DB field (65,535).
- When rendering bookmark list items, use the built in content_user getter to check if a user value exists to render their avatar.
- Attempt to make post quotes by ignored users clearer.
- When logging content changes, return the applied changes correctly.
- Attempt to suppress some post delete actions if the record being deleted has already been deleted.
- Fix the automatic push notification subscription logic so you can be re-subscribed after logging out and logging back in.
- After re-enabling the editor, refresh the editor size to ensure it is at least the minimum height.
- Implement a clickable calendar icon on date inputs to show the date picker.
- Make the show password toggle checkbox display a pointer on hover.
- Add extra margin to off canvas navigation to prevent last category being unselectable on certain devices.
- Correctly maintain/migrate message visibility when copying/moving to a new thread.
- Hint index when fetching user content reactions
- Support the XAVC ftyp when detecting video files.
- Template error using 'exact' for user fields regardless of context
- Prevent markdown from being parsed inside custom BBCode tags set to stop parsing BBCode
- Attempt to upload images inserted via the editor using large data URIs.
- Ensure that the invalid notice criteria message isn't displayed if the page criteria controller action field is empty.
- Use a different pagination / filtering method on the bookmarks page to reduce possibility of duplicate items across pages.
- Make use of database transactions in a few entity delete cases where they currently might be skipped.
The following public templates have had changes:
- bb_code_tag_quote
- bookmark_macros
- conversation_add
- conversation_invite
- conversation_list_macros
- core_input.less
- core_offcanvas.less
- custom_fields_macros
- editor.less
- message.less
- notice_cookies
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.
Current Requirements
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.
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.