# 3.4.0.beta3：在“新功能”页面检查更新，根据用户在评论队列中过滤，聊天私信和群组聊天中的多线程，以及更多

**URL:** <https://meta.discourse.org/t/3-4-0-beta3-check-for-updates-on-what-s-new-page-filter-by-user-in-the-review-queue-threading-in-chat-dms-and-group-chats-and-more/343237>\
**Category:** Announcements\
**Tags:** release-notes\
**Created:** [2024年十二月19日 16:53 UTC](https://meta.discourse.org/t/3-4-0-beta3-check-for-updates-on-what-s-new-page-filter-by-user-in-the-review-queue-threading-in-chat-dms-and-group-chats-and-more/343237 "2024-12-19T16:53:54Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Saif](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/saif/32/318253_2.png) [@Saif](https://meta.discourse.org/u/Saif)\
**Post date:** [2024年十二月19日 16:53 UTC](https://meta.discourse.org/t/3-4-0-beta3-check-for-updates-on-what-s-new-page-filter-by-user-in-the-review-queue-threading-in-chat-dms-and-group-chats-and-more/343237/1 "2024-12-19T16:53:54Z")

</div>

## 3.4.0.beta3 中的新功能

### 在“最新消息”页面检查更新

 ![What's New Updates Dec 2024](https://global.discourse-cdn.com/meta/original/4X/0/5/f/05f6052309826aa253c76b1968d7fc4e4a97b79d.png)

在管理员设置中的“最新消息”页面内，有一个新的 检查更新 按钮。这允许管理员立即检查此页面的任何新更新。

### 在审核队列中按用户筛选

 ![Review Queue Filter from CDCK](https://global.discourse-cdn.com/meta/original/4X/b/2/b/b2b38686e8aaa385198f57dd7e41f4084c0d940f.png)

管理员现在可以使用 `标记人` 过滤器在审核队列中查看用户标记的所有内容。

### Chat 私信和群聊中的线程

 ![Whats New Feature Dec 2024 Chat Thread](https://global.discourse-cdn.com/meta/original/4X/d/3/c/d3cc88f14d12105d92957a1dc7c59bad59b79a63.png)

Chat 频道的线程现在也适用于私信和群聊。在 Chat 设置中为私信和群聊启用 `线程`，这样对消息的任何回复都将创建一个单独的对话线程。

### Chat 线程中的提及计数

 ![Chat Thread Mention Counts Dec 2024](https://global.discourse-cdn.com/meta/original/4X/1/c/b/1cbbfba62df42bd4fc0920dd15148ba63822290e.png)

通过此更改，Chat 线程中的新消息将显示在线程本身的提及计数旁边，以及 Chat 频道、Chat 图标和用户通知。

### 简化的邀请

 ![CDCK Invite Sidebar Dec 2024](https://global.discourse-cdn.com/meta/original/4X/6/0/2/6028ac74a2e18eced767e942639539ae847d026e.png)

邀请用户的过程更加友好且易于使用。创建邀请链接现在只需单击一次（编辑链接选项仍然可用）。[了解更多…](https://meta.discourse.org/t/invite-link-now-available-in-the-sidebar/333632?u=tobiaseigen)

### 重新设计的 /about 页面

 ![A screenshot of Discourse Meta showing its online home for the community, with statistics about the site, and a contact section for support. (Captioned by AI)](https://global.discourse-cdn.com/meta/original/4X/c/6/0/c60a4ae54ab4e079db2c3b4c5d71dd46dd995d27.jpeg)

“关于”页面有了新的外观，并且更易于自定义。通过一个链接自该页面本身的新管理员页面，您可以添加横幅、站点摘要和描述，并指定您希望如何被联系。站点活动显示得更好，并且可以选择包含欧盟特定的访问者统计信息。[了解更多…](https://meta.discourse.org/t/understanding-and-customizing-the-about-page/332161)

### 限制低信任级别用户的个人资料可见性

我们针对低信任级别 (TL) 用户进行了一些更改，以防止滥用用户个人资料简介和其他字段。

- 匿名、TL0 和 TL1 用户无法查看除员工用户之外的任何帖子数为 0 的用户的个人资料。
- 匿名和 TL0 用户只能查看 TL1 及以上用户的个人资料。

## 安全更新

此版本包括对我们社区和 [HackerOne](https://hackerone.com/discourse) 报告的以下安全问题的修复。

- 如果启用了 [Discourse Connect](https://meta.discourse.org/t/13045?silent=true)，则可以通过其他登录路径绕过 [Discourse Connect](https://meta.discourse.org/t/13045?silent=true) ([CVE-2024-49765](https://github.com/discourse/discourse/security/advisories/GHSA-v8rf-pvgm-xxf2))
- 即使禁用了“管理员查看电子邮件”选项，管理员也可以查看已筛选的电子邮件 ([CVE-2024-52589](https://github.com/discourse/discourse/security/advisories/GHSA-cqw6-rr3v-8fff))
- Magnific lightbox 易受 XSS 攻击 ([CVE-2024-52794](https://github.com/discourse/discourse/security/advisories/GHSA-m3v4-v2rp-hfm9))
- 潜在的备份文件通过 Nginx 泄露 ([CVE-2024-53991](https://github.com/discourse/discourse/security/advisories/GHSA-567m-82f6-56rv))

---

<div class="post-metadata">

**Author:** ![jancernik](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jancernik/32/275892_2.png) [@jancernik](https://meta.discourse.org/u/jancernik)\
**Post date:** [2024年十二月19日 17:09 UTC](https://meta.discourse.org/t/3-4-0-beta3-check-for-updates-on-what-s-new-page-filter-by-user-in-the-review-queue-threading-in-chat-dms-and-group-chats-and-more/343237/3 "2024-12-19T17:09:29Z")

</div>

### 还有更多！

但等等，还有更多！我们尽力为您突出显示新功能和更改，但总是有太多更改无法详细说明。有关新功能、错误修复、UX 改进等的完整列表，请务必查看下面列出的其他功能和修复。

## 插件改进

### discourse-activity-pub

#### 新功能

- 添加拒绝关注者操作 ([123](https://github.com/discourse/discourse-activity-pub/pull/123))
- 允许更改参与者首选用户名 ([124](https://github.com/discourse/discourse-activity-pub/pull/124))
- 添加上下文解析器 ([98](https://github.com/discourse/discourse-activity-pub/pull/98))

#### 错误修复

- 防止发布耳语 ([128](https://github.com/discourse/discourse-activity-pub/pull/128))
- 确保格式错误的活动不会引发异常 ([122](https://github.com/discourse/discourse-activity-pub/pull/122))
- 确保没有参与者的 JSON 不会抛出异常 ([119](https://github.com/discourse/discourse-activity-pub/pull/119))
- 确保发现导航正确观察路由更改 ([117](https://github.com/discourse/discourse-activity-pub/pull/117))
- 修复不稳定的移动帖子规范 ([118](https://github.com/discourse/discourse-activity-pub/pull/118))

### discourse-adplugin

#### 错误修复

- HouseAdsChooser `onChange` 处理 ([234](https://github.com/discourse/discourse-adplugin/pull/234))

### discourse-ai

#### 新功能

- 正确链接到过滤器以协助调试垃圾邮件 ([1031](https://github.com/discourse/discourse-ai/pull/1031))
- 为每个正在使用的 LLM 添加定期问题检查 ([1020](https://github.com/discourse/discourse-ai/pull/1020))
- 当排序不是“相关”时，语义搜索不可用状态 ([1030](https://github.com/discourse/discourse-ai/pull/1030))
- 在除建议/相关之外的所有地方显示 gist ([995](https://github.com/discourse/discourse-ai/pull/995))
- 为新用户帖子添加 AI 驱动的垃圾邮件检测 ([1004](https://github.com/discourse/discourse-ai/pull/1004))
- 对 OpenRouter 的一流支持 ([1011](https://github.com/discourse/discourse-ai/pull/1011))
- 从分流脚本中选择停止序列 ([1010](https://github.com/discourse/discourse-ai/pull/1010))
- 通过 bedrock 支持 Amazon Nova ([997](https://github.com/discourse/discourse-ai/pull/997))
- 回填帖子情感。 ([982](https://github.com/discourse/discourse-ai/pull/982))
- 允许更新工件 ([980](https://github.com/discourse/discourse-ai/pull/980))
- 对 gist 摘要进行调整 ([988](https://github.com/discourse/discourse-ai/pull/988))
- 从类别建议器中排除静音类别 ([979](https://github.com/discourse/discourse-ai/pull/979))
- AI 使用页面 ([964](https://github.com/discourse/discourse-ai/pull/964))
- 默认跳过 LLM 分流中的 PM 扫描 ([966](https://github.com/discourse/discourse-ai/pull/966))
- 也从非热门话题计算 gist ([958](https://github.com/discourse/discourse-ai/pull/958))
- LLM 提及和自动静音 ([949](https://github.com/discourse/discourse-ai/pull/949))
- 在情绪仪表板表格中添加链接到过滤情绪视图 ([953](https://github.com/discourse/discourse-ai/pull/953))
- 仪表板中情绪的改进 ([947](https://github.com/discourse/discourse-ai/pull/947))
- 添加来自翻译器的区域设置检测提示 ([946](https://github.com/discourse/discourse-ai/pull/946))
- 使情绪 /filter 排序与仪表板表格匹配 ([939](https://github.com/discourse/discourse-ai/pull/939))
- 在所有话题列表中启用 gist ([922](https://github.com/discourse/discourse-ai/pull/922))
- 情绪活动指标表格 ([916](https://github.com/discourse/discourse-ai/pull/916))
- 添加对 Mistral 模型的支持 ([919](https://github.com/discourse/discourse-ai/pull/919))
- AI 工件 ([898](https://github.com/discourse/discourse-ai/pull/898))
- 在 /filter 上按情绪排序 ([913](https://github.com/discourse/discourse-ai/pull/913))
- 对 OpenAI 和 Anthropic 的部分工具调用支持 ([908](https://github.com/discourse/discourse-ai/pull/908))
- 将 AI 标题截断为合理的最大大小 ([907](https://github.com/discourse/discourse-ai/pull/907))
- 改进工具支持 ([904](https://github.com/discourse/discourse-ai/pull/904))
- 扩展摘要回填以生成 gist ([896](https://github.com/discourse/discourse-ai/pull/896))
- 自动回填常规摘要。 ([892](https://github.com/discourse/discourse-ai/pull/892))
- 支持角色流媒体的自定义指令 ([890](https://github.com/discourse/discourse-ai/pull/890))
- 将 gist 长度加倍至 40 个单词 ([888](https://github.com/discourse/discourse-ai/pull/888))
- 直接访问角色的新端点 ([876](https://github.com/discourse/discourse-ai/pull/876))
- 当热门话题有新帖子时，快速通道 gist 重新生成 ([860](https://github.com/discourse/discourse-ai/pull/860))
- 支持兼容 OpenAI 的 LLM 的 srv 记录 ([865](https://github.com/discourse/discourse-ai/pull/865))
- 允许限定 google 工具查询的范围 ([852](https://github.com/discourse/discourse-ai/pull/852))
- 自动化报告的更好日志记录 ([853](https://github.com/discourse/discourse-ai/pull/853))
- 提高 LLM 页面中 AI 使用的可见性 ([845](https://github.com/discourse/discourse-ai/pull/845))
- 使热门话题 gist 变为选入。 ([846](https://github.com/discourse/discourse-ai/pull/846))
- 为热门话题列表生成话题 gist。 ([837](https://github.com/discourse/discourse-ai/pull/837))
- Discord Bot 集成 ([831](https://github.com/discourse/discourse-ai/pull/831))
- 更智能的角色绑定 ([832](https://github.com/discourse/discourse-ai/pull/832))
- 使用位向量索引嵌入 ([824](https://github.com/discourse/discourse-ai/pull/824))
- Ollama 提供商模型的工具 ([819](https://github.com/discourse/discourse-ai/pull/819))
- 允许角色仅在有限的回复上强制工具调用 ([827](https://github.com/discourse/discourse-ai/pull/827))
- 支持链停止和上传创建支持 ([821](https://github.com/discourse/discourse-ai/pull/821))

#### 错误修复

- 确保 gist 在更新前至少存在五分钟 ([1029](https://github.com/discourse/discourse-ai/pull/1029))
- 通过 vector\_rep 获取策略版本 ([1028](https://github.com/discourse/discourse-ai/pull/1028))
- 允许扫描已删除的帖子和已删除的用户进行测试 ([1024](https://github.com/discourse/discourse-ai/pull/1024))
- 分流规则应追加选定的标签而不是替换它们 ([1022](https://github.com/discourse/discourse-ai/pull/1022))
- Gemini 推理客户端缺少 #instance ([1019](https://github.com/discourse/discourse-ai/pull/1019))
- 确保提示上传在分流时包含在提示中 ([1008](https://github.com/discourse/discourse-ai/pull/1008))
- 关闭共享对话模型中的链接 ([1007](https://github.com/discourse/discourse-ai/pull/1007))
- 更改我们在 /filter 上为情绪过滤日期的方式 ([1006](https://github.com/discourse/discourse-ai/pull/1006))
- 确保在每个步骤更新并应用限制 ([1002](https://github.com/discourse/discourse-ai/pull/1002))
- escapedExcerpt 的话题 gist 中的拼写错误 ([1003](https://github.com/discourse/discourse-ai/pull/1003))
- 添加摘要检查以避免重复生成嵌入（批量） ([1001](https://github.com/discourse/discourse-ai/pull/1001))
- 更具弹性的情感回填查询 ([998](https://github.com/discourse/discourse-ai/pull/998))
- 回归，不再向 AI 助手发送示例 ([993](https://github.com/discourse/discourse-ai/pull/993))
- 使用种子模型时 AI 自动化脚本已损坏 ([991](https://github.com/discourse/discourse-ai/pull/991))
- 标签建议器建议已分配的标签 ([990](https://github.com/discourse/discourse-ai/pull/990))
- 情感分类结果需要在保存之前进行转换 ([983](https://github.com/discourse/discourse-ai/pull/983))
- 将计数逻辑移至标签建议的末尾 ([978](https://github.com/discourse/discourse-ai/pull/978))
- 当用户向上滚动时保持相关话题数据缓存 ([976](https://github.com/discourse/discourse-ai/pull/976))
- 多个并发摘要可能导致 pg 索引错误 ([973](https://github.com/discourse/discourse-ai/pull/973))
- 建议菜单未在移动设备上显示 ([970](https://github.com/discourse/discourse-ai/pull/970))
- 缩略图建议的双重渲染错误 ([968](https://github.com/discourse/discourse-ai/pull/968))
- 修复随机帖子嵌入回填的顺序 ([965](https://github.com/discourse/discourse-ai/pull/965))
- 处理完成后关闭嵌入线程池 ([961](https://github.com/discourse/discourse-ai/pull/961))
- 跳过没有内容的记录进行分类 ([960](https://github.com/discourse/discourse-ai/pull/960))
- 切换情绪仪表板报告中的开始/结束日期 ([951](https://github.com/discourse/discourse-ai/pull/951))
- 正确注册 ‘info’ 图标 ([950](https://github.com/discourse/discourse-ai/pull/950))
- 不必要的复杂预加载意外过滤了一些话题。 ([945](https://github.com/discourse/discourse-ai/pull/945))
- 暂时禁用 ai\_summaries 过滤 ([943](https://github.com/discourse/discourse-ai/pull/943))
- 自动清除共享 ai 资产的缓存 ([942](https://github.com/discourse/discourse-ai/pull/942))
- 正确捕获 /filter 情绪排序的周期 ([940](https://github.com/discourse/discourse-ai/pull/940))
- 取消功能出现回归 ([938](https://github.com/discourse/discourse-ai/pull/938))
- Gist 不是 html 安全的 ([931](https://github.com/discourse/discourse-ai/pull/931))
- 管理仪表板中情感的各种修复 ([928](https://github.com/discourse/discourse-ai/pull/928))
- 指示 AR 我们希望使用 ai\_summaries 进行过滤。 ([927](https://github.com/discourse/discourse-ai/pull/927))
- 缩小话题 gist 包含的范围。 ([925](https://github.com/discourse/discourse-ai/pull/925))
- 跳过 PM 话题列表中的 gist ([923](https://github.com/discourse/discourse-ai/pull/923))
- 确保工件被沙盒化，即使直接访问 ([921](https://github.com/discourse/discourse-ai/pull/921))
- 正确绕过工件的 CSP ([920](https://github.com/discourse/discourse-ai/pull/920))
- 将情绪 /filter 逻辑移动到 CTE 以保持基数合理 ([915](https://github.com/discourse/discourse-ai/pull/915))
- 追加到查询参数时结果未重置 ([912](https://github.com/discourse/discourse-ai/pull/912))
- 流处理期间不要剥离空字符串 ([911](https://github.com/discourse/discourse-ai/pull/911))
- 重新生成摘要按钮仍显示缓存的摘要 ([903](https://github.com/discourse/discourse-ai/pull/903))
- 取消隐藏嵌入的 gemini api 密钥设置 ([902](https://github.com/discourse/discourse-ai/pull/902))
- 指定 Rag 上传的类型 ([895](https://github.com/discourse/discourse-ai/pull/895))
- 我们必须在转义之前正确编码对象 ([891](https://github.com/discourse/discourse-ai/pull/891))
- 正确编码从 LLM 返回的参数 ([889](https://github.com/discourse/discourse-ai/pull/889))
- 截断 OP 以生成 gist，以帮助模型关注最新帖子 ([883](https://github.com/discourse/discourse-ai/pull/883))
- 确保回复永远不会双重流式传输 ([879](https://github.com/discourse/discourse-ai/pull/879))
- 确保话题 gist 仅在热门列表上显示。 ([873](https://github.com/discourse/discourse-ai/pull/873))
- 使用 present? 而不是无效的 exists? ([869](https://github.com/discourse/discourse-ai/pull/869))
- 更改热门 gist 提示以避免标题重复 #859 ([859](https://github.com/discourse/discourse-ai/pull/859))
- 测试工具未显示 rag 结果 ([867](https://github.com/discourse/discourse-ai/pull/867))
- Llm 选择器 / 强制工具 / 搜索工具 ([862](https://github.com/discourse/discourse-ai/pull/862))
- AI 标题的基本清理以删除换行符和管道 ([857](https://github.com/discourse/discourse-ai/pull/857))
- 添加缺失的翻译 ([849](https://github.com/discourse/discourse-ai/pull/849))
- 将 DOM 操作与 SummaryStreamer 解耦 ([844](https://github.com/discourse/discourse-ai/pull/844))
- 不要重新生成最新的 gist ([843](https://github.com/discourse/discourse-ai/pull/843))
- Api 密钥标头错误 ([839](https://github.com/discourse/discourse-ai/pull/839))
- 移除遗漏的 AiPersona.allowed\_chat ([838](https://github.com/discourse/discourse-ai/pull/838))

#### UX 更改

- 使用来自核心的新 DStatTiles 可重用组件 ([1025](https://github.com/discourse/discourse-ai/pull/1025))
- 编辑角色工具或 llms 没有管理员标头 ([1021](https://github.com/discourse/discourse-ai/pull/1021))
- 改进 AI 使用页面的粗糙边缘 ([1014](https://github.com/discourse/discourse-ai/pull/1014))
- 使情感趋势更易读 ([1018](https://github.com/discourse/discourse-ai/pull/1018))
- 使时间序列数据中的情感趋势更易读 ([1013](https://github.com/discourse/discourse-ai/pull/1013))
- 确保作曲家弹出窗口始终位于 AI 图标上方 ([1012](https://github.com/discourse/discourse-ai/pull/1012))
- 改进内联标题编辑按钮的布局 ([1000](https://github.com/discourse/discourse-ai/pull/1000))
- 将话题摘要从 DMenu 移动到 DModal ([992](https://github.com/discourse/discourse-ai/pull/992))
- `no-text` 样式被错误地添加到标签建议器 ([987](https://github.com/discourse/discourse-ai/pull/987))
- 修复快速编辑中 AI 助手的样式 ([975](https://github.com/discourse/discourse-ai/pull/975))
- 确保建议左对齐 ([971](https://github.com/discourse/discourse-ai/pull/971))
- 为 LLM 列表添加表格样式 ([963](https://github.com/discourse/discourse-ai/pull/963))
- 应用更多管理 UI 指南 ([956](https://github.com/discourse/discourse-ai/pull/956))
- 在管理仪表情绪表格中添加表情符号 ([944](https://github.com/discourse/discourse-ai/pull/944))
- 强制话题列表 gist 中的长单词换行 ([936](https://github.com/discourse/discourse-ai/pull/936))
- 确保 gist 占据整行 ([934](https://github.com/discourse/discourse-ai/pull/934))
- 改进工件样式并添加直接分享链接 ([930](https://github.com/discourse/discourse-ai/pull/930))
- 更新 gist 切换样式 ([926](https://github.com/discourse/discourse-ai/pull/926))
- 启用 gist 时减小话题列表标题大小 ([910](https://github.com/discourse/discourse-ai/pull/910))
- 增加 gist 大小，并调整周围元素以适应 ([900](https://github.com/discourse/discourse-ai/pull/900))
- 为匿名用户的相關话题添加闪烁图标 ([897](https://github.com/discourse/discourse-ai/pull/897))
- 在分享中，使用本机图像尺寸并隐藏文件名 ([880](https://github.com/discourse/discourse-ai/pull/880))
- 将 AI gist 披露转换为切换 ([878](https://github.com/discourse/discourse-ai/pull/878))
- 提高可读性的次要 gist 优化 ([864](https://github.com/discourse/discourse-ai/pull/864))
- 在种子 LLM 中隐藏 AI 机器人 ([858](https://github.com/discourse/discourse-ai/pull/858))
- 为话题列表 gist 添加披露 ([861](https://github.com/discourse/discourse-ai/pull/861))
- 改进种子 LLM 编辑页面 ([856](https://github.com/discourse/discourse-ai/pull/856))
- 切换 gist 出口以避免徽章 ([855](https://github.com/discourse/discourse-ai/pull/855))
- 调整 gist 位置，加深未读颜色 ([854](https://github.com/discourse/discourse-ai/pull/854))
- 避免介绍性短语并总结没有回复的话题 ([848](https://github.com/discourse/discourse-ai/pull/848))
- 移除 AdminPageSubheader 样式覆盖 ([828](https://github.com/discourse/discourse-ai/pull/828))

#### 性能

- 在话题列表中包括摘要时仅预加载 gist ([948](https://github.com/discourse/discourse-ai/pull/948))

### discourse-assign

#### 新功能

- 为 `Assigner#assign` 添加 `should_notify` 选项 ([604](https://github.com/discourse/discourse-assign/pull/604))
- 为已分配计数添加修饰符 ([598](https://github.com/discourse/discourse-assign/pull/598))

#### 错误修复

- 在不应该通知分配时不发送通知 ([620](https://github.com/discourse/discourse-assign/pull/620))
- Pending\_assigns\_reminder 提醒泄露总分配话题数 ([617](https://github.com/discourse/discourse-assign/pull/617))
- 0d1045e9887aabb0bbb9316346f688527217da71 中不正确的 getter 调用 ([596](https://github.com/discourse/discourse-assign/pull/596))
- 匹配列类型 ([593](https://github.com/discourse/discourse-assign/pull/593))

#### 性能

- 启用分配状态时的 N+1 ([614](https://github.com/discourse/discourse-assign/pull/614))

### discourse-authentication-validations

#### 错误修复

- 损坏的测试 ([29](https://github.com/discourse/discourse-authentication-validations/pull/29))
- 基于核心 FormKit 转换更新插件出口组件 ([21](https://github.com/discourse/discourse-authentication-validations/pull/21))

### discourse-calendar

#### 新功能

- 允许用户为侧边栏日历设置自定义标题 ([649](https://github.com/discourse/discourse-calendar/pull/649))
- 为重复事件保留参与者 ([632](https://github.com/discourse/discourse-calendar/pull/632))
- 默认抑制感兴趣和不去按钮 ([621](https://github.com/discourse/discourse-calendar/pull/621))
- 允许事件编辑器控制事件上的用户列表 ([614](https://github.com/discourse/discourse-calendar/pull/614))

#### 错误修复

- 确保批量邀请正常工作 ([666](https://github.com/discourse/discourse-calendar/pull/666))
- 在所有路由上渲染组件 ([655](https://github.com/discourse/discourse-calendar/pull/655))
- 现代化带来的回归 ([642](https://github.com/discourse/discourse-calendar/pull/642))
- 日历的类别设置不正确 ([631](https://github.com/discourse/discourse-calendar/pull/631))
- 防止推送空观看参与者 ([629](https://github.com/discourse/discourse-calendar/pull/629))
- 正确设置即将发生的事件键 ([628](https://github.com/discourse/discourse-calendar/pull/628))
- 如果找不到帖子事件节点，防止错误 ([626](https://github.com/discourse/discourse-calendar/pull/626))
- 正确填充重复属性 ([625](https://github.com/discourse/discourse-calendar/pull/625))
- 缺失的本地化 ([624](https://github.com/discourse/discourse-calendar/pull/624))
- 正确渲染事件标题的 html ([623](https://github.com/discourse/discourse-calendar/pull/623))
- 在热门/最新上显示类别日历 ([611](https://github.com/discourse/discourse-calendar/pull/611))

#### UX 更改

- 右侧边栏 UI ([657](https://github.com/discourse/discourse-calendar/pull/657))
- 渲染参与者计数 ([663](https://github.com/discourse/discourse-calendar/pull/663))
- 帖子事件调整 ([660](https://github.com/discourse/discourse-calendar/pull/660))
- 事件 UI 编辑 ([641](https://github.com/discourse/discourse-calendar/pull/641))
- 强制即将发生的事件日历的全高 ([630](https://github.com/discourse/discourse-calendar/pull/630))
- 将重复的即将发生的事件添加到类别日历 ([616](https://github.com/discourse/discourse-calendar/pull/616))
- 修复事件构建器 i18n ([613](https://github.com/discourse/discourse-calendar/pull/613))

### discourse-category-experts

#### 新功能

- 支持 post\_move 上的自定义字段更正 ([183](https://github.com/discourse/discourse-category-experts/pull/183))
- 添加 Category-Experts webhook 事件类型 ([167](https://github.com/discourse/discourse-category-experts/pull/167))

### discourse-chat-integration

#### 新功能

- 允许在 Discord webhook 中使用自定义查询参数 ([236](https://github.com/discourse/discourse-chat-integration/pull/236))

#### 错误修复

- 更新显示错误模态框的不稳定测试 ([228](https://github.com/discourse/discourse-chat-integration/pull/228))
- 错误模态框未显示数据 ([225](https://github.com/discourse/discourse-chat-integration/pull/225))
- 话题创建时触发消息 ([222](https://github.com/discourse/discourse-chat-integration/pull/222))

### discourse-codebytes-plugin

#### 错误修复

- 更新类引用以使用 `textManipulation` ([33](https://github.com/discourse/discourse-codebytes-plugin/pull/33))

### discourse-custom-topic-lists

#### 新功能

- 向自定义列表添加 RSS 源 ([29](https://github.com/discourse/discourse-custom-topic-lists/pull/29))

### discourse-data-explorer

#### 新功能

- 添加脚本以定期在话题中发布报告结果 ([328](https://github.com/discourse/discourse-data-explorer/pull/328))

#### 错误修复

- 可选地在服务器端链接化 URL 列 ([330](https://github.com/discourse/discourse-data-explorer/pull/330))

#### UX 更改

- 阐明对授权扩展的需求 ([346](https://github.com/discourse/discourse-data-explorer/pull/346))

#### 性能

- 移除 ` 的动态使用<template>` ([340](https://github.com/discourse/discourse-data-explorer/pull/340))

### discourse-doc-categories

#### 错误修复

- Permalink spec ([26](https://github.com/discourse/discourse-doc-categories/pull/26))
- 管理员界面中无文档侧边栏。 ([22](https://github.com/discourse/discourse-doc-categories/pull/22))
- 正确解析冒号前非 TEXT 元素中的文本 ([21](https://github.com/discourse/discourse-doc-categories/pull/21))
- 通过消息总线更新文档侧边栏时出错 ([17](https://github.com/discourse/discourse-doc-categories/pull/17))

### discourse-docs

#### 错误修复

- 非字符串类型的 tags 参数不再报错 ([180](https://github.com/discourse/discourse-docs/pull/180))

### discourse-encrypt

#### 新功能

- 添加“解密所有私信”功能 ([347](https://github.com/discourse/discourse-encrypt/pull/347))
- 允许用户解密现有私信 ([344](https://github.com/discourse/discourse-encrypt/pull/344))
- 允许管理员禁用新建加密私信 ([339](https://github.com/discourse/discourse-encrypt/pull/339))

#### 错误修复

- 弃用消息 ([362](https://github.com/discourse/discourse-encrypt/pull/362))
- 解密时使用数据库中的原始上传文件名 ([349](https://github.com/discourse/discourse-encrypt/pull/349))
- 解密帖子单行中的多个上传文件 ([348](https://github.com/discourse/discourse-encrypt/pull/348))
- 解密时不顶帖 ([346](https://github.com/discourse/discourse-encrypt/pull/346))
- 外部上传站点的解密问题 ([345](https://github.com/discourse/discourse-encrypt/pull/345))
- 当 allow\_new\_encrypted\_pms=false 时，不警告回复 ([340](https://github.com/discourse/discourse-encrypt/pull/340))

#### UX 变更

- 解密时避免触发通知 ([350](https://github.com/discourse/discourse-encrypt/pull/350))

### discourse-follow

#### 错误修复

- 使用分离的隐藏个人资料和在线状态选项 ([128](https://github.com/discourse/discourse-follow/pull/128))

### discourse-gamification

#### 新功能

- 添加按反应计分功能 ([95](https://github.com/discourse/discourse-gamification/pull/95))
- 添加聊天事件计分 ([96](https://github.com/discourse/discourse-gamification/pull/96))

### discourse-hcaptcha

#### 错误修复

- 在管理界面中搜索 ‘plugin:discourse-hCaptcha’ 无结果且记录错误日志 ([11](https://github.com/discourse/discourse-hcaptcha/pull/11))

#### UX 变更

- 在元数据中添加 meta topic ID ([25](https://github.com/discourse/discourse-hcaptcha/pull/25))

### discourse-openid-connect

#### 新功能

- PKCE 支持 ([86](https://github.com/discourse/discourse-openid-connect/pull/86))

### discourse-perspective-api

#### 错误修复

- 确保与表单模板兼容 ([93](https://github.com/discourse/discourse-perspective-api/pull/93))

### discourse-policy

#### 错误修复

- 解决移动设备上的政策页脚布局问题 ([150](https://github.com/discourse/discourse-policy/pull/150))

### discourse-prometheus

#### 新功能

- 仅对 int 列调整 `postgres_highest_sequence` ([120](https://github.com/discourse/discourse-prometheus/pull/120))
- 仅对 int 列调整 `postgres_highest_sequence` ([98](https://github.com/discourse/discourse-prometheus/pull/98))

#### 错误修复

- 以更安全的方式 fork collector 守护进程。 ([126](https://github.com/discourse/discourse-prometheus/pull/126))
- Collector 不再需要 webrick 依赖 ([125](https://github.com/discourse/discourse-prometheus/pull/125))
- 恢复 postgres\_highest\_sequence 指标更改 ([119](https://github.com/discourse/discourse-prometheus/pull/119))
- 由于现在检查速度较慢，增加序列检查间隔 ([118](https://github.com/discourse/discourse-prometheus/pull/118))

### discourse-reactions

#### 错误修复

- `PostSerializer#reactions` 中 `nil` 的未定义方法错误 ([314](https://github.com/discourse/discourse-reactions/pull/314))

#### UX 变更

- 修复在移动模式下使用 Glimmer Post Menu 时的小对齐问题 ([320](https://github.com/discourse/discourse-reactions/pull/320))

#### 性能

- 通过避免嵌套循环加速 `PostSerializer#reactions` 第二版 ([313](https://github.com/discourse/discourse-reactions/pull/313))
- 通过避免嵌套循环加速 `PostSerializer#reactions` ([312](https://github.com/discourse/discourse-reactions/pull/312))

### discourse-saml

#### 新功能

- 防止断言 ID 的重放攻击 ([114](https://github.com/discourse/discourse-saml/pull/114))

#### 错误修复

- 当定义了密钥时，在请求中嵌入签名 ([107](https://github.com/discourse/discourse-saml/pull/107))

### discourse-solved

#### 新功能

- 添加修改器以更新已分配计数并排除已解决的帖子 ([312](https://github.com/discourse/discourse-solved/pull/312))

### discourse-solved-reminders-plugin

#### 新功能

- 发送祝贺私信时链接到已解决的帖子 ([12](https://github.com/discourse/discourse-solved-reminders-plugin/pull/12))

#### 错误修复

- 除非插件已启用，否则不运行常规/计划任务 ([13](https://github.com/discourse/discourse-solved-reminders-plugin/pull/13))

### discourse-steam-login

#### 错误修复

- 将 `/gems` 添加到 `.gitignore` ([97](https://github.com/discourse/discourse-steam-login/pull/97))

### discourse-subscriptions

#### 新功能

- 添加对 PLN 货币的支持 ([258](https://github.com/discourse/discourse-subscriptions/pull/258))
- 添加对 CHF 货币的支持 ([254](https://github.com/discourse/discourse-subscriptions/pull/254))

### discourse-theme-creator

#### 错误修复

- 在 discourse/discourse 中使用新的用户 API 客户端密钥系统 ([100](https://github.com/discourse/discourse-theme-creator/pull/100))

### discourse-translator

#### 新功能

- 添加 DiscourseAi 翻译器 ([181](https://github.com/discourse/discourse-translator/pull/181))
- 添加对萨摩亚语 (sm) 以及 Microsoft 支持的所有其他语言的支持 ([186](https://github.com/discourse/discourse-translator/pull/186))
- 添加翻译设置的最大字符数 ([183](https://github.com/discourse/discourse-translator/pull/183))

#### 错误修复

- 移除重复的语言条目 ([191](https://github.com/discourse/discourse-translator/pull/191))
- 检测语言时也剥离 anchor 标签 ([187](https://github.com/discourse/discourse-translator/pull/187))
- 检测语言时剥离 img 标签（表情符号） ([182](https://github.com/discourse/discourse-translator/pull/182))

#### 性能

- 使用 redis 将每帖语言检测任务移至批量处理 ([177](https://github.com/discourse/discourse-translator/pull/177))

### discourse-unhandled-tagger

#### 错误修复

- 使已处理按钮对更改做出反应 ([27](https://github.com/discourse/discourse-unhandled-tagger/pull/27))

### discourse-whos-online

#### 错误修复

- 使用分离的隐藏个人资料和在线状态选项 ([110](https://github.com/discourse/discourse-whos-online/pull/110))

### discourse-yearly-review

#### 错误修复

- 确保 SQL 查询正确清理 ([90](https://github.com/discourse/discourse-yearly-review/pull/90))

### discourse-zoom

#### 错误修复

- 修正用于将 Zoom 主持人邮箱与 Discourse 用户匹配的 webinar 对象中的键 ([88](https://github.com/discourse/discourse-zoom/pull/88))

### docker\_manager

#### 错误修复

- 在 `db:migrate` 之后最小化数据库访问 ([247](https://github.com/discourse/docker_manager/pull/247))

#### UX 变更

- 状态徽章调整 ([253](https://github.com/discourse/docker_manager/pull/253))
- 调整表格以在移动设备上响应 ([244](https://github.com/discourse/docker_manager/pull/244))

## 所有功能和修复

### 新功能

- 永久链接设置选项卡 ([30192](https://github.com/discourse/discourse/pull/30192))
- 审核队列中支持原因和已删除内容 ([30295](https://github.com/discourse/discourse/pull/30295))
- 允许在数据库迁移和上传恢复之前暂停恢复 ([30269](https://github.com/discourse/discourse/pull/30269))
- 在可审核项中添加“被标记为”过滤器支持 ([30197](https://github.com/discourse/discourse/pull/30197))
- 在批量用户删除中添加阻止 IP 和电子邮件的选项 ([29993](https://github.com/discourse/discourse/pull/29993))
- 限制低信任度用户的个人资料可见性 ([29981](https://github.com/discourse/discourse/pull/29981))
- 将 DM 限制从 20 提高到 50 ([30102](https://github.com/discourse/discourse/pull/30102))
- 为 discourse 备份添加 `--sql-only` 选项 ([30009](https://github.com/discourse/discourse/pull/30009))
- 显示徽章何时授予帖子 ([29696](https://github.com/discourse/discourse/pull/29696))
- 为桌面端的父类别行添加插件出口 ([30002](https://github.com/discourse/discourse/pull/30002))
- 将 faqOverridden 传递给 about-wrapper 插件出口 ([29994](https://github.com/discourse/discourse/pull/29994))
- 允许添加组成员端点跳过邀请电子邮件 ([29962](https://github.com/discourse/discourse/pull/29962))
- 允许自定义注册表单描述 ([29959](https://github.com/discourse/discourse/pull/29959))
- 允许管理员强制刷新“有什么新内容？” ([29911](https://github.com/discourse/discourse/pull/29911))
- 为 `PostMover` 添加 `freeze_original` 选项 ([29880](https://github.com/discourse/discourse/pull/29880))
- 在管理员用户列表中添加批量销毁 ([29744](https://github.com/discourse/discourse/pull/29744))
- 在 /filter 页面添加批量操作 ([29420](https://github.com/discourse/discourse/pull/29420))
- 添加合并后删除的修改器 ([29872](https://github.com/discourse/discourse/pull/29872))
- 添加转换器以将主题 ID 传递给简单邀请生成 ([29861](https://github.com/discourse/discourse/pull/29861))
- 添加跳转到未读频道的键盘快捷键 ([29734](https://github.com/discourse/discourse/pull/29734))
- 在群组邀请到主题时添加跳过通知选项 ([29741](https://github.com/discourse/discourse/pull/29741))
- 在线程中添加提及计数 ([29739](https://github.com/discourse/discourse/pull/29739))
- 当类别很多时进行分页 ([29569](https://github.com/discourse/discourse/pull/29569))
- 添加更多带确认的批量关闭按钮 ([29331](https://github.com/discourse/discourse/pull/29331))
- 用 :invalid\_url 标记不良上传 ([29640](https://github.com/discourse/discourse/pull/29640))
- 在用户目录和用户个人资料中添加可搜索用户字段的链接 ([29338](https://github.com/discourse/discourse/pull/29338))
- 在聊天中添加对标题的支持 ([29552](https://github.com/discourse/discourse/pull/29552))
- 在聊天中添加自定义字段（频道/消息/线程） ([29504](https://github.com/discourse/discourse/pull/29504))
- 在关于配置页面添加“社区标题”字段 ([29500](https://github.com/discourse/discourse/pull/29500))
- 条件性地强制使用优化的类别样式 ([29473](https://github.com/discourse/discourse/pull/29473))
- 在侧边栏中添加邀请链接 ([29448](https://github.com/discourse/discourse/pull/29448))
- 在类别页面中添加子类别页面的链接 ([29474](https://github.com/discourse/discourse/pull/29474))
- 为所有人启用新的 /about 页面 ([29390](https://github.com/discourse/discourse/pull/29390))
- 如果按下 SHIFT+Enter，则不插入智能列表 ([29452](https://github.com/discourse/discourse/pull/29452))
- 添加禁用智能列表的用户偏好设置 ([29434](https://github.com/discourse/discourse/pull/29434))
- 允许主题定义截图 ([29079](https://github.com/discourse/discourse/pull/29079))
- 引入类别页面的优化样式 ([29239](https://github.com/discourse/discourse/pull/29239))
- compact-list 的必填字段 ([29357](https://github.com/discourse/discourse/pull/29357))
- 恢复旧版页面视图报告 ([29308](https://github.com/discourse/discourse/pull/29308))
- 允许管理员启用已宣布的实验性功能 ([29244](https://github.com/discourse/discourse/pull/29244))
- 标记的 auto\_action\_type 字段 ([29306](https://github.com/discourse/discourse/pull/29306))
- 当有 3 个或更多图像上传时自动网格化图像 ([29260](https://github.com/discourse/discourse/pull/29260))
- 为插件创建数据库迁移的 rake ([29163](https://github.com/discourse/discourse/pull/29163))
- 在 iOS \>= 18 上启用图像优化 ([29257](https://github.com/discourse/discourse/pull/29257))
- Theme\_modifiers 可以依赖于主题设置（加上 serialize\_post\_user\_badges） ([29227](https://github.com/discourse/discourse/pull/29227))
- 带有网格的初始主题配置区域 ([28828](https://github.com/discourse/discourse/pull/28828))
- 在聊天 DM 频道中启用线程 ([29170](https://github.com/discourse/discourse/pull/29170))
- 为 `topic tags changed` 自动化触发器添加 `trigger_with_pms` 选项 ([29122](https://github.com/discourse/discourse/pull/29122))

### 错误修复

- 修复了 glimmer 主题列表中的差一错误 ([30372](https://github.com/discourse/discourse/pull/30372))
- 在 CanCheckEmailsHelper 中检查组件是否属于当前用户时处理 null this.model ([30359](https://github.com/discourse/discourse/pull/30359))
- 在 glimmer 主题列表中取消置顶主题 ([30342](https://github.com/discourse/discourse/pull/30342))
- 重新设计 Sidekiq 监控以重启卡住的 sidekiq 进程 ([30198](https://github.com/discourse/discourse/pull/30198))
- 正确放置带有 freeze\_original 的完整主题移动的版主帖子 ([30324](https://github.com/discourse/discourse/pull/30324))
- 限制重复的时间记录随帖子一起移动 ([30311](https://github.com/discourse/discourse/pull/30311))
- 在 new\_in\_category 中使用关联 ([30313](https://github.com/discourse/discourse/pull/30313))
- 可搜索的用户字段并不总是具有整数名称 ([30223](https://github.com/discourse/discourse/pull/30223))
- 处理无关时间记录的移动 ([30256](https://github.com/discourse/discourse/pull/30256))
- 在 gjs 中正确显示群组未读指示器 ([30302](https://github.com/discourse/discourse/pull/30302))
- 为 DM 频道添加服务器端限制 ([30300](https://github.com/discourse/discourse/pull/30300))
- 展开/折叠自己的用户信息面板 ([30272](https://github.com/discourse/discourse/pull/30272))
- 将用户添加到群组时避免压缩 ([30263](https://github.com/discourse/discourse/pull/30263))
- 向 outlet 传递正确的参数 ([30159](https://github.com/discourse/discourse/pull/30159))
- 在确认用户字段上显示验证错误 ([30232](https://github.com/discourse/discourse/pull/30232))
- 当只有一个选项时用按钮替换下拉菜单 ([30242](https://github.com/discourse/discourse/pull/30242))
- 恢复零宽度空格字符… ([30243](https://github.com/discourse/discourse/pull/30243))
- 在非英语语言环境中链接到群组不起作用 ([30237](https://github.com/discourse/discourse/pull/30237))
- 正确的 details / summary 摘要 ([30229](https://github.com/discourse/discourse/pull/30229))
- 重映射时截断 bookmarks.name
- 设置覆盖过滤器的背景颜色 ([30221](https://github.com/discourse/discourse/pull/30221))
- 回归问题：允许异步调用在删除上传文件之前完成 ([30230](https://github.com/discourse/discourse/pull/30230))
- 在主题间移动首帖时，确保仅移动相关的时间记录 ([30217](https://github.com/discourse/discourse/pull/30217))
- `s3:upload_assets` 重复上传了一些 source maps ([30216](https://github.com/discourse/discourse/pull/30216))
- DiscourseHub iOS 上的编辑器位置 ([30204](https://github.com/discourse/discourse/pull/30204))
- 使用排版字符进行快速编辑
- 在线程间移动帖子时，确保仅移动相关的时间记录 ([30176](https://github.com/discourse/discourse/pull/30176))
- 防止实验性徽章在标题过长时换行 ([30181](https://github.com/discourse/discourse/pull/30181))
- 检查编辑冲突时正确处理隐藏标签
- 改进注册表单中的名称验证 ([30150](https://github.com/discourse/discourse/pull/30150))
- 侧边栏中聊天频道排序顺序的一致性 ([30180](https://github.com/discourse/discourse/pull/30180))
- 允许任何可以管理群组的人查看 Automatic 工具提示 ([30174](https://github.com/discourse/discourse/pull/30174))
- 确保 sk 在 iOS 的模式窗口中可滚动 ([30164](https://github.com/discourse/discourse/pull/30164))
- 管理员用户页面的正确面包屑导航 ([30173](https://github.com/discourse/discourse/pull/30173))
- 恢复用户删除的帖子 ([30145](https://github.com/discourse/discourse/pull/30145))
- 降低线程面板的最小宽度 ([30158](https://github.com/discourse/discourse/pull/30158))
- OP 移动时的 freeze\_original 用于 moved\_post 通知，链接到目标主题 ([30147](https://github.com/discourse/discourse/pull/30147))
- 改进 DM 的聊天频道排序 ([30124](https://github.com/discourse/discourse/pull/30124))
- 丢弃 reviewables 的空捆绑包 ([30121](https://github.com/discourse/discourse/pull/30121))
- 将授予的徽章移至帖子标题末尾。 ([30095](https://github.com/discourse/discourse/pull/30095))
- 确保从触发器标签聚焦内容 ([30064](https://github.com/discourse/discourse/pull/30064))
- 正确引用视频 ([30099](https://github.com/discourse/discourse/pull/30099))
- 无法引用视频 ([30077](https://github.com/discourse/discourse/pull/30077))
- Whisper 的存在频道 ([30097](https://github.com/discourse/discourse/pull/30097))
- 使用默认值更新标记原因消息 ([30026](https://github.com/discourse/discourse/pull/30026))
- 当用包含 `或 ~/Discourse/discourse` 符号的自定义表情符号替换默认表情符号时的清理问题 ([30053](https://github.com/discourse/discourse/pull/30053))
- 移除 reserved\_usernames 的一些 mandatory\_values ([30089](https://github.com/discourse/discourse/pull/30089))
- 在 history-store 中坚持使用 then/finally ([30061](https://github.com/discourse/discourse/pull/30061))
- Font awesome 重映射迁移不应从 svg\_icon\_subset 中删除未映射的名称 ([30058](https://github.com/discourse/discourse/pull/30058))
- 更好的编辑冲突处理 ([29789](https://github.com/discourse/discourse/pull/29789))
- 尝试简化聊天导航栏间距 ([30054](https://github.com/discourse/discourse/pull/30054))
- 使用 freeze 选项移动帖子时的速率限制 ([30041](https://github.com/discourse/discourse/pull/30041))
- 调整代码块链接样式 ([30036](https://github.com/discourse/discourse/pull/30036))
- 全屏登录/注册的虚拟键盘 ([29543](https://github.com/discourse/discourse/pull/29543))
- 回复时编辑帖子 ([29985](https://github.com/discourse/discourse/pull/29985))
- 邮件中的 CSS 去重 ([30003](https://github.com/discourse/discourse/pull/30003))
- 长连续线程标题换行 ([30007](https://github.com/discourse/discourse/pull/30007))
- 增加聊天线程标题限制 ([30006](https://github.com/discourse/discourse/pull/30006))
- 不要将线程标题显示为可点击 ([30005](https://github.com/discourse/discourse/pull/30005))
- 在 DM 线程中提及时显示紧急徽章 ([29821](https://github.com/discourse/discourse/pull/29821))
- 从 JSON 数据更新缓存帖子时重置 likeAction ([29971](https://github.com/discourse/discourse/pull/29971))
- iOS 上的编辑原因错误 ([29987](https://github.com/discourse/discourse/pull/29987))
- 首先过滤掉受保护的分类 ([29916](https://github.com/discourse/discourse/pull/29916))
- 自定义注册表单描述的本地化 ([29982](https://github.com/discourse/discourse/pull/29982))
- 正确切换普通用户的批量选择复选框 ([29984](https://github.com/discourse/discourse/pull/29984))
- 如果配置更改则重新渲染 Chart 组件 ([29955](https://github.com/discourse/discourse/pull/29955))
- 空配置区域的缺失翻译 ([29966](https://github.com/discourse/discourse/pull/29966))
- webhook post\_destroyed 事件的主题帖子计数 ([29853](https://github.com/discourse/discourse/pull/29853))
- `TopicTagsChanged` 触发器在多个标签时不起作用 ([29961](https://github.com/discourse/discourse/pull/29961))
- 简化桌面通知行为 ([29957](https://github.com/discourse/discourse/pull/29957))
- 不要忽略路径中包含 “/login” 的重定向 ([29960](https://github.com/discourse/discourse/pull/29960))
- 解决 PostMover 中的不稳定测试 ([29943](https://github.com/discourse/discourse/pull/29943))
- 路由到 `/filter` 路由时保留历史记录 ([29929](https://github.com/discourse/discourse/pull/29929))
- 移除重复的 id ([29939](https://github.com/discourse/discourse/pull/29939))
- 从 DOM 移除时正确销毁菜单/工具提示
- 投票：确保在 Ranked Choice 中不能仅以弃权票投票 ([29601](https://github.com/discourse/discourse/pull/29601))
- 空帖子审核捆绑包导致客户端错误 ([29932](https://github.com/discourse/discourse/pull/29932))
- 隐藏损坏的主题关于/许可证 URL ([29930](https://github.com/discourse/discourse/pull/29930))
- 在群组收件箱中处理多个 In-Reply-To Message-ID ([29912](https://github.com/discourse/discourse/pull/29912))
- `Tooltip` 样式指南触发器未渲染选项 ([29926](https://github.com/discourse/discourse/pull/29926))
- 全屏登录的 [Discourse Connect](https://meta.discourse.org/t/13045?silent=true) 修复 ([29915](https://github.com/discourse/discourse/pull/29915))
- 无扩展名的安全上传 ([29914](https://github.com/discourse/discourse/pull/29914))
- 不要保护关于横幅图片 ([29889](https://github.com/discourse/discourse/pull/29889))
- 在全屏中正确链接到设置 ([29913](https://github.com/discourse/discourse/pull/29913))
- `Permalink.create` 不再按预期工作 ([29895](https://github.com/discourse/discourse/pull/29895))
- 使标签与停靠标题保持响应 ([29894](https://github.com/discourse/discourse/pull/29894))
- 隐藏用户卡片中的聊天按钮 ([29887](https://github.com/discourse/discourse/pull/29887))
- 按 Escape 键正确关闭搜索菜单 ([29848](https://github.com/discourse/discourse/pull/29848))
- 使用 FinalDestination::HTTP 推送通知 ([29858](https://github.com/discourse/discourse/pull/29858))
- 调整未读频道快捷键行为 ([29874](https://github.com/discourse/discourse/pull/29874))
- 提高未读频道键盘快捷键的可靠性 ([29814](https://github.com/discourse/discourse/pull/29814))
- 序列化直接消息的交互 ([29844](https://github.com/discourse/discourse/pull/29844))
- Migrations-tooling CLI 不再工作 ([29777](https://github.com/discourse/discourse/pull/29777))
- 简化聊天编辑器的最大高度计算 ([29822](https://github.com/discourse/discourse/pull/29822))
- 修复表情符号管理员面包屑中的损坏设置链接 ([29818](https://github.com/discourse/discourse/pull/29818))
- 确保分类行不可聚焦 ([29803](https://github.com/discourse/discourse/pull/29803))
- 序列化其他用户时不包含秘密成员资格群组 ([29799](https://github.com/discourse/discourse/pull/29799))
- 移除 category-status 上的 aria-hidden ([29800](https://github.com/discourse/discourse/pull/29800))
- 注册字段的标签顺序和描述 ([29772](https://github.com/discourse/discourse/pull/29772))
- 烘焙主题字段时捕获 `ActiveRecord::ReadOnlyError` ([29776](https://github.com/discourse/discourse/pull/29776))
- 管理员备份因 S3 dualstack 出错 ([29775](https://github.com/discourse/discourse/pull/29775))
- 社交登录和全屏注册错误 ([29761](https://github.com/discourse/discourse/pull/29761))
- 样式指南错误并为组件页面添加冒烟测试 ([29747](https://github.com/discourse/discourse/pull/29747))
- 抽屉模式中的聊天书签 ([29757](https://github.com/discourse/discourse/pull/29757))
- 忽略子分类中的未读帖子 ([29671](https://github.com/discourse/discourse/pull/29671))
- 在 ipad 上使用绝对策略 ([29754](https://github.com/discourse/discourse/pull/29754))
- 正确使 @disabled 动态化 ([29738](https://github.com/discourse/discourse/pull/29738))
- 隐藏存在切换图标是反的 ([29737](https://github.com/discourse/discourse/pull/29737))
- 使用全屏登录时正确加载邀请模型 ([29713](https://github.com/discourse/discourse/pull/29713))
- 恢复并弃用 `uploads#create` 的 `:type` 参数 ([29736](https://github.com/discourse/discourse/pull/29736))
- 正确支持拖放图片 ([29733](https://github.com/discourse/discourse/pull/29733))
- 不稳定的系统标记规范 ([29694](https://github.com/discourse/discourse/pull/29694))
- 确保 normalized\_email 被匿名化 ([29719](https://github.com/discourse/discourse/pull/29719))
- 标记的可过滤员工日志 ([29695](https://github.com/discourse/discourse/pull/29695))
- 由于 0 宽度/高度图像导致的不稳定 ([29700](https://github.com/discourse/discourse/pull/29700))
- 迁移必须完成才能重置标记缓存 ([29693](https://github.com/discourse/discourse/pull/29693))
- 从样式指南中移除 header-icons ([29670](https://github.com/discourse/discourse/pull/29670))
- 样式指南中的损坏帖子 ([29669](https://github.com/discourse/discourse/pull/29669))
- 支持聊天中的转义序列 ([29659](https://github.com/discourse/discourse/pull/29659))
- 重新添加不发送邮件创建邀请的选项 ([29641](https://github.com/discourse/discourse/pull/29641))
- 在 PWA 中正确计算编辑器高度 ([29656](https://github.com/discourse/discourse/pull/29656))
- S3 自定义端点与 dualstack 不兼容 ([29654](https://github.com/discourse/discourse/pull/29654))
- 在频道页面标题中正确渲染 unicode ([29653](https://github.com/discourse/discourse/pull/29653))
- 确保按 Escape 键关闭线程面板 ([29651](https://github.com/discourse/discourse/pull/29651))
- 通过 /new-message 恢复编辑 ([29637](https://github.com/discourse/discourse/pull/29637))
- 对直接上传使用 dualstack S3 端点 ([29611](https://github.com/discourse/discourse/pull/29611))
- 将 topic+category 传递给 @-提及用户搜索 ([29620](https://github.com/discourse/discourse/pull/29620))
- 将 create\_post\_for\_category\_and\_tag\_changes 设置更改为使用 whispers 而不是 small actions ([29602](https://github.com/discourse/discourse/pull/29602))
- 不要尝试在 `PostRevisionSerializer` 中序列化关联
- 使用 db:create db:migrate 进行设置 ([29609](https://github.com/discourse/discourse/pull/29609))
- 将上传类型正确传递给 uploads#create ([29600](https://github.com/discourse/discourse/pull/29600))
- 在替换文本模式中正确显示分类名称 ([29612](https://github.com/discourse/discourse/pull/29612))
- iOS 上奇怪的缓慢自动滚动 ([29598](https://github.com/discourse/discourse/pull/29598))
- 在分类页面上使用正确的样式 ([29588](https://github.com/discourse/discourse/pull/29588))
- TopicListHeaderColumn 中的错误引用 ([29593](https://github.com/discourse/discourse/pull/29593))
- 聊天上传在某些情况下过度保护 ([29586](https://github.com/discourse/discourse/pull/29586))
- 投票 Ranked Choice 结果在第一次投票时未显示 ([28542](https://github.com/discourse/discourse/pull/28542))
- 投票 Ranked Choice 投票者扩展应追加额外投票者 ([28432](https://github.com/discourse/discourse/pull/28432))
- 在添加邀请链接时考虑没有主要链接的侧边栏 ([29535](https://github.com/discourse/discourse/pull/29535))
- 管理员仪表板工具提示在移动设备上不起作用 ([29538](https://github.com/discourse/discourse/pull/29538))
- 允许在翻译覆盖中使用 `target` 属性 ([29503](https://github.com/discourse/discourse/pull/29503))
- 摘要/总结中的重复主题 ([29517](https://github.com/discourse/discourse/pull/29517))
- 显示直接消息频道的聊天线程通知 ([29414](https://github.com/discourse/discourse/pull/29414))
- 空白的“Legacy Pageviews”报告显示无数据 ([29502](https://github.com/discourse/discourse/pull/29502))
- 缺失单词 ‘done’ ([29447](https://github.com/discourse/discourse/pull/29447))
- 移动设备上缺失的 glimmer 主题列表聚焦操作 ([29421](https://github.com/discourse/discourse/pull/29421))
- 登出时复制 ([29462](https://github.com/discourse/discourse/pull/29462))
- 使用站点联系用户 + 群组进行 Revise… 审核操作 ([29271](https://github.com/discourse/discourse/pull/29271))
- 移除冗余的 body 滚动锁定 ([29395](https://github.com/discourse/discourse/pull/29395))
- 跳过 POST /categories/search 的 CSRF 检查 ([29392](https://github.com/discourse/discourse/pull/29392))
- 为 IOS 启用模式窗口中的滚动事件 ([29393](https://github.com/discourse/discourse/pull/29393))
- 移除移动模式窗口的滚动事件 ([29391](https://github.com/discourse/discourse/pull/29391))
- 重写标记的自动操作类型字段 ([29361](https://github.com/discourse/discourse/pull/29361))
- 无效的 `raise` 语法 ([29364](https://github.com/discourse/discourse/pull/29364))
- 新功能的视觉回归 ([29359](https://github.com/discourse/discourse/pull/29359))
- 显示最后渲染的用户提示 ([29346](https://github.com/discourse/discourse/pull/29346))
- 通过隐藏 /about 上的访问者统计信息来防止显示 ‘NaN’，直到它们准备好 ([29334](https://github.com/discourse/discourse/pull/29334))
- 恢复备份可能因缺少 `discourse_functions` 而失败 ([29332](https://github.com/discourse/discourse/pull/29332))
- 为全屏登录带回需要登录的页面 ([29316](https://github.com/discourse/discourse/pull/29316))
- 避免重复的问题管理员通知 ([29329](https://github.com/discourse/discourse/pull/29329))
- 重构后的不稳定标记规范 ([29325](https://github.com/discourse/discourse/pull/29325))
- 参与用户统计… ([29293](https://github.com/discourse/discourse/pull/29293))
- 仅员工模式阻止管理员密码重置 ([29289](https://github.com/discourse/discourse/pull/29289))
- 不要在空的 reserved\_usernames 设置上出错 ([29305](https://github.com/discourse/discourse/pull/29305))
- 使问题检查跟踪器的唯一约束在 PG13 上工作 ([29272](https://github.com/discourse/discourse/pull/29272))
- 不要在嵌套的顶级主题周期参数上出错 ([29275](https://github.com/discourse/discourse/pull/29275))
- 设置新密码应重置 password\_expired\_at ([29296](https://github.com/discourse/discourse/pull/29296))
- 将返回的 svg 图标数量增加到前 500 个 ([29286](https://github.com/discourse/discourse/pull/29286))
- Create-invite-uploader 遵循 uppy-upload mixin 更改 ([29278](https://github.com/discourse/discourse/pull/29278))
- 不要在嵌套的主题显示 id 参数上出错 ([29274](https://github.com/discourse/discourse/pull/29274))
- 不要在嵌套的分类索引页面参数上出错 ([29273](https://github.com/discourse/discourse/pull/29273))
- 为小图片显示灯箱 ([29140](https://github.com/discourse/discourse/pull/29140))
- 当等于 0 时不要覆盖触发器 ([29269](https://github.com/discourse/discourse/pull/29269))
- 使子分类页面更像分类 ([29240](https://github.com/discourse/discourse/pull/29240))
- 重新添加意外移除的用户自定义字段插件出口 ([29247](https://github.com/discourse/discourse/pull/29247))
- \_uploadDropTargetOptions 现在是公共的 ([29246](https://github.com/discourse/discourse/pull/29246))
- 支持在 glimmered 表头切换中使用 add\_directory\_column ([29231](https://github.com/discourse/discourse/pull/29231))
- 防止在浏览用户目录时焦点偏移 ([29209](https://github.com/discourse/discourse/pull/29209))
- 将完整类应用于字段 ([29190](https://github.com/discourse/discourse/pull/29190))
- 已删除频道线程视图错误 ([29192](https://github.com/discourse/discourse/pull/29192))
- 允许用户使用同一设备 (client\_id) 登录另一个账户 ([29121](https://github.com/discourse/discourse/pull/29121))
- 分类变更时通知邮件列表订阅者 ([28811](https://github.com/discourse/discourse/pull/28811))
- 插件 JS 加载失败会破坏管理员界面 ([29139](https://github.com/discourse/discourse/pull/29139))
- 仅上传聊天消息的导入 ([29162](https://github.com/discourse/discourse/pull/29162))
- Unicorn 主进程和 Sidekiq 同时重新打开日志 ([29137](https://github.com/discourse/discourse/pull/29137))
- 打开/关闭聊天抽屉时不要覆盖其他侧边栏面板 ([29144](https://github.com/discourse/discourse/pull/29144))
- 管理员侧边栏的调整，紧随最近的核心侧边栏样式更改 ([29138](https://github.com/discourse/discourse/pull/29138))
- 从管理员侧边栏路由回主页 ([29125](https://github.com/discourse/discourse/pull/29125))
- 添加 post\_quote 作为占位符 ([29083](https://github.com/discourse/discourse/pull/29083))
- 允许在 details 中使用 open 属性 ([29116](https://github.com/discourse/discourse/pull/29116))
- 不稳定的标记系统规范 ([29039](https://github.com/discourse/discourse/pull/29039))
- 使用完整列名以防止查询歧义 ([29111](https://github.com/discourse/discourse/pull/29111))
- 仅为管理员渲染管理员通知关闭按钮 ([29103](https://github.com/discourse/discourse/pull/29103))
- 支持幂等的管理员通知关闭 ([29099](https://github.com/discourse/discourse/pull/29099))

### UX 更改

- 将管理员表格应用于自动化设置页面 ([30341](https://github.com/discourse/discourse/pull/30341))
- 修复密码重置时的密码掩码 ([30347](https://github.com/discourse/discourse/pull/30347))
- 调整免责声明字体大小 ([30346](https://github.com/discourse/discourse/pull/30346))
- 改进登录和注册页面的平衡 ([30330](https://github.com/discourse/discourse/pull/30330))
- 修复回复指示器周围的边框 ([30343](https://github.com/discourse/discourse/pull/30343))
- 邀请样式重构 ([30329](https://github.com/discourse/discourse/pull/30329))
- 移至最小布局 ([30327](https://github.com/discourse/discourse/pull/30327))
- 当创建主题被标签禁用时显示正确的消息 ([30328](https://github.com/discourse/discourse/pull/30328))
- 重构密码重置页面 ([30323](https://github.com/discourse/discourse/pull/30323))
- 移至图标用于密码掩码 ([30321](https://github.com/discourse/discourse/pull/30321))
- 将管理员表格应用于 webhooks ([30317](https://github.com/discourse/discourse/pull/30317))
- 折叠 AdminConfigAreaCard 的能力 ([30310](https://github.com/discourse/discourse/pull/30310))
- 在管理员侧边栏中显示群组的链接 ([30291](https://github.com/discourse/discourse/pull/30291))
- 修复活动和静音频道 ([30308](https://github.com/discourse/discourse/pull/30308))
- 向 \_head 添加 color-scheme meta 标签 ([30245](https://github.com/discourse/discourse/pull/30245))
- 引入 `<DSt`atTiles /\>` 组件 ([30238](https://github.com/discourse/discourse/pull/30238))
- 增大按钮尺寸和时间轴尺寸 ([30240](https://github.com/discourse/discourse/pull/30240))
- 在界面中将“私信”重命名为“个人消息” ([29679](https://github.com/discourse/discourse/pull/29679))
- 隐藏编辑/新建 Webhook 的管理员标题栏 ([30194](https://github.com/discourse/discourse/pull/30194))
- 使单选按钮遵循论坛的强调色 ([30235](https://github.com/discourse/discourse/pull/30235))
- 修复个人消息标题编辑布局 ([30233](https://github.com/discourse/discourse/pull/30233))
- 使复选框遵循论坛的强调色 ([30231](https://github.com/discourse/discourse/pull/30231))
- 添加 header-categories-wrapper 出口 ([30214](https://github.com/discourse/discourse/pull/30214))
- 修复管理员侧边栏标题宽度 ([30226](https://github.com/discourse/discourse/pull/30226))
- 功能源切换的文案 ([30196](https://github.com/discourse/discourse/pull/30196))
- 隐藏管理员标题栏的功能 ([30175](https://github.com/discourse/discourse/pull/30175))
- 将管理员侧边栏中的“有什么新变化？”链接移至根部分 ([30144](https://github.com/discourse/discourse/pull/30144))
- 仅向管理员显示自动组提示 ([30155](https://github.com/discourse/discourse/pull/30155))
- 修复未读线程的频道名称样式 ([30152](https://github.com/discourse/discourse/pull/30152))
- 修复个人消息主题地图布局 ([30135](https://github.com/discourse/discourse/pull/30135))
- 管理员“有什么新变化？”链接的小修复 ([30143](https://github.com/discourse/discourse/pull/30143))
- 更改“Discourse 有什么新变化？”链接 ([30140](https://github.com/discourse/discourse/pull/30140))
- 将撤销的 API 密钥状态移至专用列 ([30125](https://github.com/discourse/discourse/pull/30125))
- 使未读线程的频道名称加粗 ([30127](https://github.com/discourse/discourse/pull/30127))
- 重构标题编辑 CSS 以改进布局 ([30109](https://github.com/discourse/discourse/pull/30109))
- 修复内容较少情况下的主题地图内边距 ([30101](https://github.com/discourse/discourse/pull/30101))
- 改进尝试编辑全局屏蔽设置时的错误提示 ([30092](https://github.com/discourse/discourse/pull/30092))
- 调整移动聊天文本标题对齐方式 ([30065](https://github.com/discourse/discourse/pull/30065))
- 仅在有徽章时添加 `user-badge-buttons` 包装器 ([30060](https://github.com/discourse/discourse/pull/30060))
- 更新 `allow_index_in_robots_txt` 站点设置描述 ([29901](https://github.com/discourse/discourse/pull/29901))
- 添加管理员筛选行样式 ([30057](https://github.com/discourse/discourse/pull/30057))
- 剥离 GitHub onebox 中的多行注释 ([30040](https://github.com/discourse/discourse/pull/30040))
- 在桌面端打开模态框时禁用滚动 ([30035](https://github.com/discourse/discourse/pull/30035))
- 管理员用户页面遵循管理员 UX 指南 ([29873](https://github.com/discourse/discourse/pull/29873))
- 简化聊天线程标题 ([29998](https://github.com/discourse/discourse/pull/29998))
- 改进加载滑块行为 ([29995](https://github.com/discourse/discourse/pull/29995))
- 导航时移除帖子背景高亮 ([29986](https://github.com/discourse/discourse/pull/29986))
- 在窄屏上隐藏带有可见面板的频道 ([29541](https://github.com/discourse/discourse/pull/29541))
- 更新聊天侧边栏的最小宽度，并改进标题换行函数 ([29954](https://github.com/discourse/discourse/pull/29954))
- 从徽章描述中移除休闲区类别 ([29927](https://github.com/discourse/discourse/pull/29927))
- 尝试减少 Firefox 中主题滚动的跳动 ([29941](https://github.com/discourse/discourse/pull/29941))
- 修复聊天抽屉悬停效果宽度计算 ([29910](https://github.com/discourse/discourse/pull/29910))
- 改进折叠抽屉状态/交互 ([29850](https://github.com/discourse/discourse/pull/29850))
- 多个代码块修复 ([29898](https://github.com/discourse/discourse/pull/29898))
- 代码块编辑 ([29893](https://github.com/discourse/discourse/pull/29893))
- 修正通知标题文本 ([29860](https://github.com/discourse/discourse/pull/29860))
- 更新侧边栏邀请按钮以使用正确的 title 属性文本 ([29875](https://github.com/discourse/discourse/pull/29875))
- 代码块实验合并 ([29870](https://github.com/discourse/discourse/pull/29870))
- 添加 AdminConfigAreaEmptyList 组件 ([29816](https://github.com/discourse/discourse/pull/29816))
- 一致的标记页面 ([29798](https://github.com/discourse/discourse/pull/29798))
- 使单元格居中对齐；直接将 overview 类应用于 td 元素 ([29813](https://github.com/discourse/discourse/pull/29813))
- 添加标题并调整拖放图像 ([29812](https://github.com/discourse/discourse/pull/29812))
- 增加管理员部分标题对比度 ([29790](https://github.com/discourse/discourse/pull/29790))
- 将标记 CTA 按钮从子标题移至标题 ([29781](https://github.com/discourse/discourse/pull/29781))
- 更新 CTA 按钮标签为“添加表情符号”以增强清晰度 ([29774](https://github.com/discourse/discourse/pull/29774))
- 修复 Android Firefox Mobile 回复位置 ([29751](https://github.com/discourse/discourse/pull/29751))
- 防止长 DM 频道名称缩小未读徽章 ([29756](https://github.com/discourse/discourse/pull/29756))
- 重新设计管理员永久链接页面 ([29634](https://github.com/discourse/discourse/pull/29634))
- 降低底部主题地图阈值，并添加保护 ([29665](https://github.com/discourse/discourse/pull/29665))
- 拆分 `hide_profile_and_presence` 用户选项 ([29632](https://github.com/discourse/discourse/pull/29632))
- 修复 webview 中模态框标题背景颜色 ([29717](https://github.com/discourse/discourse/pull/29717))
- 修复 Highlight JS 演示链接 ([29701](https://github.com/discourse/discourse/pull/29701))
- 将授权按钮颜色更改为主要颜色 ([29666](https://github.com/discourse/discourse/pull/29666))
- 更新聊天频道排序以包含未读线程 ([29617](https://github.com/discourse/discourse/pull/29617))
- 降低显示底部主题地图的最小帖子数 ([29649](https://github.com/discourse/discourse/pull/29649))
- 移除用户状态、书签、主题计时器中表示时间的图标 ([29635](https://github.com/discourse/discourse/pull/29635))
- 不要在移动聊天中隐藏主题编辑器 ([29633](https://github.com/discourse/discourse/pull/29633))
- 应用管理员表格类以实现 API 密钥页面上一致的移动样式 ([29630](https://github.com/discourse/discourse/pull/29630))
- 新实验性功能应明确标记 ([29622](https://github.com/discourse/discourse/pull/29622))
- 使用新的 Font Awesome 6 名称替换损坏的链接 SVG ([29623](https://github.com/discourse/discourse/pull/29623))
- 使管理员页面表格列表中的表情符号在移动设备上表现更好 ([29619](https://github.com/discourse/discourse/pull/29619))
- 更新 `create_post_for_category_and_tag_changes` 以说明需要启用 whispers 才能工作 ([29618](https://github.com/discourse/discourse/pull/29618))
- 修复授予徽章模态框下拉菜单的可见性 ([29613](https://github.com/discourse/discourse/pull/29613))
- 为关闭编辑器对话框添加标题角色 ([29590](https://github.com/discourse/discourse/pull/29590))
- 添加缺失的角色属性 ([29591](https://github.com/discourse/discourse/pull/29591))
- 使代码块按钮“扁平化” ([29603](https://github.com/discourse/discourse/pull/29603))
- 移除个人消息小操作的额外边距 ([29571](https://github.com/discourse/discourse/pull/29571))
- 允许匿名用户下载日历 ([29551](https://github.com/discourse/discourse/pull/29551))
- 编辑标题时对齐个人消息图标，允许收缩以适应 ([29570](https://github.com/discourse/discourse/pull/29570))
- 自动化销毁时的日志记录 ([29565](https://github.com/discourse/discourse/pull/29565))
- 使用正确的大小写作为“添加标记”按钮 ([29505](https://github.com/discourse/discourse/pull/29505))
- 登录/注册表单的更多改进 ([29417](https://github.com/discourse/discourse/pull/29417))
- 修复移动设备上审核队列中的“否”按钮 ([29485](https://github.com/discourse/discourse/pull/29485))
- 将 BackButton 移出 admin-config-area 以防止意外换行 ([29457](https://github.com/discourse/discourse/pull/29457))
- 修复聊天成员用户状态中的表情符号对齐 ([29466](https://github.com/discourse/discourse/pull/29466))
- 从展开的移动时间轴中移除管理员菜单按钮 ([29464](https://github.com/discourse/discourse/pull/29464))
- 降低复制链接的 z-index ([29458](https://github.com/discourse/discourse/pull/29458))
- 外观和感觉更改 ([29245](https://github.com/discourse/discourse/pull/29245))
- 添加描述配置区域卡片 ([29418](https://github.com/discourse/discourse/pull/29418))
- 在预览中为排名选择投票赋予独特的项目符号 ([29439](https://github.com/discourse/discourse/pull/29439))
- 将用户卡片焦点环限制在桌面端 ([29435](https://github.com/discourse/discourse/pull/29435))
- 更新 /about 配置页面文案 ([29387](https://github.com/discourse/discourse/pull/29387))
- 登录/注册表单的视觉调整 ([28680](https://github.com/discourse/discourse/pull/28680))
- 移动设备上管理员表格的一致样式 ([29360](https://github.com/discourse/discourse/pull/29360))
- 简化和缩短自动化的新脚本流程 ([29178](https://github.com/discourse/discourse/pull/29178))
- 在 about 配置页面中添加指向 /about 的链接 ([29345](https://github.com/discourse/discourse/pull/29345))
- 将“正在关注主题”用户提示移至另一个按钮 ([29323](https://github.com/discourse/discourse/pull/29323))
- 修复脚注导致窄屏水平滚动的问题 ([29328](https://github.com/discourse/discourse/pull/29328))
- 模态框样式的备用最大高度 ([29321](https://github.com/discourse/discourse/pull/29321))
- DMenu 模态框添加抓手和最小高度 ([29309](https://github.com/discourse/discourse/pull/29309))
- 改进移动设备上管理员表格的布局 ([29320](https://github.com/discourse/discourse/pull/29320))
- 简化邀请模态框 ([28974](https://github.com/discourse/discourse/pull/28974))
- DMenu 列表按钮默认样式 ([29250](https://github.com/discourse/discourse/pull/29250))
- 确保 ios 字体大小始终至少为 16px，使用 max() 函数 ([29270](https://github.com/discourse/discourse/pull/29270))
- 修复平板上的侧边栏样式 ([29248](https://github.com/discourse/discourse/pull/29248))
- 主题卡片渲染的多个修复 ([29225](https://github.com/discourse/discourse/pull/29225))
- 一致的聊天消息日期格式 ([29232](https://github.com/discourse/discourse/pull/29232))
- 添加使用完整页面进行登录和注册的选项 ([29034](https://github.com/discourse/discourse/pull/29034))
- 防止未读指示器在 flexbox 中缩小 ([29207](https://github.com/discourse/discourse/pull/29207))
- 提高聊天删除消息限制 ([29202](https://github.com/discourse/discourse/pull/29202))
- 更改聊天导航中的线程按钮以使用 btn-transparent ([29186](https://github.com/discourse/discourse/pull/29186))
- 聊天索引 flex 问题 ([29157](https://github.com/discourse/discourse/pull/29157))
- 修复聊天索引页面中缺失的文本溢出省略号 ([29150](https://github.com/discourse/discourse/pull/29150))
- 将 AdminPageSubheader 更改为 H2 ([29149](https://github.com/discourse/discourse/pull/29149))
- 设置管理员 UI 配置区域中主要内容的固定宽度 ([29147](https://github.com/discourse/discourse/pull/29147))
- 修复线程索引页面（移动设备）上的溢出 ([29126](https://github.com/discourse/discourse/pull/29126))
- 新的侧边栏样式 ([29119](https://github.com/discourse/discourse/pull/29119))
- 在移动设备上自动折叠管理员页面标题按钮 ([29040](https://github.com/discourse/discourse/pull/29040))
- 为聊天索引列表添加底部内边距 ([29096](https://github.com/discourse/discourse/pull/29096))

### 安全更改

- 启用时仅允许 [Discourse Connect](https://meta.discourse.org/t/13045?silent=true) 登录
- 清除头部以防止通过 nginx 访问文件
- 版主无法查看用户电子邮件。
- 图片说明中的存储型 XSS

### 性能

- 在 nginx 中缓存公共额外语言环境请求 ([30340](https://github.com/discourse/discourse/pull/30340))
- 每次记录日志行时不执行 `git` 命令 ([30177](https://github.com/discourse/discourse/pull/30177))
- 仅在需要时比较 HTML / Markdown ([30014](https://github.com/discourse/discourse/pull/30014))
- 优化查找有未读聊天消息用户的查询 ([29964](https://github.com/discourse/discourse/pull/29964))
- 将内存泄漏修复补丁应用到 tracked-built-ins ([29944](https://github.com/discourse/discourse/pull/29944))
- 移除动态 `<template>` 调用 ([29942](https://github.com/discourse/discourse/pull/29942))
- 优化移除单个用户时的聊天用户成员资格清理 ([29833](https://github.com/discourse/discourse/pull/29833))
- 自动加入和离开聊天频道 ([29193](https://github.com/discourse/discourse/pull/29193))
- 用 body 类替换慢速 `:has` 选择器 ([29581](https://github.com/discourse/discourse/pull/29581))
- 更新 `maybeContinueList` 以避免替换整个帖子 ([29416](https://github.com/discourse/discourse/pull/29416))
- 在上传密集型实例上加快磁盘空间计算 ([28307](https://github.com/discourse/discourse/pull/28307))
- 优化 themes:update 任务 ([29290](https://github.com/discourse/discourse/pull/29290))

### 无障碍性

- 当帖子锚点获得焦点时显示状态更改 ([30334](https://github.com/discourse/discourse/pull/30334))
- 从 GitHub onebox 中移除冗余的 alt 文本 ([30083](https://github.com/discourse/discourse/pull/30083))
- 使 uppy 图片上传器可通过键盘导航 ([29807](https://github.com/discourse/discourse/pull/29807))
- 将可排序主题列表标题转换为正确的按钮 ([29808](https://github.com/discourse/discourse/pull/29808))
- 允许通过键盘关闭放弃草稿模态框 ([29802](https://github.com/discourse/discourse/pull/29802))
- 将可点击搜索下拉提示更新为按钮 ([29762](https://github.com/discourse/discourse/pull/29762))
- 主题列表链接不应是标题 (#27700)" ([29520](https://github.com/discourse/discourse/pull/29520))
- 修复并改进用户卡片无障碍性 ([29399](https://github.com/discourse/discourse/pull/29399))
- 为类别颜色选择器添加屏幕阅读器标记 ([29351](https://github.com/discourse/discourse/pull/29351))
- 标记站点设置按钮 ([29348](https://github.com/discourse/discourse/pull/29348))
- 为侧边栏页脚按钮添加 aria-labels ([29347](https://github.com/discourse/discourse/pull/29347))
