2.21.7(2025-08-19)
可用的 Docker 镜像:
registry.fit2cloud.com/halo/halo-pro:2.21.7
halohub/halo-pro:2.21.7
新特性
- 评论内容支持以富文本格式显示。 by @ruibaby in halo-dev/halo#7674
- Console 端文章管理支持直接打开对应的评论列表。 by @ruibaby in halo-dev/halo#7681
- 支持转存编辑器中的外部资源到附件库。 by @ruibaby in halo-dev/halo#7687
功能优化
- 检测评论和回复内容是否合法以防止 XSS 攻击。 by @JohnNiang in halo-dev/halo#7677
问题修复
- 修复在特定情况下模板引擎可能出现内存泄漏的问题。 by @JohnNiang in halo-dev/halo#7678
- 解决将粘贴 Excel 内容会变为图片的问题。 by @LIlGG in halo-dev/halo#7689
- 修复角色修改表单中,所选权限可能出现不完整的问题。 by @ruibaby in halo-dev/halo#7684
开发者相关
- Console 和 UC 路由的权限定义检查支持函数。 by @ruibaby in halo-dev/halo#7688
2.21.6(2025-08-08)
可用的 Docker 镜像:
registry.fit2cloud.com/halo/halo-pro:2.21.6
halohub/halo-pro:2.21.6
功能优化
- 适配独立许可证服务,增强稳定性。(专业版)
- 优化首页、归档页和作者页加载速度。 by @JohnNiang in halo-dev/halo#7668
- 支持社交登录时选择是否保持登录。 by @JohnNiang in halo-dev/halo#7670
- 优化页面的 SEO 标签的生成逻辑。 by @ruibaby in halo-dev/halo#7665
问题修复
- 修复极端场景下无法检查文章别名是否存在的问题。 by @JohnNiang in halo-dev/halo#7673
2.21.5(2025-08-01)
可用的 Docker 镜像:
registry.fit2cloud.com/halo/halo-pro:2.21.5
halohub/halo-pro:2.21.5
问题修复
- 修复 2.21.4 无法进入 Console 的问题。 by @ruibaby in halo-dev/halo#7650
2.21.4(2025-07-31)
可用的 Docker 镜像:
registry.fit2cloud.com/halo/halo-pro:2.21.4
halohub/halo-pro:2.21.4
新特性
- 支持查看附件缩略图记录。 by @ruibaby in halo-dev/halo#7630
功能优化
- 支持批量启用/禁用用户。 by @DeliciousYellow in halo-dev/halo#7631
- 优化通知批量删除的执行性能。 by @ruibaby in halo-dev/halo#7634
- 创建文章分类和标签时支持检查别名是否已存在。 by @ruibaby in halo-dev/halo#7616
- 创建文章时支持检查别名是否重复。 by @ruibaby in halo-dev/halo#7617
问题修复
- 修复运行过程中通知器可能失效的问题。 by @JohnNiang in halo-dev/halo#7643
依赖更新
- 升级依赖 Spring Boot 至 3.5.4。 by @JohnNiang in halo-dev/halo#7640
2.21.3(2025-07-04)
可用的 Docker 镜像:
registry.fit2cloud.com/halo/halo-pro:2.21.3
halohub/halo-pro:2.21.3
新特性
- 支持通过远程地址下载到附件库。 by @ruibaby in halo-dev/halo#7602
功能优化
- 优化编辑器拖拽功能的性能。 by @LIlGG in halo-dev/halo#7601
- 优化默认编辑器缩进逻辑。 by @LIlGG in halo-dev/halo#7600
- 将编辑器的工具箱按钮改为点击展开。 by @ruibaby in halo-dev/halo#7598
- 文章预览页面不再统计访问数据。 by @GoldenSupremeSaltedFish in halo-dev/halo#7582
问题修复
- 修复个人中心上传组件无法正常加载样式的问题。 by @ruibaby in halo-dev/halo#7606
- 修复代码输入框在全屏时,底部内容被遮挡的问题。 by @ruibaby in halo-dev/halo#7599
- 修复菜单项和文章分类可能出现无法拖动排序的问题。 by @ruibaby in halo-dev/halo#7608
依赖更新
- 升级依赖 Spring Boot 至 3.5.3。 by @JohnNiang in halo-dev/halo#7596
- 升级 Tiptap 至 2.24.x by @LIlGG in halo-dev/halo#7613
开发者相关
- 提升 UI 项目的 pnpm 版本到 10.x。 by @ruibaby in halo-dev/halo#7597
2.21.2(2025-06-26)
可用的 Docker 镜像:
registry.fit2cloud.com/halo/halo-pro:2.21.2
halohub/halo-pro:2.21.2
功能优化
- 为编辑器添加内容折叠功能。 by @ruibaby in halo-dev/halo#7594
问题修复
- 修复 ALTCHA 验证码在部分页面中不起作用的问题。(专业版)
- 修复 2.20.1 中评论管理中内容的宽度问题。 by @ruibaby in halo-dev/halo#7586
2.21.1(2025-06-19)
可用的 Docker 镜像:
registry.fit2cloud.com/halo/halo-pro:2.21.1
halohub/halo-pro:2.21.1
功能优化
- 优化概览页面许可证区域的权限控制,仅限超级管理员可访问。(专业版)
- 调整 Console 文章列表的标题区域最大宽度。 by @ruibaby in halo-dev/halo#7564
- 支持自动重写尾部包含斜杠的 URL。 by @JohnNiang in halo-dev/halo#7559
问题修复
- 修复在非 HTTPS 环境下无法正常使用 ALTCHA 验证服务的问题。(专业版)
- 修复堆叠部件中的部件可能无法显示设置按钮的问题。 by @ruibaby in halo-dev/halo#7563
开发者相关
- 重构
@halo-dev/ui-plugin-bundler-kit
,以预配置的方式为插件提供 Vite 和 Rsbuild 的构建配置。 by @ruibaby in halo-dev/halo#7568
2.21.0(2025-06-15)
可用的 Docker 镜像:
registry.fit2cloud.com/halo/halo-pro:2.21.0
halohub/halo-pro:2.21.0
⚠️ 提示
- 此版本已经提升 JDK 版本至 21,意味着在开发环境和使用 jar 文件部署均需要升级 JDK 版本,Docker 部署方式无影响。
- 此版本移除了部分旧版本的迁移脚本,所以请确保当前的版本至少为 2.20.x。如果不是,建议先升级到 2.20 的最新版本运行一段时间再升级到此版本。
- 此版本移除了部分已经过时的 API,部分插件可能会受到影响。在测试阶段,常用插件已经完成适配,建议在升级 2.21 版本前后都检查一下插件是否有更新。如果你当前使用的插件还未完成兼容适配,请先向插件进行反馈。
新特性
- 为登录、注册、发送验证码等操作添加人机验证功能。(专业版)
- 支持在概览页面配置外部访问地址。 by @JohnNiang in halo-dev/halo#7459
- 支持在初始化页面设置外部访问地址。 by @JohnNiang in halo-dev/halo#7488
- 重构 Console 端仪表盘,支持响应式布局、持久化配置,支持通过插件扩展小部件。 by @ruibaby in halo-dev/halo#7496
- 为仪表盘添加堆叠小部件。 by @ruibaby in halo-dev/halo#7525
- 为仪表盘添加网页嵌入小部件。 by @ruibaby in halo-dev/halo#7516
- 文章管理列表支持显示封面图。 by @ruibaby in halo-dev/halo#7519
功能优化
- 编辑器支持为链接设置 搜索引擎忽略链接关系。 by @Nimbus3009 in halo-dev/halo#7444
- 用户搜索支持根据邮箱地址。 by @liuyiwuqing in halo-dev/halo#7441
- 优化 Console 和 UC 中数据列表的 UI 在不同尺寸设备下的表现。 by @ruibaby in halo-dev/halo#7383
- 移除插件列表的时间字段,并在插件详情中显示安装时间。 by @ruibaby in halo-dev/halo#7494
- 优化评论管理的 UI,支持查看评论的详细数据。 by @ruibaby in halo-dev/halo#7481
- 将 Console 端文章列表的发布时间改为语义化时间。 by @ruibaby in halo-dev/halo#7526
- 优化 Console 端的对话框在移动端下的样式。 by @ruibaby in halo-dev/halo#7512
- 优化 Console 的全局依赖文件名,以获得更好的缓存利用率。 by @ruibaby in halo-dev/halo#7530
- 优化移动端的菜单,支持切换 Console / UC,支持退出登录和返回到首页。 by @ruibaby in halo-dev/halo#7542
- 优化移动端下文章编辑页面的样式。 by @ruibaby in halo-dev/halo#7544
- 移除无用的依赖,软件包的体积减少近 15%。 by @JohnNiang in halo-dev/halo#7549
- 支持在附件详情弹窗中复制完整的附件地址。 by @ruibaby in halo-dev/halo#7550
问题修复
- 修复因 Locale 解析错误导致无法访问页面的问题。 by @JohnNiang in halo-dev/halo#7458
- 修复当有已选择附件时,上传新附件导致所选附件状态异常的问题。 by @ruibaby in halo-dev/halo#7487
- 修复 Console 的全局搜索能搜索出系统保留用户的问题。 by @ruibaby in halo-dev/halo#7486
- 修复模态框标题文字溢出的问题。 by @ruibaby in halo-dev/halo#7546
- 修复用户资料页面头像在 Safari 浏览器下的阴影问题。 by @ruibaby in halo-dev/halo#7551
依赖更新
- 升级依赖 Spring Boot 至 3.5.0。 by @JohnNiang in halo-dev/halo#7467
- 升级依赖 Lucene 至 10.2.1。 by @JohnNiang in halo-dev/halo#7476
开发者相关
- 更新最低运行环境为 Java 21。 by @JohnNiang in halo-dev/halo#7451
- 添加用户登录/登出事件。 by @liuyiwuqing in halo-dev/halo#7440
- UI 组件添加
VEntityContainer
组件,以优化数据列表的样式。 by @ruibaby in halo-dev/halo#7383 - 提供根据分组获取和更新用户预设的 API。 by @JohnNiang in halo-dev/halo#7495
- 提供更易用的存储策略配置查询和更新接口。 by @JohnNiang in halo-dev/halo#7527
@halo-dev/ui-plugin-bundler-kit
支持自定义outDir
和manifestPath
。 by @ruibaby in halo-dev/halo#7552- Console 页面数据列表的字段和操作选项支持扩展。 by @ruibaby in halo-dev/halo#7553
2.21.0-beta.2(2025-06-10)
可用的 Docker 镜像:
registry.fit2cloud.com/halo/halo-pro:2.21.0-beta.2
halohub/halo-pro:2.21.0-beta.2
⚠️ 提示
建议在升级到此版本前,先查阅 2.21.0 Alpha 版本的更新日志:
新特性
- 为仪表盘添加堆叠小部件。 by @ruibaby in halo-dev/halo#7525
- 为仪表盘添加网页嵌入小部件。 by @ruibaby in halo-dev/halo#7516
- 文章管理列表支持显示封面图。 by @ruibaby in halo-dev/halo#7519
功能优化
- 将 Console 端文章列表的发布时间改为语义化时间。 by @ruibaby in halo-dev/halo#7526
- 优化 Console 端的对话框在移动端下的样式。 by @ruibaby in halo-dev/halo#7512
- 优化 Console 的全局依赖文件名,以获得更好的缓存利用率。 by @ruibaby in halo-dev/halo#7530
开发者相关
- 提供更易用的存储策略配置查询和更新接口。 by @JohnNiang in halo-dev/halo#7527
2.21.0-beta.1(2025-06-06)
可用的 Docker 镜像:
registry.fit2cloud.com/halo/halo-pro:2.21.0-beta.1
halohub/halo-pro:2.21.0-beta.1
⚠️ 提示
建议在升级到此版本前,先查阅 2.21.0 Alpha 版本的更新日志:
新特性
- 重构 Console 端仪表盘,支持响应式布局、持久化配置,支持通过插件扩展小部件。 by @ruibaby in halo-dev/halo#7496
功能优化
- 支持在线配置验证码服务。(专业版)
- 移除插件列表的时间字段,并在插件详情中显示安装时间。 by @ruibaby in halo-dev/halo#7494
- 优化评论管理的 UI,支持查看评论的详细数据。 by @ruibaby in halo-dev/halo#7481
开发者相关
- 提供根据分组获取和更新用户预设的 API。 by @JohnNiang in halo-dev/halo#7495
2.21.0-alpha.2(2025-05-31)
可用的 Docker 镜像:
registry.fit2cloud.com/halo/halo-pro:2.21.0-alpha.2
halohub/halo-pro:2.21.0-alpha.2
⚠️ 提示
此版本为 2.21.0 的早期版本,不适用于生产环境。这个版本移除了一些过时 API 和一些不兼容改动,发布此版本的主要目的是为了可以让社区的插件和主题开发者提前适配。具体改动方案请查阅 v2.21.0-alpha.1 中的适配列表和破坏性更新列表。
新特性
- 支持在初始化页面设置外部访问地址。 by @JohnNiang in halo-dev/halo#7488
问题修复
- 修复 2.21.0-alpha.1 中 Console 的全局搜索样式问题。 by @ruibaby in halo-dev/halo#7485
- 修复 2.21.0-alpha.1 中概览页面的外部访问地址异常提示的显示时机问题。 by @ruibaby in halo-dev/halo#7484
- 修复当有已选择附件时,上传新附件导致所选附件状态异常的问题。 by @ruibaby in halo-dev/halo#7487
- 修复 Console 的全局搜索能搜索出系统保留用户的问题。 by @ruibaby in halo-dev/halo#7486
2.21.0-alpha.1(2025-05-27)
可用的 Docker 镜像:
registry.fit2cloud.com/halo/halo-pro:2.21.0-alpha.1
halohub/halo-pro:2.21.0-alpha.1
⚠️ 提示
此版本为 2.21.0 的早期版本,不适用于生产环境。这个版本移除了一些过时 API 和一些不兼容改动,发布此版本的主要目的是为了可以让社区的插件和主题开发者提前适配。具体改动方案请查阅下方的适配列表和破坏性更新列表。
从 2.21.0 开始,Halo 开发环境的最低运行环境为 Java 21。
新特性
- 为登录、注册、发送验证码等操作添加人机验证功能(添加
--halo.captcha.enabled=true
参数)。(专业版) - 支持在概览页面配置外部访问地址。 by @JohnNiang in halo-dev/halo#7459
功能优化
- 编辑器支持为链接设置 搜索引擎忽略链接关系。 by @Nimbus3009 in halo-dev/halo#7444
- 用户搜索支持根据邮箱地址。 by @liuyiwuqing in halo-dev/halo#7441
- 优化 Console 和 UC 中数据列表的 UI 在不同尺寸设备下的表现。 by @ruibaby in halo-dev/halo#7383
问题修复
- 修复因 Locale 解析错误导致无法访问页面的问题。 by @JohnNiang in halo-dev/halo#7458
依赖更新
- 升级依赖 Spring Boot 至 3.5.0。 by @JohnNiang in halo-dev/halo#7467
- 升级依赖 Lucene 至 10.2.1。 by @JohnNiang in halo-dev/halo#7476
开发者相关
- 更新最低运行环境为 Java 21。 by @JohnNiang in halo-dev/halo#7451
- 添加用户登录/登出事件。 by @liuyiwuqing in halo-dev/halo#7440
- UI 组件添加
VEntityContainer
组件,以优化数据列表的样式。 by @ruibaby in halo-dev/halo#7383
适配列表
VEntity 组件
此版本为了优化使用 VEntity
组件渲染的数据列表样式,引入了新的 VEntityContainer
组件,适配方式为在所有 VEntity
组件外使用
VEntityContainer
组件包裹,以下是具体步骤和示例:
升级 @halo-dev/components
包至 2.21.0 版本:
# 临时地址,等待 2.21.0 正式发布之后,可改为 @halo-dev/components@2.21.0
pnpm i https://pkg.pr.new/@halo-dev/components@7383
示例:
<script lang="ts" setup>
import { VEntity, VEntityContainer } from "@halo-dev/components"
</script>
<template>
<VEntityContainer>
<VEntity />
<VEntity />
</VEntityContainer>
</template>
完整更改方式可参考:https://github.com/halo-dev/plugin-feed/pull/66/files
破坏性更新
- 移除过时类
run.halo.app.extension.router.selector.FieldCriteriaPredicateConverter
和
run.halo.app.extension.router.selector.LabelCriteriaPredicateConverter
,推荐用
run.halo.app.extension.router.selector.SelectorConverter
替代。 - 移除过时类
run.halo.app.search.SearchParam
,推荐用run.halo.app.search.SearchOption
替代。 - 移除过时类
run.halo.app.search.post.PostDoc
和run.halo.app.search.post.PostHit
,推荐用
run.halo.app.search.HaloDocument
替代。 - 移除 Plugin 过时字段
spec.pluginClass
,推荐在插件定义文件中移除此字段。 - 移除 Plugin 过时字段
spec.website
,推荐使用spec.homepage
替代。 - 移除 Plugin 过时字段
spec.require
,推荐使用spec.requires
替代。 - 移除
SystemSetting.AuthProvider
过时字段enabled
,已经由SystemSetting.AuthProvider
的states
字段替代。 - 移除
run.halo.app.extension.ExtensionMatcher
过时方法getGvk
、getLabelSelector
和getFieldSelector
。 - 移动方法
run.halo.app.extension.MetadataOperator#metadataDeepEquals
至
run.halo.app.extension.MetadataOperator#equals
。 - 移除
run.halo.app.extension.router.QueryParamBuildUtil
过时方法buildParametersFromType
,推荐使用
org.springdoc.core.fn.builders.operation.Builder#parameter
替代。 - 移除
run.halo.app.extension.router.SortableRequest
过时方法toPredicate
,推荐使用
run.halo.app.extension.router.SortableRequest#toListOptions
替代。 - 移除
run.halo.app.extension.router.selector.SelectorUtil
过时方法labelSelectorsToPredicate
、
fieldSelectorToPredicate
和labelAndFieldSelectorToPredicate
,推荐使用
run.halo.app.extension.router.selector.SelectorUtil#labelAndFieldSelectorToListOptions
替代。 - 移除
run.halo.app.theme.finders.TagFinder
过时方法list(Integer, Integer, Predicate, Predicate)
,推荐使用
run.halo.app.theme.finders.TagFinder#list(Integer, Integer)
替代。 - 移除
run.halo.app.plugin.BasePlugin
过时构造函数BasePlugin(PluginWrapper)
,推荐使用BasePlugin(PluginContext)
替代。 - 移除接口
GET&PUT /apis/api.console.halo.run/v1alpha1/plugins/{name}/config
,推荐使用
GET&PUT /apis/api.console.halo.run/v1alpha1/plugins/{name}/json-config
替代。 - 移除接口
GET&PUT /apis/api.console.halo.run/v1alpha1/themes/{name}/config
,推荐使用
GET&PUT /apis/api.console.halo.run/v1alpha1/themes/{name}/json-config
替代。 - 移除接口
POST /apis/api.halo.run/v1alpha1/indices/post
,推荐使用POST /apis/api.halo.run/v1alpha1/indices/-/search
替代。 - 移除接口
POST /apis/api.console.halo.run/v1alpha1/indices/post
,推荐使用
POST /apis/api.console.halo.run/v1alpha1/indices/-/rebuild
替代。
最后,请确保更新 plugin.yaml
中的 requires
字段为 >=2.21.0
。
2.20.21 LTS(2025-05-15)
可用的 Docker 镜像:
registry.fit2cloud.com/halo/halo-pro:2.20.21
halohub/halo-pro:2.20.21
功能优化
- 重构菜单项的拖动排序功能,增强使用体验。 by @ruibaby in halo-dev/halo#7423
- 重构文章分类的拖动排序功能,增强使用体验。 by @ruibaby in halo-dev/halo#7424
问题修复
- 修复文章详情页访问规则为
/?p={slug}
时无法访问的问题。 by @JohnNiang in halo-dev/halo#7430
开发者相关
- 导出与编辑器扩展相关的类型定义。 by @ruibaby in halo-dev/halo#7425
2.20.20 LTS(2025-05-09)
可用的 Docker 镜像:
registry.fit2cloud.com/halo/halo-pro:2.20.20
halohub/halo-pro:2.20.20
功能优化
- 标签管理界面支持根据文章量排序。 by @chengzhongxue in halo-dev/halo#7414
- 登出页面支持通过
redirect_uri
参数自定义重定向位置。 by @JohnNiang in halo-dev/halo#7418
问题修复
- 修复无法设置长度超过 72 个字符的密码的问题。 by @JohnNiang in halo-dev/halo#7407
- 修复个人中心处可能出现登录设备查询异常的问题。 by @JohnNiang in halo-dev/halo#7408
- 修复访问不存在的分类或者文章页面时始终抛出异常的问题。 by @JohnNiang in halo-dev/halo#7419
2.20.19 LTS(2025-04-27)
可用的 Docker 镜像:
registry.fit2cloud.com/halo/halo-pro:2.20.19
halohub/halo-pro:2.20.19
新特性
- 添加移动端 App 绑定功能。(专业版)
- 系统设置新增首选语言设置。 by @guqing in halo-dev/halo#7365
- 文章访问路径支持设置
/categories/{categorySlug}/{postSlug}
的形式。 by @guqing in halo-dev/halo#7331
功能优化
- 新建用户时支持设置多个角色。 by @ruibaby in halo-dev/halo#7381
- 优化文章部分批量操作的执行性能。 by @ruibaby in halo-dev/halo#7378
问题修复
- 修复在个人中心发布文章时可能产生重复生成的问题。 by @xz-xuezhe in halo-dev/halo#7313
- 修复通过接口创建文章可能导致无法发布和删除的问题。 by @JohnNiang in halo-dev/halo#7321
- 修复注册时未验证邮箱是否已被占用的问题。 by @JohnNiang in halo-dev/halo#7323
- 修复编辑器在 Safari 浏览器中关于浮动工具栏和命令列表的样式问题。 by @ruibaby in halo-dev/halo#7328
- 修复 Windows 下可能无法正常初始化的问题。 by @FoxInField in halo-dev/halo#7379
依赖更新
- 升级构建工具 Gradle 至 8.13。 by @JohnNiang in halo-dev/halo#7387
- 升级依赖 Spring Boot 至 3.4.5,同时解决可能无法登录的问题。 by @JohnNiang in halo-dev/halo#7386
开发者相关
- 完善主题模板判断用户角色等功能。 by @JohnNiang in halo-dev/halo#7322
- 修复 postFinder.list() 的 categoryName 参数无效的问题。 by @chengzhongxue in halo-dev/halo#7350
2.20.19-beta.3(2025-04-22)
可用的 Docker 镜像:
registry.fit2cloud.com/halo/halo-pro:2.20.19-beta.3
halohub/halo-pro:2.20.19-beta.3
问题修复
- 修复生成手机绑定二维码可能导致系统阻塞的问题。(专业版)
2.20.19-beta.2(2025-04-20)
可用的 Docker 镜像:
registry.fit2cloud.com/halo/halo-pro:2.20.19-beta.2
halohub/halo-pro:2.20.19-beta.2
功能优化
- 重构移动端 App 绑定二维码的参数,优化绑定体验。(专业版)
- 文章访问路径支持设置
/categories/{categorySlug}/{postSlug}
的形式。 by @guqing in halo-dev/halo#7331
开发者相关
- 修复 postFinder.list() 的 categoryName 参数无效的问题。 by @chengzhongxue in halo-dev/halo#7350
2.20.19-beta.1(2025-04-15)
可用的 Docker 镜像:
registry.fit2cloud.com/halo/halo-pro:2.20.19-beta.1
halohub/halo-pro:2.20.19-beta.1
新特性
- 添加移动端 App 绑定功能。(专业版)
问题修复
- 修复在个人中心发布文章时可能产生重复生成的问题。 by @xz-xuezhe in halo-dev/halo#7313
- 修复通过接口创建文章可能导致无法发布和删除的问题。 by @JohnNiang in halo-dev/halo#7321
- 修复注册时未验证邮箱是否已被占用的问题。 by @JohnNiang in halo-dev/halo#7323
- 修复编辑器在 Safari 浏览器中关于浮动工具栏和命令列表的样式问题。 by @ruibaby in halo-dev/halo#7328
开发者相关
- 完善主题模板判断用户角色等功能。 by @JohnNiang in halo-dev/halo#7322
2.20.18 LTS(2025-03-22)
可用的 Docker 镜像:
registry.fit2cloud.com/halo/halo-pro:2.20.18
halohub/halo-pro:2.20.18
新特性
- 支持上传附件至本地时总是随机命名文件名。 by @JohnNiang in halo-dev/halo#7301
问题修复
- 升级依赖 Spring Boot 至 3.4.4 以修复大文件上传失败的问题。 by @JohnNiang in halo-dev/halo#7305
2.20.17 LTS(2025-03-13)
可用的 Docker 镜像:
registry.fit2cloud.com/halo/halo-pro:2.20.17
halohub/halo-pro:2.20.17
功能优化
- 支持禁用主题预览功能,但拥有主题管理权限的用户不受此功能影响。 by @guqing in halo-dev/halo#7277
- 为登录相关的页面添加 Favicon。 by @ruibaby in halo-dev/halo#7288
问题修复
- 解决日志中出现大量 InterruptedException 异常的问题。 by @JohnNiang in halo-dev/halo#7284
- 撤回对插件类加载顺序的改动,这可能导致破坏性更新。 by @guqing in halo-dev/halo#7290
2.20.16 LTS(2025-03-10)
可用的 Docker 镜像:
registry.fit2cloud.com/halo/halo-pro:2.20.16
halohub/halo-pro:2.20.16
新特性
- 个人中心的消息管理支持批量删除和批量标记为已读。 by @ruibaby in halo-dev/halo#7282
- 支持在管理控制台禁用指定用户。 by @ruibaby in halo-dev/halo#7273
- 支持批量撤销其他设备的登录状态。 by @ruibaby in halo-dev/halo#7268
功能优化
- 支持清理已过期的短信验证码记录。(专业版)
- 默认启用虚拟线程,提升整体性能。 by @JohnNiang in halo-dev/halo#7261
- 在两步验证配置界面添加设备丢失相关的提示。 by @ruibaby in halo-dev/halo#7272
- 为页面的图片增加缩略图支持。 by @guqing in halo-dev/halo#7276
- 仅对包含文章权限的用户生成作者页面。 by @guqing in halo-dev/halo#7279
问题修复
- 解决在默认编辑器中上传文件失败的问题。 by @LIlGG in halo-dev/halo#7275
- 解决默认编辑器中附件会重复上传的问题。 by @LIlGG in halo-dev/halo#7278
- 修复开发模式下无法正常进入管理和个人中心页面的问题。 by @JohnNiang in halo-dev/halo#7281
开发者相关
- 调整插件类的加载顺序使其遵循双亲委派机制,替代原先的 Plugin -> Dependent Plugin -> Halo 加载顺序。 by @guqing in halo-dev/halo#7258
2.20.15 LTS(2025-02-22)
可用的 Docker 镜像:
registry.fit2cloud.com/halo/halo-pro:2.20.15
halohub/halo-pro:2.20.15
问题修复
- 升级 R2DBC MySQL 依赖版本,修复数据库连接断开的问题。 by @JohnNiang in halo-dev/halo#7237
依赖更新
- 升级依赖 Spring Boot 至 3.4.3。 by @JohnNiang in halo-dev/halo#7236
- 升级依赖 R2DBC MySQL 至 1.4.0。 by @JohnNiang in halo-dev/halo#7237
2.20.14 LTS(2025-01-24)
可用的 Docker 镜像:
registry.fit2cloud.com/halo/halo-pro:2.20.14
halohub/halo-pro:2.20.14
功能优化
- 适配版本买断类型的许可证。(专业版)
- 自动生成摘要仅对内容发生变更时生效。 by @guqing in halo-dev/halo#7200
问题修复
- 修复主题中声明的通知模板无法被创建的问题。 by @guqing in halo-dev/halo#7199
- 修复插件扩展配置列表底部可能被遮挡的问题。 by @ruibaby in halo-dev/halo#7218
依赖更新
- 升级依赖 SpringDoc 至 2.8.3。 by @JohnNiang in halo-dev/halo#7207
- 升级 Axios 的版本至 1.7.9。 by @ruibaby in halo-dev/halo#7209
- 升级 Tiptap 的版本至 2.11.x。 by @ruibaby in halo-dev/halo#7211
- 升级 Vue 及周边依赖的版本。 by @ruibaby in halo-dev/halo#7210
- 升级依赖 Spring Boot 至 3.4.2。 by @JohnNiang in halo-dev/halo#7215
2.20.13 LTS(2025-01-03)
可用的 Docker 镜像:
registry.fit2cloud.com/halo/halo-pro:2.20.13
halohub/halo-pro:2.20.13
功能优化
- 为 UC 端发布文章的操作添加重试机制,防止出现因为锁导致的保存失败问题。 by @ruibaby in halo-dev/halo#7171
问题修复
- 修复开启全站私有后没有权限发送登录短信验证码的问题。(专业版)
- 修复文件类型限制能通过混合文件类型绕过检测的问题。 by @guqing in halo-dev/halo#7149
- 修复卸载主题之后没有清理模板缓存的问题。 by @guqing in halo-dev/halo#7174
2.20.12 LTS(2024-12-17)
可用的 Docker 镜像:
registry.fit2cloud.com/halo/halo-pro:2.20.12
halohub/halo-pro:2.20.12
新特性
- 支持显示来自反向代理或者 WAF 的请求错误信息。 by @ruibaby in halo-dev/halo#7127
功能优化
- 增强评论邮箱哈希算法(SHA256)。 by @cryptochecktool in halo-dev/halo#7092
- 修复 FormKit 组件卸载时,对应数据值也被清除的问题。 by @ruibaby in halo-dev/halo#7122
问题修复
- 修复在较低版本浏览器中无法使用默认编辑器和附件上传功能的问题。 by @ruibaby in halo-dev/halo#7128
2.20.11 LTS(2024-12-04)
可用的 Docker 镜像:
registry.fit2cloud.com/halo/halo-pro:2.20.11
halohub/halo-pro:2.20.11
功能优化
- 为扩展获取增加缓存使网站整体性能提升 5% 以上。 by @guqing in halo-dev/halo#7102
- 为系统配置的获取增加缓存以提高路由和主题模板渲染的速度。 by @guqing in halo-dev/halo#7100
- 注册表单的邮件验证按钮支持显示发送状态。 by @zly199 in halo-dev/halo#7065
问题修复
- 修复可选插件依赖功能无法正常工作的问题。 by @guqing in halo-dev/halo#7094
依赖更新
- 升级 PF4J 至 3.13.0。 by @JohnNiang in halo-dev/halo#7099
开发者相关
- 为插件提供
SystemInfoGetter
用于获取站点基本信息。 by @guqing in halo-dev/halo#7103
2.20.10 LTS(2024-11-26)
可用的 Docker 镜像:
registry.fit2cloud.com/halo/halo-pro:2.20.10
halohub/halo-pro:2.20.10
新特性
- 支持为用户分配多个角色。 by @ruibaby in halo-dev/halo#7037
功能优化
- 新设备登录通知的操作系统名支持显示 OpenHarmony。 by @Anyexyz in halo-dev/halo#7045
- 完善角色模板的 i18n。 by @ruibaby in halo-dev/halo#7075
- 为通过备份文件恢复的界面添加空状态提示。 by @ruibaby in halo-dev/halo#7078
问题修复
- 修复新创建的标签在主题端展示关联文章数量为 null 的问题。 by @guqing in halo-dev/halo#7049
- 修复升级主题后语言包未更新的问题。 by @JohnNiang in halo-dev/halo#7057
- 修复文章元数据表单在 Chrome 下的异常样式。 by @ruibaby in halo-dev/halo#7076
- 修复可能为因为并发调用缩略图生成导致重复缩略图记录的问题。 by @guqing in halo-dev/halo#7077
- 限制缩略图生成仅针对附件库中的图片,防止任意 URI 的生成行为带来的潜在攻击风险。 by @guqing in halo-dev/halo#7079
依赖更新
- 升级依赖 SpringDoc 至 2.7.0。 by @JohnNiang in halo-dev/halo#7072
- 升级 Spring Boot 至 3.4.0。 by @JohnNiang in halo-dev/halo#7060
- 升级 Gradle 至 8.11。 by @JohnNiang in halo-dev/halo#7062
- 升级 Tiptap 的依赖至 2.10.x。 by @ruibaby in halo-dev/halo#7069
开发者相关
- 为 UI 项目添加 packageManager 字段,以支持 corepack。 by @ruibaby in halo-dev/halo#7081
2.20.9 LTS(2024-11-12)
可用的 Docker 镜像:
registry.fit2cloud.com/halo/halo-pro:2.20.9
halohub/halo-pro:2.20.9
新特性
- 支持自定义跨域配置。 by @JohnNiang in halo-dev/halo#6981
功能优化
- 更新预设插件版本。 by @ruibaby in halo-dev/halo#7024
问题修复
- 移除短信通知配置中无用的 Local 提供商。
2.20.8 LTS(2024-10-30)
可用的 Docker 镜像:
registry.fit2cloud.com/halo/halo-pro:2.20.8
halohub/halo-pro:2.20.8
功能优化
- 附件列表支持显示 jpeg 图片的图标。 by @luijp in halo-dev/halo#6956
- 支持在附件上传界面创建新分组。 by @LEIYOUSU in halo-dev/halo#6951
- 在创建附件分组或者存储策略时,支持检查是否有已存在的名称。 by @LEIYOUSU in halo-dev/halo#6959
- 支持在用户详情页面支持变更用户角色及删除用户。 by @LEIYOUSU in halo-dev/halo#6963
- 隐藏关键通知项设置以避免用户意外禁用而无法收到通知。 by @guqing in halo-dev/halo#6972
问题修复
- 修复使用 Secret 输入框创建 Secret 时,stringData 的 key 可能为 undefined 的问题。 by @ruibaby in halo-dev/halo#6964
依赖更新
- 升级 Spring Boot 至 3.4.0-RC1。 by @JohnNiang in halo-dev/halo#6952
开发者相关
- 支持在插件中定义用户创建的前置和后置处理器。 by @JohnNiang in halo-dev/halo#6945
2.20.7 LTS(2024-10-23)
可用的 Docker 镜像:
registry.fit2cloud.com/halo/halo-pro:2.20.7
halohub/halo-pro:2.20.7
问题修复
- 修复登录时切换了其他语言,但是进入 Console 之后不是所选语言的问题。 by @guqing in halo-dev/halo#6933
- 修复使用
singlePageFinder.list()
时会提示缺少spec.deleted
索引的问题。 by @guqing in halo-dev/halo#6922 - 修复插件配置可能因为缺少校验导致使用时类型转换失败从而影响 Halo 使用的问题。 by @guqing in halo-dev/halo#6924
- 修复登录页面路由会被自定义页面路由覆盖导致无法登录的问题。 by @guqing in halo-dev/halo#6926
2.20.6 LTS(2024-10-22)
可用的 Docker 镜像:
registry.fit2cloud.com/halo/halo-pro:2.20.6
halohub/halo-pro:2.20.6
功能优化
- 允许匿名访问 Console 的静态资源文件,以适应 CDN 回源的使用场景。 by @JohnNiang in halo-dev/halo#6915
问题修复
- 修复当 License Code 不符合规则时,激活页面渲染异常的问题。(专业版)
- 修复通过登录跳转到文章编辑页面时,发布文章会跳转到个人中心的问题。 by @ruibaby in halo-dev/halo#6902
- 修复在低版本 Safari 浏览器中,注册表单中的按钮高度溢出的问题。 by @ruibaby in halo-dev/halo#6912
- 修复文章自动生成别名不按照别名生成策略生成的问题。 by @ruibaby in halo-dev/halo#6914
2.20.5 LTS(2024-10-18)
可用的 Docker 镜像:
registry.fit2cloud.com/halo/halo-pro:2.20.5
halohub/halo-pro:2.20.5
⚠️ Halo 2.20 LTS 重要提示
- 此版本重构了登录相关的页面,登录入口从
/console/login
改为了/login
。 - 在重构登录页面的过程中,也改动了登录授权相关的逻辑和 API,请在升级之后进行以下操作:
- 升级所有登录认证相关的插件。
- 重新在 用户 -> 身份认证 页面启用和排序三方认证方式。
- 系统设置 -> 用户 -> 短信验证码 选项已废弃,需要升级之后去 用户 -> 身份认证 重新开启。(专业版)
- 系统设置 -> 用户 -> 默认登录方式 选项已废弃,需要升级之后去 用户 -> 身份认证 中管理,拖动所需登录方式为第一个即可。(专业版)
- 角色的 登录之后默认跳转位置 设置选项在此版本已移除,建议使用
/login?redirect_uri=
代替。 - 出于安全考虑,此版本在生产环境下默认禁用了 Basic Auth 的认证方式,如有需要可以通过添加
halo.security.basic-auth.disabled=false
启动参数来启用。
功能优化
- 修改 MySQL 表创建脚本 name 列的字符集使其大小写敏感,以保证和其他数据库表现一致。 by @guqing in halo-dev/halo#6897
问题修复
- 修复注册表单经过通过手机号验证之后可能无法正常提交的问题。(专业版)
- 修复非默认登录方式登录失败之后跳转至默认登录方式的问题。 by @JohnNiang in halo-dev/halo#6896
- 修复非 HTTPS 连接下无法记住用户语言偏好的问题。 by @guqing in halo-dev/halo#6891
2.20.4 LTS(2024-10-17)
可用的 Docker 镜像:
registry.fit2cloud.com/halo/halo-pro:2.20.4
halohub/halo-pro:2.20.4
⚠️ Halo 2.20 LTS 重要提示
- 此版本重构了登录相关的页面,登录入口从
/console/login
改为了/login
。 - 在重构登录页面的过程中,也改动了登录授权相关的逻辑和 API,请在升级之后进行以下操作:
- 升级所有登录认证相关的插件。
- 重新在 用户 -> 身份认证 页面启用和排序三方认证方式。
- 系统设置 -> 用户 -> 短信验证码 选项已废弃,需要升级之后去 用户 -> 身份认证 重新开启。(专业版)
- 系统设置 -> 用户 -> 默认登录方式 选项已废弃,需要升级之后去 用户 -> 身份认证 中管理,拖动所需登录方式为第一个即可。(专业版)
- 角色的 登录之后默认跳转位置 设置选项在此版本已移除,建议使用
/login?redirect_uri=
代替。 - 出于安全考虑,此版本在生产环境下默认禁用了 Basic Auth 的认证方式,如有需要可以通过添加
halo.security.basic-auth.disabled=false
启动参数来启用。
问题修复
- 修复插件模板处理扩展中无法获取到请求上下文的问题。 by @guqing in halo-dev/halo#6877
- 修复从旧版本升级到 2.20 会因为默认主题目录已经存在而无法初始化的问题。 by @guqing in halo-dev/halo#6889
开发者相关
- 允许在插件中使用 UserService 和 RoleService。 by @JohnNiang in halo-dev/halo#6880
- 支持在插件中使用 ReactiveUserDetailsService。 by @JohnNiang in halo-dev/halo#6885
2.20.3 LTS(2024-10-15)
可用的 Docker 镜像:
registry.fit2cloud.com/halo/halo-pro:2.20.3
halohub/halo-pro:2.20.3
⚠️ Halo 2.20 LTS 重要提示
- 此版本重构了登录相关的页面,登录入口从
/console/login
改为了/login
。 - 在重构登录页面的过程中,也改动了登录授权相关的逻辑和 API,请在升级之后进行以下操作:
- 升级所有登录认证相关的插件。
- 重新在 用户 -> 身份认证 页面启用和排序三方认证方式。
- 系统设置 -> 用户 -> 短信验证码 选项已废弃,需要升级之后去 用户 -> 身份认证 重新开启。(专业版)
- 系统设置 -> 用户 -> 默认登录方式 选项已废弃,需要升级之后去 用户 -> 身份认证 中管理,拖动所需登录方式为第一个即可。(专业版)
- 角色的 登录之后默认跳转位置 设置选项在此版本已移除,建议使用
/login?redirect_uri=
代替。 - 出于安全考虑,此版本在生产环境下默认禁用了 Basic Auth 的认证方式,如有需要可以通过添加
halo.security.basic-auth.disabled=false
启动参数来启用。
问题修复
- 修复非超级管理员无法正常解绑 OAuth2 登录方式的问题。 by @JohnNiang in halo-dev/halo#6869
- 修复通过 OAuth2 登录之后无法正常创建和恢复个人令牌的问题。 by @JohnNiang in halo-dev/halo#6870
2.20.2 LTS(2024-10-14)
可用的 Docker 镜像:
registry.fit2cloud.com/halo/halo-pro:2.20.2
halohub/halo-pro:2.20.2
⚠️ Halo 2.20 LTS 重要提示
- 此版本重构了登录相关的页面,登录入口从
/console/login
改为了/login
。 - 在重构登录页面的过程中,也改动了登录授权相关的逻辑和 API,请在升级之后进行以下操作:
- 升级所有登录认证相关的插件。
- 重新在 用户 -> 身份认证 页面启用和排序三方认证方式。
- 系统设置 -> 用户 -> 短信验证码 选项已废弃,需要升级之后去 用户 -> 身份认证 重新开启。(专业版)
- 系统设置 -> 用户 -> 默认登录方式 选项已废弃,需要升级之后去 用户 -> 身份认证 中管理,拖动所需登录方式为第一个即可。(专业版)
- 角色的 登录之后默认跳转位置 设置选项在此版本已移除,建议使用
/login?redirect_uri=
代替。 - 出于安全考虑,此版本在生产环境下默认禁用了 Basic Auth 的认证方式,如有需要可以通过添加
halo.security.basic-auth.disabled=false
启动参数来启用。
问题修复
- 修复初始化 Halo 之后无法进入登录页面的问题。 by @guqing in halo-dev/halo#6865
2.20.1 LTS(2024-10-14)
可用的 Docker 镜像:
registry.fit2cloud.com/halo/halo-pro:2.20.1
halohub/halo-pro:2.20.1
⚠️ 重要提示
- 此版本重构了登录相关的页面,登录入口从
/console/login
改为了/login
。 - 在重构登录页面的过程中,也改动了登录授权相关的逻辑和 API,请在升级之后进行以下操作:
- 升级所有登录认证相关的插件。
- 重新在 用户 -> 身份认证 页面启用和排序三方认证方式。
- 系统设置 -> 用户 -> 短信验证码 选项已废弃,需要升级之后去 用户 -> 身份认证 重新开启。(专业版)
- 系统设置 -> 用户 -> 默认登录方式 选项已废弃,需要升级之后去 用户 -> 身份认证 中管理,拖动所需登录方式为第一个即可。(专业版)
- 角色的 登录之后默认跳转位置 设置选项在此版本已移除,建议使用
/login?redirect_uri=
代替。 - 出于安全考虑,此版本在生产环境下默认禁用了 Basic Auth 的认证方式,如有需要可以通过添加
halo.security.basic-auth.disabled=false
启动参数来启用。
新特性
- 支持用户在个人中心上传和访问自己的附件(需要具有对应权限)。 by @guqing in halo-dev/halo#6731
- 支持在个人中心的文章管理界面删除用户创建的文章。 by @guqing in halo-dev/halo#6729
- 重构登录、注册相关的页面。 by @JohnNiang in halo-dev/halo#6488
- 登录、注册相关页面改为由后端渲染页面,提供统一的访问入口。
- 提升页面加载性能。
- 优化登录、注册相关页面的交互逻辑。
- 登录、注册等页面支持通过主题或者插件提供。
破坏性更新
- 移除角色的 登录之后默认跳转位置 设置选项。 by @ruibaby in halo-dev/halo#6776
- 生产环境下默认禁用 Basic Auth 的认证方式。 by @guqing in halo-dev/halo#6689
功能优化
- 优化密码输入框的明文切换图标的状态显示。 by @ruibaby in halo-dev/halo#6800
- 在用户选择组件中不再显示匿名与已删除用户。 by @LIlGG in halo-dev/halo#6781
- 备份时排除全文索引目录 indices,防止恢复之后因为索引文件问题无法启动。 by @ruibaby in halo-dev/halo#6753
- 修复文章编辑页面标题输入框中,英文字符可能会被隐藏的问题。 by @YttriumC in halo-dev/halo#6749
- 优化系统初始化流程以适配新的登录流程。 by @guqing in halo-dev/halo#6739
- 为系统默认的存储策略添加保护措施,不允许删除。 by @ruibaby in halo-dev/halo#6735
- 备份时忽略缩略图目录以减少文件大小。 by @guqing in halo-dev/halo#6725
- 代码注入功能忽略对错误页面和登录注册等页面的注入。 by @guqing in halo-dev/halo#6709
- 简化页面回收站的页面标题。 by @ruibaby in halo-dev/halo#6708
- 优化默认编辑器的加载方式,防止出现灰屏闪烁的问题。 by @ruibaby in halo-dev/halo#6707
- 提升页面访问速度。 by @guqing in halo-dev/halo#6706
- 统一空状态界面中操作按钮的风格。 by @ruibaby in halo-dev/halo#6704
- 支持自动绑定 OAuth2 登录用户。 by @JohnNiang in halo-dev/halo#6702
- 修复系统未启动完全时访问页面出错的问题。 by @guqing in halo-dev/halo#6700
- 修复文章封面图链接包含空格时主题端会因为生成缩略图错误而无法访问的问题。 by @guqing in halo-dev/halo#6698
- 允许通过
halo.security.basic-auth.disabled=true
配置来禁用 Basic Auth 认证,在 2.20 版本生产环境下默认禁用了 Basic Auth。 by @guqing in halo-dev/halo#6689 - 优化文件类型检测并支持根据文件名作为决策依据。 by @guqing in halo-dev/halo#6675
- 新增 API 用于以 JSON 格式获取和更新插件和主题的配置。 by @guqing in halo-dev/halo#6661
- 修复 external-url 配置带了尾部斜杠导致邮件通知的查看通知链接无法访问的问题。 by @guqing in halo-dev/halo#6660
- 支持利用参数 language 切换地域语言。 by @JohnNiang in halo-dev/halo#6658
- 解决重启后可能无法更新附件链接的问题。 by @JohnNiang in halo-dev/halo#6641
- 当存储策略的配置变更后自动触发关联附件的状态(如访问链接等)更新。 by @guqing in halo-dev/halo#6639
- 优化根据 URI 生成缩略图时的请求头,修复可能因为无法访问原图导致无法正常生成的问题。 by @guqing in halo-dev/halo#6628
- 禁止非管理员回复未通过审核的评论。 by @guqing in halo-dev/halo#6622
- 优化 Formkit Select 组件在多选状态下的待选中状态。 by @LIlGG in halo-dev/halo#6607
- 为 FormKit Select 组件远程查询增加指定 Key 的字段。 by @LIlGG in halo-dev/halo#6591
- 当生成缩略图时如果原图尺寸小于请求尺寸则返回原图以保持其质量。 by @guqing in halo-dev/halo#6582
- 优化模板渲染时所需的内存。 by @JohnNiang in halo-dev/halo#6580
- 优化在内存紧张时 Console 端无法加载插件资源的问题。 by @JohnNiang in halo-dev/halo#6573
问题修复
- 修复未登录情况下依然能够访问登出页面的问题。 by @JohnNiang in halo-dev/halo#6812
- 修复创建用户表单的用户名长度校验不生效的问题。 by @ruibaby in halo-dev/halo#6806
- 修复 Code 输入框在模态框(VModal)组件中无法正常全屏显示的问题。 by @ruibaby in halo-dev/halo#6787
- 为 Code Input 设置默认高度,修复全屏按钮被遮挡的问题。 by @ruibaby in halo-dev/halo#6785
- 修复恢复备份后可能会因为与恢复之前存在的数据冲突导致无法启动的问题。 by @guqing in halo-dev/halo#6701
- 修复部分设备或者浏览器下,输入框中的下划线可能无法正常显示的问题。 by @ruibaby in halo-dev/halo#6694
- 修复在 FireFox 浏览器下的编辑器中无法通过粘贴文件上传的问题。 by @ruibaby in halo-dev/halo#6693
- 修复文件上传时类型校验失效的问题。 by @guqing in halo-dev/halo#6673
- 修复编辑器中有序列表的样式问题。 by @ruibaby in halo-dev/halo#6656
- 修复主题端区域和语言解析错误的问题。 by @JohnNiang in halo-dev/halo#6647
- 解决当 FormKit Select 组件中的 options 延迟设置时无法正常回显的问题。 by @LIlGG in halo-dev/halo#6629
- 修复 FormKit Select 组件中布尔值的显示问题。 by @LIlGG in halo-dev/halo#6624
- 修复取消用户角色后无法正常渲染用户列表的问题。 by @JohnNiang in halo-dev/halo#6612
- 解决 FormKit Select 组件在值变更时不会发出事件及修改选项值的问题。 by @LIlGG in halo-dev/halo#6602
- 修复 GIF 缩略图生成只会保留第一帧的问题。 by @guqing in halo-dev/halo#6597
- 解决无法为 FormKit Select 组件的选项设置禁用的问题。 by @LIlGG in halo-dev/halo#6595
- 解决在默认编辑器中添加表格报错的问题。 by @LIlGG in halo-dev/halo#6587
- 解决 FormKit 选择器回显数据异常的问题。 by @LIlGG in halo-dev/halo#6571
- 修复重启后无法搜索部分文档的问题。 by @JohnNiang in halo-dev/halo#6570
- 修复仅分配菜单权限时菜单页面报 403 错误的问题。 by @guqing in halo-dev/halo#6688
- 修复可配置无效的外部访问地址的问题。 by @JohnNiang in halo-dev/halo#6840
- 修复竖向图片生成缩略图后会丢失方向信息展示为横向图片的问题。 by @guqing in halo-dev/halo#6842
开发者相关
- Dialog API 支持传入 uniqueId,以限制同一时间仅打开一个。 by @ruibaby in halo-dev/halo#6737
- 主题支持通过
${site.version}
得到 Halo 版本号。 by @guqing in halo-dev/halo#6677 - 支持在插件中操作渲染结果。 by @JohnNiang in halo-dev/halo#6670
- 为主题端切换地区语言提供支持。 by @JohnNiang in halo-dev/halo#6657
- 支持在主题中通过 Thymeleaf 默认行为实现国际化。 by @JohnNiang in halo-dev/halo#6648
- 允许在插件使用 CryptoService 和 RateLimiterRegistry。 by @JohnNiang in halo-dev/halo#6638
- 为 FormKit 添加菜单选择输入类型。 by @ruibaby in halo-dev/halo#6642
依赖更新
- 升级编辑器依赖 Tiptap 的版本至 2.8.x。 by @ruibaby in halo-dev/halo#6777
- 升级依赖 jsoup 至 1.18.1。 by @JohnNiang in halo-dev/halo#6765
- 升级依赖 Lucene 至 9.12.0。 by @JohnNiang in halo-dev/halo#6763
- 升级依赖 Guava 至 33.3.1-jre。 by @JohnNiang in halo-dev/halo#6762
- 升级至 Gradle 8.10.2。 by @JohnNiang in halo-dev/halo#6755
- 升级 UI 项目的 Vue 版本至 3.5.x。 by @ruibaby in halo-dev/halo#6696
- 升级 Spring Boot 至 3.4.0-M3。 by @JohnNiang in halo-dev/halo#6687
2.20.0-rc.2(2024-10-12)
可用的 Docker 镜像:
registry.fit2cloud.com/halo/halo-pro:2.20.0-rc.2
halohub/halo-pro:2.20.0-rc.2
功能优化
- 支持在身份认证管理中开启/关闭手机号登录。(专业版)
- 优化登录等页面的 UI,优化低分屏下的 UI 表现,防止元素过大。 by @ruibaby in halo-dev/halo#6832
问题修复
- 解决因缓存插件缓存登录页面导致无法登录的问题。 by @JohnNiang in halo-dev/halo#6829
- 修复恢复备份后无法自动重启的问题。 by @JohnNiang in halo-dev/halo#6830
- 修复可配置无效的外部访问地址的问题。 by @JohnNiang in halo-dev/halo#6840
- 修复登录失败后记住我选项被重置的问题。 by @JohnNiang in halo-dev/halo#6844
- 修复竖向图片生成缩略图后会丢失方向信息展示为横向图片的问题。 by @guqing in halo-dev/halo#6842
2.20.0-rc.1(2024-10-11)
可用的 Docker 镜像:
registry.fit2cloud.com/halo/halo-pro:2.20.0-rc.1
halohub/halo-pro:2.20.0-rc.1
重要提示
- 此版本为 2.20 LTS 的首个测试版本,请不要在生产环境升级使用,部分功能并未完全适配。
- 此版本重构了登录相关的页面,登录入口从
/console/login
改为了/login
。 - 在重构登录页面的过程中,也改动了登录授权相关的逻辑和 API,使用此版本时请注意升级登录认证相关的插件。
- 角色的 登录之后默认跳转位置 设置选项在此版本已移除,建议使用
/login?redirect_uri=
代替。 - 出于安全考虑,此版本在生产环境下默认禁用了 Basic Auth 的认证方式,如有需要可以通过添加 halo.security.basic-auth.disabled=false 启动参数来启用。
新特性
- 支持用户在个人中心上传和访问自己的附件(需要具有对应权限)。 by @guqing in halo-dev/halo#6731
- 支持在个人中心的文章管理界面删除用户创建的文章。 by @guqing in halo-dev/halo#6729
- 重构登录、注册相关的页面。 by @JohnNiang in halo-dev/halo#6488
- 登录、注册相关页面改为由后端渲染页面,提供统一的访问入口。
- 提升页面加载性能。
- 优化登录、注册相关页面的交互逻辑。
- 登录、注册等页面支持通过主题或者插件提供。
破坏性更新
- 移除角色的 登录之后默认跳转位置 设置选项。 by @ruibaby in halo-dev/halo#6776
- 生产环境下默认禁用 Basic Auth 的认证方式。 by @guqing in #6689
功能优化
- 优化密码输入框的明文切换图标的状态显示。 by @ruibaby in halo-dev/halo#6800
- 在用户选择组件中不再显示匿名与已删除用户。 by @LIlGG in halo-dev/halo#6781
- 备份时排除全文索引目录 indices,防止恢复之后因为索引文件问题无法启动。 by @ruibaby in halo-dev/halo#6753
- 修复文章编辑页面标题输入框中,英文字符可能会被隐藏的问题。 by @YttriumC in halo-dev/halo#6749
- 优化系统初始化流程以适配新的登录流程。 by @guqing in halo-dev/halo#6739
- 为系统默认的存储策略添加保护措施,不允许删除。 by @ruibaby in halo-dev/halo#6735
- 备份时忽略缩略图目录以减少文件大小。 by @guqing in halo-dev/halo#6725
- 代码注入功能忽略对错误页面和登录注册等页面的注入。 by @guqing in halo-dev/halo#6709
- 简化页面回收站的页面标题。 by @ruibaby in halo-dev/halo#6708
- 优化默认编辑器的加载方式,防止出现灰屏闪烁的问题。 by @ruibaby in halo-dev/halo#6707
- 提升页面访问速度。 by @guqing in halo-dev/halo#6706
- 统一空状态界面中操作按钮的风格。 by @ruibaby in halo-dev/halo#6704
- 支持自动绑定 OAuth2 登录用户。 by @JohnNiang in halo-dev/halo#6702
- 修复系统未启动完全时访问页面出错的问题。 by @guqing in halo-dev/halo#6700
- 修复文章封面图链接包含空格时主题端会因为生成缩略图错误而无法访问的问题。 by @guqing in halo-dev/halo#6698
- 允许通过
halo.security.basic-auth.disabled=true
配置来禁用 Basic Auth 认证,在 2.20 版本生产环境下默认禁用了 Basic Auth。 by @guqing in halo-dev/halo#6689 - 优化文件类型检测并支持根据文件名作为决策依据。 by @guqing in halo-dev/halo#6675
- 新增 API 用于以 JSON 格式获取和更新插件和主题的配置。 by @guqing in halo-dev/halo#6661
- 修复 external-url 配置带了尾部斜杠导致邮件通知的查看通知链接无法访问的问题。 by @guqing in halo-dev/halo#6660
- 支持利用参数 language 切换地域语言。 by @JohnNiang in halo-dev/halo#6658
- 解决重启后可能无法更新附件链接的问题。 by @JohnNiang in halo-dev/halo#6641
- 当存储策略的配置变更后自动触发关联附件的状态(如访问链接等)更新。 by @guqing in halo-dev/halo#6639
- 优化根据 URI 生成缩略图时的请求头,修复可能因为无法访问原图导致无法正常生成的问题。 by @guqing in halo-dev/halo#6628
- 禁止非管理员回复未通过审核的评论。 by @guqing in halo-dev/halo#6622
- 优化 Formkit Select 组件在多选状态下的待选中状态。 by @LIlGG in halo-dev/halo#6607
- 为 FormKit Select 组件远程查询增加指定 Key 的字段。 by @LIlGG in halo-dev/halo#6591
- 当生成缩略图时如果原图尺寸小于请求尺寸则返回原图以保持其质量。 by @guqing in halo-dev/halo#6582
- 优化模板渲染时所需的内存。 by @JohnNiang in halo-dev/halo#6580
- 优化在内存紧张时 Console 端无法加载插件资源的问题。 by @JohnNiang in halo-dev/halo#6573
问题修复
- 修复未登录情况下依然能够访问登出页面的问题。 by @JohnNiang in halo-dev/halo#6812
- 修复创建用户表单的用户名长度校验不生效的问题。 by @ruibaby in halo-dev/halo#6806
- 修复 Code 输入框在模态框(VModal)组件中无法正常全屏显示的问题。 by @ruibaby in halo-dev/halo#6787
- 为 Code Input 设置默认高度,修复全屏按钮被遮挡的问题。 by @ruibaby in halo-dev/halo#6785
- 修复恢复备份后可能会因为与恢复之前存在的数据冲突导致无法启动的问题。 by @guqing in halo-dev/halo#6701
- 修复部分设备或者浏览器下,输入框中的下划线可能无法正常显示的问题。 by @ruibaby in halo-dev/halo#6694
- 修复在 FireFox 浏览器下的编辑器中无法通过粘贴文件上传的问题。 by @ruibaby in halo-dev/halo#6693
- 修复文件上传时类型校验失效的问题。 by @guqing in halo-dev/halo#6673
- 修复编辑器中有序列表的样式问题。 by @ruibaby in halo-dev/halo#6656
- 修复主题端区域和语言解析错误的问题。 by @JohnNiang in halo-dev/halo#6647
- 解决当 FormKit Select 组件中的 options 延迟设置时无法正常回显的问题。 by @LIlGG in halo-dev/halo#6629
- 修复 FormKit Select 组件中布尔值的显示问题。 by @LIlGG in halo-dev/halo#6624
- 修复取消用户角色后无法正常渲染用户列表的问题。 by @JohnNiang in halo-dev/halo#6612
- 解决 FormKit Select 组件在值变更时不会发出事件及修改选项值的问题。 by @LIlGG in halo-dev/halo#6602
- 修复 GIF 缩略图生成只会保留第一帧的问题。 by @guqing in halo-dev/halo#6597
- 解决无法为 FormKit Select 组件的选项设置禁用的问题。 by @LIlGG in halo-dev/halo#6595
- 解决在默认编辑器中添加表格报错的问题。 by @LIlGG in halo-dev/halo#6587
- 解决 FormKit 选择器回显数据异常的问题。 by @LIlGG in halo-dev/halo#6571
- 修复重启后无法搜索部分文档的问题。 by @JohnNiang in halo-dev/halo#6570
- 修复仅分配菜单权限时菜单页面报 403 错误的问题。 by @guqing in halo-dev/halo#6688
开发者相关
- Dialog API 支持传入 uniqueId,以限制同一时间仅打开一个。 by @ruibaby in halo-dev/halo#6737
- 主题支持通过
${site.version}
得到 Halo 版本号。 by @guqing in halo-dev/halo#6677 - 支持在插件中操作渲染结果。 by @JohnNiang in halo-dev/halo#6670
- 为主题端切换地区语言提供支持。 by @JohnNiang in halo-dev/halo#6657
- 支持在主题中通过 Thymeleaf 默认行为实现国际化。 by @JohnNiang in halo-dev/halo#6648
- 允许在插件使用 CryptoService 和 RateLimiterRegistry。 by @JohnNiang in halo-dev/halo#6638
- 为 FormKit 添加菜单选择输入类型。 by @ruibaby in halo-dev/halo#6642
依赖更新
- 升级编辑器依赖 Tiptap 的版本至 2.8.x。 by @ruibaby in halo-dev/halo#6777
- 升级依赖 jsoup 至 1.18.1。 by @JohnNiang in halo-dev/halo#6765
- 升级依赖 Lucene 至 9.12.0。 by @JohnNiang in halo-dev/halo#6763
- 升级依赖 Guava 至 33.3.1-jre。 by @JohnNiang in halo-dev/halo#6762
- 升级至 Gradle 8.10.2。 by @JohnNiang in halo-dev/halo#6755
- 升级 UI 项目的 Vue 版本至 3.5.x。 by @ruibaby in halo-dev/halo#6696
- 升级 Spring Boot 至 3.4.0-M3。 by @JohnNiang in halo-dev/halo#6687
更多可查阅:历史日志