返回资讯中心
外部精选
软件工程
#开发者实时流

Flarum 2.0 正式发布,距首个提交已过 1234 天

来源标题:Flarum 2.0 is released. Go upgrade your forum

Flarum 2.0.0 稳定版已发布,可立即安装。此次更新距 2023 年 5 月 24 日的最初提交已过去 1234 天。发布方称该版本核心由 Sami Mazouz 主导,包含跨 2023 至 2025 年的 208 次提交,重写了 API 层、搜索系统和资源管线等基础部分。

Hacker News 最新DASD2026/11/3 · 今天30 分钟阅读

以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。

这次发布是我们首次 Flarum 直播发布活动的一部分。感谢 @clarkwinkelmann,你可以在他的 YouTube 频道上重温整场活动: 2023 年 5 月 24 日,这个仓库里出现了一条提交,带着其历史上最不起眼的消息: 1,234 天之后——没错,真的是,一二三四——它完成了。Flarum 2.0.0 稳定版来了,今天你就可以安装。

不过,在谈任何技术细节之前,我想先说两个人。 Flarum 2.0 是 Sami Mazouz 的发布。@Sami M,我先把这句话放在任何功能列表之前说,这样当你读到下面的列表时,你就知道那是谁的工作。 翻看 2.0 究竟由什么构成,同一个名字反复出现: 那是横跨 2023、2024 和 2025 年的 208 次提交,而且不是轻松的那种。那是需要数月的基础性工作,不容易截图展示,也很少得到感谢,而未来十年构建在 Flarum 之上的一切都将依赖它。 任何人都能加一个按钮。Sami 深入了 Flarum 中已经僵化的部分——API 层、搜索系统、资源管线、以及"永远只会有一个数据库"的假设——并重建了它们,让其他人可以扩展它们而无需修改核心。 谢谢你,Sami。这是你的发布,我是认真的。 在"基础已经重建"和"你可以安全地把它跑在一个有一万名成员的论坛上"之间有一道鸿沟,而且它比看起来宽得多。当 beta.4 在 2025 年 11 月发布时,我带着 2.0 走完了剩下的路: 也不全是隐藏的那一半。你在 2.0 中实际会看到很多东西都出自那段时间: 然后还有加固工作,这个没人截图。没人会为"弄清楚了为什么清除缓存会让下一个访客遇到 500 错误,而不是清除缓存的管理员"写一条更新日志。但这就是你读到的 2.0 和你能在周二早上放到成员面前的 2.0 之间的区别。 Sami 让 2.0 成为可能。我让它变得可交付。这就是你即将安装的东西,我为此感到自豪。 这段没有术语。以下是你实际会注意到的: ⚡ 它更快了。页面加载更早,发送的内容更少。你的论坛不再向不需要的页面发送一大包代码。 💬 你可以给人发消息了。成员之间的私密对话已内置,新消息实时到达。 🔍 搜索能找到东西了。帖子搜索与讨论搜索一起正常工作,你可以用成员名字的任意部分找到他们,而不只是开头。如果你的论坛是中文、日文或韩文,一个新的模式能真正理解词从哪里开始、到哪里结束,这是 Flarum 以前从未处理好的。 🌙 深色模式下看起来对了。深色模式 logo,外加页眉中可选的主题切换器,让你自己选择。 📱 在手机或平板上,搜索位于导航中你期望的位置,菜单第一次点击就打开而不是第二次,还有可选的触觉反馈。 你的三十个扩展中有一个刚刚弄坏了你的论坛。你懂的:禁用一半,检查,再禁用一半,丢掉一个晚上。扩展二分法现在替你做了这件事。 你记不清那个设置在哪一页。我也记不清。管理搜索能找到它。 你的扩展列表会告诉你一些事情。可折叠分类、一个健康小部件,以及每周检查,当你依赖的某个包被其维护者放弃时发出警告,在它变成紧急情况之前。 后台任务不再是黑箱。有一个队列仪表盘,带失败任务管理,你可以在维护前暂停和恢复队列,而不是靠运气。 你选择你的数据库。MySQL、MariaDB、PostgreSQL 或 SQLite,全部得到妥善支持。Flarum 还会在你的驱动和服务器不一致时察觉,并提前检查你的数据库版本,而不是之后神秘地失败。 另外还有需要关门时使用的高级维护模式、设置的恢复默认值、仪表盘公告,以及一个 tinker 控制台,供你宁愿直接问应用的时候使用。 JSON:API 层已被重建。资源、端点和字段可以以旧的序列化器加控制器配对从未允许的方式扩展。一个导出注册表让扩展能正确地参与打包。在这一切之下:PHP 8.3+、Laravel 13、Mithril 2.2、ES6 输出。 测试变得严肃了。Eloquent 工厂、在 N+1 查询时失败的集成测试,以及,到最终 RC 时,真正能在独立、通过 Composer 安装的扩展中运行的前端测试。文档多年来一直愉快地描述这一点,但它只在这个 monorepo 内部曾经有效。 还有人们不断要求的扩展点:一个 JS Notification 扩展器、Conditional 上的 whenExtensionDisabled、灵活的前端内容排序、自定义头像驱动、可复用的 Hero、用于模态框和下拉菜单的 CloseWatcher、带显示名称的 slug 驱动、贯穿队列仪表盘的钩子、一个 Statistics 扩展器让你扩展的数字能坐在管理仪表盘上,以及一个 DeckColumns 扩展器让它能向 Deck 添加自己的列。 📖 升级指南在 docs.flarum.org/extend/update-2_0。它诚实地说明了哪些会坏。 多年来,论坛最想要的两样东西是付费扩展。如果你想要它们,你就得付费,而且你希望它们能跟上核心。在 2.0 中,两者都免费、开源且是第一方:与核心一起维护、MIT 许可,并与其他一切在同一个测试套件中测试。 我们是如何走到这里的:Realtime 最初是 blomstra/realtime,一个付费高级扩展。2025 年 12 月,Daniël Klabbers(@luceos)把它捐赠给了 Flarum 基金会,以便它能作为开源成为 Flarum 2 的 flarum/framework4295。把人们付费的东西送出去,让每个论坛都能拥有它,是件大事,值得大声说出来:谢谢你,Daniël。

(原文较长,此处译出前 6000 字,完整内容请点「打开原文」。)

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →