Releases: halo-dev/halo
2.20.10 LTS
新特性
功能优化
- 新设备登录通知的操作系统名支持显示 OpenHarmony。 by @Anyexyz in #7045
- 完善角色模板的 i18n。 by @ruibaby in #7075
- 为通过备份文件恢复的界面添加空状态提示。 by @ruibaby in #7078
问题修复
- 修复新创建的标签在主题端展示关联文章数量为 null 的问题。 by @guqing in #7049
- 修复升级主题后语言包未更新的问题。 by @JohnNiang in #7057
- 修复文章元数据表单在 Chrome 下的异常样式。 by @ruibaby in #7076
- 修复可能为因为并发调用缩略图生成导致重复缩略图记录的问题。 by @guqing in #7077
- 限制缩略图生成仅针对附件库中的图片,防止任意 URI 的生成行为带来的潜在攻击风险。 by @guqing in #7079
依赖更新
- 升级依赖 SpringDoc 至 2.7.0。 by @JohnNiang in #7072
- 升级 Spring Boot 至 3.4.0。 by @JohnNiang in #7060
- 升级 Gradle 至 8.11。 by @JohnNiang in #7062
- 升级 Tiptap 的依赖至 2.10.x。 by @ruibaby in #7069
开发者相关
文档
https://docs.halo.run
资源
适用于 2.0 的插件和主题可查阅:
- https://www.halo.run/store/apps
- https://github.com/halo-sigs/awesome-halo
Full Changelog: v2.20.9...v2.20.10
2.20.9 LTS
新特性
- 支持自定义跨域配置。 by @JohnNiang in #6981
功能优化
文档
https://docs.halo.run
资源
适用于 2.0 的插件和主题可查阅:
- https://www.halo.run/store/apps
- https://github.com/halo-sigs/awesome-halo
Full Changelog: v2.20.8...v2.20.9
2.20.8 LTS
功能优化
- 附件列表支持显示 jpeg 图片的图标。 by @luijp in #6956
- 支持在附件上传界面创建新分组。 by @LEIYOUSU in #6951
- 在创建附件分组或者存储策略时,支持检查是否有已存在的名称。 by @LEIYOUSU in #6959
- 支持在用户详情页面支持变更用户角色及删除用户。 by @LEIYOUSU in #6963
- 隐藏关键通知项设置以避免用户意外禁用而无法收到通知。 by @guqing in #6972
问题修复
依赖更新
- 升级 Spring Boot 至 3.4.0-RC1。 by @JohnNiang in #6952
开发者相关
- 支持在插件中定义用户创建的前置和后置处理器。 by @JohnNiang in #6945
文档
https://docs.halo.run
资源
适用于 2.0 的插件和主题可查阅:
- https://www.halo.run/store/apps
- https://github.com/halo-sigs/awesome-halo
Full Changelog: v2.20.7...v2.20.8
2.20.7 LTS
问题修复
- 修复登录时切换了其他语言,但是进入 Console 之后不是所选语言的问题。 by @guqing in #6933
- 修复使用
singlePageFinder.list()
时会提示缺少spec.deleted
索引的问题。 by @guqing in #6922 - 修复插件配置可能因为缺少校验导致使用时类型转换失败从而影响 Halo 使用的问题。 by @guqing in #6924
- 修复登录页面路由会被自定义页面路由覆盖导致无法登录的问题。 by @guqing in #6926
文档
https://docs.halo.run
资源
适用于 2.0 的插件和主题可查阅:
- https://www.halo.run/store/apps
- https://github.com/halo-sigs/awesome-halo
Full Changelog: v2.20.6...v2.20.7
2.20.6 LTS
功能优化
- 允许匿名访问 Console 的静态资源文件,以适应 CDN 回源的使用场景。 by @JohnNiang in #6915
问题修复
- 修复通过登录跳转到文章编辑页面时,发布文章会跳转到个人中心的问题。 by @ruibaby in #6902
- 修复在低版本 Safari 浏览器中,注册表单中的按钮高度溢出的问题。 by @ruibaby in #6912
- 修复文章自动生成别名不按照别名生成策略生成的问题。 by @ruibaby in #6914
文档
https://docs.halo.run
资源
适用于 2.0 的插件和主题可查阅:
- https://www.halo.run/store/apps
- https://github.com/halo-sigs/awesome-halo
Full Changelog: v2.20.5...v2.20.6
2.20.5 LTS
⚠️ Halo 2.20 LTS 重要提示
- 此版本重构了登录相关的页面,登录入口从
/console/login
改为了/login
。 - 在重构登录页面的过程中,也改动了登录授权相关的逻辑和 API,请在升级之后进行以下操作:
- 升级所有登录认证相关的插件。
- 重新在 用户 -> 身份认证 页面启用和排序三方认证方式。
- 角色的 登录之后默认跳转位置 设置选项在此版本已移除,建议使用
/login?redirect_uri=
代替。 - 出于安全考虑,此版本在生产环境下默认禁用了 Basic Auth 的认证方式,如有需要可以通过添加
halo.security.basic-auth.disabled=false
启动参数来启用。
功能优化
问题修复
- 修复非默认登录方式登录失败之后跳转至默认登录方式的问题。 by @JohnNiang in #6896
- 修复非 HTTPS 连接下无法记住用户语言偏好的问题。 by @guqing in #6891
文档
https://docs.halo.run
资源
适用于 2.0 的插件和主题可查阅:
- https://www.halo.run/store/apps
- https://github.com/halo-sigs/awesome-halo
Full Changelog: v2.20.4...v2.20.5
2.20.4 LTS
⚠️ Halo 2.20 LTS 重要提示
- 此版本重构了登录相关的页面,登录入口从
/console/login
改为了/login
。 - 在重构登录页面的过程中,也改动了登录授权相关的逻辑和 API,请在升级之后进行以下操作:
- 升级所有登录认证相关的插件。
- 重新在 用户 -> 身份认证 页面启用和排序三方认证方式。
- 角色的 登录之后默认跳转位置 设置选项在此版本已移除,建议使用
/login?redirect_uri=
代替。 - 出于安全考虑,此版本在生产环境下默认禁用了 Basic Auth 的认证方式,如有需要可以通过添加
halo.security.basic-auth.disabled=false
启动参数来启用。
问题修复
- 修复插件模板处理扩展中无法获取到请求上下文的问题。 by @guqing in #6877
- 修复从旧版本升级到 2.20 会因为默认主题目录已经存在而无法初始化的问题。 by @guqing in #6889
开发者相关
- 允许在插件中使用 UserService 和 RoleService。 by @JohnNiang in #6880
- 支持在插件中使用 ReactiveUserDetailsService。 by @JohnNiang in #6885
文档
https://docs.halo.run
资源
适用于 2.0 的插件和主题可查阅:
- https://www.halo.run/store/apps
- https://github.com/halo-sigs/awesome-halo
Full Changelog: v2.20.3...v2.20.4
2.20.3 LTS
⚠️ Halo 2.20 LTS 重要提示
- 此版本重构了登录相关的页面,登录入口从
/console/login
改为了/login
。 - 在重构登录页面的过程中,也改动了登录授权相关的逻辑和 API,请在升级之后进行以下操作:
- 升级所有登录认证相关的插件。
- 重新在 用户 -> 身份认证 页面启用和排序三方认证方式。
- 角色的 登录之后默认跳转位置 设置选项在此版本已移除,建议使用
/login?redirect_uri=
代替。 - 出于安全考虑,此版本在生产环境下默认禁用了 Basic Auth 的认证方式,如有需要可以通过添加
halo.security.basic-auth.disabled=false
启动参数来启用。
问题修复
- 修复非超级管理员无法正常解绑 OAuth2 登录方式的问题。 by @JohnNiang in #6869
- 修复通过 OAuth2 登录之后无法正常创建和恢复个人令牌的问题。 by @JohnNiang in #6870
文档
https://docs.halo.run
资源
适用于 2.0 的插件和主题可查阅:
- https://www.halo.run/store/apps
- https://github.com/halo-sigs/awesome-halo
Full Changelog: v2.20.2...v2.20.3
2.20.2 LTS
⚠️ Halo 2.20 LTS 重要提示
- 此版本重构了登录相关的页面,登录入口从
/console/login
改为了/login
。 - 在重构登录页面的过程中,也改动了登录授权相关的逻辑和 API,请在升级之后进行以下操作:
- 升级所有登录认证相关的插件。
- 重新在 用户 -> 身份认证 页面启用和排序三方认证方式。
- 角色的 登录之后默认跳转位置 设置选项在此版本已移除,建议使用
/login?redirect_uri=
代替。 - 出于安全考虑,此版本在生产环境下默认禁用了 Basic Auth 的认证方式,如有需要可以通过添加
halo.security.basic-auth.disabled=false
启动参数来启用。
问题修复
文档
https://docs.halo.run
资源
适用于 2.0 的插件和主题可查阅:
- https://www.halo.run/store/apps
- https://github.com/halo-sigs/awesome-halo
Full Changelog: v2.20.1...v2.20.2
2.20.1 LTS
⚠️ 重要提示
- 此版本重构了登录相关的页面,登录入口从
/console/login
改为了/login
。 - 在重构登录页面的过程中,也改动了登录授权相关的逻辑和 API,请在升级之后进行以下操作:
- 升级所有登录认证相关的插件。
- 重新在 用户 -> 身份认证 页面启用和排序三方认证方式。
- 角色的 登录之后默认跳转位置 设置选项在此版本已移除,建议使用
/login?redirect_uri=
代替。 - 出于安全考虑,此版本在生产环境下默认禁用了 Basic Auth 的认证方式,如有需要可以通过添加
halo.security.basic-auth.disabled=false
启动参数来启用。
新特性
- 支持用户在个人中心上传和访问自己的附件(需要具有对应权限)。 by @guqing in #6731
- 支持在个人中心的文章管理界面删除用户创建的文章。 by @guqing in #6729
- 重构登录、注册相关的页面。 by @JohnNiang in #6488
- 登录、注册相关页面改为由后端渲染页面,提供统一的访问入口。
- 提升页面加载性能。
- 优化登录、注册相关页面的交互逻辑。
- 登录、注册等页面支持通过主题或者插件提供。
破坏性更新
功能优化
- 优化密码输入框的明文切换图标的状态显示。 by @ruibaby in #6800
- 在用户选择组件中不再显示匿名与已删除用户。 by @LIlGG in #6781
- 备份时排除全文索引目录 indices,防止恢复之后因为索引文件问题无法启动。 by @ruibaby in #6753
- 修复文章编辑页面标题输入框中,英文字符可能会被隐藏的问题。 by @YttriumC in #6749
- 优化系统初始化流程以适配新的登录流程。 by @guqing in #6739
- 为系统默认的存储策略添加保护措施,不允许删除。 by @ruibaby in #6735
- 备份时忽略缩略图目录以减少文件大小。 by @guqing in #6725
- 代码注入功能忽略对错误页面和登录注册等页面的注入。 by @guqing in #6709
- 简化页面回收站的页面标题。 by @ruibaby in #6708
- 优化默认编辑器的加载方式,防止出现灰屏闪烁的问题。 by @ruibaby in #6707
- 提升页面访问速度。 by @guqing in #6706
- 统一空状态界面中操作按钮的风格。 by @ruibaby in #6704
- 支持自动绑定 OAuth2 登录用户。 by @JohnNiang in #6702
- 修复系统未启动完全时访问页面出错的问题。 by @guqing in #6700
- 修复文章封面图链接包含空格时主题端会因为生成缩略图错误而无法访问的问题。 by @guqing in #6698
- 允许通过
halo.security.basic-auth.disabled=true
配置来禁用 Basic Auth 认证,在 2.20 版本生产环境下默认禁用了 Basic Auth。 by @guqing in #6689 - 优化文件类型检测并支持根据文件名作为决策依据。 by @guqing in #6675
- 新增 API 用于以 JSON 格式获取和更新插件和主题的配置。 by @guqing in #6661
- 修复 external-url 配置带了尾部斜杠导致邮件通知的查看通知链接无法访问的问题。 by @guqing in #6660
- 支持利用参数 language 切换地域语言。 by @JohnNiang in #6658
- 解决重启后可能无法更新附件链接的问题。 by @JohnNiang in #6641
- 当存储策略的配置变更后自动触发关联附件的状态(如访问链接等)更新。 by @guqing in #6639
- 优化根据 URI 生成缩略图时的请求头,修复可能因为无法访问原图导致无法正常生成的问题。 by @guqing in #6628
- 禁止非管理员回复未通过审核的评论。 by @guqing in #6622
- 优化 Formkit Select 组件在多选状态下的待选中状态。 by @LIlGG in #6607
- 为 FormKit Select 组件远程查询增加指定 Key 的字段。 by @LIlGG in #6591
- 当生成缩略图时如果原图尺寸小于请求尺寸则返回原图以保持其质量。 by @guqing in #6582
- 优化模板渲染时所需的内存。 by @JohnNiang in #6580
- 优化在内存紧张时 Console 端无法加载插件资源的问题。 by @JohnNiang in #6573
问题修复
- 修复未登录情况下依然能够访问登出页面的问题。 by @JohnNiang in #6812
- 修复创建用户表单的用户名长度校验不生效的问题。 by @ruibaby in #6806
- 修复 Code 输入框在模态框(VModal)组件中无法正常全屏显示的问题。 by @ruibaby in #6787
- 为 Code Input 设置默认高度,修复全屏按钮被遮挡的问题。 by @ruibaby in #6785
- 修复恢复备份后可能会因为与恢复之前存在的数据冲突导致无法启动的问题。 by @guqing in #6701
- 修复部分设备或者浏览器下,输入框中的下划线可能无法正常显示的问题。 by @ruibaby in #6694
- 修复在 FireFox 浏览器下的编辑器中无法通过粘贴文件上传的问题。 by @ruibaby in #6693
- 修复文件上传时类型校验失效的问题。 by @guqing in #6673
- 修复编辑器中有序列表的样式问题。 by @ruibaby in #6656
- 修复主题端区域和语言解析错误的问题。 by @JohnNiang in #6647
- 解决当 FormKit Select 组件中的 options 延迟设置时无法正常回显的问题。 by @LIlGG in #6629
- 修复 FormKit Select 组件中布尔值的显示问题。 by @LIlGG in #6624
- 修复取消用户角色后无法正常渲染用户列表的问题。 by @JohnNiang in #6612
- 解决 FormKit Select 组件在值变更时不会发出事件及修改选项值的问题。 by @LIlGG in #6602
- 修复 GIF 缩略图生成只会保留第一帧的问题。 by @guqing in #6597
- 解决无法为 FormKit Select 组件的选项设置禁用的问题。 by @LIlGG in #6595
- 解决在默认编辑器中添加表格报错的问题。 by @LIlGG in #6587
- 解决 FormKit 选择器回显数据异常的问题。 by @LIlGG in #6571
- 修复重启后无法搜索部分文档的问题。 by @JohnNiang in #6570
- 修复仅分配菜单权限时菜单页面报 403 错误的问题。 by @guqing in #6688
- 修复可配置无效的外部访问地址的问题。 by @JohnNiang in #6840
- 修复竖向图片生成缩略图后会丢失方向信息展示为横向图片的问题。 by @guqing in #6842
开发者相关
- Dialog API 支持传入 uniqueId,以限制同一时间仅打开一个。 by @ruibaby in #6737
- 主题支持通过
${site.version}
得到 Halo 版本号。 by @guqing in #6677 - 支持在插件中操作渲染结果。 by @JohnNiang in #6670
- 为主题端切换地区语言提供支持。 by @JohnNiang in #6657
- 支持在主题中通过 Thymeleaf 默认行为实现国际化。 by @JohnNiang in #6648
- 允许在插件使用 CryptoService 和 RateLimiterRegistry。 by @JohnNiang in #6638
- 为 FormKit 添加菜单选择输入类型。 by @ruibaby in #6642
依赖更新
- 升级编辑器依赖 Tiptap 的版本至 2.8.x。 by @ruibaby in #6777
- 升级依赖 jsoup 至 1.18.1。 by @JohnNiang in #6765
- 升级依赖 Lucene 至 9.12.0。 by @JohnNiang in #6763
- 升级依赖 Guava 至 33.3.1-jre。 by @JohnNiang in #6762
- 升级至 Gradle 8.10.2。 by @JohnNiang in #6755
- 升级 UI 项目的 Vue 版本至 3.5.x。 by @ruibaby in #6696
- 升级 Spring Boot 至 3.4.0-M3。 by @JohnNiang in #6687
文档
https://docs.halo.run
资源
适用于 2.0 的插件和主题可查阅:
- https://www.halo.run/store/apps
- https://github.com/halo-sigs/awesome-halo
Full Changelog: v2.20.0...v2.20.1