拜托各位决定升级前好好看看下面更新内容和升级步骤,以及注意事项。

详情查看:https://github.com/halo-dev/halo/releases/tag/v1.3.0

更新教程:https://halo.run/archives/install-with-linux.html#%E6%9B%B4%E6%96%B0-halo

下面是 1.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 更加成熟稳定之后,再做打算。

强调一下

目前有人反馈,无法从旧版本直接升级到 1.3.0,也就是不能跨版本升级。那么如果你当前版本不是 1.2.0 的话,建议先升级到 1.2.0,再升级到 1.3.0。这个问题我们后面想办法处理一下,考虑移除数据库版本迁移工具。

再强调一下

由于 1.2.0 之前的版本有一个严重的安全漏洞,所以建议所有人尽快更新到 1.3.0。

    已经成功升级,一定要等待程序启动成功再进行其他操作,不然数据丢失了,花了一个小时才解决。

    另外一点,请不要去后台的关于更新版本,那个仅仅会更新 admin 的版本。最终你会因为 admin 和 后端的版本不一致而导致错误。正确的方式:https://halo.run/archives/install-with-linux.html#%E6%9B%B4%E6%96%B0-halo

    在新的版本已经移除了 admin 更新的功能以及版本显示,因为我们认为这个一个极易误导的功能。以后 admin 与 Halo 本身会成为一个整体,也就是同步更新。你无需再做任何操作。更新 Halo 只需要替换一个 jar。

      这就发布了啊, 好快啊! 正好, 我的又无法上传东西, 网络错误了. 正好更新重启下!

      先OB几天,等空下来再迁移一手。还是非常感谢楼主各种给力优化和不断更新,让我等在互联网上有个属于自己的小窝,舒服啊。

      奥利给!!!halo真的太棒了!!!

      我用docker部署的,原版本:1.2.0: 系统 -> 关于(提示更新) -> 在线更新(更新失败) -> 刷新页面 -> 现在一进后台这个API就报错:

      POST:{域名}/api/admin/options/map_view/keys -> Status Code:405 Methoc Not Allowed

      docker 日志:

      WARN 6 --- [ XNIO-1 task-1] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'POST' not supported]

      麻烦大佬们帮我们看看咋解决这个问题,同时我现在要怎么更新 halo 的版本(后台已经没有在线更新这个按钮了)

        附件上传中文名图片报错,原来的所有中文附件也404了。怎么解决。

        Ryan Wang 👍 另外一点,请不要去后台的关于更新版本,那个仅仅会更新 admin 的版本。最终你会因为 admin 和 后端的版本不一致而导致错误。正确的方式:https://halo.run/archives/install-with-linux.html#%E6%9B%B4%E6%96%B0-halo

        在新的版本已经移除了 admin 更新的功能以及版本显示,因为我们认为这个一个极易误导的功能。以后 admin 与 Halo 本身会成为一个整体,也就是同步更新。你无需再做任何操作。更新 Halo 只需要替换一个 jar。

        theboyaply

        [root@peng ~]# sudo service halo status
        Redirecting to /bin/systemctl status halo.service
        ● halo.service
           Loaded: loaded (/etc/systemd/system/halo.service; enabled; vendor preset: disabled)
           Active: active (running) since Sat 2020-03-28 14:57:40 CST; 3s ago
          Process: 16052 ExecStop=/bin/kill -s QUIT $MAINPID (code=exited, status=1/FAILURE)
         Main PID: 16055 (java)
           CGroup: /system.slice/halo.service
                   └─16055 /usr/bin/java -server -Xms256m -Xmx256m -jar /usr/local/src/halo/halo-latest.jar
        
        Mar 28 14:57:41 peng java[16055]: / / / /___ _/ /___
        Mar 28 14:57:41 peng java[16055]: / /_/ / __ `/ / __ \
        Mar 28 14:57:41 peng java[16055]: / __  / /_/ / / /_/ /
        Mar 28 14:57:41 peng java[16055]: /_/ /_/\__,_/_/\____/
        Mar 28 14:57:41 peng java[16055]: 
        Mar 28 14:57:41 peng java[16055]: Version: 1.3.0

        Java新手,请问这样是正常启动了吗?浏览器访问不到,之前1.2没问题,换了1.3的jar包就访问不了了。

          如果方便的话可以列出1.3.0版本支持的主题列表 我的Walker主题貌似没有对新版本做支持

            1.3.1 发布

            此版本为修复版,主要为了防止 fastjson 依赖之前爆出的高危漏洞会带来影响,这个版本建议都升级(没有升级 1.3.0 的可以直接升级这个版本),避免 fastjson 所带来的问题。

            Fixed

            • 修复自定义页面设置中的地址预览出现 undefined 的问题。
            • 升级 fastjson 版本为 1.2.67