mirror of https://github.com/halo-dev/halo
parent
1d25a58767
commit
ec6df79e7a
20
CHANGELOG.md
20
CHANGELOG.md
|
@ -1,5 +1,25 @@
|
|||
# CHANGELOG
|
||||
|
||||
# 1.5.1
|
||||
|
||||
## Bug Fixes
|
||||
|
||||
- 修复文章加密和分类加密功能的逻辑问题。 halo-dev/halo#1781 halo-dev/halo#1785 @guqing @qiany-sui
|
||||
- 修复文章和分类的链接带有中文时从密码页重定向到详情页面提示 404 的问题。 halo-dev/halo#1786 @guqing @hotspring-zwb
|
||||
- 修复使用 leveldb 缓存策略时,可能因为未清空缓存导致无法发布文章的问题。 halo-dev/halo#1787 @guqing
|
||||
- 修复后台菜单管理 `从系统预设链接添加菜单` 中选择独立页面无法创建菜单的问题。 halo-dev/halo-admin#520 @QuentinHsu
|
||||
- 修复后台布局设置中,`亮色菜单风格` 所使用的图标不正确的问题。 halo-dev/halo-admin#524 @QuentinHsu @wangzhen-fit2cloud
|
||||
- 修复后台首次创建文章时是否置顶按钮无法切换的问题。 halo-dev/halo-admin#525 halo-dev/halo-admin#530 @QuentinHsu @ruibaby @guqing
|
||||
- 修复后台在 SMTP 设置中测试邮件发送时,提示有误的问题。 halo-dev/halo-admin#526 @QuentinHsu @hapke24
|
||||
- 修复后台分类管理中当父分类为加密状态时,超过第二级子分类没有显示加密状态的问题。 halo-dev/halo-admin#527
|
||||
|
||||
## Dependencies
|
||||
|
||||
- 升级 Spring Boot 版本至 2.5.11,处理 [CVE-2022-22950: Spring Expression DoS Vulnerability](https://tanzu.vmware.com/security/cve-2022-22950) 中的安全性问题。 halo-dev/halo#1792 @guqing
|
||||
- 更新后台 @halo-dev/editor 版本。 halo-dev/halo-admin#529 @ruibaby
|
||||
- 统一编辑器字体在各个系统的表现。
|
||||
- 修复使用中文输入法的时候,候选框挡住当前行文字的问题。
|
||||
|
||||
# 1.5.0
|
||||
|
||||
## Breaking changes
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
下载最新的 Halo 运行包:
|
||||
|
||||
```bash
|
||||
curl -L https://github.com/halo-dev/halo/releases/download/v1.5.0/halo-1.5.0.jar --output halo.jar
|
||||
curl -L https://github.com/halo-dev/halo/releases/download/v1.5.1/halo-1.5.1.jar --output halo.jar
|
||||
```
|
||||
|
||||
其他地址:<https://docs.halo.run/getting-started/downloads>
|
||||
|
@ -41,7 +41,7 @@ java -jar halo.jar
|
|||
### Docker
|
||||
|
||||
```bash
|
||||
docker run -it -d --name halo -p 8090:8090 -v ~/.halo:/root/.halo --restart=always halohub/halo:1.5.0
|
||||
docker run -it -d --name halo -p 8090:8090 -v ~/.halo:/root/.halo --restart=always halohub/halo:1.5.1
|
||||
```
|
||||
|
||||
详细部署文档请查阅:<https://docs.halo.run/getting-started/install/linux>
|
||||
|
|
|
@ -1 +1 @@
|
|||
version=1.5.0-SNAPSHOT
|
||||
version=1.5.2-SNAPSHOT
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -1,4 +1,4 @@
|
|||
.showHeader-enter-active{transition:all .25s ease}.showHeader-leave-active{transition:all .5s ease}.showHeader-enter,.showHeader-leave-to{opacity:0}.setting-drawer-index-content .setting-drawer-index-blockChecbox[data-v-fb6bf264]{display:flex}.setting-drawer-index-content .setting-drawer-index-blockChecbox .setting-drawer-index-item[data-v-fb6bf264]{margin-right:16px;position:relative;border-radius:4px;cursor:pointer}.setting-drawer-index-content .setting-drawer-index-blockChecbox .setting-drawer-index-item img[data-v-fb6bf264]{width:48px}.setting-drawer-index-content .setting-drawer-index-blockChecbox .setting-drawer-index-item .setting-drawer-index-selectIcon[data-v-fb6bf264]{position:absolute;top:0;right:0;width:100%;padding-top:15px;padding-left:24px;height:100%;color:#1890ff;font-size:14px;font-weight:700}.setting-drawer-index-content .setting-drawer-theme-color-colorBlock[data-v-fb6bf264]{width:20px;height:20px;border-radius:2px;float:left;cursor:pointer;margin-right:8px;padding-left:0;padding-right:0;text-align:center;color:#fff;font-weight:700}.setting-drawer-index-content .setting-drawer-theme-color-colorBlock i[data-v-fb6bf264]{font-size:14px}.setting-drawer-index-handle[data-v-fb6bf264]{position:absolute;top:240px;background:#1890ff;width:48px;height:48px;right:300px;display:flex;justify-content:center;align-items:center;cursor:pointer;pointer-events:auto;z-index:1001;text-align:center;font-size:16px;border-radius:4px 0 0 4px}.setting-drawer-index-handle i[data-v-fb6bf264]{color:#fff;font-size:20px}
|
||||
.showHeader-enter-active{transition:all .25s ease}.showHeader-leave-active{transition:all .5s ease}.showHeader-enter,.showHeader-leave-to{opacity:0}.setting-drawer-index-content .setting-drawer-index-blockChecbox[data-v-fab50b24]{display:flex}.setting-drawer-index-content .setting-drawer-index-blockChecbox .setting-drawer-index-item[data-v-fab50b24]{margin-right:16px;position:relative;border-radius:4px;cursor:pointer}.setting-drawer-index-content .setting-drawer-index-blockChecbox .setting-drawer-index-item img[data-v-fab50b24]{width:48px}.setting-drawer-index-content .setting-drawer-index-blockChecbox .setting-drawer-index-item .setting-drawer-index-selectIcon[data-v-fab50b24]{position:absolute;top:0;right:0;width:100%;padding-top:15px;padding-left:24px;height:100%;color:#1890ff;font-size:14px;font-weight:700}.setting-drawer-index-content .setting-drawer-theme-color-colorBlock[data-v-fab50b24]{width:20px;height:20px;border-radius:2px;float:left;cursor:pointer;margin-right:8px;padding-left:0;padding-right:0;text-align:center;color:#fff;font-weight:700}.setting-drawer-index-content .setting-drawer-theme-color-colorBlock i[data-v-fab50b24]{font-size:14px}.setting-drawer-index-handle[data-v-fab50b24]{position:absolute;top:240px;background:#1890ff;width:48px;height:48px;right:300px;display:flex;justify-content:center;align-items:center;cursor:pointer;pointer-events:auto;z-index:1001;text-align:center;font-size:16px;border-radius:4px 0 0 4px}.setting-drawer-index-handle i[data-v-fab50b24]{color:#fff;font-size:20px}
|
||||
/*!
|
||||
* animate.css -https://daneden.github.io/animate.css/
|
||||
* Version - 3.7.2
|
|
@ -1 +1 @@
|
|||
<!doctype html><html lang="zh-cmn-Hans"><head><meta charset="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><meta name="renderer" content="webkit"><meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"/><meta name="robots" content="noindex,nofollow"/><meta name="generator" content="Halo 1.5.0"/><link rel="icon" href="/favicon.ico"/><title>Halo</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><script defer="defer" src="/js/chunk-vendors.ab83c46c.js"></script><script defer="defer" src="/js/app.70043560.js"></script><link href="/css/chunk-vendors.e6958125.css" rel="stylesheet"><link href="/css/app.2dbae0af.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but halo admin client doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"><div id="loader"></div></div></body></html>
|
||||
<!doctype html><html lang="zh-cmn-Hans"><head><meta charset="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><meta name="renderer" content="webkit"><meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"/><meta name="robots" content="noindex,nofollow"/><meta name="generator" content="Halo 1.5.1"/><link rel="icon" href="/favicon.ico"/><title>Halo</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><script defer="defer" src="/js/chunk-vendors.ab83c46c.js"></script><script defer="defer" src="/js/app.ea81c793.js"></script><link href="/css/chunk-vendors.e6958125.css" rel="stylesheet"><link href="/css/app.cfb56789.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but halo admin client doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"><div id="loader"></div></div></body></html>
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1 +1 @@
|
|||
"use strict";(self["webpackChunkhalo_admin"]=self["webpackChunkhalo_admin"]||[]).push([[229],{46229:function(t,e,a){a.r(e),a.d(e,{default:function(){return h}});var n=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("page-view",[a("a-card",{attrs:{bodyStyle:{padding:"16px"},bordered:!1}},[a("div",{staticClass:"table-operator"},[a("a-button",{attrs:{type:"danger"},on:{click:t.handleClearActionLogs}},[t._v("清空操作日志")])],1),a("div",{staticClass:"mt-4"},[a("a-table",{attrs:{columns:t.list.columns,dataSource:t.list.data,loading:t.list.loading,pagination:!1,rowKey:function(t){return t.id},scrollToFirstRowOnChange:!0},scopedSlots:t._u([{key:"type",fn:function(e){return[t._v(" "+t._s(t._f("typeConvert")(e))+" ")]}},{key:"ipAddress",fn:function(e){return[a("div",{staticClass:"blur hover:blur-none transition-all"},[t._v(t._s(e))])]}},{key:"createTime",fn:function(e){return[a("a-tooltip",{attrs:{placement:"top"}},[a("template",{slot:"title"},[t._v(" "+t._s(t._f("moment")(e))+" ")]),t._v(" "+t._s(t._f("timeAgo")(e))+" ")],2)]}}])}),a("div",{staticClass:"page-wrapper"},[a("a-pagination",{staticClass:"pagination",attrs:{current:t.pagination.page,defaultPageSize:t.pagination.size,pageSizeOptions:["10","20","50","100"],total:t.pagination.total,showLessItems:"",showSizeChanger:""},on:{change:t.handlePageChange,showSizeChange:t.handlePageSizeChange}})],1)],1)])],1)},i=[],s=a(29230),r=(a(41479),a(70315),a(22401)),o=a(62210),l=a(34069),c=[{title:"ID",dataIndex:"id"},{title:"类型",dataIndex:"type",scopedSlots:{customRender:"type"}},{title:"关键值",dataIndex:"logKey"},{title:"内容",dataIndex:"content"},{title:"IP",dataIndex:"ipAddress",scopedSlots:{customRender:"ipAddress"}},{title:"操作时间",dataIndex:"createTime",scopedSlots:{customRender:"createTime"}}],d={name:"ActionLog",components:{PageView:r.B4},data:function(){return{list:{columns:c,data:[],total:0,loading:!1,params:{page:0,size:50}}}},computed:{pagination:function(){return{page:this.list.params.page+1,size:this.list.params.size,total:this.list.total}}},created:function(){this.handleListActionLogs()},methods:{handleListActionLogs:function(){var t=this;return(0,s.Z)(regeneratorRuntime.mark((function e(){var a;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.prev=0,t.list.loading=!0,e.next=4,o.Z.log.list(t.list.params);case 4:a=e.sent,t.list.data=a.data.content,t.list.total=a.data.total,e.next=12;break;case 9:e.prev=9,e.t0=e["catch"](0),t.$log.error(e.t0);case 12:return e.prev=12,t.list.loading=!1,e.finish(12);case 15:case"end":return e.stop()}}),e,null,[[0,9,12,15]])})))()},handlePageChange:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;this.list.params.page=t-1,this.handleListActionLogs()},handlePageSizeChange:function(t,e){this.$log.debug("Current: ".concat(t,", PageSize: ").concat(e)),this.list.params.page=0,this.list.params.size=e,this.handleListActionLogs()},handleClearActionLogs:function(){var t=this;t.$confirm({title:"提示",maskClosable:!0,content:"是否确定要清空所有操作日志?",onOk:function(){return(0,s.Z)(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,o.Z.log.clear();case 3:e.next=8;break;case 5:e.prev=5,e.t0=e["catch"](0),t.$log.error("Failed to clear action logs.",e.t0);case 8:return e.prev=8,e.next=11,t.handleListActionLogs();case 11:return e.finish(8);case 12:case"end":return e.stop()}}),e,null,[[0,5,8,12]])})))()}})}},filters:{typeConvert:function(t){var e=l.Js[t];return e?e.text:t}}},u=d,p=a(42177),g=(0,p.Z)(u,n,i,!1,null,null,null),h=g.exports}}]);
|
||||
"use strict";(self["webpackChunkhalo_admin"]=self["webpackChunkhalo_admin"]||[]).push([[229],{46229:function(t,e,a){a.r(e),a.d(e,{default:function(){return h}});var n=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("page-view",[a("a-card",{attrs:{bodyStyle:{padding:"16px"},bordered:!1}},[a("div",{staticClass:"table-operator"},[a("a-button",{attrs:{type:"danger"},on:{click:t.handleClearActionLogs}},[t._v("清空操作日志")])],1),a("div",{staticClass:"mt-4"},[a("a-table",{attrs:{columns:t.list.columns,dataSource:t.list.data,loading:t.list.loading,pagination:!1,rowKey:function(t){return t.id},scrollToFirstRowOnChange:!0},scopedSlots:t._u([{key:"type",fn:function(e){return[t._v(" "+t._s(t._f("typeConvert")(e))+" ")]}},{key:"ipAddress",fn:function(e){return[a("div",{staticClass:"blur hover:blur-none transition-all"},[t._v(t._s(e))])]}},{key:"createTime",fn:function(e){return[a("a-tooltip",{attrs:{placement:"top"}},[a("template",{slot:"title"},[t._v(" "+t._s(t._f("moment")(e))+" ")]),t._v(" "+t._s(t._f("timeAgo")(e))+" ")],2)]}}])}),a("div",{staticClass:"page-wrapper"},[a("a-pagination",{staticClass:"pagination",attrs:{current:t.pagination.page,defaultPageSize:t.pagination.size,pageSizeOptions:["10","20","50","100"],total:t.pagination.total,showLessItems:"",showSizeChanger:""},on:{change:t.handlePageChange,showSizeChange:t.handlePageSizeChange}})],1)],1)])],1)},i=[],s=a(29230),r=(a(41479),a(70315),a(64083)),o=a(62210),l=a(34069),c=[{title:"ID",dataIndex:"id"},{title:"类型",dataIndex:"type",scopedSlots:{customRender:"type"}},{title:"关键值",dataIndex:"logKey"},{title:"内容",dataIndex:"content"},{title:"IP",dataIndex:"ipAddress",scopedSlots:{customRender:"ipAddress"}},{title:"操作时间",dataIndex:"createTime",scopedSlots:{customRender:"createTime"}}],d={name:"ActionLog",components:{PageView:r.B4},data:function(){return{list:{columns:c,data:[],total:0,loading:!1,params:{page:0,size:50}}}},computed:{pagination:function(){return{page:this.list.params.page+1,size:this.list.params.size,total:this.list.total}}},created:function(){this.handleListActionLogs()},methods:{handleListActionLogs:function(){var t=this;return(0,s.Z)(regeneratorRuntime.mark((function e(){var a;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.prev=0,t.list.loading=!0,e.next=4,o.Z.log.list(t.list.params);case 4:a=e.sent,t.list.data=a.data.content,t.list.total=a.data.total,e.next=12;break;case 9:e.prev=9,e.t0=e["catch"](0),t.$log.error(e.t0);case 12:return e.prev=12,t.list.loading=!1,e.finish(12);case 15:case"end":return e.stop()}}),e,null,[[0,9,12,15]])})))()},handlePageChange:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;this.list.params.page=t-1,this.handleListActionLogs()},handlePageSizeChange:function(t,e){this.$log.debug("Current: ".concat(t,", PageSize: ").concat(e)),this.list.params.page=0,this.list.params.size=e,this.handleListActionLogs()},handleClearActionLogs:function(){var t=this;t.$confirm({title:"提示",maskClosable:!0,content:"是否确定要清空所有操作日志?",onOk:function(){return(0,s.Z)(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,o.Z.log.clear();case 3:e.next=8;break;case 5:e.prev=5,e.t0=e["catch"](0),t.$log.error("Failed to clear action logs.",e.t0);case 8:return e.prev=8,e.next=11,t.handleListActionLogs();case 11:return e.finish(8);case 12:case"end":return e.stop()}}),e,null,[[0,5,8,12]])})))()}})}},filters:{typeConvert:function(t){var e=l.Js[t];return e?e.text:t}}},u=d,p=a(42177),g=(0,p.Z)(u,n,i,!1,null,null,null),h=g.exports}}]);
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1 +1 @@
|
|||
"use strict";(self["webpackChunkhalo_admin"]=self["webpackChunkhalo_admin"]||[]).push([[701],{99284:function(e,t,n){n.r(t),n.d(t,{default:function(){return y}});var o=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("page-view",[n("a-row",[n("a-col",{attrs:{span:24}},[e.options.developer_mode?n("div",{staticClass:"card-container"},[n("a-tabs",{attrs:{type:"card"},model:{value:e.activeKey,callback:function(t){e.activeKey=t},expression:"activeKey"}},e._l(e.panes,(function(t){return n("a-tab-pane",{key:t.key},[n("span",{attrs:{slot:"tab"},slot:"tab"},[n("a-icon",{attrs:{type:t.icon}}),e._v(e._s(t.title)+" ")],1),n(t.component,{tag:"component"})],1)})),1)],1):n("a-alert",{attrs:{description:"当前没有启用开发者选项,请启用之后再访问该页面!",message:"提示",showIcon:"",type:"error"}})],1)],1)],1)},i=[],a=n(94524),r=(n(31875),n(29888),n(45107),n(98906)),c=n(22401),s={components:{PageView:c.B4},data:function(){var e=[{title:"运行环境",icon:"safety",component:function(){return n.e(284).then(n.bind(n,9721))},key:"environment"},{title:"实时日志",icon:"code",component:function(){return Promise.all([n.e(742),n.e(192),n.e(164),n.e(457)]).then(n.bind(n,66457))},key:"runtimeLogs"},{title:"系统变量",icon:"table",component:function(){return n.e(105).then(n.bind(n,105))},key:"optionsList"},{title:"静态存储",icon:"cloud",component:function(){return Promise.all([n.e(742),n.e(177)]).then(n.bind(n,59177))},key:"staticStorage"},{title:"设置",icon:"setting",component:function(){return n.e(370).then(n.bind(n,86370))},key:"settings"}];return{activeKey:e[0].key,panes:e}},computed:(0,a.Z)({},(0,r.Se)(["options"])),beforeRouteEnter:function(e,t,n){var o=e.query.activeKey;n((function(e){o&&(e.activeKey=o)}))},watch:{activeKey:function(e){if(e){var t=this.$router.history.current.path;this.$router.push({path:t,query:{activeKey:e}}).catch((function(e){return e}))}}}},u=s,l=n(42177),p=(0,l.Z)(u,o,i,!1,null,null,null),y=p.exports}}]);
|
||||
"use strict";(self["webpackChunkhalo_admin"]=self["webpackChunkhalo_admin"]||[]).push([[701],{99284:function(e,t,n){n.r(t),n.d(t,{default:function(){return y}});var o=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("page-view",[n("a-row",[n("a-col",{attrs:{span:24}},[e.options.developer_mode?n("div",{staticClass:"card-container"},[n("a-tabs",{attrs:{type:"card"},model:{value:e.activeKey,callback:function(t){e.activeKey=t},expression:"activeKey"}},e._l(e.panes,(function(t){return n("a-tab-pane",{key:t.key},[n("span",{attrs:{slot:"tab"},slot:"tab"},[n("a-icon",{attrs:{type:t.icon}}),e._v(e._s(t.title)+" ")],1),n(t.component,{tag:"component"})],1)})),1)],1):n("a-alert",{attrs:{description:"当前没有启用开发者选项,请启用之后再访问该页面!",message:"提示",showIcon:"",type:"error"}})],1)],1)],1)},i=[],a=n(94524),r=(n(31875),n(29888),n(45107),n(98906)),c=n(64083),s={components:{PageView:c.B4},data:function(){var e=[{title:"运行环境",icon:"safety",component:function(){return n.e(284).then(n.bind(n,9721))},key:"environment"},{title:"实时日志",icon:"code",component:function(){return Promise.all([n.e(742),n.e(192),n.e(164),n.e(457)]).then(n.bind(n,66457))},key:"runtimeLogs"},{title:"系统变量",icon:"table",component:function(){return n.e(105).then(n.bind(n,105))},key:"optionsList"},{title:"静态存储",icon:"cloud",component:function(){return Promise.all([n.e(742),n.e(177)]).then(n.bind(n,59177))},key:"staticStorage"},{title:"设置",icon:"setting",component:function(){return n.e(370).then(n.bind(n,86370))},key:"settings"}];return{activeKey:e[0].key,panes:e}},computed:(0,a.Z)({},(0,r.Se)(["options"])),beforeRouteEnter:function(e,t,n){var o=e.query.activeKey;n((function(e){o&&(e.activeKey=o)}))},watch:{activeKey:function(e){if(e){var t=this.$router.history.current.path;this.$router.push({path:t,query:{activeKey:e}}).catch((function(e){return e}))}}}},u=s,l=n(42177),p=(0,l.Z)(u,o,i,!1,null,null,null),y=p.exports}}]);
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue