XenForo 2.1.12 Released Full | XenForo 2.1 ENXF

Released 2x XenForo 2.1.12 Released Full | XenForo 2.1 ENXF 2.1.12

No permission to download
Some of the changes in XF 2.1.6 include:
  • We need to detect if an icon defined as fa includes an fa prefix, such as fab etc., and if it already includes one, don't prepend our own.
  • Check that we do actually have some valid content before we start working with it, and bug out if not
  • Ensure we don't overwrite the rebuildDefaultData array in rebuild jobs. Additional data should be initialized in the defaultData array as normal.
  • When viewing the approval queue, ensure the "Spam clean" option only displays to moderators who have permission to use the spam cleaner.
  • Store the master Toggle cookie data for a set time, rather than per session (1 year). Support being able to specify the expiry date of each storage item and default it to 1 day. Fix some bugs which may have prevented entries from expiring when needed.
  • Enable Facebook story.php links to embed like normal Facebook posts.
  • Generally improve support for Duotone FA icons, especially in usage of addon.json.
  • When moving posts into an existing thread, ensure we only change the thread's visibility if the first source post is now the target's first post.
  • Fix incorrect logic in AbstractField for entity structures that may not support display grouping.
  • Workaround a weird quirk where some browsers may not render a broken image placeholder if the alt/title attributes are empty.
  • Add support for the theme attribute when rendering recaptcha. The value comes from the "Style type" style property in the "Color palette" group which has a light/dark value.
  • Update Linkedin connected account provider to use their updated API.
  • Apply proper fix to ensure the user's correct approval queue counts are displayed.
  • Fix an issue that would break prepending a table prefix to table names in the database adapter.
  • Reverse a change that allowed admin templates to be called from within public templates.
  • Display a more coherent error message when trying to warn a user for content they have already been warned for.
  • When deleting an attachment from content, prevent any upload errors.
  • Add missing (and undocumented!) structured data to the DiscussionForumPosting entry for the thread view.
  • Ensure that xfUniqueId() returns the new id attribute value if one was set.
  • Revert a previous change related to the conversion of some non-emoji characters to images.
  • Adjust styling of deleted structured list items (thread list etc) so that only the correct parts are underlined.
  • In the Admin CP template editor, ensure content of <xf:js> and <xf:css> tags are highlighted appropriately.
  • Prevent XF.CheckAll from updating disabled checkboxes.
  • In the news feed, ensure the reaction item is consistent so that "your post" links to the actual post.
  • If no error message exists when we check the permission for quick close/quick stick then give a generic no permission message.
  • Further fixes to sticky form submit row positioning with relation to notices.
  • In Markdown parsing, do not match a string of asterisks or underlines as valid blocks of bold or italics.
  • Prevent unexpected spacing changes when editing a message in the RTE that has tables
  • Support embedding IGTV URLs.
  • Prevent conversation reply counts from getting out of sync due to a race condition.
  • Fix mentions not always being processed correctly when a dotted capital I is present.
  • When filtering bookmarks in the popup, make the "show all" link respect the currently selected label.
  • Prevent double change logs when a user registration is outright rejected for spam behaviour.
  • Fix potential incorrect behavior when pasting into the RTE from external sources. Improve behavior when pasting from Google Docs.
  • Ensure that the RTE code editor dialog consistently automatically focuses the code editor when it is shown.
