You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tubemq.apache.org by gi...@apache.org on 2021/03/05 11:40:58 UTC

[incubator-tubemq-website] branch asf-site updated: Automated deployment: Fri Mar 5 11:40:49 UTC 2021 cd1d888847f19b514f5e99ae4e8b706165197a52

This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/incubator-tubemq-website.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new ea9743c  Automated deployment: Fri Mar  5 11:40:49 UTC 2021 cd1d888847f19b514f5e99ae4e8b706165197a52
ea9743c is described below

commit ea9743c63bccbe1ae9fed02b6b9ff75ce6c95fc6
Author: gosonzhang <go...@users.noreply.github.com>
AuthorDate: Fri Mar 5 11:40:49 2021 +0000

    Automated deployment: Fri Mar  5 11:40:49 UTC 2021 cd1d888847f19b514f5e99ae4e8b706165197a52
---
 build/blog.js                          |  22 +-
 build/blogDetail.js                    |  22 +-
 build/community.js                     |  22 +-
 build/documentation.js                 |  22 +-
 build/home.js                          |  22 +-
 docs/en-us/download/download.md        |   9 +-
 docs/en-us/download/release-0.8.0.md   | 102 ++++++++
 docs/zh-cn/download/download.md        |   8 +-
 docs/zh-cn/download/release-0.8.0.md   | 100 ++++++++
 en-us/docs/download/download.html      |  10 +-
 en-us/docs/download/download.json      |   2 +-
 en-us/docs/download/download.md        |   9 +-
 en-us/docs/download/release-0.8.0.html | 446 +++++++++++++++++++++++++++++++++
 en-us/docs/download/release-0.8.0.json |   8 +
 en-us/docs/download/release-0.8.0.md   | 102 ++++++++
 zh-cn/docs/download/download.html      |  10 +-
 zh-cn/docs/download/download.json      |   2 +-
 zh-cn/docs/download/download.md        |   8 +-
 zh-cn/docs/download/release-0.8.0.md   | 100 ++++++++
 19 files changed, 963 insertions(+), 63 deletions(-)

diff --git a/build/blog.js b/build/blog.js
index 0626b6f..1e0c0bd 100644
--- a/build/blog.js
+++ b/build/blog.js
@@ -1,16 +1,16 @@
-!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/build/",t(t.s=122 [...]
+!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/build/",t(t.s=122 [...]
   Copyright (c) 2017 Jed Watson.
   Licensed under the MIT License (MIT), see
   http://jedwatson.github.io/classnames
 */
