XenForo 2.2.9 Released
XenForo 2.2.9 is now available for all licensed customers to download. We strongly recommend that all customers running previous versions of XenForo 2.2 upgrade to this release to benefit from increased stability.In addition to the usual bug fixes and improvements, we've continued to improve compatibility with PHP 8.1 and added support for self-hosted licenses to more easily sign outgoing emails with DKIM as per this recent suggestion by @digitalpoint.
One-click upgrade to XenForo 2.2.9
Directly from your admin control panelIf you are a XenForo Cloud customer, your upgrade will be scheduled automatically.
Some of the changes in XF 2.2.9 include:
- Fix fatal error when viewing debug page on PHP 8.1
- Revert previous change so that actioning conversation message report still relies on the 'warn' permission.
- Reset file hash when pruning proxied images
- Correctly remove duplicated relations when fetching the user entity within the Member controller
- Ensure there's a breadcrumb to return to the help pages list when modifying a help page
- When a suggested answer only contains an attachment, make sure the suggested schema text isn't blank
- Update various phrases to point to the new location of Google's Developer Console
- Fix an error that could occur when navigating search results after performing an exact match search for users but not providing a value for the username or email
- When registering with a connected provider, correctly redirect to the specified return URL
- When writing before registering but then logging in with an existing account, redirect to the newly created content
- When sending a push notification about a post being merged, avoid rendering the prefix as HTML
- Correctly mark the use_tfa field as a boolean value in the API documentation
- Patch Froala to workaround an issue which prevents "recently used" smilies from being stored as expected.
- Include
$template
in$params
sent to email container templates - Workaround a potential issue when upgrading from older versions due to new code in newer versions.
- Improve accessibility of inline spoilers.
- Fix Vimeo time-based links and support unlisted videos via the key portion of the URL.
- Append content link and title to report closure alerts.
- Workaround an undefined array key error that may happen during upgrade
- Do not display view count for directly viewed attachments (video and audio).
- When opening a page in an overlay that contains share buttons, override the page URL to the URL of the overlay loaded.
- Update Asia/Novosibirsk timezone to UTC+7
- Adjust job-related type hints to int|float.
- Log payment callbacks that come from an unknown source
- Document where scrolling notices are located
- Implement __isset() in the Finder class
- Make it easier to load additional relations with the search forum user cache
- Improve cross-table data consistency when threads are created
- Allow feed reader entries without a title to fallback to the description, and vice-versa
- Pass referrer through poll creation form
- Default to the first option value for read-only select inputs
- Improve PHP 8.1 compatibility when logging payment callbacks
- Fix null query parameter handling on the debug page
- Correct the IRR currency precision
- Include a content setter for report entities
- Fix attributes on the registration defaults option not referring to unique inputs
- Don't re-save avatars if the crop positioning hasn't changed
- Redirect to page 1 if a non-number value is passed to the "Go to page" form
- List the events a Stripe webhook endpoint should listen for
- Improve PHP 8.1 compatibility within the Register controller
- Work around an upstream issue in WinCache
- Always throw an exception when a file fils to copy to an abstracted file path
- Attempt to determine first proxyable favicon when fetching page metadata
- Canonicalize proxied thread cover image URLs
- Prevent search engines from attempting to index thread preview URLs
- Throw an exception when add-on requirement errors or warnings are not arrays
- Update watch notifier getDefaultWatchNotifyData method visibility to match parent class
- Fix route normalization in policy acceptance bypass check
- Improve PHP 8.1 compatibility in template trim tag/function
- Add response documentation to the POST posts/ API route
- Adjust maximum width of board title in control panel header
- Normalize root breadcrumb URL before checking if it matches the current page
- Make unfurl usage analysis more robust
- Improve PHP 8.1 compatibility within template filters
- When logging a failed email exception, include the from email in the exception message
- Add embed support for public Spotify playlists
- Make the default cookie same-site behavior configurable
- Always allow top-level categories which are not displayed in the node list to be accessed at their dedicated URL
- Fix article preview text fade not applying to articles without a cover image
- Strip AJAX query params from password confirmation redirects
- Avoid decreasing user message count twice when moving a thread in/out of a forum that does not count messages
- Improve PHP 8.1 compatibility within the API docs generator
- Fix potential stale recompilation of grouped phrases
- Include some missing entries in the hashes file
- Ensure zlib output compression is disabled to prevent interference with XF output compression
- Hide the article forum snippet length option when using the preview display style
- Correct the description for the user_content_change_init code event description
- Reword the "this_accounts_email_is_already_associated_with_another_member" phrase
- Add option to disable appending a CAPTCHA provider's privacy policy to the site's privacy policy
- Only send certain moderator action alerts when the content is or was visible to the author
- Improve PHP 8.1 compatibility within the unsharp image mask algorithm
- Improve PHP 8.1 compatibility within the route filter entity
- Remove stray XF.Element.register() in password_box.js
- Improve PHP 8.1 compatibility when resizing and cropping an image
- When converting tables to utf8mb4, only show the prompt to add fullUnicode to config.php if the value isn't set already
The following public templates have had changes:
- PAGE_CONTAINER
- alert_user_report_rejected
- alert_user_report_resolved
- attachment_macros
- browser_warning_macros
- core_block.less
- core_datalist.less
- core_menu.less
- core_tab.less
- editor_base.less
- login_password_confirm
- member.less
- message.less
- page_nav
- poll_create
- post_article_macros
- progress_bar.less
- progress_bar_macros
- push_user_post_merge
- push_user_report_rejected
- push_user_report_resolved
- thread_preview
- widget_html
As always, new releases of XenForo are free to download for all customers with active licenses. You may now upgrade from your admin control panel or grab the new version from the customer area.
Current requirements
Please note that XenForo 2.2 has higher system requirements than earlier versions.The following are minimum requirements:
- PHP 7.0 or newer (PHP 8.0 recommended)
- MySQL 5.5 and newer (Also compatible with MariaDB/Percona etc.)
- All of the official add-ons require XenForo 2.2.
- Enhanced Search requires at least Elasticsearch 2.0.
Installation and upgrade instructions
Full details of how to install and upgrade XenForo can be found in the XenForo 2 Manual. We strongly recommend upgrading directly from within your control panel.XenForo 2.2.9 已发布
XenForo 2.2.9 现在可供所有许可客户下载。我们强烈建议所有运行以前版本的 XenForo 2.2 的客户升级到此版本,以便从增强的稳定性中受益。除了通常的错误修复和改进之外,我们还继续改进与 PHP 8.1 的兼容性,并添加了对自托管许可证的支持,以便根据 @digitalpoint 最近的建议,更轻松地使用 DKIM 签署传出电子邮件。
一键升级到 XenForo 2.2.9
直接从您的管理员控制面板如果您是 XenForo 云客户,则将自动安排升级。
XF 2.2.9 中的一些更改包括:
- 修复在 PHP 8.1 上查看调试页面时出现致命错误
- 还原以前的更改,以便操作对话消息报告仍依赖于“警告”权限。
- 修剪代理图像时重置文件哈希
- 在成员控制器中获取用户实体时正确删除重复的关系
- 确保在修改帮助页面时有一个可返回到帮助页面列表的痕迹导航
- 当建议的答案仅包含附件时,请确保建议的架构文本不为空
- 更新各种短语以指向Google开发人员控制台的新位置
- 修复在对用户执行完全匹配搜索但未为用户名或电子邮件提供值后导航搜索结果时可能发生的错误
- 向连接的提供程序注册时,请正确重定向到指定的返回 URL
- 在注册之前写入,但随后使用现有帐户登录时,请重定向到新创建的内容
- 发送有关帖子合并的推送通知时,请避免将前缀呈现为 HTML
- 在 API 文档中正确将use_tfa字段标记为布尔值
- 修补 Froala 以解决此问题,该问题会阻止“最近使用”的笑脸按预期存储。
- 在发送到电子邮件容器模板
$params
中包含$template
- 解决从旧版本升级时由于较新版本中的新代码而导致的潜在问题。
- 提高内联扰流板的可访问性。
- 修复Vimeo基于时间的链接,并通过URL的关键部分支持未列出的视频。
- 将内容链接和标题追加到报表关闭警报。
- 解决升级过程中可能发生的未定义阵列键错误
- 不显示直接查看的附件(视频和音频)的视图计数。
- 在包含共享按钮的叠加层中打开页面时,请将页面 URL 覆盖为加载的叠加层的 URL。
- 将亚洲/新西伯利亚时区更新为 UTC+7
- 将与作业相关的类型提示调整为 int|浮动。
- 记录来自未知来源的付款回调
- 滚动通知所在的文档
- 在 Finder 类中实现 __isset()
- 更轻松地加载与搜索论坛用户缓存的其他关系
- 提高创建线程时的跨表数据一致性
- 允许没有标题的源阅读器条目回退到说明,反之亦然
- 通过投票创建表单传递推荐人
- 默认为只读选择输入的第一个选项值
- 改进了记录付款回调时的 PHP 8.1 兼容性
- 修复调试页面上的空查询参数处理
- 更正 IRR 货币精度
- 包括报表实体的内容集
- 修复注册默认值选项上不引用唯一输入的属性
- 如果作物定位未更改,请勿重新保存头像
- 如果将非数字值传递到“转到页面”表单,则重定向至第1页
- 列出 Stripe Webhook 终结点应侦听的事件
- 改进了寄存器控制器中的 PHP 8.1 兼容性
- 解决 WinCache 中的上游问题
- 当文件 fil 要复制到抽象文件路径时,始终引发异常
- 尝试在获取页面元数据时确定第一个可代理图标
- 规范化代理话题封面图片网址
- 防止搜索引擎尝试索引线程预览 URL
- 当加载项要求错误或警告不是数组时引发异常
- 更新监视通知程序 getDefaultWatchNotifyData 方法可见性以匹配父类
- 修复策略接受绕过检查中的路由规范化
- 改进了 PHP 8.1 在模板修剪标签/函数中的兼容性
- 将响应文档添加到 POST 帖子/API 路由
- 调整控制面板标题中主板标题的最大宽度
- 在检查根痕迹导航 URL 是否与当前页面匹配之前对其进行规范化
- 使展开使用情况分析更加可靠
- 改进了模板筛选器中的 PHP 8.1 兼容性
- 记录失败的电子邮件异常时,请在异常消息中包含发件人电子邮件
- 添加对公共 Spotify 播放列表的嵌入支持
- 使默认 Cookie 同站点行为可配置
- 始终允许在其专用 URL 中访问未显示在节点列表中的顶级类别
- 修复文章预览文本淡入淡出不适用于没有封面图片的文章的问题
- 从密码确认重定向中剥离 AJAX 查询参数
- 避免在不计算消息计数的论坛中移入/移出话题时减少两次用户消息计数
- 改进了 API 文档生成器中的 PHP 8.1 兼容性
- 修复分组短语可能过时的重新编译问题
- 在哈希文件中包含一些缺少的条目
- 确保禁用 zlib 输出压缩,以防止干扰 XF 输出压缩
- 使用预览显示样式时隐藏文章论坛代码段长度选项
- 更正user_content_change_init代码事件说明的说明
- 改写“this_accounts_email_is_already_associated_with_another_member”短语
- 添加选项以禁止将CAPTCHA提供商的隐私政策附加到网站的隐私政策
- 仅当内容对作者可见或曾经可见时,才发送某些审阅人操作警报
- 改进了不清晰图像掩码算法中的 PHP 8.1 兼容性
- 改进了路由筛选器实体内的 PHP 8.1 兼容性
- 删除杂散 XF。Element.register() in password_box.js
- 提高调整图像大小和裁剪图像时的 PHP 8.1 兼容性
- 将表转换为 utf8mb4 时,如果尚未设置该值.php则仅显示将完整 Unicode 添加到配置的提示
以下公共模板已更改:
- PAGE_CONTAINER
- alert_user_report_rejected
- alert_user_report_resolved
- attachment_macros
- browser_warning_macros
- core_block.less
- core_datalist.less
- core_menu.less
- core_tab.less
- editor_base.less
- login_password_confirm
- member.less
- message.less
- page_nav
- poll_create
- post_article_macros
- progress_bar.less
- progress_bar_macros
- push_user_post_merge
- push_user_report_rejected
- push_user_report_resolved
- thread_preview
- widget_html
与往常一样,XenForo的新版本可供所有拥有有效许可证的客户免费下载。您现在可以从管理控制面板升级或从客户区域获取新版本。
当前要求
请注意,XenForo 2.2 的系统要求高于早期版本。以下是最低要求:
- PHP 7.0 或更高版本(建议使用 PHP 8.0)
- MySQL 5.5及更高版本(也兼容MariaDB / Percona等)
- 所有官方附加组件都需要XenForo 2.2。
- 增强型搜索至少需要 Elasticsearch 2.0。