Some of the changes in XF 2.1.5 include:
  • Correctly handle Stripe review callbacks
  • Fix issue with the +/- buttons on number box elements not working in MS Edge browser.
  • Ensure the import permission helper doesn't fall over when faced with a permission value of 0.
  • Update Font Awesome to 5.11 and improve support for duotone icons.
  • Add "Spam" button on possible spammers when viewing reports.
  • Back out of a few older iOS workarounds which seem to only be applicable to very old versions of iOS related to inputs within fixed elements in order to fix some issues these cause with iOS 13.
  • Ensure favicon / title alert count indicator still displays for counts greater than 999.
  • When trying to find matching transactions when processing payments, ensure we limit it to transactions from the same provider.
  • Switch to a case insensitive match when analyzing an MP4 video ftyp types.
  • Workaround for displaying future relative timestamps in pages output from the guest page cache.
  • Changes to allow certain URLs which do not have a trailing slash to work in a more predictable way.
  • Only display "Spam" buttons to visitors who have permission to use the spam cleaner.
  • When fetching new Oembed data from an endpoint catch all exceptions and return the typical error output.
  • Fix an issue with fixed menu positioning on Safari when scrolling.
  • Prevent left/right aligned contents of spoilers from overspilling their container.
  • Avoid a quirk on the deferred loading rich text editor in Firefox which may insert an empty line when content is first entered.
  • Update Redis cache provider to use del function rather than delete.
  • Deaccent and romanize URLs before validation
  • Restore the ordering by post_date, post_id as per XF1, so that posts with identical datestamps are ordered sequentially.
  • Prevent superfluous dot character being prepended to forum list category anchor links.
  • Create a 'title' getter for the WarningAction entity (return \XF::phrase('warning_points:') . ' ' . $this->points;)
  • When displaying an unfurling error in the test tool, allow the error message to wrap as needed.
  • On the discouraged IP list in the Admin CP ensure that the list is properly paginated.
  • Disable validation when reverting to a previous revision of content
  • Check that the follow/unfollow ignore/unignore result returns something before attempting to read any associated errors
  • Remove the link URL, as there is no 'edit' page for a thread reply ban so a link URL is nonsensical
  • Update fa-warning to fa-exclamation-triangle in the XF Templater
  • Updated the Twitter dev link in the option_explain_tweet phrase
  • Ensure unfurled URLs are displayed in blocks but work nicely with floated images.
  • Prevent an undefined index error in some situations when rebuilding field cache data.
  • Add a further failover catch for when sites sent totally bonkers HTTP headers back to Guzzle for reasons best known to themelves....
  • Added meta description/og:description/twitter:description using the metadata_macros->metadata template macro
  • Use a URL friendly add-on ID when exporting languages/styles.
  • Force invisible reCaptcha to be visible on the login form. Creates a minor BC break in all Captcha classes that will need to be observed by any third-party captcha providers
  • Reduce number of queries on the node moderator lists with a new getFullNodeListCached method.
  • Update the xf_thread_read table after a thread merge to reflect the earliest read date for each source thread for each user, so that unread posts from source threads are not marked as read when they are merged into a destination thread whose original content has itself already been read
  • Implement a transaction and also fetch the last insert id on dupe
  • Wrap a bunch of jobs in transactions so we don't ever find out SELECT results are invalid by the time we UPDATE them
  • Implement the suggested check on is_counted from the report thread
  • Wrap Throwable in ErrorException for compatibility with Symfony component
  • Fix logic around user reaction scores when deleting content/changing Reaction scores
  • Prevent false positive detection of duplicate key exceptions in queries due to generic SQL state code.
  • Gracefully handle a race condition when inserting bookmarks.
  • Make the list sorter more usable on touch devices by ensuring the page doesn't scroll when trying to drag items.
  • Fix a situation where tables would not be converted to BB code correctly if there was CSS/alignment applied at the table row level.
  • Move setting up XenForo's error handling to be part of startSystem rather than standardizeEnvironment to ensure that the necessary classes/functions are available before they may be called.
  • Fix timestamp issues after timezone/DST changes
  • When loading recently used smilies/emoji, prioritize smilies over emojis when there are conflicting shortcodes. (This may still lead to the incorrect icon being shown, but only when the conflicting emoji is inserted instead of the smilie.)
XenForo 2.1.4 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.