-!function(){"use strict";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r)&&r.length){var a=n.apply(null,r);a&&e.push(a)}else if("object"===o)for(var c in r)i.call(r,c)&&r[c]&&e.push(c)}}return e.join(" ")}var i={}.hasOwnProperty;void 0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){(function(e){var t [...]
+!function(){"use strict";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r)&&r.length){var a=n.apply(null,r);a&&e.push(a)}else if("object"===o)for(var c in r)i.call(r,c)&&r[c]&&e.push(c)}}return e.join(" ")}var i={}.hasOwnProperty;void 0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){(function(e){var t [...]
 //! moment.js
-return sa.isValid=Dt,sa.abs=zr,sa.add=Nr,sa.subtract=Vr,sa.as=Ir,sa.asMilliseconds=Ki,sa.asSeconds=Wi,sa.asMinutes=Bi,sa.asHours=Ui,sa.asDays=qi,sa.asWeeks=Gi,sa.asMonths=Ji,sa.asQuarters=Xi,sa.asYears=$i,sa.valueOf=Kr,sa._bubble=Ar,sa.clone=Br,sa.get=Ur,sa.milliseconds=Zi,sa.seconds=Qi,sa.minutes=ea,sa.hours=ta,sa.days=na,sa.weeks=Gr,sa.months=ra,sa.years=oa,sa.humanize=Qr,sa.toISOString=to,sa.toString=to,sa.toJSON=to,sa.locale=Pn,sa.localeData=jn,sa.toIsoString=M("toIsoString() is depr [...]
+return sa.isValid=Dt,sa.abs=zr,sa.add=Nr,sa.subtract=Vr,sa.as=Ir,sa.asMilliseconds=Ki,sa.asSeconds=Wi,sa.asMinutes=Bi,sa.asHours=Ui,sa.asDays=qi,sa.asWeeks=Gi,sa.asMonths=Ji,sa.asQuarters=Xi,sa.asYears=$i,sa.valueOf=Kr,sa._bubble=Ar,sa.clone=Br,sa.get=Ur,sa.milliseconds=Zi,sa.seconds=Qi,sa.minutes=ea,sa.hours=ta,sa.days=na,sa.weeks=Gr,sa.months=ra,sa.years=oa,sa.humanize=Qr,sa.toISOString=to,sa.toString=to,sa.toJSON=to,sa.locale=Pn,sa.localeData=jn,sa.toIsoString=M("toIsoString() is depr [...]
 object-assign
 (c) Sindre Sorhus
 @license MIT
 */
-var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn [...]
+var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn [...]
 //! moment.js locale configuration
 var t=function(e){return 0===e?0:1===e?1:2===e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},n={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d ش [...]
 //! moment.js locale configuration
@@ -142,7 +142,7 @@ var t={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:
 //! moment.js locale configuration
 function t(e,t){var n=e.split("_");return t%10==1&&t%100!=11?n[0]:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?n[1]:n[2]}function n(e,n,r){var o={ss:n?"секунда_секунди_секунд":"секунду_секунди_секунд",mm:n?"хвилина_хвилини_хвилин":"хвилину_хвилини_хвилин",hh:n?"година_години_годин":"годину_години_годин",dd:"день_дні_днів",MM:"місяць_місяці_місяців",yy:"рік_роки_років"};return"m"===r?n?"хвилина":"хвилину":"h"===r?n?"година":"годину":e+" "+t(o[r],+e)}function r(e,t){var n,r={nominative:"неділя_ [...]
 //! moment.js locale configuration
-var t=["جنوری","فروری","مارچ","اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر"],n=["اتوار","پیر","منگل","بدھ","جمعرات","جمعہ","ہفتہ"];return e.defineLocale("ur",{months:t,monthsShort:t,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(e){return"شام"===e},meridiem:function(e,t,n){return e<12?"صبح":"شام"},calendar [...]
+var t=["جنوری","فروری","مارچ","اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر"],n=["اتوار","پیر","منگل","بدھ","جمعرات","جمعہ","ہفتہ"];return e.defineLocale("ur",{months:t,monthsShort:t,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(e){return"شام"===e},meridiem:function(e,t,n){return e<12?"صبح":"شام"},calendar [...]
  * react-is.production.min.js
  *
  * Copyright (c) Facebook, Inc. and its affiliates.
@@ -150,20 +150,20 @@ var t=["جنوری","فروری","مارچ","اپریل","مئی","جون","جو
  * This source code is licensed under the MIT license found in the
  * LICENSE file in the root directory of this source tree.
  */
-var i="function"==typeof Symbol&&Symbol.for,a=i?Symbol.for("react.element"):60103,c=i?Symbol.for("react.portal"):60106,s=i?Symbol.for("react.fragment"):60107,l=i?Symbol.for("react.strict_mode"):60108,u=i?Symbol.for("react.profiler"):60114,f=i?Symbol.for("react.provider"):60109,p=i?Symbol.for("react.context"):60110,d=i?Symbol.for("react.async_mode"):60111,h=i?Symbol.for("react.concurrent_mode"):60111,m=i?Symbol.for("react.forward_ref"):60112,v=i?Symbol.for("react.suspense"):60113,y=i?Symb [...]
- * UAParser.js v0.7.23
+var i="function"==typeof Symbol&&Symbol.for,a=i?Symbol.for("react.element"):60103,c=i?Symbol.for("react.portal"):60106,s=i?Symbol.for("react.fragment"):60107,l=i?Symbol.for("react.strict_mode"):60108,u=i?Symbol.for("react.profiler"):60114,f=i?Symbol.for("react.provider"):60109,p=i?Symbol.for("react.context"):60110,d=i?Symbol.for("react.async_mode"):60111,h=i?Symbol.for("react.concurrent_mode"):60111,m=i?Symbol.for("react.forward_ref"):60112,v=i?Symbol.for("react.suspense"):60113,y=i?Symb [...]
+ * UAParser.js v0.7.24
  * Lightweight JavaScript-based User-Agent string parser
  * https://github.com/faisalman/ua-parser-js
  *
- * Copyright © 2012-2019 Faisal Salman <f...@faisalman.com>
+ * Copyright © 2012-2021 Faisal Salman <f...@faisalman.com>
  * Licensed under MIT License
  */
 !function(o,i){"use strict";var a="model",c="name",s="type",l="vendor",u="version",f="mobile",p="tablet",d="smarttv",h={extend:function(e,t){var n={};for(var r in e)t[r]&&t[r].length%2==0?n[r]=t[r].concat(e[r]):n[r]=e[r];return n},has:function(e,t){return"string"==typeof e&&-1!==t.toLowerCase().indexOf(e.toLowerCase())},lowerize:function(e){return e.toLowerCase()},major:function(e){/*!
- * UAParser.js v0.7.23
+ * UAParser.js v0.7.24
  * Lightweight JavaScript-based User-Agent string parser
  * https://github.com/faisalman/ua-parser-js
  *
- * Copyright © 2012-2019 Faisal Salman <f...@faisalman.com>
+ * Copyright © 2012-2021 Faisal Salman <f...@faisalman.com>
  * Licensed under MIT License
  */
-return"string"==typeof e?e.replace(/[^\d\.]/g,"").split(".")[0]:void 0},trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},m={rgx:function(e,t){for(var n,r,o,i,a,c,s=0;s<t.length&&!a;){var l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!a;)if(a=l[n++].exec(e))for(o=0;o<u.length;o++)c=a[++r],i=u[o],"object"==typeof i&&i.length>0?2==i.length?"function"==typeof i[1]?this[i[0]]=i[1].call(this,c):this[i[0]]=i[1]:3==i.length?"function"!=typeof i[1]||i[1].exec&&i[1].test?this[i [...]
\ No newline at end of file
+return"string"==typeof e?e.replace(/[^\d\.]/g,"").split(".")[0]:void 0},trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},m={rgx:function(e,t){for(var n,r,o,i,a,c,s=0;s<t.length&&!a;){var l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!a;)if(a=l[n++].exec(e))for(o=0;o<u.length;o++)c=a[++r],i=u[o],"object"==typeof i&&i.length>0?2==i.length?"function"==typeof i[1]?this[i[0]]=i[1].call(this,c):this[i[0]]=i[1]:3==i.length?"function"!=typeof i[1]||i[1].exec&&i[1].test?this[i [...]
\ No newline at end of file
diff --git a/build/blogDetail.js b/build/blogDetail.js
index ed91762..94572dc 100644
--- a/build/blogDetail.js
+++ b/build/blogDetail.js
@@ -1,16 +1,16 @@
-!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/build/",t(t.s=122 [...]
+!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/build/",t(t.s=122 [...]
   Copyright (c) 2017 Jed Watson.
   Licensed under the MIT License (MIT), see
   http://jedwatson.github.io/classnames
 */
-!function(){"use strict";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r)&&r.length){var a=n.apply(null,r);a&&e.push(a)}else if("object"===o)for(var c in r)i.call(r,c)&&r[c]&&e.push(c)}}return e.join(" ")}var i={}.hasOwnProperty;void 0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){(function(e){var t [...]
+!function(){"use strict";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r)&&r.length){var a=n.apply(null,r);a&&e.push(a)}else if("object"===o)for(var c in r)i.call(r,c)&&r[c]&&e.push(c)}}return e.join(" ")}var i={}.hasOwnProperty;void 0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){(function(e){var t [...]
 //! moment.js
-return sa.isValid=Dt,sa.abs=zr,sa.add=Nr,sa.subtract=Vr,sa.as=Ir,sa.asMilliseconds=Ki,sa.asSeconds=Wi,sa.asMinutes=Bi,sa.asHours=Ui,sa.asDays=qi,sa.asWeeks=Gi,sa.asMonths=Ji,sa.asQuarters=Xi,sa.asYears=$i,sa.valueOf=Kr,sa._bubble=Yr,sa.clone=Br,sa.get=Ur,sa.milliseconds=Zi,sa.seconds=Qi,sa.minutes=ea,sa.hours=ta,sa.days=na,sa.weeks=Gr,sa.months=ra,sa.years=oa,sa.humanize=Qr,sa.toISOString=to,sa.toString=to,sa.toJSON=to,sa.locale=Pn,sa.localeData=jn,sa.toIsoString=M("toIsoString() is depr [...]
+return sa.isValid=Dt,sa.abs=zr,sa.add=Nr,sa.subtract=Vr,sa.as=Ir,sa.asMilliseconds=Ki,sa.asSeconds=Wi,sa.asMinutes=Bi,sa.asHours=Ui,sa.asDays=qi,sa.asWeeks=Gi,sa.asMonths=Ji,sa.asQuarters=Xi,sa.asYears=$i,sa.valueOf=Kr,sa._bubble=Yr,sa.clone=Br,sa.get=Ur,sa.milliseconds=Zi,sa.seconds=Qi,sa.minutes=ea,sa.hours=ta,sa.days=na,sa.weeks=Gr,sa.months=ra,sa.years=oa,sa.humanize=Qr,sa.toISOString=to,sa.toString=to,sa.toJSON=to,sa.locale=Pn,sa.localeData=jn,sa.toIsoString=M("toIsoString() is depr [...]
 object-assign
 (c) Sindre Sorhus
 @license MIT
 */
-var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn [...]
+var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn [...]
 //! moment.js locale configuration
 var t=function(e){return 0===e?0:1===e?1:2===e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},n={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d ش [...]
 //! moment.js locale configuration
@@ -142,7 +142,7 @@ var t={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:
 //! moment.js locale configuration
 function t(e,t){var n=e.split("_");return t%10==1&&t%100!=11?n[0]:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?n[1]:n[2]}function n(e,n,r){var o={ss:n?"секунда_секунди_секунд":"секунду_секунди_секунд",mm:n?"хвилина_хвилини_хвилин":"хвилину_хвилини_хвилин",hh:n?"година_години_годин":"годину_години_годин",dd:"день_дні_днів",MM:"місяць_місяці_місяців",yy:"рік_роки_років"};return"m"===r?n?"хвилина":"хвилину":"h"===r?n?"година":"годину":e+" "+t(o[r],+e)}function r(e,t){var n,r={nominative:"неділя_ [...]
 //! moment.js locale configuration
-var t=["جنوری","فروری","مارچ","اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر"],n=["اتوار","پیر","منگل","بدھ","جمعرات","جمعہ","ہفتہ"];return e.defineLocale("ur",{months:t,monthsShort:t,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(e){return"شام"===e},meridiem:function(e,t,n){return e<12?"صبح":"شام"},calendar [...]
+var t=["جنوری","فروری","مارچ","اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر"],n=["اتوار","پیر","منگل","بدھ","جمعرات","جمعہ","ہفتہ"];return e.defineLocale("ur",{months:t,monthsShort:t,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(e){return"شام"===e},meridiem:function(e,t,n){return e<12?"صبح":"شام"},calendar [...]
  * react-is.production.min.js
  *
  * Copyright (c) Facebook, Inc. and its affiliates.
@@ -150,20 +150,20 @@ var t=["جنوری","فروری","مارچ","اپریل","مئی","جون","جو
  * This source code is licensed under the MIT license found in the
  * LICENSE file in the root directory of this source tree.
  */
-var i="function"==typeof Symbol&&Symbol.for,a=i?Symbol.for("react.element"):60103,c=i?Symbol.for("react.portal"):60106,s=i?Symbol.for("react.fragment"):60107,l=i?Symbol.for("react.strict_mode"):60108,u=i?Symbol.for("react.profiler"):60114,f=i?Symbol.for("react.provider"):60109,p=i?Symbol.for("react.context"):60110,d=i?Symbol.for("react.async_mode"):60111,h=i?Symbol.for("react.concurrent_mode"):60111,m=i?Symbol.for("react.forward_ref"):60112,v=i?Symbol.for("react.suspense"):60113,y=i?Symb [...]
- * UAParser.js v0.7.23
+var i="function"==typeof Symbol&&Symbol.for,a=i?Symbol.for("react.element"):60103,c=i?Symbol.for("react.portal"):60106,s=i?Symbol.for("react.fragment"):60107,l=i?Symbol.for("react.strict_mode"):60108,u=i?Symbol.for("react.profiler"):60114,f=i?Symbol.for("react.provider"):60109,p=i?Symbol.for("react.context"):60110,d=i?Symbol.for("react.async_mode"):60111,h=i?Symbol.for("react.concurrent_mode"):60111,m=i?Symbol.for("react.forward_ref"):60112,v=i?Symbol.for("react.suspense"):60113,y=i?Symb [...]
+ * UAParser.js v0.7.24
  * Lightweight JavaScript-based User-Agent string parser
  * https://github.com/faisalman/ua-parser-js
  *
- * Copyright © 2012-2019 Faisal Salman <f...@faisalman.com>
+ * Copyright © 2012-2021 Faisal Salman <f...@faisalman.com>
  * Licensed under MIT License
  */
 !function(o,i){"use strict";var a="model",c="name",s="type",l="vendor",u="version",f="mobile",p="tablet",d="smarttv",h={extend:function(e,t){var n={};for(var r in e)t[r]&&t[r].length%2==0?n[r]=t[r].concat(e[r]):n[r]=e[r];return n},has:function(e,t){return"string"==typeof e&&-1!==t.toLowerCase().indexOf(e.toLowerCase())},lowerize:function(e){return e.toLowerCase()},major:function(e){/*!
- * UAParser.js v0.7.23
+ * UAParser.js v0.7.24
  * Lightweight JavaScript-based User-Agent string parser
  * https://github.com/faisalman/ua-parser-js
  *
- * Copyright © 2012-2019 Faisal Salman <f...@faisalman.com>
+ * Copyright © 2012-2021 Faisal Salman <f...@faisalman.com>
  * Licensed under MIT License
  */
-return"string"==typeof e?e.replace(/[^\d\.]/g,"").split(".")[0]:void 0},trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},m={rgx:function(e,t){for(var n,r,o,i,a,c,s=0;s<t.length&&!a;){var l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!a;)if(a=l[n++].exec(e))for(o=0;o<u.length;o++)c=a[++r],i=u[o],"object"==typeof i&&i.length>0?2==i.length?"function"==typeof i[1]?this[i[0]]=i[1].call(this,c):this[i[0]]=i[1]:3==i.length?"function"!=typeof i[1]||i[1].exec&&i[1].test?this[i [...]
\ No newline at end of file
+return"string"==typeof e?e.replace(/[^\d\.]/g,"").split(".")[0]:void 0},trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},m={rgx:function(e,t){for(var n,r,o,i,a,c,s=0;s<t.length&&!a;){var l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!a;)if(a=l[n++].exec(e))for(o=0;o<u.length;o++)c=a[++r],i=u[o],"object"==typeof i&&i.length>0?2==i.length?"function"==typeof i[1]?this[i[0]]=i[1].call(this,c):this[i[0]]=i[1]:3==i.length?"function"!=typeof i[1]||i[1].exec&&i[1].test?this[i [...]
\ No newline at end of file
diff --git a/build/community.js b/build/community.js
index d6e8b57..04d86b0 100644
--- a/build/community.js
+++ b/build/community.js
@@ -1,16 +1,16 @@
-!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/build/",t(t.s=122 [...]
+!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/build/",t(t.s=122 [...]
   Copyright (c) 2017 Jed Watson.
   Licensed under the MIT License (MIT), see
   http://jedwatson.github.io/classnames
 */
-!function(){"use strict";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r)&&r.length){var a=n.apply(null,r);a&&e.push(a)}else if("object"===o)for(var c in r)i.call(r,c)&&r[c]&&e.push(c)}}return e.join(" ")}var i={}.hasOwnProperty;void 0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){(function(e){var t [...]
+!function(){"use strict";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r)&&r.length){var a=n.apply(null,r);a&&e.push(a)}else if("object"===o)for(var c in r)i.call(r,c)&&r[c]&&e.push(c)}}return e.join(" ")}var i={}.hasOwnProperty;void 0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){(function(e){var t [...]
 //! moment.js
-return sa.isValid=Dt,sa.abs=zr,sa.add=Nr,sa.subtract=Vr,sa.as=Ir,sa.asMilliseconds=Ki,sa.asSeconds=Wi,sa.asMinutes=Bi,sa.asHours=Ui,sa.asDays=qi,sa.asWeeks=Gi,sa.asMonths=Ji,sa.asQuarters=Xi,sa.asYears=$i,sa.valueOf=Kr,sa._bubble=Ar,sa.clone=Br,sa.get=Ur,sa.milliseconds=Zi,sa.seconds=Qi,sa.minutes=ea,sa.hours=ta,sa.days=na,sa.weeks=Gr,sa.months=ra,sa.years=oa,sa.humanize=Qr,sa.toISOString=to,sa.toString=to,sa.toJSON=to,sa.locale=Pn,sa.localeData=jn,sa.toIsoString=M("toIsoString() is depr [...]
+return sa.isValid=Dt,sa.abs=zr,sa.add=Nr,sa.subtract=Vr,sa.as=Ir,sa.asMilliseconds=Ki,sa.asSeconds=Wi,sa.asMinutes=Bi,sa.asHours=Ui,sa.asDays=qi,sa.asWeeks=Gi,sa.asMonths=Ji,sa.asQuarters=Xi,sa.asYears=$i,sa.valueOf=Kr,sa._bubble=Ar,sa.clone=Br,sa.get=Ur,sa.milliseconds=Zi,sa.seconds=Qi,sa.minutes=ea,sa.hours=ta,sa.days=na,sa.weeks=Gr,sa.months=ra,sa.years=oa,sa.humanize=Qr,sa.toISOString=to,sa.toString=to,sa.toJSON=to,sa.locale=Pn,sa.localeData=jn,sa.toIsoString=M("toIsoString() is depr [...]
 object-assign
 (c) Sindre Sorhus
 @license MIT
 */
-var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn [...]
+var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn [...]
 //! moment.js locale configuration
 var t=function(e){return 0===e?0:1===e?1:2===e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},n={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d ش [...]
 //! moment.js locale configuration
@@ -142,7 +142,7 @@ var t={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:
 //! moment.js locale configuration
 function t(e,t){var n=e.split("_");return t%10==1&&t%100!=11?n[0]:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?n[1]:n[2]}function n(e,n,r){var o={ss:n?"секунда_секунди_секунд":"секунду_секунди_секунд",mm:n?"хвилина_хвилини_хвилин":"хвилину_хвилини_хвилин",hh:n?"година_години_годин":"годину_години_годин",dd:"день_дні_днів",MM:"місяць_місяці_місяців",yy:"рік_роки_років"};return"m"===r?n?"хвилина":"хвилину":"h"===r?n?"година":"годину":e+" "+t(o[r],+e)}function r(e,t){var n,r={nominative:"неділя_ [...]
 //! moment.js locale configuration
-var t=["جنوری","فروری","مارچ","اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر"],n=["اتوار","پیر","منگل","بدھ","جمعرات","جمعہ","ہفتہ"];return e.defineLocale("ur",{months:t,monthsShort:t,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(e){return"شام"===e},meridiem:function(e,t,n){return e<12?"صبح":"شام"},calendar [...]
+var t=["جنوری","فروری","مارچ","اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر"],n=["اتوار","پیر","منگل","بدھ","جمعرات","جمعہ","ہفتہ"];return e.defineLocale("ur",{months:t,monthsShort:t,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(e){return"شام"===e},meridiem:function(e,t,n){return e<12?"صبح":"شام"},calendar [...]
  * react-is.production.min.js
  *
  * Copyright (c) Facebook, Inc. and its affiliates.
@@ -150,20 +150,20 @@ var t=["جنوری","فروری","مارچ","اپریل","مئی","جون","جو
  * This source code is licensed under the MIT license found in the
  * LICENSE file in the root directory of this source tree.
  */
-var i="function"==typeof Symbol&&Symbol.for,a=i?Symbol.for("react.element"):60103,c=i?Symbol.for("react.portal"):60106,s=i?Symbol.for("react.fragment"):60107,l=i?Symbol.for("react.strict_mode"):60108,u=i?Symbol.for("react.profiler"):60114,f=i?Symbol.for("react.provider"):60109,p=i?Symbol.for("react.context"):60110,d=i?Symbol.for("react.async_mode"):60111,h=i?Symbol.for("react.concurrent_mode"):60111,m=i?Symbol.for("react.forward_ref"):60112,v=i?Symbol.for("react.suspense"):60113,y=i?Symb [...]
- * UAParser.js v0.7.23
+var i="function"==typeof Symbol&&Symbol.for,a=i?Symbol.for("react.element"):60103,c=i?Symbol.for("react.portal"):60106,s=i?Symbol.for("react.fragment"):60107,l=i?Symbol.for("react.strict_mode"):60108,u=i?Symbol.for("react.profiler"):60114,f=i?Symbol.for("react.provider"):60109,p=i?Symbol.for("react.context"):60110,d=i?Symbol.for("react.async_mode"):60111,h=i?Symbol.for("react.concurrent_mode"):60111,m=i?Symbol.for("react.forward_ref"):60112,v=i?Symbol.for("react.suspense"):60113,y=i?Symb [...]
+ * UAParser.js v0.7.24
  * Lightweight JavaScript-based User-Agent string parser
  * https://github.com/faisalman/ua-parser-js
  *
- * Copyright © 2012-2019 Faisal Salman <f...@faisalman.com>
+ * Copyright © 2012-2021 Faisal Salman <f...@faisalman.com>
  * Licensed under MIT License
  */
 !function(o,i){"use strict";var a="model",c="name",s="type",l="vendor",u="version",f="mobile",p="tablet",d="smarttv",h={extend:function(e,t){var n={};for(var r in e)t[r]&&t[r].length%2==0?n[r]=t[r].concat(e[r]):n[r]=e[r];return n},has:function(e,t){return"string"==typeof e&&-1!==t.toLowerCase().indexOf(e.toLowerCase())},lowerize:function(e){return e.toLowerCase()},major:function(e){/*!
- * UAParser.js v0.7.23
+ * UAParser.js v0.7.24
  * Lightweight JavaScript-based User-Agent string parser
  * https://github.com/faisalman/ua-parser-js
  *
- * Copyright © 2012-2019 Faisal Salman <f...@faisalman.com>
+ * Copyright © 2012-2021 Faisal Salman <f...@faisalman.com>
  * Licensed under MIT License
  */
-return"string"==typeof e?e.replace(/[^\d\.]/g,"").split(".")[0]:void 0},trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},m={rgx:function(e,t){for(var n,r,o,i,a,c,s=0;s<t.length&&!a;){var l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!a;)if(a=l[n++].exec(e))for(o=0;o<u.length;o++)c=a[++r],i=u[o],"object"==typeof i&&i.length>0?2==i.length?"function"==typeof i[1]?this[i[0]]=i[1].call(this,c):this[i[0]]=i[1]:3==i.length?"function"!=typeof i[1]||i[1].exec&&i[1].test?this[i [...]
\ No newline at end of file
+return"string"==typeof e?e.replace(/[^\d\.]/g,"").split(".")[0]:void 0},trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},m={rgx:function(e,t){for(var n,r,o,i,a,c,s=0;s<t.length&&!a;){var l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!a;)if(a=l[n++].exec(e))for(o=0;o<u.length;o++)c=a[++r],i=u[o],"object"==typeof i&&i.length>0?2==i.length?"function"==typeof i[1]?this[i[0]]=i[1].call(this,c):this[i[0]]=i[1]:3==i.length?"function"!=typeof i[1]||i[1].exec&&i[1].test?this[i [...]
\ No newline at end of file
diff --git a/build/documentation.js b/build/documentation.js
index 567ee29..5d3bb6c 100644
--- a/build/documentation.js
+++ b/build/documentation.js
@@ -1,16 +1,16 @@
-!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/build/",t(t.s=122 [...]
+!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/build/",t(t.s=122 [...]
   Copyright (c) 2017 Jed Watson.
   Licensed under the MIT License (MIT), see
   http://jedwatson.github.io/classnames
 */
-!function(){"use strict";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r)&&r.length){var a=n.apply(null,r);a&&e.push(a)}else if("object"===o)for(var c in r)i.call(r,c)&&r[c]&&e.push(c)}}return e.join(" ")}var i={}.hasOwnProperty;void 0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){(function(e){var t [...]
+!function(){"use strict";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r)&&r.length){var a=n.apply(null,r);a&&e.push(a)}else if("object"===o)for(var c in r)i.call(r,c)&&r[c]&&e.push(c)}}return e.join(" ")}var i={}.hasOwnProperty;void 0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){(function(e){var t [...]
 //! moment.js
-return sa.isValid=Dt,sa.abs=zr,sa.add=Nr,sa.subtract=Vr,sa.as=Ir,sa.asMilliseconds=Ki,sa.asSeconds=Wi,sa.asMinutes=Bi,sa.asHours=Ui,sa.asDays=qi,sa.asWeeks=Gi,sa.asMonths=Ji,sa.asQuarters=Xi,sa.asYears=$i,sa.valueOf=Kr,sa._bubble=Yr,sa.clone=Br,sa.get=Ur,sa.milliseconds=Zi,sa.seconds=Qi,sa.minutes=ea,sa.hours=ta,sa.days=na,sa.weeks=Gr,sa.months=ra,sa.years=oa,sa.humanize=Qr,sa.toISOString=to,sa.toString=to,sa.toJSON=to,sa.locale=Pn,sa.localeData=jn,sa.toIsoString=M("toIsoString() is depr [...]
+return sa.isValid=Dt,sa.abs=zr,sa.add=Nr,sa.subtract=Vr,sa.as=Ir,sa.asMilliseconds=Ki,sa.asSeconds=Wi,sa.asMinutes=Bi,sa.asHours=Ui,sa.asDays=qi,sa.asWeeks=Gi,sa.asMonths=Ji,sa.asQuarters=Xi,sa.asYears=$i,sa.valueOf=Kr,sa._bubble=Yr,sa.clone=Br,sa.get=Ur,sa.milliseconds=Zi,sa.seconds=Qi,sa.minutes=ea,sa.hours=ta,sa.days=na,sa.weeks=Gr,sa.months=ra,sa.years=oa,sa.humanize=Qr,sa.toISOString=to,sa.toString=to,sa.toJSON=to,sa.locale=Pn,sa.localeData=jn,sa.toIsoString=M("toIsoString() is depr [...]
 object-assign
 (c) Sindre Sorhus
 @license MIT
 */
-var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn [...]
+var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn [...]
 //! moment.js locale configuration
 var t=function(e){return 0===e?0:1===e?1:2===e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},n={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d ش [...]
 //! moment.js locale configuration
@@ -142,7 +142,7 @@ var t={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:
 //! moment.js locale configuration
 function t(e,t){var n=e.split("_");return t%10==1&&t%100!=11?n[0]:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?n[1]:n[2]}function n(e,n,r){var o={ss:n?"секунда_секунди_секунд":"секунду_секунди_секунд",mm:n?"хвилина_хвилини_хвилин":"хвилину_хвилини_хвилин",hh:n?"година_години_годин":"годину_години_годин",dd:"день_дні_днів",MM:"місяць_місяці_місяців",yy:"рік_роки_років"};return"m"===r?n?"хвилина":"хвилину":"h"===r?n?"година":"годину":e+" "+t(o[r],+e)}function r(e,t){var n,r={nominative:"неділя_ [...]
 //! moment.js locale configuration
-var t=["جنوری","فروری","مارچ","اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر"],n=["اتوار","پیر","منگل","بدھ","جمعرات","جمعہ","ہفتہ"];return e.defineLocale("ur",{months:t,monthsShort:t,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(e){return"شام"===e},meridiem:function(e,t,n){return e<12?"صبح":"شام"},calendar [...]
+var t=["جنوری","فروری","مارچ","اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر"],n=["اتوار","پیر","منگل","بدھ","جمعرات","جمعہ","ہفتہ"];return e.defineLocale("ur",{months:t,monthsShort:t,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(e){return"شام"===e},meridiem:function(e,t,n){return e<12?"صبح":"شام"},calendar [...]
  * react-is.production.min.js
  *
  * Copyright (c) Facebook, Inc. and its affiliates.
@@ -150,20 +150,20 @@ var t=["جنوری","فروری","مارچ","اپریل","مئی","جون","جو
  * This source code is licensed under the MIT license found in the
  * LICENSE file in the root directory of this source tree.
  */
-var i="function"==typeof Symbol&&Symbol.for,a=i?Symbol.for("react.element"):60103,c=i?Symbol.for("react.portal"):60106,s=i?Symbol.for("react.fragment"):60107,l=i?Symbol.for("react.strict_mode"):60108,u=i?Symbol.for("react.profiler"):60114,f=i?Symbol.for("react.provider"):60109,p=i?Symbol.for("react.context"):60110,d=i?Symbol.for("react.async_mode"):60111,h=i?Symbol.for("react.concurrent_mode"):60111,m=i?Symbol.for("react.forward_ref"):60112,v=i?Symbol.for("react.suspense"):60113,y=i?Symb [...]
- * UAParser.js v0.7.23
+var i="function"==typeof Symbol&&Symbol.for,a=i?Symbol.for("react.element"):60103,c=i?Symbol.for("react.portal"):60106,s=i?Symbol.for("react.fragment"):60107,l=i?Symbol.for("react.strict_mode"):60108,u=i?Symbol.for("react.profiler"):60114,f=i?Symbol.for("react.provider"):60109,p=i?Symbol.for("react.context"):60110,d=i?Symbol.for("react.async_mode"):60111,h=i?Symbol.for("react.concurrent_mode"):60111,m=i?Symbol.for("react.forward_ref"):60112,v=i?Symbol.for("react.suspense"):60113,y=i?Symb [...]
+ * UAParser.js v0.7.24
  * Lightweight JavaScript-based User-Agent string parser
  * https://github.com/faisalman/ua-parser-js
  *
- * Copyright © 2012-2019 Faisal Salman <f...@faisalman.com>
+ * Copyright © 2012-2021 Faisal Salman <f...@faisalman.com>
  * Licensed under MIT License
  */
 !function(o,i){"use strict";var a="model",c="name",s="type",l="vendor",u="version",f="mobile",p="tablet",d="smarttv",h={extend:function(e,t){var n={};for(var r in e)t[r]&&t[r].length%2==0?n[r]=t[r].concat(e[r]):n[r]=e[r];return n},has:function(e,t){return"string"==typeof e&&-1!==t.toLowerCase().indexOf(e.toLowerCase())},lowerize:function(e){return e.toLowerCase()},major:function(e){/*!
- * UAParser.js v0.7.23
+ * UAParser.js v0.7.24
  * Lightweight JavaScript-based User-Agent string parser
  * https://github.com/faisalman/ua-parser-js
  *
- * Copyright © 2012-2019 Faisal Salman <f...@faisalman.com>
+ * Copyright © 2012-2021 Faisal Salman <f...@faisalman.com>
  * Licensed under MIT License
  */
-return"string"==typeof e?e.replace(/[^\d\.]/g,"").split(".")[0]:void 0},trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},m={rgx:function(e,t){for(var n,r,o,i,a,c,s=0;s<t.length&&!a;){var l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!a;)if(a=l[n++].exec(e))for(o=0;o<u.length;o++)c=a[++r],i=u[o],"object"==typeof i&&i.length>0?2==i.length?"function"==typeof i[1]?this[i[0]]=i[1].call(this,c):this[i[0]]=i[1]:3==i.length?"function"!=typeof i[1]||i[1].exec&&i[1].test?this[i [...]
\ No newline at end of file
+return"string"==typeof e?e.replace(/[^\d\.]/g,"").split(".")[0]:void 0},trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},m={rgx:function(e,t){for(var n,r,o,i,a,c,s=0;s<t.length&&!a;){var l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!a;)if(a=l[n++].exec(e))for(o=0;o<u.length;o++)c=a[++r],i=u[o],"object"==typeof i&&i.length>0?2==i.length?"function"==typeof i[1]?this[i[0]]=i[1].call(this,c):this[i[0]]=i[1]:3==i.length?"function"!=typeof i[1]||i[1].exec&&i[1].test?this[i [...]
\ No newline at end of file
diff --git a/build/home.js b/build/home.js
index 7bf8ef6..819c15c 100644
--- a/build/home.js
+++ b/build/home.js
@@ -1,16 +1,16 @@
-!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/build/",t(t.s=122 [...]
+!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/build/",t(t.s=122 [...]
   Copyright (c) 2017 Jed Watson.
   Licensed under the MIT License (MIT), see
   http://jedwatson.github.io/classnames
 */
-!function(){"use strict";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r)&&r.length){var a=n.apply(null,r);a&&e.push(a)}else if("object"===o)for(var c in r)i.call(r,c)&&r[c]&&e.push(c)}}return e.join(" ")}var i={}.hasOwnProperty;void 0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){(function(e){var t [...]
+!function(){"use strict";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r)&&r.length){var a=n.apply(null,r);a&&e.push(a)}else if("object"===o)for(var c in r)i.call(r,c)&&r[c]&&e.push(c)}}return e.join(" ")}var i={}.hasOwnProperty;void 0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){(function(e){var t [...]
 //! moment.js
-return sa.isValid=Dt,sa.abs=zr,sa.add=Nr,sa.subtract=Vr,sa.as=Ir,sa.asMilliseconds=Ki,sa.asSeconds=Wi,sa.asMinutes=Bi,sa.asHours=Ui,sa.asDays=qi,sa.asWeeks=Gi,sa.asMonths=Ji,sa.asQuarters=Xi,sa.asYears=$i,sa.valueOf=Kr,sa._bubble=Ar,sa.clone=Br,sa.get=Ur,sa.milliseconds=Zi,sa.seconds=Qi,sa.minutes=ea,sa.hours=ta,sa.days=na,sa.weeks=Gr,sa.months=ra,sa.years=oa,sa.humanize=Qr,sa.toISOString=to,sa.toString=to,sa.toJSON=to,sa.locale=Pn,sa.localeData=jn,sa.toIsoString=M("toIsoString() is depr [...]
+return sa.isValid=Dt,sa.abs=zr,sa.add=Nr,sa.subtract=Vr,sa.as=Ir,sa.asMilliseconds=Ki,sa.asSeconds=Wi,sa.asMinutes=Bi,sa.asHours=Ui,sa.asDays=qi,sa.asWeeks=Gi,sa.asMonths=Ji,sa.asQuarters=Xi,sa.asYears=$i,sa.valueOf=Kr,sa._bubble=Ar,sa.clone=Br,sa.get=Ur,sa.milliseconds=Zi,sa.seconds=Qi,sa.minutes=ea,sa.hours=ta,sa.days=na,sa.weeks=Gr,sa.months=ra,sa.years=oa,sa.humanize=Qr,sa.toISOString=to,sa.toString=to,sa.toJSON=to,sa.locale=Pn,sa.localeData=jn,sa.toIsoString=M("toIsoString() is depr [...]
 object-assign
 (c) Sindre Sorhus
 @license MIT
 */
-var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn [...]
+var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn [...]
 //! moment.js locale configuration
 var t=function(e){return 0===e?0:1===e?1:2===e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},n={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d ش [...]
 //! moment.js locale configuration
@@ -142,7 +142,7 @@ var t={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:
 //! moment.js locale configuration
 function t(e,t){var n=e.split("_");return t%10==1&&t%100!=11?n[0]:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?n[1]:n[2]}function n(e,n,r){var o={ss:n?"секунда_секунди_секунд":"секунду_секунди_секунд",mm:n?"хвилина_хвилини_хвилин":"хвилину_хвилини_хвилин",hh:n?"година_години_годин":"годину_години_годин",dd:"день_дні_днів",MM:"місяць_місяці_місяців",yy:"рік_роки_років"};return"m"===r?n?"хвилина":"хвилину":"h"===r?n?"година":"годину":e+" "+t(o[r],+e)}function r(e,t){var n,r={nominative:"неділя_ [...]
 //! moment.js locale configuration
-var t=["جنوری","فروری","مارچ","اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر"],n=["اتوار","پیر","منگل","بدھ","جمعرات","جمعہ","ہفتہ"];return e.defineLocale("ur",{months:t,monthsShort:t,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(e){return"شام"===e},meridiem:function(e,t,n){return e<12?"صبح":"شام"},calendar [...]
+var t=["جنوری","فروری","مارچ","اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر"],n=["اتوار","پیر","منگل","بدھ","جمعرات","جمعہ","ہفتہ"];return e.defineLocale("ur",{months:t,monthsShort:t,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(e){return"شام"===e},meridiem:function(e,t,n){return e<12?"صبح":"شام"},calendar [...]
  * react-is.production.min.js
  *
  * Copyright (c) Facebook, Inc. and its affiliates.
@@ -150,20 +150,20 @@ var t=["جنوری","فروری","مارچ","اپریل","مئی","جون","جو
  * This source code is licensed under the MIT license found in the
  * LICENSE file in the root directory of this source tree.
  */
-var i="function"==typeof Symbol&&Symbol.for,a=i?Symbol.for("react.element"):60103,c=i?Symbol.for("react.portal"):60106,s=i?Symbol.for("react.fragment"):60107,l=i?Symbol.for("react.strict_mode"):60108,u=i?Symbol.for("react.profiler"):60114,f=i?Symbol.for("react.provider"):60109,p=i?Symbol.for("react.context"):60110,d=i?Symbol.for("react.async_mode"):60111,h=i?Symbol.for("react.concurrent_mode"):60111,m=i?Symbol.for("react.forward_ref"):60112,v=i?Symbol.for("react.suspense"):60113,y=i?Symb [...]
- * UAParser.js v0.7.23
+var i="function"==typeof Symbol&&Symbol.for,a=i?Symbol.for("react.element"):60103,c=i?Symbol.for("react.portal"):60106,s=i?Symbol.for("react.fragment"):60107,l=i?Symbol.for("react.strict_mode"):60108,u=i?Symbol.for("react.profiler"):60114,f=i?Symbol.for("react.provider"):60109,p=i?Symbol.for("react.context"):60110,d=i?Symbol.for("react.async_mode"):60111,h=i?Symbol.for("react.concurrent_mode"):60111,m=i?Symbol.for("react.forward_ref"):60112,v=i?Symbol.for("react.suspense"):60113,y=i?Symb [...]
+ * UAParser.js v0.7.24
  * Lightweight JavaScript-based User-Agent string parser
  * https://github.com/faisalman/ua-parser-js
  *
- * Copyright © 2012-2019 Faisal Salman <f...@faisalman.com>
+ * Copyright © 2012-2021 Faisal Salman <f...@faisalman.com>
  * Licensed under MIT License
  */
 !function(o,i){"use strict";var a="model",c="name",s="type",l="vendor",u="version",f="mobile",p="tablet",d="smarttv",h={extend:function(e,t){var n={};for(var r in e)t[r]&&t[r].length%2==0?n[r]=t[r].concat(e[r]):n[r]=e[r];return n},has:function(e,t){return"string"==typeof e&&-1!==t.toLowerCase().indexOf(e.toLowerCase())},lowerize:function(e){return e.toLowerCase()},major:function(e){/*!
- * UAParser.js v0.7.23
+ * UAParser.js v0.7.24
  * Lightweight JavaScript-based User-Agent string parser
  * https://github.com/faisalman/ua-parser-js
  *
- * Copyright © 2012-2019 Faisal Salman <f...@faisalman.com>
+ * Copyright © 2012-2021 Faisal Salman <f...@faisalman.com>
  * Licensed under MIT License
  */
-return"string"==typeof e?e.replace(/[^\d\.]/g,"").split(".")[0]:void 0},trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},m={rgx:function(e,t){for(var n,r,o,i,a,c,s=0;s<t.length&&!a;){var l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!a;)if(a=l[n++].exec(e))for(o=0;o<u.length;o++)c=a[++r],i=u[o],"object"==typeof i&&i.length>0?2==i.length?"function"==typeof i[1]?this[i[0]]=i[1].call(this,c):this[i[0]]=i[1]:3==i.length?"function"!=typeof i[1]||i[1].exec&&i[1].test?this[i [...]
\ No newline at end of file
+return"string"==typeof e?e.replace(/[^\d\.]/g,"").split(".")[0]:void 0},trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},m={rgx:function(e,t){for(var n,r,o,i,a,c,s=0;s<t.length&&!a;){var l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!a;)if(a=l[n++].exec(e))for(o=0;o<u.length;o++)c=a[++r],i=u[o],"object"==typeof i&&i.length>0?2==i.length?"function"==typeof i[1]?this[i[0]]=i[1].call(this,c):this[i[0]]=i[1]:3==i.length?"function"!=typeof i[1]||i[1].exec&&i[1].test?this[i [...]
\ No newline at end of file
diff --git a/docs/en-us/download/download.md b/docs/en-us/download/download.md
index e972a6e..9aedbf6 100644
--- a/docs/en-us/download/download.md
+++ b/docs/en-us/download/download.md
@@ -3,8 +3,15 @@ title: Download - Apache TubeMQ
 ---
 
 ## Download links
-  Use the links below to download the Apache TubeMQ Releases, the latest release is 0.7.0.
+  Use the links below to download the Apache TubeMQ Releases, the latest release is 0.8.0.
 
+## 0.8.0 release
+
+ - Released: March 4th, 2021
+ - [Release Notes](release-0.8.0.md)
+ - Source: [tubemq-0.8.0-incubating-src.tar.gz](http://www.apache.org/dyn/closer.lua/incubator/tubemq/0.8.0-incubating/apache-tubemq-0.8.0-incubating-src.tar.gz)              [[PGP](https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-0.8.0-incubating-src.tar.gz.asc)]        [[SHA512](https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-0.8.0-incubating-src.tar.gz.sha512)]
+ - Client: [tubemq-client-0.8.0-incubating-bin.tar.gz](http://www.apache.org/dyn/closer.lua/incubator/tubemq/0.8.0-incubating/apache-tubemq-client-0.8.0-incubating-bin.tar.gz)       [[PGP](https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-client-0.8.0-incubating-bin.tar.gz.asc)] [[SHA512](https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-client-0.8.0-incubating-bin.tar.gz.sha512)]
+ - Server: [tubemq-server-0.8.0-incubating-bin.tar.gz](http://www.apache.org/dyn/closer.lua/incubator/tubemq/0.8.0-incubating/apache-tubemq-server-0.8.0-incubating-bin.tar.gz)       [[PGP](https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-server-0.8.0-incubating-bin.tar.gz.asc)] [[SHA512](https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-server-0.8.0-incubating-bin.tar.gz.sha512)]
 
 ## 0.7.0 release
 
diff --git a/docs/en-us/download/release-0.8.0.md b/docs/en-us/download/release-0.8.0.md
new file mode 100644
index 0000000..1773fed
--- /dev/null
+++ b/docs/en-us/download/release-0.8.0.md
@@ -0,0 +1,102 @@
+---
+title: Download - Apache TubeMQ
+---
+
+# Download the TubeMQ releases
+
+Use the links below to download the Apache TubeMQ from one of our mirrors.
+
+## TubeMQ
+| Date | Version| Comment | Downloads |
+|:---:|:--:|:--:|:--:|
+| March. 4th, 2021 | 0.8.0 | Source | [[SRC](http://www.apache.org/dyn/closer.lua/incubator/tubemq/0.8.0-incubating/apache-tubemq-0.8.0-incubating-src.tar.gz)]                 [[PGP](https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-0.8.0-incubating-src.tar.gz.asc)]             [[SHA512](https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-0.8.0-incubating-src.tar.gz.sha512)] |
+| |                       | Client | [[TAR](http://www.apache.org/dyn/closer.lua/incubator/tubemq/0.8.0-incubating/apache-tubemq-client-0.8.0-incubating-bin.tar.gz)]          [[PGP](https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-client-0.8.0-incubating-bin.tar.gz.asc)]      [[SHA512](https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-client-0.8.0-incubating-bin.tar.gz.sha512)] |
+| |                       | Server | [[TAR](http://www.apache.org/dyn/closer.lua/incubator/tubemq/0.8.0-incubating/apache-tubemq-server-0.8.0-incubating-bin.tar.gz)]          [[PGP](https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-server-0.8.0-incubating-bin.tar.gz.asc)]      [[SHA512](https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-server-0.8.0-incubating-bin.tar.gz.sha512)] |
+
+
+## Release Notes
+
+### IMPROVEMENTS:
+| JIRA  | Summary  | Priority |
+| :---- | :------- | :------- |
+| [TUBEMQ-430](https://issues.apache.org/jira/browse/TUBEMQ-430) | Optimizing the implementation of HTTP API for broke  | Major |
+| [TUBEMQ-445](https://issues.apache.org/jira/browse/TUBEMQ-445) | Adjust the status check default sleep interval of pullConsumeReadyChkSliceMs  | Major |
+| [TUBEMQ-448](https://issues.apache.org/jira/browse/TUBEMQ-448) | Add Committer and PPMC operation process  | Major |
+| [TUBEMQ-449](https://issues.apache.org/jira/browse/TUBEMQ-449) | Adjust Example implementation  | Major |
+| [TUBEMQ-452](https://issues.apache.org/jira/browse/TUBEMQ-452) | Optimize rebalance performance | Major |
+| [TUBEMQ-467](https://issues.apache.org/jira/browse/TUBEMQ-467) | Add WEB APIs of Master and Broker | Major |
+| [TUBEMQ-489](https://issues.apache.org/jira/browse/TUBEMQ-489) | Add the maximum message length parameter setting | Major |
+| [TUBEMQ-495](https://issues.apache.org/jira/browse/TUBEMQ-495) | Code implementation adjustment based on SpotBugs check | Major |
+| [TUBEMQ-511](https://issues.apache.org/jira/browse/TUBEMQ-511) | Replace the conditional operator (?:) with mid()  | Major |
+| [TUBEMQ-512](https://issues.apache.org/jira/browse/TUBEMQ-512) | Add package length control based on Topic  | Major |
+| [TUBEMQ-515](https://issues.apache.org/jira/browse/TUBEMQ-515) | Add cluster Topic view web api  | Major |
+
+### BUG FIXES:
+| JIRA  | Summary  | Priority |
+| :---- | :------- | :------- |
+| [TUBEMQ-437](https://issues.apache.org/jira/browse/TUBEMQ-437) | Fix tubemq table source sink factory instance creating problem | Major |
+| [TUBEMQ-441](https://issues.apache.org/jira/browse/TUBEMQ-441) | An error occurred when using the Tubemq class to create a sink table | Major |
+| [TUBEMQ-442](https://issues.apache.org/jira/browse/TUBEMQ-442) | Modifying the jvm parameters when the broker starts does not take effect  | Major    |
+| [TUBEMQ-443](https://issues.apache.org/jira/browse/TUBEMQ-443) | TubemqSourceFunction class prints too many logs problem | Major |
+| [TUBEMQ-446](https://issues.apache.org/jira/browse/TUBEMQ-446) | Small bugs fix that do not affect the main logics | Major |
+| [TUBEMQ-450](https://issues.apache.org/jira/browse/TUBEMQ-450) | TubeClientException: Generate producer id failed  | Major |
+| [TUBEMQ-453](https://issues.apache.org/jira/browse/TUBEMQ-453) | TubemqSourceFunction class prints too many logs problem | Major |
+| [TUBEMQ-506](https://issues.apache.org/jira/browse/TUBEMQ-506) | cmakelist error | Major |
+| [TUBEMQ-510](https://issues.apache.org/jira/browse/TUBEMQ-510) | Found a bug in MessageProducerExample class | Major |
+| [TUBEMQ-518](https://issues.apache.org/jira/browse/TUBEMQ-518) | fix parameter pass error | Major |
+| [TUBEMQ-526](https://issues.apache.org/jira/browse/TUBEMQ-526) | Adjust the packaging script and version check list, remove the "-WIP" tag | Major |
+| [TUBEMQ-555](https://issues.apache.org/jira/browse/TUBEMQ-555) | short session data can only be written to a specific partition | Major |
+| [TUBEMQ-556](https://issues.apache.org/jira/browse/TUBEMQ-556) | Index value is bigger than the actual number of records | Low |
+
+
+### TASK:
+| JIRA | Summary | Priority |
+|:---- |:---- | :--- |
+| [TUBEMQ-505](https://issues.apache.org/jira/browse/TUBEMQ-505) | Remove the "WIP" label of the DISCLAIMER file  | Major |
+| [TUBEMQ-543](https://issues.apache.org/jira/browse/TUBEMQ-543) | Modify the LICENSE statement of multiple files and others  | Major |
+| [TUBEMQ-557](https://issues.apache.org/jira/browse/TUBEMQ-557) | Handle the issues mentioned in the 0.8.0-RC2 review  | Major |
+| [TUBEMQ-562](https://issues.apache.org/jira/browse/TUBEMQ-562) | Update project contents according to the 0.8.0-RC3 review  | Major |
+
+### SUB-TASK:
+| JIRA  | Summary  | Priority |
+| :---- | :------- | :------- |
+| [TUBEMQ-428](https://issues.apache.org/jira/browse/TUBEMQ-433) | Bumped version to 0.8.0-SNAPSHOT | Major |
+| [TUBEMQ-433](https://issues.apache.org/jira/browse/TUBEMQ-433) | add tubemq perf-consumer/producer scripts | Major |
+| [TUBEMQ-434](https://issues.apache.org/jira/browse/TUBEMQ-434) | Adjust Broker API mapping | Major |
+| [TUBEMQ-435](https://issues.apache.org/jira/browse/TUBEMQ-435) | Create Web field Mapping | Major |
+| [TUBEMQ-436](https://issues.apache.org/jira/browse/TUBEMQ-436) | Adjust Broker's HTTP API implementation | Major |
+| [TUBEMQ-439](https://issues.apache.org/jira/browse/TUBEMQ-439) | Add Cli field Scheme definition | Major |
+| [TUBEMQ-440](https://issues.apache.org/jira/browse/TUBEMQ-440) | Add feature package tube-manager to zip  | Major |
+| [TUBEMQ-444](https://issues.apache.org/jira/browse/TUBEMQ-444) | Add consume and produce Cli commands | Major |
+| [TUBEMQ-447](https://issues.apache.org/jira/browse/TUBEMQ-447) | Add Broker-Admin Cli | Major |
+| [TUBEMQ-451](https://issues.apache.org/jira/browse/TUBEMQ-451) | Replace ConsumeTupleInfo with Tuple2  | Major    |
+| [TUBEMQ-457](https://issues.apache.org/jira/browse/TUBEMQ-457) | There is no need to return StringBuilder in Master.java | Major |
+| [TUBEMQ-463](https://issues.apache.org/jira/browse/TUBEMQ-463) | Adjust Master rebalance process implementation  | Major |
+| [TUBEMQ-464](https://issues.apache.org/jira/browse/TUBEMQ-464) | Add parameter rebalanceParallel in master.ini | Major |
+| [TUBEMQ-470](https://issues.apache.org/jira/browse/TUBEMQ-470) | Add query API of TopicName and BrokerId collection  | Major |
+| [TUBEMQ-471](https://issues.apache.org/jira/browse/TUBEMQ-471) | Add query API Introduction of TopicName and BrokerId collection | Major |
+| [TUBEMQ-472](https://issues.apache.org/jira/browse/TUBEMQ-472) | Adjust Broker's AbstractWebHandler class implementation  | Major |
+| [TUBEMQ-475](https://issues.apache.org/jira/browse/TUBEMQ-475) | add the offset clone api of the consume group  | Major |
+| [TUBEMQ-482](https://issues.apache.org/jira/browse/TUBEMQ-482) | Add offset query api  | Major |
+| [TUBEMQ-484](https://issues.apache.org/jira/browse/TUBEMQ-484) | Add query API for topic publication information  | Major |
+| [TUBEMQ-485](https://issues.apache.org/jira/browse/TUBEMQ-485) | Add the batch setting API of consume group offset  | Major |
+| [TUBEMQ-486](https://issues.apache.org/jira/browse/TUBEMQ-486) | Add the delete API of consumer group offset  | Major |
+| [TUBEMQ-494](https://issues.apache.org/jira/browse/TUBEMQ-494) | Update API interface instruction document | Major |
+| [TUBEMQ-499](https://issues.apache.org/jira/browse/TUBEMQ-499) | Add configure store  | Major |
+| [TUBEMQ-500](https://issues.apache.org/jira/browse/TUBEMQ-500) | Add setting operate API  | Major |
+| [TUBEMQ-501](https://issues.apache.org/jira/browse/TUBEMQ-501) | Adjust max message size check logic  | Major |
+| [TUBEMQ-502](https://issues.apache.org/jira/browse/TUBEMQ-502) | Add setting API interface document  | Major |
+| [TUBEMQ-504](https://issues.apache.org/jira/browse/TUBEMQ-504) | Adjust the WebMethodMapper class interfaces  | Major |
+| [TUBEMQ-508](https://issues.apache.org/jira/browse/TUBEMQ-508) | Optimize Broker's PB parameter check processing logic  | Major |
+| [TUBEMQ-509](https://issues.apache.org/jira/browse/TUBEMQ-509) | Adjust the packet length check when data is loaded  | Major |
+| [TUBEMQ-522](https://issues.apache.org/jira/browse/TUBEMQ-522) | Add admin_query_cluster_topic_view API document  | Major |
+| [TUBEMQ-544](https://issues.apache.org/jira/browse/TUBEMQ-544) | Adjust the LICENSE statement in the client.conf files of Python and C/C++ SDK | Major |
+| [TUBEMQ-546](https://issues.apache.org/jira/browse/TUBEMQ-546) | Restore the original license header of the referenced external source files | Major |
+| [TUBEMQ-547](https://issues.apache.org/jira/browse/TUBEMQ-547) | Recode the implementation of the *Startup.java classes in the Tool package | Major |
+| [TUBEMQ-548](https://issues.apache.org/jira/browse/TUBEMQ-548) | Handle the LICENSE authorization of font files in the resources | Major |
+| [TUBEMQ-549](https://issues.apache.org/jira/browse/TUBEMQ-549) | Handling the problem of compilation failure | Major |
+| [TUBEMQ-550](https://issues.apache.org/jira/browse/TUBEMQ-550) | Adjust LICENSE file content | Major |
+| [TUBEMQ-551](https://issues.apache.org/jira/browse/TUBEMQ-551) | Adjust NOTICE file content | Major |
+| [TUBEMQ-558](https://issues.apache.org/jira/browse/TUBEMQ-558) | Adjust the LICENSE of the file header | Major |
+| [TUBEMQ-559](https://issues.apache.org/jira/browse/TUBEMQ-559) | Update the LICENSE file according to the 0.8.0-RC2 review | Major |
+| [TUBEMQ-560](https://issues.apache.org/jira/browse/TUBEMQ-560) | Remove unprepared modules | Major |
diff --git a/docs/zh-cn/download/download.md b/docs/zh-cn/download/download.md
index 2413fce..40a2b9f 100644
--- a/docs/zh-cn/download/download.md
+++ b/docs/zh-cn/download/download.md
@@ -3,8 +3,14 @@ title: 下载 - Apache TubeMQ
 ---
 
 ## 下载链接
-  使用以下链接,下载TubeMQ,最新版本为0.7.0.
+  使用以下链接,下载TubeMQ,最新版本为0.8.0.
 
+## 0.8.0 release
+ - 发布时间:2021-03-04
+ - [发版说明](release-0.8.0.md)
+ - 源码: [tubemq-0.8.0-incubating-src.tar.gz](http://www.apache.org/dyn/closer.lua/incubator/tubemq/0.8.0-incubating/apache-tubemq-0.8.0-incubating-src.tar.gz)             [[PGP](https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-0.8.0-incubating-src.tar.gz.asc)]        [[SHA512](https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-0.8.0-incubating-src.tar.gz.sha512)]
+ - 客户端: [tubemq-client-0.8.0-incubating-bin.tar.gz](http://www.apache.org/dyn/closer.lua/incubator/tubemq/0.8.0-incubating/apache-tubemq-client-0.8.0-incubating-bin.tar.gz)       [[PGP](https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-client-0.8.0-incubating-bin.tar.gz.asc)] [[SHA512](https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-client-0.8.0-incubating-bin.tar.gz.sha512)]
+ - 服务端: [tubemq-server-0.8.0-incubating-bin.tar.gz](http://www.apache.org/dyn/closer.lua/incubator/tubemq/0.8.0-incubating/apache-tubemq-server-0.8.0-incubating-bin.tar.gz)       [[PGP](https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-server-0.8.0-incubating-bin.tar.gz.asc)] [[SHA512](https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-server-0.8.0-incubating-bin.tar.gz.sha512)]
 ## 0.7.0 release
  - 发布时间:2020-12-04
  - [发版说明](release-0.7.0.md)
diff --git a/docs/zh-cn/download/release-0.8.0.md  b/docs/zh-cn/download/release-0.8.0.md 
new file mode 100644
index 0000000..1741972
--- /dev/null
+++ b/docs/zh-cn/download/release-0.8.0.md 	
@@ -0,0 +1,100 @@
+---
+title: 下载 - Apache TubeMQ
+---
+
+# 下载TubeMQ
+  使用以下镜像下载TubeMQ
+
+## TubeMQ
+| 日期 | 版本| 备注 | 下载 |
+|:---:|:--:|:--:|:--:|
+| 2021-03-04 | 0.8.0 | Source | [[SRC](http://www.apache.org/dyn/closer.lua/incubator/tubemq/0.8.0-incubating/apache-tubemq-0.8.0-incubating-src.tar.gz)]                 [[PGP](https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-0.8.0-incubating-src.tar.gz.asc)]             [[SHA512](https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-0.8.0-incubating-src.tar.gz.sha512)] |
+| |                       | Client | [[TAR](http://www.apache.org/dyn/closer.lua/incubator/tubemq/0.8.0-incubating/apache-tubemq-client-0.8.0-incubating-bin.tar.gz)]          [[PGP](https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-client-0.8.0-incubating-bin.tar.gz.asc)]      [[SHA512](https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-client-0.8.0-incubating-bin.tar.gz.sha512)] |
+| |                       | Server | [[TAR](http://www.apache.org/dyn/closer.lua/incubator/tubemq/0.8.0-incubating/apache-tubemq-server-0.8.0-incubating-bin.tar.gz)]          [[PGP](https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-server-0.8.0-incubating-bin.tar.gz.asc)]      [[SHA512](https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-server-0.8.0-incubating-bin.tar.gz.sha512)] |
+
+## 发版说明
+
+### 改进:
+| JIRA  | Summary  | Priority |
+| :---- | :------- | :------- |
+| [TUBEMQ-430](https://issues.apache.org/jira/browse/TUBEMQ-430) | Optimizing the implementation of HTTP API for broke  | Major |
+| [TUBEMQ-445](https://issues.apache.org/jira/browse/TUBEMQ-445) | Adjust the status check default sleep interval of pullConsumeReadyChkSliceMs  | Major |
+| [TUBEMQ-448](https://issues.apache.org/jira/browse/TUBEMQ-448) | Add Committer and PPMC operation process  | Major |
+| [TUBEMQ-449](https://issues.apache.org/jira/browse/TUBEMQ-449) | Adjust Example implementation  | Major |
+| [TUBEMQ-452](https://issues.apache.org/jira/browse/TUBEMQ-452) | Optimize rebalance performance | Major |
+| [TUBEMQ-467](https://issues.apache.org/jira/browse/TUBEMQ-467) | Add WEB APIs of Master and Broker | Major |
+| [TUBEMQ-489](https://issues.apache.org/jira/browse/TUBEMQ-489) | Add the maximum message length parameter setting | Major |
+| [TUBEMQ-495](https://issues.apache.org/jira/browse/TUBEMQ-495) | Code implementation adjustment based on SpotBugs check | Major |
+| [TUBEMQ-511](https://issues.apache.org/jira/browse/TUBEMQ-511) | Replace the conditional operator (?:) with mid()  | Major |
+| [TUBEMQ-512](https://issues.apache.org/jira/browse/TUBEMQ-512) | Add package length control based on Topic  | Major |
+| [TUBEMQ-515](https://issues.apache.org/jira/browse/TUBEMQ-515) | Add cluster Topic view web api  | Major |
+
+### BUG修复:
+| JIRA  | Summary  | Priority |
+| :---- | :------- | :------- |
+| [TUBEMQ-437](https://issues.apache.org/jira/browse/TUBEMQ-437) | Fix tubemq table source sink factory instance creating problem | Major |
+| [TUBEMQ-441](https://issues.apache.org/jira/browse/TUBEMQ-441) | An error occurred when using the Tubemq class to create a sink table | Major |
+| [TUBEMQ-442](https://issues.apache.org/jira/browse/TUBEMQ-442) | Modifying the jvm parameters when the broker starts does not take effect  | Major    |
+| [TUBEMQ-443](https://issues.apache.org/jira/browse/TUBEMQ-443) | TubemqSourceFunction class prints too many logs problem | Major |
+| [TUBEMQ-446](https://issues.apache.org/jira/browse/TUBEMQ-446) | Small bugs fix that do not affect the main logics | Major |
+| [TUBEMQ-450](https://issues.apache.org/jira/browse/TUBEMQ-450) | TubeClientException: Generate producer id failed  | Major |
+| [TUBEMQ-453](https://issues.apache.org/jira/browse/TUBEMQ-453) | TubemqSourceFunction class prints too many logs problem | Major |
+| [TUBEMQ-506](https://issues.apache.org/jira/browse/TUBEMQ-506) | cmakelist error | Major |
+| [TUBEMQ-510](https://issues.apache.org/jira/browse/TUBEMQ-510) | Found a bug in MessageProducerExample class | Major |
+| [TUBEMQ-518](https://issues.apache.org/jira/browse/TUBEMQ-518) | fix parameter pass error | Major |
+| [TUBEMQ-526](https://issues.apache.org/jira/browse/TUBEMQ-526) | Adjust the packaging script and version check list, remove the "-WIP" tag | Major |
+| [TUBEMQ-555](https://issues.apache.org/jira/browse/TUBEMQ-555) | short session data can only be written to a specific partition | Major |
+| [TUBEMQ-556](https://issues.apache.org/jira/browse/TUBEMQ-556) | Index value is bigger than the actual number of records | Low |
+
+
+### 任务:
+| JIRA | Summary | Priority |
+|:---- |:---- | :--- |
+| [TUBEMQ-505](https://issues.apache.org/jira/browse/TUBEMQ-505) | Remove the "WIP" label of the DISCLAIMER file  | Major |
+| [TUBEMQ-543](https://issues.apache.org/jira/browse/TUBEMQ-543) | Modify the LICENSE statement of multiple files and others  | Major |
+| [TUBEMQ-557](https://issues.apache.org/jira/browse/TUBEMQ-557) | Handle the issues mentioned in the 0.8.0-RC2 review  | Major |
+| [TUBEMQ-562](https://issues.apache.org/jira/browse/TUBEMQ-562) | Update project contents according to the 0.8.0-RC3 review  | Major |
+
+### 子任务:
+| JIRA  | Summary  | Priority |
+| :---- | :------- | :------- |
+| [TUBEMQ-428](https://issues.apache.org/jira/browse/TUBEMQ-433) | Bumped version to 0.8.0-SNAPSHOT | Major |
+| [TUBEMQ-433](https://issues.apache.org/jira/browse/TUBEMQ-433) | add tubemq perf-consumer/producer scripts | Major |
+| [TUBEMQ-434](https://issues.apache.org/jira/browse/TUBEMQ-434) | Adjust Broker API mapping | Major |
+| [TUBEMQ-435](https://issues.apache.org/jira/browse/TUBEMQ-435) | Create Web field Mapping | Major |
+| [TUBEMQ-436](https://issues.apache.org/jira/browse/TUBEMQ-436) | Adjust Broker's HTTP API implementation | Major |
+| [TUBEMQ-439](https://issues.apache.org/jira/browse/TUBEMQ-439) | Add Cli field Scheme definition | Major |
+| [TUBEMQ-440](https://issues.apache.org/jira/browse/TUBEMQ-440) | Add feature package tube-manager to zip  | Major |
+| [TUBEMQ-444](https://issues.apache.org/jira/browse/TUBEMQ-444) | Add consume and produce Cli commands | Major |
+| [TUBEMQ-447](https://issues.apache.org/jira/browse/TUBEMQ-447) | Add Broker-Admin Cli | Major |
+| [TUBEMQ-451](https://issues.apache.org/jira/browse/TUBEMQ-451) | Replace ConsumeTupleInfo with Tuple2  | Major    |
+| [TUBEMQ-457](https://issues.apache.org/jira/browse/TUBEMQ-457) | There is no need to return StringBuilder in Master.java | Major |
+| [TUBEMQ-463](https://issues.apache.org/jira/browse/TUBEMQ-463) | Adjust Master rebalance process implementation  | Major |
+| [TUBEMQ-464](https://issues.apache.org/jira/browse/TUBEMQ-464) | Add parameter rebalanceParallel in master.ini | Major |
+| [TUBEMQ-470](https://issues.apache.org/jira/browse/TUBEMQ-470) | Add query API of TopicName and BrokerId collection  | Major |
+| [TUBEMQ-471](https://issues.apache.org/jira/browse/TUBEMQ-471) | Add query API Introduction of TopicName and BrokerId collection | Major |
+| [TUBEMQ-472](https://issues.apache.org/jira/browse/TUBEMQ-472) | Adjust Broker's AbstractWebHandler class implementation  | Major |
+| [TUBEMQ-475](https://issues.apache.org/jira/browse/TUBEMQ-475) | add the offset clone api of the consume group  | Major |
+| [TUBEMQ-482](https://issues.apache.org/jira/browse/TUBEMQ-482) | Add offset query api  | Major |
+| [TUBEMQ-484](https://issues.apache.org/jira/browse/TUBEMQ-484) | Add query API for topic publication information  | Major |
+| [TUBEMQ-485](https://issues.apache.org/jira/browse/TUBEMQ-485) | Add the batch setting API of consume group offset  | Major |
+| [TUBEMQ-486](https://issues.apache.org/jira/browse/TUBEMQ-486) | Add the delete API of consumer group offset  | Major |
+| [TUBEMQ-494](https://issues.apache.org/jira/browse/TUBEMQ-494) | Update API interface instruction document | Major |
+| [TUBEMQ-499](https://issues.apache.org/jira/browse/TUBEMQ-499) | Add configure store  | Major |
+| [TUBEMQ-500](https://issues.apache.org/jira/browse/TUBEMQ-500) | Add setting operate API  | Major |
+| [TUBEMQ-501](https://issues.apache.org/jira/browse/TUBEMQ-501) | Adjust max message size check logic  | Major |
+| [TUBEMQ-502](https://issues.apache.org/jira/browse/TUBEMQ-502) | Add setting API interface document  | Major |
+| [TUBEMQ-504](https://issues.apache.org/jira/browse/TUBEMQ-504) | Adjust the WebMethodMapper class interfaces  | Major |
+| [TUBEMQ-508](https://issues.apache.org/jira/browse/TUBEMQ-508) | Optimize Broker's PB parameter check processing logic  | Major |
+| [TUBEMQ-509](https://issues.apache.org/jira/browse/TUBEMQ-509) | Adjust the packet length check when data is loaded  | Major |
+| [TUBEMQ-522](https://issues.apache.org/jira/browse/TUBEMQ-522) | Add admin_query_cluster_topic_view API document  | Major |
+| [TUBEMQ-544](https://issues.apache.org/jira/browse/TUBEMQ-544) | Adjust the LICENSE statement in the client.conf files of Python and C/C++ SDK | Major |
+| [TUBEMQ-546](https://issues.apache.org/jira/browse/TUBEMQ-546) | Restore the original license header of the referenced external source files | Major |
+| [TUBEMQ-547](https://issues.apache.org/jira/browse/TUBEMQ-547) | Recode the implementation of the *Startup.java classes in the Tool package | Major |
+| [TUBEMQ-548](https://issues.apache.org/jira/browse/TUBEMQ-548) | Handle the LICENSE authorization of font files in the resources | Major |
+| [TUBEMQ-549](https://issues.apache.org/jira/browse/TUBEMQ-549) | Handling the problem of compilation failure | Major |
+| [TUBEMQ-550](https://issues.apache.org/jira/browse/TUBEMQ-550) | Adjust LICENSE file content | Major |
+| [TUBEMQ-551](https://issues.apache.org/jira/browse/TUBEMQ-551) | Adjust NOTICE file content | Major |
+| [TUBEMQ-558](https://issues.apache.org/jira/browse/TUBEMQ-558) | Adjust the LICENSE of the file header | Major |
+| [TUBEMQ-559](https://issues.apache.org/jira/browse/TUBEMQ-559) | Update the LICENSE file according to the 0.8.0-RC2 review | Major |
+| [TUBEMQ-560](https://issues.apache.org/jira/browse/TUBEMQ-560) | Remove unprepared modules | Major |
diff --git a/en-us/docs/download/download.html b/en-us/docs/download/download.html
index cc15beb..12b8e2f 100644
--- a/en-us/docs/download/download.html
+++ b/en-us/docs/download/download.html
@@ -13,7 +13,15 @@
 </head>
 <body>
 	<div id="root"><div class="documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><a href="//www.apache.org"><img class="logo apache" style="width:120px" src="/img/asf_logo.svg"/></a><div class="logo-split"></div><a href=""></a><img class="logo tube" style="width:72px" src="/img/Tube logo.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-swi [...]
-<p>Use the links below to download the Apache TubeMQ Releases, the latest release is 0.7.0.</p>
+<p>Use the links below to download the Apache TubeMQ Releases, the latest release is 0.8.0.</p>
+<h2>0.8.0 release</h2>
+<ul>
+<li>Released: March 4th, 2021</li>
+<li><a href="release-0.8.0.md">Release Notes</a></li>
+<li>Source: <a href="http://www.apache.org/dyn/closer.lua/incubator/tubemq/0.8.0-incubating/apache-tubemq-0.8.0-incubating-src.tar.gz">tubemq-0.8.0-incubating-src.tar.gz</a>              [<a href="https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-0.8.0-incubating-src.tar.gz.asc">PGP</a>]        [<a href="https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-0.8.0-incubating-src.tar.gz.sha512">SHA512</a>]</li>
+<li>Client: <a href="http://www.apache.org/dyn/closer.lua/incubator/tubemq/0.8.0-incubating/apache-tubemq-client-0.8.0-incubating-bin.tar.gz">tubemq-client-0.8.0-incubating-bin.tar.gz</a>       [<a href="https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-client-0.8.0-incubating-bin.tar.gz.asc">PGP</a>] [<a href="https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-client-0.8.0-incubating-bin.tar.gz.sha512">SHA512</a>]</li>
+<li>Server: <a href="http://www.apache.org/dyn/closer.lua/incubator/tubemq/0.8.0-incubating/apache-tubemq-server-0.8.0-incubating-bin.tar.gz">tubemq-server-0.8.0-incubating-bin.tar.gz</a>       [<a href="https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-server-0.8.0-incubating-bin.tar.gz.asc">PGP</a>] [<a href="https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-server-0.8.0-incubating-bin.tar.gz.sha512">SHA512</a>]</li>
+</ul>
 <h2>0.7.0 release</h2>
 <ul>
 <li>Released: December 4th, 2020</li>
diff --git a/en-us/docs/download/download.json b/en-us/docs/download/download.json
index 6857e35..150a551 100644
--- a/en-us/docs/download/download.json
+++ b/en-us/docs/download/download.json
@@ -1,6 +1,6 @@
 {
   "filename": "download.md",
-  "__html": "<h2>Download links</h2>\n<p>Use the links below to download the Apache TubeMQ Releases, the latest release is 0.7.0.</p>\n<h2>0.7.0 release</h2>\n<ul>\n<li>Released: December 4th, 2020</li>\n<li><a href=\"release-0.7.0.md\">Release Notes</a></li>\n<li>Source: <a href=\"http://www.apache.org/dyn/closer.lua/incubator/tubemq/0.7.0-incubating/apache-tubemq-0.7.0-incubating-src.tar.gz\">tubemq-0.7.0-incubating-src.tar.gz</a>              [<a href=\"https://downloads.apache.org/in [...]
+  "__html": "<h2>Download links</h2>\n<p>Use the links below to download the Apache TubeMQ Releases, the latest release is 0.8.0.</p>\n<h2>0.8.0 release</h2>\n<ul>\n<li>Released: March 4th, 2021</li>\n<li><a href=\"release-0.8.0.md\">Release Notes</a></li>\n<li>Source: <a href=\"http://www.apache.org/dyn/closer.lua/incubator/tubemq/0.8.0-incubating/apache-tubemq-0.8.0-incubating-src.tar.gz\">tubemq-0.8.0-incubating-src.tar.gz</a>              [<a href=\"https://downloads.apache.org/incub [...]
   "link": "/en-us/docs/download/download.html",
   "meta": {
     "title": "Download - Apache TubeMQ"
diff --git a/en-us/docs/download/download.md b/en-us/docs/download/download.md
index e972a6e..9aedbf6 100644
--- a/en-us/docs/download/download.md
+++ b/en-us/docs/download/download.md
@@ -3,8 +3,15 @@ title: Download - Apache TubeMQ
 ---
 
 ## Download links
-  Use the links below to download the Apache TubeMQ Releases, the latest release is 0.7.0.
+  Use the links below to download the Apache TubeMQ Releases, the latest release is 0.8.0.
 
+## 0.8.0 release
+
+ - Released: March 4th, 2021
+ - [Release Notes](release-0.8.0.md)
+ - Source: [tubemq-0.8.0-incubating-src.tar.gz](http://www.apache.org/dyn/closer.lua/incubator/tubemq/0.8.0-incubating/apache-tubemq-0.8.0-incubating-src.tar.gz)              [[PGP](https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-0.8.0-incubating-src.tar.gz.asc)]        [[SHA512](https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-0.8.0-incubating-src.tar.gz.sha512)]
+ - Client: [tubemq-client-0.8.0-incubating-bin.tar.gz](http://www.apache.org/dyn/closer.lua/incubator/tubemq/0.8.0-incubating/apache-tubemq-client-0.8.0-incubating-bin.tar.gz)       [[PGP](https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-client-0.8.0-incubating-bin.tar.gz.asc)] [[SHA512](https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-client-0.8.0-incubating-bin.tar.gz.sha512)]
+ - Server: [tubemq-server-0.8.0-incubating-bin.tar.gz](http://www.apache.org/dyn/closer.lua/incubator/tubemq/0.8.0-incubating/apache-tubemq-server-0.8.0-incubating-bin.tar.gz)       [[PGP](https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-server-0.8.0-incubating-bin.tar.gz.asc)] [[SHA512](https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-server-0.8.0-incubating-bin.tar.gz.sha512)]
 
 ## 0.7.0 release
 
diff --git a/en-us/docs/download/release-0.8.0.html b/en-us/docs/download/release-0.8.0.html
new file mode 100644
index 0000000..150e0a4
--- /dev/null
+++ b/en-us/docs/download/release-0.8.0.html
@@ -0,0 +1,446 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+	<meta charset="UTF-8">
+	<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
+	<meta name="keywords" content="release-0.8.0" />
+	<meta name="description" content="release-0.8.0" />
+	<!-- 网页标签标题 -->
+	<title>Download - Apache TubeMQ</title>
+	<link rel="shortcut icon" href="/img/apache.ico"/>
+	<link rel="stylesheet" href="/build/documentation.css" />
+</head>
+<body>
+	<div id="root"><div class="documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><a href="//www.apache.org"><img class="logo apache" style="width:120px" src="/img/asf_logo.svg"/></a><div class="logo-split"></div><a href=""></a><img class="logo tube" style="width:72px" src="/img/Tube logo.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-swi [...]
+<p>Use the links below to download the Apache TubeMQ from one of our mirrors.</p>
+<h2>TubeMQ</h2>
+<table>
+<thead>
+<tr>
+<th style="text-align:center">Date</th>
+<th style="text-align:center">Version</th>
+<th style="text-align:center">Comment</th>
+<th style="text-align:center">Downloads</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td style="text-align:center">March. 4th, 2021</td>
+<td style="text-align:center">0.8.0</td>
+<td style="text-align:center">Source</td>
+<td style="text-align:center">[<a href="http://www.apache.org/dyn/closer.lua/incubator/tubemq/0.8.0-incubating/apache-tubemq-0.8.0-incubating-src.tar.gz">SRC</a>]                 [<a href="https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-0.8.0-incubating-src.tar.gz.asc">PGP</a>]             [<a href="https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-0.8.0-incubating-src.tar.gz.sha512">SHA512</a>]</td>
+</tr>
+<tr>
+<td style="text-align:center"></td>
+<td style="text-align:center"></td>
+<td style="text-align:center">Client</td>
+<td style="text-align:center">[<a href="http://www.apache.org/dyn/closer.lua/incubator/tubemq/0.8.0-incubating/apache-tubemq-client-0.8.0-incubating-bin.tar.gz">TAR</a>]          [<a href="https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-client-0.8.0-incubating-bin.tar.gz.asc">PGP</a>]      [<a href="https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-client-0.8.0-incubating-bin.tar.gz.sha512">SHA512</a>]</td>
+</tr>
+<tr>
+<td style="text-align:center"></td>
+<td style="text-align:center"></td>
+<td style="text-align:center">Server</td>
+<td style="text-align:center">[<a href="http://www.apache.org/dyn/closer.lua/incubator/tubemq/0.8.0-incubating/apache-tubemq-server-0.8.0-incubating-bin.tar.gz">TAR</a>]          [<a href="https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-server-0.8.0-incubating-bin.tar.gz.asc">PGP</a>]      [<a href="https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-server-0.8.0-incubating-bin.tar.gz.sha512">SHA512</a>]</td>
+</tr>
+</tbody>
+</table>
+<h2>Release Notes</h2>
+<h3>IMPROVEMENTS:</h3>
+<table>
+<thead>
+<tr>
+<th style="text-align:left">JIRA</th>
+<th style="text-align:left">Summary</th>
+<th style="text-align:left">Priority</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-430">TUBEMQ-430</a></td>
+<td style="text-align:left">Optimizing the implementation of HTTP API for broke</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-445">TUBEMQ-445</a></td>
+<td style="text-align:left">Adjust the status check default sleep interval of pullConsumeReadyChkSliceMs</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-448">TUBEMQ-448</a></td>
+<td style="text-align:left">Add Committer and PPMC operation process</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-449">TUBEMQ-449</a></td>
+<td style="text-align:left">Adjust Example implementation</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-452">TUBEMQ-452</a></td>
+<td style="text-align:left">Optimize rebalance performance</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-467">TUBEMQ-467</a></td>
+<td style="text-align:left">Add WEB APIs of Master and Broker</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-489">TUBEMQ-489</a></td>
+<td style="text-align:left">Add the maximum message length parameter setting</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-495">TUBEMQ-495</a></td>
+<td style="text-align:left">Code implementation adjustment based on SpotBugs check</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-511">TUBEMQ-511</a></td>
+<td style="text-align:left">Replace the conditional operator (?:) with mid()</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-512">TUBEMQ-512</a></td>
+<td style="text-align:left">Add package length control based on Topic</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-515">TUBEMQ-515</a></td>
+<td style="text-align:left">Add cluster Topic view web api</td>
+<td style="text-align:left">Major</td>
+</tr>
+</tbody>
+</table>
+<h3>BUG FIXES:</h3>
+<table>
+<thead>
+<tr>
+<th style="text-align:left">JIRA</th>
+<th style="text-align:left">Summary</th>
+<th style="text-align:left">Priority</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-437">TUBEMQ-437</a></td>
+<td style="text-align:left">Fix tubemq table source sink factory instance creating problem</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-441">TUBEMQ-441</a></td>
+<td style="text-align:left">An error occurred when using the Tubemq class to create a sink table</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-442">TUBEMQ-442</a></td>
+<td style="text-align:left">Modifying the jvm parameters when the broker starts does not take effect</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-443">TUBEMQ-443</a></td>
+<td style="text-align:left">TubemqSourceFunction class prints too many logs problem</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-446">TUBEMQ-446</a></td>
+<td style="text-align:left">Small bugs fix that do not affect the main logics</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-450">TUBEMQ-450</a></td>
+<td style="text-align:left">TubeClientException: Generate producer id failed</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-453">TUBEMQ-453</a></td>
+<td style="text-align:left">TubemqSourceFunction class prints too many logs problem</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-506">TUBEMQ-506</a></td>
+<td style="text-align:left">cmakelist error</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-510">TUBEMQ-510</a></td>
+<td style="text-align:left">Found a bug in MessageProducerExample class</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-518">TUBEMQ-518</a></td>
+<td style="text-align:left">fix parameter pass error</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-526">TUBEMQ-526</a></td>
+<td style="text-align:left">Adjust the packaging script and version check list, remove the &quot;-WIP&quot; tag</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-555">TUBEMQ-555</a></td>
+<td style="text-align:left">short session data can only be written to a specific partition</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-556">TUBEMQ-556</a></td>
+<td style="text-align:left">Index value is bigger than the actual number of records</td>
+<td style="text-align:left">Low</td>
+</tr>
+</tbody>
+</table>
+<h3>TASK:</h3>
+<table>
+<thead>
+<tr>
+<th style="text-align:left">JIRA</th>
+<th style="text-align:left">Summary</th>
+<th style="text-align:left">Priority</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-505">TUBEMQ-505</a></td>
+<td style="text-align:left">Remove the &quot;WIP&quot; label of the DISCLAIMER file</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-543">TUBEMQ-543</a></td>
+<td style="text-align:left">Modify the LICENSE statement of multiple files and others</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-557">TUBEMQ-557</a></td>
+<td style="text-align:left">Handle the issues mentioned in the 0.8.0-RC2 review</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-562">TUBEMQ-562</a></td>
+<td style="text-align:left">Update project contents according to the 0.8.0-RC3 review</td>
+<td style="text-align:left">Major</td>
+</tr>
+</tbody>
+</table>
+<h3>SUB-TASK:</h3>
+<table>
+<thead>
+<tr>
+<th style="text-align:left">JIRA</th>
+<th style="text-align:left">Summary</th>
+<th style="text-align:left">Priority</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-433">TUBEMQ-428</a></td>
+<td style="text-align:left">Bumped version to 0.8.0-SNAPSHOT</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-433">TUBEMQ-433</a></td>
+<td style="text-align:left">add tubemq perf-consumer/producer scripts</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-434">TUBEMQ-434</a></td>
+<td style="text-align:left">Adjust Broker API mapping</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-435">TUBEMQ-435</a></td>
+<td style="text-align:left">Create Web field Mapping</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-436">TUBEMQ-436</a></td>
+<td style="text-align:left">Adjust Broker's HTTP API implementation</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-439">TUBEMQ-439</a></td>
+<td style="text-align:left">Add Cli field Scheme definition</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-440">TUBEMQ-440</a></td>
+<td style="text-align:left">Add feature package tube-manager to zip</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-444">TUBEMQ-444</a></td>
+<td style="text-align:left">Add consume and produce Cli commands</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-447">TUBEMQ-447</a></td>
+<td style="text-align:left">Add Broker-Admin Cli</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-451">TUBEMQ-451</a></td>
+<td style="text-align:left">Replace ConsumeTupleInfo with Tuple2</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-457">TUBEMQ-457</a></td>
+<td style="text-align:left">There is no need to return StringBuilder in Master.java</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-463">TUBEMQ-463</a></td>
+<td style="text-align:left">Adjust Master rebalance process implementation</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-464">TUBEMQ-464</a></td>
+<td style="text-align:left">Add parameter rebalanceParallel in master.ini</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-470">TUBEMQ-470</a></td>
+<td style="text-align:left">Add query API of TopicName and BrokerId collection</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-471">TUBEMQ-471</a></td>
+<td style="text-align:left">Add query API Introduction of TopicName and BrokerId collection</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-472">TUBEMQ-472</a></td>
+<td style="text-align:left">Adjust Broker's AbstractWebHandler class implementation</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-475">TUBEMQ-475</a></td>
+<td style="text-align:left">add the offset clone api of the consume group</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-482">TUBEMQ-482</a></td>
+<td style="text-align:left">Add offset query api</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-484">TUBEMQ-484</a></td>
+<td style="text-align:left">Add query API for topic publication information</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-485">TUBEMQ-485</a></td>
+<td style="text-align:left">Add the batch setting API of consume group offset</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-486">TUBEMQ-486</a></td>
+<td style="text-align:left">Add the delete API of consumer group offset</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-494">TUBEMQ-494</a></td>
+<td style="text-align:left">Update API interface instruction document</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-499">TUBEMQ-499</a></td>
+<td style="text-align:left">Add configure store</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-500">TUBEMQ-500</a></td>
+<td style="text-align:left">Add setting operate API</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-501">TUBEMQ-501</a></td>
+<td style="text-align:left">Adjust max message size check logic</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-502">TUBEMQ-502</a></td>
+<td style="text-align:left">Add setting API interface document</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-504">TUBEMQ-504</a></td>
+<td style="text-align:left">Adjust the WebMethodMapper class interfaces</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-508">TUBEMQ-508</a></td>
+<td style="text-align:left">Optimize Broker's PB parameter check processing logic</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-509">TUBEMQ-509</a></td>
+<td style="text-align:left">Adjust the packet length check when data is loaded</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-522">TUBEMQ-522</a></td>
+<td style="text-align:left">Add admin_query_cluster_topic_view API document</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-544">TUBEMQ-544</a></td>
+<td style="text-align:left">Adjust the LICENSE statement in the client.conf files of Python and C/C++ SDK</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-546">TUBEMQ-546</a></td>
+<td style="text-align:left">Restore the original license header of the referenced external source files</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-547">TUBEMQ-547</a></td>
+<td style="text-align:left">Recode the implementation of the *Startup.java classes in the Tool package</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-548">TUBEMQ-548</a></td>
+<td style="text-align:left">Handle the LICENSE authorization of font files in the resources</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-549">TUBEMQ-549</a></td>
+<td style="text-align:left">Handling the problem of compilation failure</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-550">TUBEMQ-550</a></td>
+<td style="text-align:left">Adjust LICENSE file content</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-551">TUBEMQ-551</a></td>
+<td style="text-align:left">Adjust NOTICE file content</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-558">TUBEMQ-558</a></td>
+<td style="text-align:left">Adjust the LICENSE of the file header</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-559">TUBEMQ-559</a></td>
+<td style="text-align:left">Update the LICENSE file according to the 0.8.0-RC2 review</td>
+<td style="text-align:left">Major</td>
+</tr>
+<tr>
+<td style="text-align:left"><a href="https://issues.apache.org/jira/browse/TUBEMQ-560">TUBEMQ-560</a></td>
+<td style="text-align:left">Remove unprepared modules</td>
+<td style="text-align:left">Major</td>
+</tr>
+</tbody>
+</table>
+</div></section><footer class="footer-container"><div class="footer-body"><img src="/img/incubator-logo.svg"/><div class="cols-container"><div class="col col-24"><p>Apache TubeMQ (incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with  [...]
+	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
+	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
+	<script src="https://buttons.github.io/buttons.js"></script>
+	<script>
+		window.rootPath = '';
+  </script>
+	<script src="/build/documentation.js"></script>
+</body>
+</html>
diff --git a/en-us/docs/download/release-0.8.0.json b/en-us/docs/download/release-0.8.0.json
new file mode 100644
index 0000000..b526839
--- /dev/null
+++ b/en-us/docs/download/release-0.8.0.json
@@ -0,0 +1,8 @@
+{
+  "filename": "release-0.8.0.md",
+  "__html": "<h1>Download the TubeMQ releases</h1>\n<p>Use the links below to download the Apache TubeMQ from one of our mirrors.</p>\n<h2>TubeMQ</h2>\n<table>\n<thead>\n<tr>\n<th style=\"text-align:center\">Date</th>\n<th style=\"text-align:center\">Version</th>\n<th style=\"text-align:center\">Comment</th>\n<th style=\"text-align:center\">Downloads</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td style=\"text-align:center\">March. 4th, 2021</td>\n<td style=\"text-align:center\">0.8.0</td>\n<t [...]
+  "link": "/en-us/docs/download/release-0.8.0.html",
+  "meta": {
+    "title": "Download - Apache TubeMQ"
+  }
+}
\ No newline at end of file
diff --git a/en-us/docs/download/release-0.8.0.md b/en-us/docs/download/release-0.8.0.md
new file mode 100644
index 0000000..1773fed
--- /dev/null
+++ b/en-us/docs/download/release-0.8.0.md
@@ -0,0 +1,102 @@
+---
+title: Download - Apache TubeMQ
+---
+
+# Download the TubeMQ releases
+
+Use the links below to download the Apache TubeMQ from one of our mirrors.
+
+## TubeMQ
+| Date | Version| Comment | Downloads |
+|:---:|:--:|:--:|:--:|
+| March. 4th, 2021 | 0.8.0 | Source | [[SRC](http://www.apache.org/dyn/closer.lua/incubator/tubemq/0.8.0-incubating/apache-tubemq-0.8.0-incubating-src.tar.gz)]                 [[PGP](https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-0.8.0-incubating-src.tar.gz.asc)]             [[SHA512](https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-0.8.0-incubating-src.tar.gz.sha512)] |
+| |                       | Client | [[TAR](http://www.apache.org/dyn/closer.lua/incubator/tubemq/0.8.0-incubating/apache-tubemq-client-0.8.0-incubating-bin.tar.gz)]          [[PGP](https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-client-0.8.0-incubating-bin.tar.gz.asc)]      [[SHA512](https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-client-0.8.0-incubating-bin.tar.gz.sha512)] |
+| |                       | Server | [[TAR](http://www.apache.org/dyn/closer.lua/incubator/tubemq/0.8.0-incubating/apache-tubemq-server-0.8.0-incubating-bin.tar.gz)]          [[PGP](https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-server-0.8.0-incubating-bin.tar.gz.asc)]      [[SHA512](https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-server-0.8.0-incubating-bin.tar.gz.sha512)] |
+
+
+## Release Notes
+
+### IMPROVEMENTS:
+| JIRA  | Summary  | Priority |
+| :---- | :------- | :------- |
+| [TUBEMQ-430](https://issues.apache.org/jira/browse/TUBEMQ-430) | Optimizing the implementation of HTTP API for broke  | Major |
+| [TUBEMQ-445](https://issues.apache.org/jira/browse/TUBEMQ-445) | Adjust the status check default sleep interval of pullConsumeReadyChkSliceMs  | Major |
+| [TUBEMQ-448](https://issues.apache.org/jira/browse/TUBEMQ-448) | Add Committer and PPMC operation process  | Major |
+| [TUBEMQ-449](https://issues.apache.org/jira/browse/TUBEMQ-449) | Adjust Example implementation  | Major |
+| [TUBEMQ-452](https://issues.apache.org/jira/browse/TUBEMQ-452) | Optimize rebalance performance | Major |
+| [TUBEMQ-467](https://issues.apache.org/jira/browse/TUBEMQ-467) | Add WEB APIs of Master and Broker | Major |
+| [TUBEMQ-489](https://issues.apache.org/jira/browse/TUBEMQ-489) | Add the maximum message length parameter setting | Major |
+| [TUBEMQ-495](https://issues.apache.org/jira/browse/TUBEMQ-495) | Code implementation adjustment based on SpotBugs check | Major |
+| [TUBEMQ-511](https://issues.apache.org/jira/browse/TUBEMQ-511) | Replace the conditional operator (?:) with mid()  | Major |
+| [TUBEMQ-512](https://issues.apache.org/jira/browse/TUBEMQ-512) | Add package length control based on Topic  | Major |
+| [TUBEMQ-515](https://issues.apache.org/jira/browse/TUBEMQ-515) | Add cluster Topic view web api  | Major |
+
+### BUG FIXES:
+| JIRA  | Summary  | Priority |
+| :---- | :------- | :------- |
+| [TUBEMQ-437](https://issues.apache.org/jira/browse/TUBEMQ-437) | Fix tubemq table source sink factory instance creating problem | Major |
+| [TUBEMQ-441](https://issues.apache.org/jira/browse/TUBEMQ-441) | An error occurred when using the Tubemq class to create a sink table | Major |
+| [TUBEMQ-442](https://issues.apache.org/jira/browse/TUBEMQ-442) | Modifying the jvm parameters when the broker starts does not take effect  | Major    |
+| [TUBEMQ-443](https://issues.apache.org/jira/browse/TUBEMQ-443) | TubemqSourceFunction class prints too many logs problem | Major |
+| [TUBEMQ-446](https://issues.apache.org/jira/browse/TUBEMQ-446) | Small bugs fix that do not affect the main logics | Major |
+| [TUBEMQ-450](https://issues.apache.org/jira/browse/TUBEMQ-450) | TubeClientException: Generate producer id failed  | Major |
+| [TUBEMQ-453](https://issues.apache.org/jira/browse/TUBEMQ-453) | TubemqSourceFunction class prints too many logs problem | Major |
+| [TUBEMQ-506](https://issues.apache.org/jira/browse/TUBEMQ-506) | cmakelist error | Major |
+| [TUBEMQ-510](https://issues.apache.org/jira/browse/TUBEMQ-510) | Found a bug in MessageProducerExample class | Major |
+| [TUBEMQ-518](https://issues.apache.org/jira/browse/TUBEMQ-518) | fix parameter pass error | Major |
+| [TUBEMQ-526](https://issues.apache.org/jira/browse/TUBEMQ-526) | Adjust the packaging script and version check list, remove the "-WIP" tag | Major |
+| [TUBEMQ-555](https://issues.apache.org/jira/browse/TUBEMQ-555) | short session data can only be written to a specific partition | Major |
+| [TUBEMQ-556](https://issues.apache.org/jira/browse/TUBEMQ-556) | Index value is bigger than the actual number of records | Low |
+
+
+### TASK:
+| JIRA | Summary | Priority |
+|:---- |:---- | :--- |
+| [TUBEMQ-505](https://issues.apache.org/jira/browse/TUBEMQ-505) | Remove the "WIP" label of the DISCLAIMER file  | Major |
+| [TUBEMQ-543](https://issues.apache.org/jira/browse/TUBEMQ-543) | Modify the LICENSE statement of multiple files and others  | Major |
+| [TUBEMQ-557](https://issues.apache.org/jira/browse/TUBEMQ-557) | Handle the issues mentioned in the 0.8.0-RC2 review  | Major |
+| [TUBEMQ-562](https://issues.apache.org/jira/browse/TUBEMQ-562) | Update project contents according to the 0.8.0-RC3 review  | Major |
+
+### SUB-TASK:
+| JIRA  | Summary  | Priority |
+| :---- | :------- | :------- |
+| [TUBEMQ-428](https://issues.apache.org/jira/browse/TUBEMQ-433) | Bumped version to 0.8.0-SNAPSHOT | Major |
+| [TUBEMQ-433](https://issues.apache.org/jira/browse/TUBEMQ-433) | add tubemq perf-consumer/producer scripts | Major |
+| [TUBEMQ-434](https://issues.apache.org/jira/browse/TUBEMQ-434) | Adjust Broker API mapping | Major |
+| [TUBEMQ-435](https://issues.apache.org/jira/browse/TUBEMQ-435) | Create Web field Mapping | Major |
+| [TUBEMQ-436](https://issues.apache.org/jira/browse/TUBEMQ-436) | Adjust Broker's HTTP API implementation | Major |
+| [TUBEMQ-439](https://issues.apache.org/jira/browse/TUBEMQ-439) | Add Cli field Scheme definition | Major |
+| [TUBEMQ-440](https://issues.apache.org/jira/browse/TUBEMQ-440) | Add feature package tube-manager to zip  | Major |
+| [TUBEMQ-444](https://issues.apache.org/jira/browse/TUBEMQ-444) | Add consume and produce Cli commands | Major |
+| [TUBEMQ-447](https://issues.apache.org/jira/browse/TUBEMQ-447) | Add Broker-Admin Cli | Major |
+| [TUBEMQ-451](https://issues.apache.org/jira/browse/TUBEMQ-451) | Replace ConsumeTupleInfo with Tuple2  | Major    |
+| [TUBEMQ-457](https://issues.apache.org/jira/browse/TUBEMQ-457) | There is no need to return StringBuilder in Master.java | Major |
+| [TUBEMQ-463](https://issues.apache.org/jira/browse/TUBEMQ-463) | Adjust Master rebalance process implementation  | Major |
+| [TUBEMQ-464](https://issues.apache.org/jira/browse/TUBEMQ-464) | Add parameter rebalanceParallel in master.ini | Major |
+| [TUBEMQ-470](https://issues.apache.org/jira/browse/TUBEMQ-470) | Add query API of TopicName and BrokerId collection  | Major |
+| [TUBEMQ-471](https://issues.apache.org/jira/browse/TUBEMQ-471) | Add query API Introduction of TopicName and BrokerId collection | Major |
+| [TUBEMQ-472](https://issues.apache.org/jira/browse/TUBEMQ-472) | Adjust Broker's AbstractWebHandler class implementation  | Major |
+| [TUBEMQ-475](https://issues.apache.org/jira/browse/TUBEMQ-475) | add the offset clone api of the consume group  | Major |
+| [TUBEMQ-482](https://issues.apache.org/jira/browse/TUBEMQ-482) | Add offset query api  | Major |
+| [TUBEMQ-484](https://issues.apache.org/jira/browse/TUBEMQ-484) | Add query API for topic publication information  | Major |
+| [TUBEMQ-485](https://issues.apache.org/jira/browse/TUBEMQ-485) | Add the batch setting API of consume group offset  | Major |
+| [TUBEMQ-486](https://issues.apache.org/jira/browse/TUBEMQ-486) | Add the delete API of consumer group offset  | Major |
+| [TUBEMQ-494](https://issues.apache.org/jira/browse/TUBEMQ-494) | Update API interface instruction document | Major |
+| [TUBEMQ-499](https://issues.apache.org/jira/browse/TUBEMQ-499) | Add configure store  | Major |
+| [TUBEMQ-500](https://issues.apache.org/jira/browse/TUBEMQ-500) | Add setting operate API  | Major |
+| [TUBEMQ-501](https://issues.apache.org/jira/browse/TUBEMQ-501) | Adjust max message size check logic  | Major |
+| [TUBEMQ-502](https://issues.apache.org/jira/browse/TUBEMQ-502) | Add setting API interface document  | Major |
+| [TUBEMQ-504](https://issues.apache.org/jira/browse/TUBEMQ-504) | Adjust the WebMethodMapper class interfaces  | Major |
+| [TUBEMQ-508](https://issues.apache.org/jira/browse/TUBEMQ-508) | Optimize Broker's PB parameter check processing logic  | Major |
+| [TUBEMQ-509](https://issues.apache.org/jira/browse/TUBEMQ-509) | Adjust the packet length check when data is loaded  | Major |
+| [TUBEMQ-522](https://issues.apache.org/jira/browse/TUBEMQ-522) | Add admin_query_cluster_topic_view API document  | Major |
+| [TUBEMQ-544](https://issues.apache.org/jira/browse/TUBEMQ-544) | Adjust the LICENSE statement in the client.conf files of Python and C/C++ SDK | Major |
+| [TUBEMQ-546](https://issues.apache.org/jira/browse/TUBEMQ-546) | Restore the original license header of the referenced external source files | Major |
+| [TUBEMQ-547](https://issues.apache.org/jira/browse/TUBEMQ-547) | Recode the implementation of the *Startup.java classes in the Tool package | Major |
+| [TUBEMQ-548](https://issues.apache.org/jira/browse/TUBEMQ-548) | Handle the LICENSE authorization of font files in the resources | Major |
+| [TUBEMQ-549](https://issues.apache.org/jira/browse/TUBEMQ-549) | Handling the problem of compilation failure | Major |
+| [TUBEMQ-550](https://issues.apache.org/jira/browse/TUBEMQ-550) | Adjust LICENSE file content | Major |
+| [TUBEMQ-551](https://issues.apache.org/jira/browse/TUBEMQ-551) | Adjust NOTICE file content | Major |
+| [TUBEMQ-558](https://issues.apache.org/jira/browse/TUBEMQ-558) | Adjust the LICENSE of the file header | Major |
+| [TUBEMQ-559](https://issues.apache.org/jira/browse/TUBEMQ-559) | Update the LICENSE file according to the 0.8.0-RC2 review | Major |
+| [TUBEMQ-560](https://issues.apache.org/jira/browse/TUBEMQ-560) | Remove unprepared modules | Major |
diff --git a/zh-cn/docs/download/download.html b/zh-cn/docs/download/download.html
index dd51000..3a0d7c9 100644
--- a/zh-cn/docs/download/download.html
+++ b/zh-cn/docs/download/download.html
@@ -13,7 +13,15 @@
 </head>
 <body>
 	<div id="root"><div class="documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/zh-cn/index.html"><a href="//www.apache.org"><img class="logo apache" style="width:120px" src="/img/asf_logo.svg"/></a><div class="logo-split"></div><a href=""></a><img class="logo tube" style="width:72px" src="/img/Tube logo.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-swi [...]
-<p>使用以下链接,下载TubeMQ,最新版本为0.7.0.</p>
+<p>使用以下链接,下载TubeMQ,最新版本为0.8.0.</p>
+<h2>0.8.0 release</h2>
+<ul>
+<li>发布时间:2021-03-04</li>
+<li><a href="release-0.8.0.md">发版说明</a></li>
+<li>源码: <a href="http://www.apache.org/dyn/closer.lua/incubator/tubemq/0.8.0-incubating/apache-tubemq-0.8.0-incubating-src.tar.gz">tubemq-0.8.0-incubating-src.tar.gz</a>             [<a href="https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-0.8.0-incubating-src.tar.gz.asc">PGP</a>]        [<a href="https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-0.8.0-incubating-src.tar.gz.sha512">SHA512</a>]</li>
+<li>客户端: <a href="http://www.apache.org/dyn/closer.lua/incubator/tubemq/0.8.0-incubating/apache-tubemq-client-0.8.0-incubating-bin.tar.gz">tubemq-client-0.8.0-incubating-bin.tar.gz</a>       [<a href="https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-client-0.8.0-incubating-bin.tar.gz.asc">PGP</a>] [<a href="https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-client-0.8.0-incubating-bin.tar.gz.sha512">SHA512</a>]</li>
+<li>服务端: <a href="http://www.apache.org/dyn/closer.lua/incubator/tubemq/0.8.0-incubating/apache-tubemq-server-0.8.0-incubating-bin.tar.gz">tubemq-server-0.8.0-incubating-bin.tar.gz</a>       [<a href="https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-server-0.8.0-incubating-bin.tar.gz.asc">PGP</a>] [<a href="https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-server-0.8.0-incubating-bin.tar.gz.sha512">SHA512</a>]</li>
+</ul>
 <h2>0.7.0 release</h2>
 <ul>
 <li>发布时间:2020-12-04</li>
diff --git a/zh-cn/docs/download/download.json b/zh-cn/docs/download/download.json
index b25c859..9cf8217 100644
--- a/zh-cn/docs/download/download.json
+++ b/zh-cn/docs/download/download.json
@@ -1,6 +1,6 @@
 {
   "filename": "download.md",
-  "__html": "<h2>下载链接</h2>\n<p>使用以下链接,下载TubeMQ,最新版本为0.7.0.</p>\n<h2>0.7.0 release</h2>\n<ul>\n<li>发布时间:2020-12-04</li>\n<li><a href=\"release-0.7.0.md\">发版说明</a></li>\n<li>源码: <a href=\"http://www.apache.org/dyn/closer.lua/incubator/tubemq/0.7.0-incubating/apache-tubemq-0.7.0-incubating-src.tar.gz\">tubemq-0.7.0-incubating-src.tar.gz</a>             [<a href=\"https://downloads.apache.org/incubator/tubemq/0.7.0-incubating/apache-tubemq-0.7.0-incubating-src.tar.gz.asc\">PGP</a>]        [< [...]
+  "__html": "<h2>下载链接</h2>\n<p>使用以下链接,下载TubeMQ,最新版本为0.8.0.</p>\n<h2>0.8.0 release</h2>\n<ul>\n<li>发布时间:2021-03-04</li>\n<li><a href=\"release-0.8.0.md\">发版说明</a></li>\n<li>源码: <a href=\"http://www.apache.org/dyn/closer.lua/incubator/tubemq/0.8.0-incubating/apache-tubemq-0.8.0-incubating-src.tar.gz\">tubemq-0.8.0-incubating-src.tar.gz</a>             [<a href=\"https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-0.8.0-incubating-src.tar.gz.asc\">PGP</a>]        [< [...]
   "link": "/zh-cn/docs/download/download.html",
   "meta": {
     "title": "下载 - Apache TubeMQ"
diff --git a/zh-cn/docs/download/download.md b/zh-cn/docs/download/download.md
index 2413fce..40a2b9f 100644
--- a/zh-cn/docs/download/download.md
+++ b/zh-cn/docs/download/download.md
@@ -3,8 +3,14 @@ title: 下载 - Apache TubeMQ
 ---
 
 ## 下载链接
-  使用以下链接,下载TubeMQ,最新版本为0.7.0.
+  使用以下链接,下载TubeMQ,最新版本为0.8.0.
 
+## 0.8.0 release
+ - 发布时间:2021-03-04
+ - [发版说明](release-0.8.0.md)
+ - 源码: [tubemq-0.8.0-incubating-src.tar.gz](http://www.apache.org/dyn/closer.lua/incubator/tubemq/0.8.0-incubating/apache-tubemq-0.8.0-incubating-src.tar.gz)             [[PGP](https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-0.8.0-incubating-src.tar.gz.asc)]        [[SHA512](https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-0.8.0-incubating-src.tar.gz.sha512)]
+ - 客户端: [tubemq-client-0.8.0-incubating-bin.tar.gz](http://www.apache.org/dyn/closer.lua/incubator/tubemq/0.8.0-incubating/apache-tubemq-client-0.8.0-incubating-bin.tar.gz)       [[PGP](https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-client-0.8.0-incubating-bin.tar.gz.asc)] [[SHA512](https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-client-0.8.0-incubating-bin.tar.gz.sha512)]
+ - 服务端: [tubemq-server-0.8.0-incubating-bin.tar.gz](http://www.apache.org/dyn/closer.lua/incubator/tubemq/0.8.0-incubating/apache-tubemq-server-0.8.0-incubating-bin.tar.gz)       [[PGP](https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-server-0.8.0-incubating-bin.tar.gz.asc)] [[SHA512](https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-server-0.8.0-incubating-bin.tar.gz.sha512)]
 ## 0.7.0 release
  - 发布时间:2020-12-04
  - [发版说明](release-0.7.0.md)
diff --git a/zh-cn/docs/download/release-0.8.0.md  b/zh-cn/docs/download/release-0.8.0.md 
new file mode 100644
index 0000000..1741972
--- /dev/null
+++ b/zh-cn/docs/download/release-0.8.0.md 	
@@ -0,0 +1,100 @@
+---
+title: 下载 - Apache TubeMQ
+---
+
+# 下载TubeMQ
+  使用以下镜像下载TubeMQ
+
+## TubeMQ
+| 日期 | 版本| 备注 | 下载 |
+|:---:|:--:|:--:|:--:|
+| 2021-03-04 | 0.8.0 | Source | [[SRC](http://www.apache.org/dyn/closer.lua/incubator/tubemq/0.8.0-incubating/apache-tubemq-0.8.0-incubating-src.tar.gz)]                 [[PGP](https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-0.8.0-incubating-src.tar.gz.asc)]             [[SHA512](https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-0.8.0-incubating-src.tar.gz.sha512)] |
+| |                       | Client | [[TAR](http://www.apache.org/dyn/closer.lua/incubator/tubemq/0.8.0-incubating/apache-tubemq-client-0.8.0-incubating-bin.tar.gz)]          [[PGP](https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-client-0.8.0-incubating-bin.tar.gz.asc)]      [[SHA512](https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-client-0.8.0-incubating-bin.tar.gz.sha512)] |
+| |                       | Server | [[TAR](http://www.apache.org/dyn/closer.lua/incubator/tubemq/0.8.0-incubating/apache-tubemq-server-0.8.0-incubating-bin.tar.gz)]          [[PGP](https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-server-0.8.0-incubating-bin.tar.gz.asc)]      [[SHA512](https://downloads.apache.org/incubator/tubemq/0.8.0-incubating/apache-tubemq-server-0.8.0-incubating-bin.tar.gz.sha512)] |
+
+## 发版说明
+
+### 改进:
+| JIRA  | Summary  | Priority |
+| :---- | :------- | :------- |
+| [TUBEMQ-430](https://issues.apache.org/jira/browse/TUBEMQ-430) | Optimizing the implementation of HTTP API for broke  | Major |
+| [TUBEMQ-445](https://issues.apache.org/jira/browse/TUBEMQ-445) | Adjust the status check default sleep interval of pullConsumeReadyChkSliceMs  | Major |
+| [TUBEMQ-448](https://issues.apache.org/jira/browse/TUBEMQ-448) | Add Committer and PPMC operation process  | Major |
+| [TUBEMQ-449](https://issues.apache.org/jira/browse/TUBEMQ-449) | Adjust Example implementation  | Major |
+| [TUBEMQ-452](https://issues.apache.org/jira/browse/TUBEMQ-452) | Optimize rebalance performance | Major |
+| [TUBEMQ-467](https://issues.apache.org/jira/browse/TUBEMQ-467) | Add WEB APIs of Master and Broker | Major |
+| [TUBEMQ-489](https://issues.apache.org/jira/browse/TUBEMQ-489) | Add the maximum message length parameter setting | Major |
+| [TUBEMQ-495](https://issues.apache.org/jira/browse/TUBEMQ-495) | Code implementation adjustment based on SpotBugs check | Major |
+| [TUBEMQ-511](https://issues.apache.org/jira/browse/TUBEMQ-511) | Replace the conditional operator (?:) with mid()  | Major |
+| [TUBEMQ-512](https://issues.apache.org/jira/browse/TUBEMQ-512) | Add package length control based on Topic  | Major |
+| [TUBEMQ-515](https://issues.apache.org/jira/browse/TUBEMQ-515) | Add cluster Topic view web api  | Major |
+
+### BUG修复:
+| JIRA  | Summary  | Priority |
+| :---- | :------- | :------- |
+| [TUBEMQ-437](https://issues.apache.org/jira/browse/TUBEMQ-437) | Fix tubemq table source sink factory instance creating problem | Major |
+| [TUBEMQ-441](https://issues.apache.org/jira/browse/TUBEMQ-441) | An error occurred when using the Tubemq class to create a sink table | Major |
+| [TUBEMQ-442](https://issues.apache.org/jira/browse/TUBEMQ-442) | Modifying the jvm parameters when the broker starts does not take effect  | Major    |
+| [TUBEMQ-443](https://issues.apache.org/jira/browse/TUBEMQ-443) | TubemqSourceFunction class prints too many logs problem | Major |
+| [TUBEMQ-446](https://issues.apache.org/jira/browse/TUBEMQ-446) | Small bugs fix that do not affect the main logics | Major |
+| [TUBEMQ-450](https://issues.apache.org/jira/browse/TUBEMQ-450) | TubeClientException: Generate producer id failed  | Major |
+| [TUBEMQ-453](https://issues.apache.org/jira/browse/TUBEMQ-453) | TubemqSourceFunction class prints too many logs problem | Major |
+| [TUBEMQ-506](https://issues.apache.org/jira/browse/TUBEMQ-506) | cmakelist error | Major |
+| [TUBEMQ-510](https://issues.apache.org/jira/browse/TUBEMQ-510) | Found a bug in MessageProducerExample class | Major |
+| [TUBEMQ-518](https://issues.apache.org/jira/browse/TUBEMQ-518) | fix parameter pass error | Major |
+| [TUBEMQ-526](https://issues.apache.org/jira/browse/TUBEMQ-526) | Adjust the packaging script and version check list, remove the "-WIP" tag | Major |
+| [TUBEMQ-555](https://issues.apache.org/jira/browse/TUBEMQ-555) | short session data can only be written to a specific partition | Major |
+| [TUBEMQ-556](https://issues.apache.org/jira/browse/TUBEMQ-556) | Index value is bigger than the actual number of records | Low |
+
+
+### 任务:
+| JIRA | Summary | Priority |
+|:---- |:---- | :--- |
+| [TUBEMQ-505](https://issues.apache.org/jira/browse/TUBEMQ-505) | Remove the "WIP" label of the DISCLAIMER file  | Major |
+| [TUBEMQ-543](https://issues.apache.org/jira/browse/TUBEMQ-543) | Modify the LICENSE statement of multiple files and others  | Major |
+| [TUBEMQ-557](https://issues.apache.org/jira/browse/TUBEMQ-557) | Handle the issues mentioned in the 0.8.0-RC2 review  | Major |
+| [TUBEMQ-562](https://issues.apache.org/jira/browse/TUBEMQ-562) | Update project contents according to the 0.8.0-RC3 review  | Major |
+
+### 子任务:
+| JIRA  | Summary  | Priority |
+| :---- | :------- | :------- |
+| [TUBEMQ-428](https://issues.apache.org/jira/browse/TUBEMQ-433) | Bumped version to 0.8.0-SNAPSHOT | Major |
+| [TUBEMQ-433](https://issues.apache.org/jira/browse/TUBEMQ-433) | add tubemq perf-consumer/producer scripts | Major |
+| [TUBEMQ-434](https://issues.apache.org/jira/browse/TUBEMQ-434) | Adjust Broker API mapping | Major |
+| [TUBEMQ-435](https://issues.apache.org/jira/browse/TUBEMQ-435) | Create Web field Mapping | Major |
+| [TUBEMQ-436](https://issues.apache.org/jira/browse/TUBEMQ-436) | Adjust Broker's HTTP API implementation | Major |
+| [TUBEMQ-439](https://issues.apache.org/jira/browse/TUBEMQ-439) | Add Cli field Scheme definition | Major |
+| [TUBEMQ-440](https://issues.apache.org/jira/browse/TUBEMQ-440) | Add feature package tube-manager to zip  | Major |
+| [TUBEMQ-444](https://issues.apache.org/jira/browse/TUBEMQ-444) | Add consume and produce Cli commands | Major |
+| [TUBEMQ-447](https://issues.apache.org/jira/browse/TUBEMQ-447) | Add Broker-Admin Cli | Major |
+| [TUBEMQ-451](https://issues.apache.org/jira/browse/TUBEMQ-451) | Replace ConsumeTupleInfo with Tuple2  | Major    |
+| [TUBEMQ-457](https://issues.apache.org/jira/browse/TUBEMQ-457) | There is no need to return StringBuilder in Master.java | Major |
+| [TUBEMQ-463](https://issues.apache.org/jira/browse/TUBEMQ-463) | Adjust Master rebalance process implementation  | Major |
+| [TUBEMQ-464](https://issues.apache.org/jira/browse/TUBEMQ-464) | Add parameter rebalanceParallel in master.ini | Major |
+| [TUBEMQ-470](https://issues.apache.org/jira/browse/TUBEMQ-470) | Add query API of TopicName and BrokerId collection  | Major |
+| [TUBEMQ-471](https://issues.apache.org/jira/browse/TUBEMQ-471) | Add query API Introduction of TopicName and BrokerId collection | Major |
+| [TUBEMQ-472](https://issues.apache.org/jira/browse/TUBEMQ-472) | Adjust Broker's AbstractWebHandler class implementation  | Major |
+| [TUBEMQ-475](https://issues.apache.org/jira/browse/TUBEMQ-475) | add the offset clone api of the consume group  | Major |
+| [TUBEMQ-482](https://issues.apache.org/jira/browse/TUBEMQ-482) | Add offset query api  | Major |
+| [TUBEMQ-484](https://issues.apache.org/jira/browse/TUBEMQ-484) | Add query API for topic publication information  | Major |
+| [TUBEMQ-485](https://issues.apache.org/jira/browse/TUBEMQ-485) | Add the batch setting API of consume group offset  | Major |
+| [TUBEMQ-486](https://issues.apache.org/jira/browse/TUBEMQ-486) | Add the delete API of consumer group offset  | Major |
+| [TUBEMQ-494](https://issues.apache.org/jira/browse/TUBEMQ-494) | Update API interface instruction document | Major |
+| [TUBEMQ-499](https://issues.apache.org/jira/browse/TUBEMQ-499) | Add configure store  | Major |
+| [TUBEMQ-500](https://issues.apache.org/jira/browse/TUBEMQ-500) | Add setting operate API  | Major |
+| [TUBEMQ-501](https://issues.apache.org/jira/browse/TUBEMQ-501) | Adjust max message size check logic  | Major |
+| [TUBEMQ-502](https://issues.apache.org/jira/browse/TUBEMQ-502) | Add setting API interface document  | Major |
+| [TUBEMQ-504](https://issues.apache.org/jira/browse/TUBEMQ-504) | Adjust the WebMethodMapper class interfaces  | Major |
+| [TUBEMQ-508](https://issues.apache.org/jira/browse/TUBEMQ-508) | Optimize Broker's PB parameter check processing logic  | Major |
+| [TUBEMQ-509](https://issues.apache.org/jira/browse/TUBEMQ-509) | Adjust the packet length check when data is loaded  | Major |
+| [TUBEMQ-522](https://issues.apache.org/jira/browse/TUBEMQ-522) | Add admin_query_cluster_topic_view API document  | Major |
+| [TUBEMQ-544](https://issues.apache.org/jira/browse/TUBEMQ-544) | Adjust the LICENSE statement in the client.conf files of Python and C/C++ SDK | Major |
+| [TUBEMQ-546](https://issues.apache.org/jira/browse/TUBEMQ-546) | Restore the original license header of the referenced external source files | Major |
+| [TUBEMQ-547](https://issues.apache.org/jira/browse/TUBEMQ-547) | Recode the implementation of the *Startup.java classes in the Tool package | Major |
+| [TUBEMQ-548](https://issues.apache.org/jira/browse/TUBEMQ-548) | Handle the LICENSE authorization of font files in the resources | Major |
+| [TUBEMQ-549](https://issues.apache.org/jira/browse/TUBEMQ-549) | Handling the problem of compilation failure | Major |
+| [TUBEMQ-550](https://issues.apache.org/jira/browse/TUBEMQ-550) | Adjust LICENSE file content | Major |
+| [TUBEMQ-551](https://issues.apache.org/jira/browse/TUBEMQ-551) | Adjust NOTICE file content | Major |
+| [TUBEMQ-558](https://issues.apache.org/jira/browse/TUBEMQ-558) | Adjust the LICENSE of the file header | Major |
+| [TUBEMQ-559](https://issues.apache.org/jira/browse/TUBEMQ-559) | Update the LICENSE file according to the 0.8.0-RC2 review | Major |
+| [TUBEMQ-560](https://issues.apache.org/jira/browse/TUBEMQ-560) | Remove unprepared modules | Major |