admin

[XenForo] 2.3 正式版发布 — 核心新功能与优化详解 v2.3.12

没有下载许可
XF 2.3.12 中的一些变更包括:
合并类扩展,适用于注册仓库类,同时以其剥离别名和后缀名称注册
通过不受信任的 HTTP 阅读器路由 RSS 订阅源获取
修复 xf:file-clean-up 删除被排除的文件(例如 hashes.json)
当前需求
请注意,XenForo 2.3的系统需求比早期版本更高。

以下是最低要求:
PHP 7.2或更高(推荐PHP 8.3)
MySQL 5.7及更新版本(也兼容MariaDB/Percona等)
所有官方插件都需要XenForo 2.3。
增强搜索至少需要 Elasticsearch 7.2。
XF 2.3.11 的一些变更包括:

修复了当 cron 作业本身遇到致命错误时,cron 作业运行器会被删除的问题。

当没有可用的请求 IP 时,跳过版主日志 IP 捕获,从而避免 CLI 触发的版主操作因“无效字符串 IP”而崩溃。

使 parse_less_color() 函数在遇到空字符串时返回 null 而不是 #000000,恢复了 2.2 版本的行为,以便调用者在未配置颜色时可以省略 meta 标签。

当 style 属性为空时,跳过生成 theme-color meta 标签,以便管理员可以选择不执行此操作,并让浏览器使用其默认值。

在计算可嵌套元素的放置位置时使用视口相对坐标,以便可以将项目放置在列表的第一个元素之前。

在构建 Symfony SMTP 传输时,从服务器主机名设置 EHLO 本地域,以便严格的邮件中继不再拒绝标识为 [127.0.0.1] 的邮件。

添加一个非开发模式的 xf-rebuild:icon-usage CLI 命令,以便管理员可以在开发模式之外重建 Font Awesome 图标使用情况,与 admincp 工具的功能保持一致。

将应用程序中缺失配置的处理重构为一个覆盖点,并在仅存在旧版配置时允许 CLI 应用程序继续运行并发出警告,从而确保在网站升级过程中,list、help 和 upgrade 命令仍然可用。

在删除用户帐户时,删除 xf_api_login_token、xf_oauth_token、xf_oauth_request 以及关联的 xf_oauth_refresh_token 行,以避免用户离职后遗留废弃的访问令牌和 OAuth 授权记录。

识别其他无效邮箱退信短语(例如“No such local user”、“Invalid Recipient”、“RecipientNotFound”和“recipient not unknown”),并将“recipientNotFound”规则重写为正则表达式,以便捕获不包含空格的变体,确保将这些 550 响应视为硬退信。

使用规范条目 URL 作为主题和精选内容 RSS 源的 GUID,这样 GUID 就成为全局唯一的永久链接,而不是可能与其他源冲突的纯数字 ID。

当设置了 `noCookieConsent` 选项时,在 HTML BB 代码渲染器中隐藏第三方 Cookie 同意表单;同时,为主题 RSS 源启用该选项,以便嵌入式媒体在渲染时无需显示交互式同意界面,因为该界面在 RSS 阅读器中并不适用。

当用户 API 管理员保存操作接受 `secondary_group_ids` 时,合并 `xf_user_group_change` 中仍然列出的所有组,以避免 API 使用者在往返访问二级组列表时,将版主晋升、自动晋升和用户升级组从重建的用户组缓存中静默删除。

批量执行 xf_search 删除操作,每次删除 1000 条记录,以避免 Galera 写入集大小限制

在 prepareMessageData() 中构建搜索数据时保护空用户

从 Spotify iframe 嵌入中移除已弃用的 allowtransparency="false"

打开“插入代码”对话框时捕获完整的多行选择

修复编辑器粘贴规范化中无效的子组合器选择器和 createElement 调用

为代码事件监听器向 DeleteCleanUpService 添加公共 getter

优雅地处理启用推送通知时 VAPID 密钥生成失败的问题

修复 QuoteClick 滚动位置使用绝对偏移量而非视口相对偏移量的问题

在封闭表单外部插入编辑器预览框,以防止嵌套表单提交冲突

在 getClassForAlias() 中锚定可别名命名空间检查,以防止误报

从 FocusTrigger 中移除 scrollIntoView,以防止在聚焦状态文本区域时页面跳转

避免模板编辑/历史记录页面加载完整的历史记录关系

修复 HScroller.step() 缺少 RTL 方向的问题反转

停止在 Android 和 iOS 上调用 navigator.share() 时在 URL 前添加标题和文本

规范化 FileCleanUpRepository 中的路径分隔符,以兼容 Windows

在粘贴时移除 sup/sub/ins/del/code 元素时保留内部 HTML

修复按小时限制的 cron 任务在错误的分钟偏移量下调度的问题

将警报修剪查询限制为每次 cron 运行 1000 行,以避免内存使用无限制

在 NewProfilePosts 小部件中预先加载 PermissionCombination,以消除 N+1 权限查询

从 cleanedHash 中移除前导 #,以便 getElementById 解析目标

在每周统计标签中使用 ISO 年份标记

仅当解析的类存在时,才从 getClassForAlias/getAliasForClass 返回重命名的类

在发送之前 ping 空闲的 SMTP keep-alive 连接,以避免 451 超时错误



以下为最低要求:

PHP 7.2 或更高版本(推荐使用 PHP 8.3)

MySQL 5.7 或更高版本(也兼容 MariaDB/Percona 等)

所有官方插件均需要 XenForo 2.3。

增强搜索功能至少需要 Elasticsearch 7.2。
被识别出的问题如下:
  • 防止与 BB 代码渲染相关的可能存储 XSS(跨站脚本)漏洞利用(感谢 Antisocial)
  • 防止帖子中可能的 XSS 利用与 Lightbox 使用相关的漏洞(感谢 UwU)
  • 防止通过认证但恶意的管理员用户可能的远程代码执行(RCE)漏洞利用(感谢 UwU)
如果您是 XenForo Cloud 用户,这些问题的修复已自动上线,无需进一步处理。

我们建议进行全面升级以解决此问题,但补丁可以手动应用。详情见下文。

上传补丁文件​

  • 下载 239-patch.zip
  • 提取.zip文件
  • 把上传目录的内容上传到你XenForo安装的目录
  • 重建主数据时,可以登录你的安装URL,或者在命令行运行xf:rebuild-master-data。
如果您是 XenForo Cloud 用户,您的安装已经被打了补丁,无需进一步作。你将一直使用2.3.8版本,直到2.3.10版本发布。

以下公开模板已发生变更:
  • attachment_macros
  • bb_code_tag_attach
  • lightbox_macros
必要时,应使用“过时模板”页面中的合并系统来整合这些变更。

以下是最低要求:
  • PHP 7.2或更高(推荐PHP 8.3)
  • MySQL 5.7及更新版本(也兼容MariaDB/Percona等)
  • 所有官方插件都需要XenForo 2.3。
  • 增强搜索至少需要 Elasticsearch 7.2。
XF 2.3.8 中的一些更改包括:
后退
顶部 底部