Bug fixes and Features requests
  • 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:
  • account_bookmarks
  • account_ignored
  • bb_code.less
  • editor.less
  • node_list.less
  • reaction_item_post
  • thread_list_macros
  • thread_view
  • widget_new_threads
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
Where necessary, the merge system within the "outdated templates" page should be used to integrate these changes.
Some of the changes in XF 2.1.2 include:
  • Update Font Awesome to 5.8.1.
  • Update Froala to version 2.9.4.
  • A number of fixes related to Stripe payment handling including performance optimisation, and better error handling.
  • Ensure conversation recipient cache is correctly updated when users are merged.
  • Always link to the conversation/unread action from the conversation list/popup.
  • Do not reset conversation read-marking data when marking a conversation read/unread.
  • Add an AddUser relation to the XF TagContent entity.
  • Ensure user promotions and trophies are updated on session creation if user hasn't been active recently.
  • Ensure ignored members avatars are not shown as the last member in a list of second level categories.
  • Prevent URL unfurling entirely if the auto unfurl option is unchecked as this previously did not prevent forcing unfurling manually.
  • Remove unused sendmail -f parameter option. If the default sendmail command already specifies the -f parameter, attempt to remove it so it can be overridden later.
  • Attempt to improve prefix filtering performance on the search form.
  • When marking alerts read automatically for trophy awards, pass in the correct trophy IDs.
  • Even out the padding in the main message cell.
  • Make some adjustments to the sticky submit row to offset any bottom fixed notices.
  • Fix off-by-one error when handling the autolinking of URL tags.
  • Add optional hint to the labels input row when editing a bookmark.
  • When push notifications are disabled (globally or for a user) try to maintain the push conversations option value.
  • Use consistent lock/unlock wording for threads.
  • Ensure bounce emails are processed correctly when VERP is disabled.
  • Log user IP used for email confirmation
  • Extend the number of possible unicode replacements by including the EmojiOne "greedy" rules.
  • Correctly support specific autocomplete attribute types for registration and password changes.
  • Submit user's email address when checking for spam at the contact form.
  • Populate the session with the correct cache keys for unapproved counts.
  • Ensure last post username caches are passed to all avatar and username tags so that the default avatars of guest users display correctly.
  • Correctly handle embedding Imgur user URLs.
  • Handle more cases where pasted URLs are undesirably auto-linked.
  • Use a different label on the "Upgrade official XenForo add-ons" page to avoid confusion.
  • Fixes issue where numberbox buttons do not step the number up/down in IE11.
  • Coerce BB code to a string when parsing.
  • Display debug only options if applicable when viewing an add-ons specific options list.
  • Attempt to log the last triggered date of a banned email, even if it is a wildcard match.
  • Fix the success flash message when copying URL from the share_tooltip.
  • Send alerts for quoted posts on approval.
  • When unparsing BB code from HTML, include <s> tags.
  • Support embedding Facebook "photos" URLs.
  • Ensure that fullWidth buttons are actually fullWidth (if they are button elements, rather than anchors).
  • Use thread isIgnored method when filtering new threads results.
  • Prevent an out of range MySQL error when upgrading to XF 2.1.
  • Cast quoted post IDs to integers before querying for their user IDs.
  • Fix incorrect type hints in welcome message service.
  • Allow short circuiting of canEdit checks in the thread list macros item template.
  • Allow the hideUnviewable option to be passed into the string formatter as false when stripping BB code so that unviewable tags can be represented by their placeholder for profile posts and comments.
  • Constrain user IP searches by length to ensure IP versions aren't mixed.
  • Do not show following/follower users who are ignored by the current visitor on a user's profile.
  • Fixed variable typo in REST API thread filtering code.
  • Prevent some keyboard shortcuts in some cases when the rich text editor is focused when using IE11.
  • Ensure that editor HTML conversion maintains an attachment's height attribute.
  • Do not remove inactive class extensions from extension_hint.php.
  • Prevent long spoiler titles from breaking out of the viewport.
  • Make the line trimming around BB code list tags more consistent.
  • Invalidate the member stat results cache when the user limit changes.
  • When executing CLI commands, in the event that there is a database exception and a query, display that query in the error output.
  • Perform some additional string cleaning when filtering arrays of strings.
  • When viewing bookmarks, ensure the label filter is passed into the pagination.
  • Implement a (hopefully) temporary workaround for a macOS Chrome bug which causes the scroll bars to permanently cover party of the code in code blocks.
  • In the thread reply bans list, ensure the delete checkbox doesn't cover its label.
  • Only fetch content reactions for the reaction summary if it is associated with an existing user.
  • Restore gravatars for existing users which have them set, even if the option to add one is disabled.
  • Remove unused code from BB code tag renderer.
  • Add a less generic phrase for duplicate banned emails.
  • Add some additional explain text about the link building callback detailing the expected arguments.
  • Cast imported master phrase texts to string by default.
  • Ensure that content edit history diffs wrap correctly.
  • In a couple of places, use a count/total query when calculating the correct page number for profile posts.
  • Prevent an error in the member stats system when an empty result set is returned as an object instead of the expected array.
  • Perform some basic typo checking when validating email addresses via the contact form.
  • Changes text of "seperate_names_with_comma" phrase to "You may enter multiple names here."
  • When focusing the editor with an Android device, ensure that the contents are correctly scrolled into view.
  • Increase the BB code block sizing check window.
  • Take steps to reduce a race condition which may cause AJAX requests to not include the CSRF token.

