Halo 是一款强大易用的开源建站工具,它让你无需太多的技术知识就可以快速搭建一个博客、网站或者内容管理系统。具备可插拔架构、主题套用、富文本编辑器等多重特性,支持用户根据自己的喜好选择不同类型的插件及主题模板来定制化自己的站点功能及外观。让内容创作和发布更加便捷生动。
截至目前(2025 年 Q2 季度),Halo 已经在 Docker Hub 获得了超过 250 万次下载,GitHub Star 数突破 35 k,并拥有一百多名社区贡献者。
2025 年 06 月 15 日,强大易用的开源建站工具 Halo 正式发布 2.21.0 版本。
⚠️ 重要提示
此版本已经提升 JDK 版本至 21,意味着在开发环境和使用 jar 文件部署均需要升级 JDK 版本,Docker 部署方式无影响。
此版本移除了部分旧版本的迁移脚本,所以请确保当前的版本至少为 2.20.x。如果不是,建议先升级到 2.20 的最新版本运行一段时间再升级到此版本。
此版本移除了部分已经过时的 API,部分插件可能会受到影响。在测试阶段,常用插件已经完成适配,建议在升级 2.21 版本前后都检查一下插件是否有更新。如果你当前使用的插件还未完成兼容适配,请先向插件进行反馈。
亮点更新
AI 建站(专业版)
近期我们上线了全新的 AI 产品 UPage,可以实现一句话生成任意类型的网站,并支持一建部署到 1Panel、Netlify、Vercel。
移动端 App(专业版)
近期我们上架了 Halo 的移动端 App,欢迎试用。
人机验证(专业版)
在 Halo 2.21 中,我们为登录、注册、发送验证码等关键位置添加了人机验证的功能,这能在很大程度上防止网站被恶意注册和暴力破解。
请注意:此功能需要在 HTTPS 环境下才能使用,非 HTTPS 环境可能造成因为验证问题导致无法登录 Console。
支持在后台进行一些个性化设置:
Console 仪表盘改进
在之前的版本中,Console 的仪表盘功能非常基础,只能进行最基本的小部件位置调整,并且无法持久化配置数据。在这个版本中,我们全面重构了仪表盘功能,带来了以下关键特性:
支持持久化仪表盘配置。
支持为不同尺寸的设备分别配置布局(响应式布局)。
支持通过插件扩展更多小部件。
内置堆叠小部件功能,可以将多个小部件放在同一位置进行堆叠显示,支持自动切换和手动切换。
编辑仪表盘
小部件中心
堆叠小部件
插件扩展 - SEO 小部件
外部访问地址
外部访问地址是 Halo 中一个比较重要的配置,但在之前的版本中只能通过修改配置文件的方式来修改外部访问地址,根据社区反馈,很多用户容易忽略这个配置,从而导致使用过程中出现问题。
在这个版本中,Halo 支持了在 Console 控制台修改外部访问地址。
评论管理改进
在这个版本中,我们对评论管理功能进行了优化,主要改进包括:
优化评论列表展示,现在能够更加直观的展示评论内容。
支持查看评论的详细数据,包括评论者信息、UA 等。
改为先显示评论的详细信息,再由管理员根据这些信息决定是否通过审核。
审核时支持回复。
评论列表
评论审核
移动端改进
在这个版本中,我们进行了大量的移动端样式改进,包括仪表盘小部件的布局、更加完善的菜单、数据列表的布局优化等。
其他
插件改进
除了 Halo 本身的改进外,我们最近还优化了部分插件的前端构建方案,可以将 JS 和 CSS 进行分块处理,实现异步加载控制台页面或者组件,这可以降低最终生成的 bundle.js
和 bundle.css
大小,提升 Console 和 UC 的首屏渲染速度。以 Halo 官网为例,优化前需要加载接近 2MB 的 bundle.js,优化后仅需 300KB。
完整更新日志
新特性
支持在概览页面配置外部访问地址。 by @JohnNiang in #7459
支持在初始化页面设置外部访问地址。 by @JohnNiang in #7488
重构 Console 端仪表盘,支持响应式布局、持久化配置,支持通过插件扩展小部件。 by @ruibaby in #7496
功能优化
编辑器支持为链接设置 搜索引擎忽略链接关系。 by @Nimbus3009 in #7444
用户搜索支持根据邮箱地址。 by @liuyiwuqing in #7441
优化移动端的菜单,支持切换 Console / UC,支持退出登录和返回到首页。 by @ruibaby in #7542
移除无用的依赖,软件包的体积减少近 15%。 by @JohnNiang in #7549
问题修复
修复因 Locale 解析错误导致无法访问页面的问题。 by @JohnNiang in #7458
依赖更新
升级依赖 Spring Boot 至 3.5.0。 by @JohnNiang in #7467
升级依赖 Lucene 至 10.2.1。 by @JohnNiang in #7476
开发者相关
更新最低运行环境为 Java 21。 by @JohnNiang in #7451
添加用户登录/登出事件。 by @liuyiwuqing in #7440
UI 组件添加
VEntityContainer
组件,以优化数据列表的样式。 by @ruibaby in #7383提供根据分组获取和更新用户预设的 API。 by @JohnNiang in #7495
提供更易用的存储策略配置查询和更新接口。 by @JohnNiang in #7527
@halo-dev/ui-plugin-bundler-kit
支持自定义outDir
和manifestPath
。 by @ruibaby in #7552