提交 89dc411b 编写于 作者: RYAN0UP's avatar RYAN0UP

release: 1.3.0

上级 abaaadaf
# CHANGELOG
# 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. 重启:`service halo restart`
6. 更新主题。
## 注意事项
1. 请务必确保你正在使用的主题已经适配了 1.3.0 再进行更新。目前在 `https://github.com/halo-dev` 下的主题均已适配 1.3.0。
2. 更新前不要忘了备份数据,不管你是以什么方式部署的,都请备份 `~/.halo`,当然,如果你使用 docker 部署,并修改了映射路径的话,就备份你的映射路径。
3. 如果有使用 CDN 全站加速,请更新完毕后,刷新全站缓存,并清空浏览器缓存。
## 后期计划
我们计划这个版本发布之后,在短期内都不会再进行较大功能的开发,我们将在后面很长一段时间内做好这些事情:
- 基础建设(主题和评论模块)。
- 完善文档(主要为开发文档)。
- 对已有功能进行改进(编辑器等)和 bug 修复。
- 重构部分代码。
- 安全性。
- 运行包体积优化。
- 资源消耗。
所以,未来我们可能会频繁的发布小版本(至少比以前频繁),勿怪。主要是防止一味地更新功能,而没有照顾到其他更应该照顾的地方。如有其他功能的需要,请去 Github 提 issue 以做记录,我们等到 Halo 更加成熟稳定之后,再做打算。
# 1.2.0
## Feature
......
......@@ -26,7 +26,7 @@
另外,写给想自己拉代码编译运行的同学:
> 目前我们的开发分支即 master,肯定会有很多小问题,不要运行不起来就跑过来吐槽什么代码开源不完整之类的,多找找自己的原因。同时建议下载最新 release 版本的代码,或者在 master 分支执行 `git checkout v1.2.0`。
> 目前我们的开发分支即 master,肯定会有很多小问题,不要运行不起来就跑过来吐槽什么代码开源不完整之类的,多找找自己的原因。同时建议下载最新 release 版本的代码,或者在 master 分支执行 `git checkout v1.3.0`。
PS:实在不想写这个声明(影响 README 的美观),但是就目前来看,写在 README 上是有必要的,因为大部分遇到问题的人都不会去仔细阅读文档。
......@@ -35,13 +35,13 @@ PS:实在不想写这个声明(影响 README 的美观),但是就目前
### 下载最新的 Halo 安装包
```bash
curl -L https://github.com/halo-dev/halo/releases/download/v1.2.0/halo-1.2.0.jar --output halo-latest.jar
curl -L https://github.com/halo-dev/halo/releases/download/v1.3.0/halo-1.3.0.jar --output halo-latest.jar
```
或者
```bash
wget https://github.com/halo-dev/halo/releases/download/v1.2.0/halo-1.2.0.jar -O halo-latest.jar
wget https://github.com/halo-dev/halo/releases/download/v1.3.0/halo-1.3.0.jar -O halo-latest.jar
```
### 启动 Halo
......
......@@ -6,7 +6,7 @@ plugins {
}
group = 'run.halo.app'
version = '1.3.0-beta.4'
version = '1.3.0'
description = 'Halo, An excellent open source blog publishing application.'
java {
......
<!DOCTYPE html><html lang=zh-cmn-Hans><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"><meta name=robots content=noindex,nofllow><meta name=generator content="Halo 1.3.0-beta.4"><link rel=icon href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0-beta.4/dist/logo.png><title>Halo Dashboard</title><style>body {height: 100%;background-color: #f5f5f5;}#loader{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;border:solid 3px #e5e5e5;border-top-color:#333;border-radius:50%;width:30px;height:30px;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}</style><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0-beta.4/dist/css/chunk-0b44f908.c76aeee1.css rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0-beta.4/dist/css/chunk-39955e50.e76ee991.css rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0-beta.4/dist/css/chunk-7e9c61cd.e32891ce.css rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0-beta.4/dist/css/chunk-966610cc.be194fd2.css rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0-beta.4/dist/css/chunk-d88240c2.473c30ca.css rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0-beta.4/dist/js/chunk-068aa3f1.f14ff5d0.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0-beta.4/dist/js/chunk-0b44f908.c73e4eb1.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0-beta.4/dist/js/chunk-17f8cd22.01eb3adc.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0-beta.4/dist/js/chunk-1b10433b.9cac2223.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0-beta.4/dist/js/chunk-27659703.f4d26ac3.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0-beta.4/dist/js/chunk-2d0b383e.c47c541a.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0-beta.4/dist/js/chunk-2d0b64bf.8868d2f4.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0-beta.4/dist/js/chunk-2d0b8b03.a1567ed0.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0-beta.4/dist/js/chunk-2d0ba57a.860796aa.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0-beta.4/dist/js/chunk-2d0cf13d.ff57b3b6.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0-beta.4/dist/js/chunk-2d213307.00914f0b.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0-beta.4/dist/js/chunk-2d2165e6.79744702.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0-beta.4/dist/js/chunk-2d221c57.59363324.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0-beta.4/dist/js/chunk-2d228c74.dadd0b67.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0-beta.4/dist/js/chunk-2d228d13.78ef6c55.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0-beta.4/dist/js/chunk-39955e50.cf79f71b.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0-beta.4/dist/js/chunk-3c38e9a4.cc5d7848.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0-beta.4/dist/js/chunk-528a0184.930e4924.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0-beta.4/dist/js/chunk-5889a1fc.e4b18c86.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0-beta.4/dist/js/chunk-5b9394ac.b0437681.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0-beta.4/dist/js/chunk-76ee4b7f.d67e320a.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0-beta.4/dist/js/chunk-7e9c61cd.0f2d6311.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0-beta.4/dist/js/chunk-966610cc.ef6b6241.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0-beta.4/dist/js/chunk-a87c1354.a0560624.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0-beta.4/dist/js/chunk-d88240c2.35ac8a24.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0-beta.4/dist/js/chunk-db6b8cbe.502531c8.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0-beta.4/dist/js/chunk-ec5bbb3c.22a1d1ab.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0-beta.4/dist/js/chunk-f04cc1dc.8d9a40f7.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0-beta.4/dist/css/app.98eb780d.css rel=preload as=style><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0-beta.4/dist/css/chunk-vendors.fbe63da7.css rel=preload as=style><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0-beta.4/dist/js/app.4d03ddb7.js rel=preload as=script><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0-beta.4/dist/js/chunk-vendors.a825ab30.js rel=preload as=script><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0-beta.4/dist/css/chunk-vendors.fbe63da7.css rel=stylesheet><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0-beta.4/dist/css/app.98eb780d.css rel=stylesheet></head><body><noscript><strong>We're sorry but vue-antd-pro doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app><div id=loader></div></div><script src=https://cdn.jsdelivr.net/npm/vue@2.6.11/dist/vue.min.js></script><script src=https://cdn.jsdelivr.net/npm/vue-router@3.1.3/dist/vue-router.min.js></script><script src=https://cdn.jsdelivr.net/npm/vuex@3.1.1/dist/vuex.min.js></script><script src=https://cdn.jsdelivr.net/npm/axios@0.19.0/dist/axios.min.js></script><script src=https://cdn.jsdelivr.net/npm/marked@0.8.0/marked.min.js></script><script src=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0-beta.4/dist/js/chunk-vendors.a825ab30.js></script><script src=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0-beta.4/dist/js/app.4d03ddb7.js></script></body></html>
\ No newline at end of file
<!DOCTYPE html><html lang=zh-cmn-Hans><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"><meta name=robots content=noindex,nofllow><meta name=generator content="Halo 1.3.0"><link rel=icon href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0/dist/logo.png><title>Halo Dashboard</title><style>body {height: 100%;background-color: #f5f5f5;}#loader{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;border:solid 3px #e5e5e5;border-top-color:#333;border-radius:50%;width:30px;height:30px;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}</style><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0/dist/css/chunk-0b44f908.c76aeee1.css rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0/dist/css/chunk-39955e50.e76ee991.css rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0/dist/css/chunk-7e9c61cd.e32891ce.css rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0/dist/css/chunk-966610cc.be194fd2.css rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0/dist/css/chunk-d88240c2.473c30ca.css rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0/dist/js/chunk-068aa3f1.8ec27c3f.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0/dist/js/chunk-0b44f908.85c7e697.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0/dist/js/chunk-17f8cd22.d7a31ff5.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0/dist/js/chunk-1b10433b.bb15655d.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0/dist/js/chunk-27659703.d9966ea2.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0/dist/js/chunk-2d0b383e.ef3a6907.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0/dist/js/chunk-2d0b64bf.ffef597d.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0/dist/js/chunk-2d0b8b03.7bffbc1d.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0/dist/js/chunk-2d0ba57a.ac4bcfd4.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0/dist/js/chunk-2d0cf13d.67bc9b1f.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0/dist/js/chunk-2d213307.6cc73546.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0/dist/js/chunk-2d2165e6.d03ad4d7.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0/dist/js/chunk-2d221c57.0102f040.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0/dist/js/chunk-2d228c74.f4e59128.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0/dist/js/chunk-2d228d13.1d49167d.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0/dist/js/chunk-39955e50.2030857e.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0/dist/js/chunk-3c38e9a4.ae2cbb9c.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0/dist/js/chunk-528a0184.87af25a5.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0/dist/js/chunk-5889a1fc.c001b76f.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0/dist/js/chunk-5b9394ac.aa568c46.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0/dist/js/chunk-76ee4b7f.5153e8c1.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0/dist/js/chunk-7e9c61cd.d4d0a98f.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0/dist/js/chunk-966610cc.0b1d0392.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0/dist/js/chunk-a87c1354.4ed085fa.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0/dist/js/chunk-d88240c2.751db3ef.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0/dist/js/chunk-db6b8cbe.f2d5d605.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0/dist/js/chunk-ec5bbb3c.930c6e0b.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0/dist/js/chunk-f04cc1dc.afbaf3e8.js rel=prefetch><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0/dist/css/app.98eb780d.css rel=preload as=style><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0/dist/css/chunk-vendors.fbe63da7.css rel=preload as=style><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0/dist/js/app.675317f0.js rel=preload as=script><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0/dist/js/chunk-vendors.631888d9.js rel=preload as=script><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0/dist/css/chunk-vendors.fbe63da7.css rel=stylesheet><link href=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0/dist/css/app.98eb780d.css rel=stylesheet></head><body><noscript><strong>We're sorry but vue-antd-pro doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app><div id=loader></div></div><script src=https://cdn.jsdelivr.net/npm/vue@2.6.11/dist/vue.min.js></script><script src=https://cdn.jsdelivr.net/npm/vue-router@3.1.3/dist/vue-router.min.js></script><script src=https://cdn.jsdelivr.net/npm/vuex@3.1.1/dist/vuex.min.js></script><script src=https://cdn.jsdelivr.net/npm/axios@0.19.0/dist/axios.min.js></script><script src=https://cdn.jsdelivr.net/npm/marked@0.8.0/marked.min.js></script><script src=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0/dist/js/chunk-vendors.631888d9.js></script><script src=https://cdn.jsdelivr.net/npm/halo-admin@1.3.0/dist/js/app.675317f0.js></script></body></html>
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册