The following public templates have had changes:
  • account_bookmarks
  • account_preferences
  • account_security
  • bb_code.less
  • bookmark_edit
  • conversations_popup
  • conversation_list_macros
  • core_button.less
  • core_datalist.less
  • core_fa.less
  • diff.less
  • editor_base.less
  • helper_js_global
  • helper_thread_options
  • lost_password_confirm
  • member_about
  • message.less
  • node_list_category
  • node_list_forum
  • PAGE_CONTAINER
  • register_form
  • register_macros
  • search_result_profile_post
  • search_result_profile_post_comment
  • setup_fa.less
  • thread_list_macros
  • thread_view
XenForo 2.1.1 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.

We have also made some improvements to the importer framework. Notably it is now possible to perform a multi-process import in order to make better use of multi-core processors. If you run an import via the CLI and you add the --processes option with a value greater than 1, then multiple PHP processes will be used to perform the import, instead of a single CPU core being used as is the PHP default. Your results may vary, but with the number of processes set to equal the number of physical cores on a sufficiently powerful server, you should notice a significant increase in performance.

You can also run your import command with the new --finalize option which will run the finalize stage automatically after the data import has finished.

While we're talking about importers we should also point out that we are today also releasing XenForo Importers 1.2.0 with a new "Invision Community Forums" importer, XenForo Media Gallery 2.1.1 which reintroduces a number of importers originally included in XFMG 1.x and XenForo Resource Manager 2.1.1 which includes an XFRM to XFRM importer. See below for more information.
Today, we are excited to announce that XenForo 2.1.0 has completed its pre-release phase and is now our primary supported XenForo version. This release adds a number of significant features to XenForo. The major features include:
  • Native push notifications on supported devices/browsers
  • Editor button management
  • Enhanced editor integration and advanced BB code option syntax
  • Markdown support
  • Tables
  • Reactions
  • URL unfurling
  • Emoji enhancements including an improved smilie menu with easy emoji access
  • Video uploads
  • Approval queue improvements
  • Guest performance improvements including guest page caching
  • Content bookmarking and sharing
  • A fully featured REST API
  • One click XenForo upgrades and easier add-on installation
  • BB code and rich text editing for profile posts and comments
Current requirements

The following are minimum requirements:
  • PHP 5.6 or newer (PHP 7.2 recommended)
  • MySQL 5.5 and newer (MySQL 5.7/8.0 or equivalent recommended)
  • All of the official add-ons require XenForo 2.1.
  • Enhanced Search requires at least Elasticsearch 2.0.
About This File

