- 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.
- 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
As always, new releases of XenForo are free to download for all customers with active licenses, who may now grab the new version from the customer area.
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.