Halo 大版本更新【1.3.0】

826

原文地址

https://github.com/halo-dev/halo/releases/tag/v1.3.0

Feature

  • 支持设置文章链接风格(默认,日期型,年月型,ID型)。#563
  • 支持设置文章后缀(可实现伪静态)。#563
  • 新增磁盘缓存方式。#494
  • 支持设置全局路径类型(绝对路径,相对路径)。
  • 支持主题设置最低兼容版本。#544
  • 支持分类目录和标签设置封面图。#574
  • 归档页面支持分页。#608
  • 支持数据导入导出功能,方便 H2 与 MySQL 之间无缝迁移。需要注意的是,为了防止误操作,仅仅在博客初始化的时候才能导入数据。#687
  • 支持主题开发者自定义邮件发送模板。#691
  • 支持分类订阅,/feed/categories/{slugName}.xml or /atom/categories/{slugName}.xml。#595
  • 支持在主题中自定义邮件发送模板。#691

Change

  • 修改邮件发送的文案,防止被服务商判定为广告邮件导致封号。#568
  • 取消后台更新 admin 的功能。
  • admin 的大部分资源使用 jsdelivr cdn 代理。
  • 修改初始化数据,新增更多页面类型。#600
  • 优化启动日志,高亮访问地址。#634
  • 优化上传文件过程中,内存消耗过大的问题。#659 @bestsort
  • 部分核心依赖升级。
  • 升级 Markdown 解析器版本。#695
  • 在初始化页面中,移除 0.x 迁移的功能,替换为数据导入功能。#633
  • 将文章设置的密码框放置于高级设置中。

Fixed

  • 修复附件偶发上传失败的问题。#581
  • 修复全站备份失败的问题。
  • 修复更新主题不触发缓存更新的问题。#553
  • 修复后台开发者选项中实时日志顺序有误的问题。#556
  • 修复邮件发送的部分问题。#584
  • 修复 sm.ms 无法上传的问题。#609
  • 修复 RSS 包含某些特殊符号时,无法正常访问的问题。#641
  • 修复某些 SQL 语句在 MySQL 中无法正常执行的问题。
  • 评论框 XSS 修复。#677
  • 修复文章设置中,标签选中后无法触发保存的问题。
  • 修复文章数量显示不准确的问题。#705
  • 修复在 iOS 浏览器中,菜单闪烁的问题。

升级步骤

  1. 由于这个版本修改了大量的主题 API,导致无法兼容旧版本主题,所以升级前请确保你正在使用的主题已经适配了 1.3.0。
  2. 备份数据:cp -r ~/.halo ~/.halo.bak
  3. 重命名(备份)旧运行包:mv halo-latest.jar halo-latest.jar.bak
  4. 下载新运行包:wget https://dl.halo.run/release/halo-1.3.0.jar -O halo-latest.jar
  5. 测试是否能够正常启动:java -jar halo-latest.jar
  6. 重启:service halo restart
  7. 更新主题。

注意事项

  1. 请务必确保你正在使用的主题已经适配了 1.3.0 再进行更新。目前在 https://github.com/halo-dev 下的主题均已适配 1.3.0。
  2. 更新前不要忘了备份数据,不管你是以什么方式部署的,都请备份 ~/.halo,当然,如果你使用 docker 部署,并修改了映射路径的话,就备份你的映射路径。
  3. 如果有使用 CDN 全站加速,请更新完毕后,刷新全站缓存,并清空浏览器缓存。

后期计划

我们计划这个版本发布之后,在短期内都不会再进行较大功能的开发,我们将在后面很长一段时间内做好这些事情:

  • 基础建设(主题和评论模块)。
  • 完善文档(主要为开发文档)。
  • 对已有功能进行改进(编辑器等)和 bug 修复。
  • 重构部分代码。
  • 安全性。
  • 运行包体积优化。
  • 资源消耗。
    所以,未来我们可能会频繁的发布小版本(至少比以前频繁),勿怪。主要是防止一味地更新功能,而没有照顾到其他更应该照顾的地方。如有其他功能的需要,请去 Github 提 issue 以做记录,我们等到 Halo 更加成熟稳定之后,再做打算。