Today, we continue the beta stage of XenForo 2.1 with Beta 6. This release fixes a number of bugs found since the previous releases.
Alongside this release, we have released 2.1.0 Beta 1 of each of our official add-ons. These include further adjustments to account for the changes and new systems present in 2.1 plus some smaller improvements:
  • Both XFRM and XFMG now have basic API support.
  • Both XFRM and XFMG now support auto marking some alerts as read when viewing relevant pages.
  • XFRM external download buttons are now visually different from local download buttons.
  • When a moderator deletes an XFRM resource, a public delete reason can be provided.
  • XFRM categories now have a "Enable support URL" option which can enable/disable the support URL field.
  • XFRM now allows you to manually set, change or remove the associated discussion thread on a per-resource basis.
  • XFRM now supports page-level criteria (for notices etc.) for individual resource categories.
  • XFRM now tracks and displays resource views.
  • XFMG has re-introduced a configurable limit for the maximum length of media/album titles and descriptions.
  • XFMG has re-introduced an option to control the default view privacy of a personal album (now defaults to public).
  • We strongly recommend anyone testing 2.1 during this beta period upgrade as each beta/preview version is released.
More specific details regarding bugs fixed in this release can be found in the resolved bugs forum.
This is beta software. It is not officially supported. We do not recommend running it in production.
Please remember that this is beta software. It contains known bugs and incomplete functionality. We do not recommend running beta software in a production environment, and support is limited at this time to questions here on the community forums.
XenForo 2.1 is a significant upgrade. Add-ons and custom styles may be broken after upgrading to 2.1. You must test your add-ons thoroughly or look for updates. Be especially careful with add-ons that cover similar features to ones that are added to 2.1; these may conflict with the core XenForo data. If data conflicts are found, they will need to be resolved in a new add-on release or by removing the add-on before upgrading to 2.1.
If you choose to run beta software, it is your responsibility to ensure that you make a backup of your data. We recommend you do this before attempting an upgrade. If in doubt, always do a test upgrade on a copy of your production data.
Today, we continue the beta stage of XenForo 2.1 with Beta 5. This release fixes a number of bugs found since the previous releases.

Alongside this release, we have released 2.1.0 Preview 2 of each of our official add-ons. These include further adjustments to account for the changes and new systems present in 2.1.

We strongly recommend anyone testing 2.1 during this beta period upgrade as each beta/preview version is released.

More specific details regarding bugs fixed in this release can be found in the resolved bugs forum.

This is beta software. It is not officially supported. We do not recommend running it in production.

Please remember that this is beta software. It contains known bugs and incomplete functionality. We do not recommend running beta software in a production environment, and support is limited at this time to questions here on the community forums.

XenForo 2.1 is a significant upgrade. Add-ons and custom styles may be broken after upgrading to 2.1. You must test your add-ons thoroughly or look for updates. Be especially careful with add-ons that cover similar features to ones that are added to 2.1; these may conflict with the core XenForo data. If data conflicts are found, they will need to be resolved in a new add-on release or by removing the add-on before upgrading to 2.1.

If you choose to run beta software, it is your responsibility to ensure that you make a backup of your data. We recommend you do this before attempting an upgrade. If in doubt, always do a test upgrade on a copy of your production data.


Current requirements

The following are minimum requirements:

  • PHP 5.6 or newer (PHP 7.2 recommended)
  • MySQL 5.5 and newer (MySQL 5.7/8.0 or equivalent recommended)
  • All of the official add-ons require XenForo 2.1.
  • Enhanced Search requires at least Elasticsearch 2.0.
Installation and upgrade instructions

If you are already running XenForo 2.1.0, you will be pleased to know that you can easily upgrade to this version using the new One-click upgradessystem. If you would like to do this, remember to uncheck the "Only check for stable upgrades" option in Options > Basic board information.

Otherwise, full details for how to install and upgrade XenForo can be found in the XenForo manual.

Note that the official add-ons must be upgraded after upgrading to XenForo 2.1.

Please remember that this is beta/preview software. It contains known bugs and incomplete functionality. We do not recommend or support running beta software in a production environment. Support for beta releases is limited to questions here on the community forums.
Top