diff --git a/docs/download/download.md b/docs/download/download.md
index 09b5801..b92047a 100644
--- a/docs/download/download.md
+++ b/docs/download/download.md
@@ -1,35 +1,38 @@
-# Download
-Use the link below to download Weex release from one of Apache mirror site.
-
-Weex Release is all about source code, not binary, ref [ASF policy on software release](http://www.apache.org/legal/release-policy.html#compiled-packages).
-
-::: warning
-Every Weex Release includes source together with corresponding cryptographic signatures and checksums. You should always verify the file downloaded file from mirror with checksum and signature using the [procedures](https://www.apache.org/dyn/closer.cgi#verify) and [KEYS](https://dist.apache.org/repos/dist/dev/incubator/weex/KEYS).
-:::
-
-::: tip
-Weex provides binary files in every release only for users' convenience. Binary files are never part of any release.
-:::
-
-# Latest Release
-## 0.24.0
-* Released in May 23, 2019
-* [source](https://www.apache.org/dyn/closer.cgi?filename=incubator/weex/0.24.0/apache-weex-incubating-0.24.0-src.tar.gz&action=download) | [asc](https://www.apache.org/dist/incubator/weex/0.24.0/apache-weex-incubating-0.24.0-src.tar.gz.asc) | [sha](https://dist.apache.org/repos/dist/release/incubator/weex/0.24.0/apache-weex-incubating-0.24.0-src.tar.gz.sha512)
-* Binary
-    * Android 
-        `compile 'com.taobao.android:weex_sdk:0.24.0'`
-    * iOS 
-        `pod "WeexSDK","0.24.0"`
-
-# Archived Release
-## 0.20.0 
-* Released in Nov 30, 2018
-* [source](https://archive.apache.org/dist/incubator/weex/0.20.0/apache-weex-incubating-0.20.0-src.tar.gz) | [asc](https://archive.apache.org/dist/incubator/weex/0.20.0/apache-weex-incubating-0.20.0-src.tar.gz.asc) | [sha](https://archive.apache.org/dist/incubator/weex/0.20.0/apache-weex-incubating-0.20.0-src.tar.gz.sha512)
-
-## 0.19.0
-* Released in Oct 30, 2018
-* [source](https://archive.apache.org/dist/incubator/weex/0.19.0/apache-weex-incubating-0.19.0-src.tar.gz) | [asc](https://archive.apache.org/dist/incubator/weex/0.19.0/apache-weex-incubating-0.19.0-src.tar.gz.asc) | [sha512](https://archive.apache.org/dist/incubator/weex/0.19.0/apache-weex-incubating-0.19.0-src.tar.gz.sha512)
-
-## 0.12.0
-* Released in Jun 9, 2017
-* [source](https://archive.apache.org/dist/incubator/weex/0.12.0-incubating/apache-weex-incubating-0.12.0-src.tar.gz) | [asc](https://archive.apache.org/dist/incubator/weex/0.12.0-incubating/apache-weex-incubating-0.12.0-src.tar.gz.asc) | [sha512](https://archive.apache.org/dist/incubator/weex/0.12.0-incubating/apache-weex-incubating-0.12.0-src.tar.gz.sha)
\ No newline at end of file
+# Download
+Use the link below to download Weex release from one of Apache mirror site.
+
+Weex Release is all about source code, not binary, ref [ASF policy on software release](http://www.apache.org/legal/release-policy.html#compiled-packages).
+
+::: warning
+Every Weex Release includes source together with corresponding cryptographic signatures and checksums. You should always verify the file downloaded file from mirror with checksum and signature using the [procedures](https://www.apache.org/dyn/closer.cgi#verify) and [KEYS](https://dist.apache.org/repos/dist/dev/incubator/weex/KEYS).
+:::
+
+::: tip
+Weex provides binary files in every release only for users' convenience. Binary files are never part of any release.
+:::
+
+# Latest Release
+## 0.24.0
+* Released in May 23, 2019
+* [ChangeLog](https://github.com/apache/incubator-weex/releases/tag/0.24.0)
+* [Source](https://www.apache.org/dyn/closer.cgi?filename=incubator/weex/0.24.0/apache-weex-incubating-0.24.0-src.tar.gz&action=download) | [Signature](https://www.apache.org/dist/incubator/weex/0.24.0/apache-weex-incubating-0.24.0-src.tar.gz.asc) | [Checksum](https://dist.apache.org/repos/dist/release/incubator/weex/0.24.0/apache-weex-incubating-0.24.0-src.tar.gz.sha512)
+* Binary
+    * Android 
+        `compile 'com.taobao.android:weex_sdk:0.24.0'`
+    * iOS 
+        `pod "WeexSDK","0.24.0"`
+
+# Archived Release
+## 0.20.0 
+* Released in Nov 30, 2018
+* [ChangeLog](https://github.com/apache/incubator-weex/releases/tag/0.20.0)
+* [Source](https://archive.apache.org/dist/incubator/weex/0.20.0/apache-weex-incubating-0.20.0-src.tar.gz) | [Signature](https://archive.apache.org/dist/incubator/weex/0.20.0/apache-weex-incubating-0.20.0-src.tar.gz.asc) | [Checksum](https://archive.apache.org/dist/incubator/weex/0.20.0/apache-weex-incubating-0.20.0-src.tar.gz.sha512)
+
+## 0.19.0
+* Released in Oct 30, 2018
+* [ChangeLog](https://github.com/apache/incubator-weex/releases/tag/0.19.0)
+* [Source](https://archive.apache.org/dist/incubator/weex/0.19.0/apache-weex-incubating-0.19.0-src.tar.gz) | [Signature](https://archive.apache.org/dist/incubator/weex/0.19.0/apache-weex-incubating-0.19.0-src.tar.gz.asc) | [Checksum](https://archive.apache.org/dist/incubator/weex/0.19.0/apache-weex-incubating-0.19.0-src.tar.gz.sha512)
+
+## 0.12.0
+* Released in Jun 9, 2017
+* [Source](https://archive.apache.org/dist/incubator/weex/0.12.0-incubating/apache-weex-incubating-0.12.0-src.tar.gz) | [Signature](https://archive.apache.org/dist/incubator/weex/0.12.0-incubating/apache-weex-incubating-0.12.0-src.tar.gz.asc) | [Checksum](https://archive.apache.org/dist/incubator/weex/0.12.0-incubating/apache-weex-incubating-0.12.0-src.tar.gz.sha)
\ No newline at end of file
diff --git a/docs/zh/download/download.md b/docs/zh/download/download.md
index 0f1e5e4..1b60486 100644
--- a/docs/zh/download/download.md
+++ b/docs/zh/download/download.md
@@ -14,6 +14,7 @@
 # 最新版本
 ## 0.24.0
 * 发布日期 2019年5月23日
+* [变更记录](https://github.com/apache/incubator-weex/releases/tag/0.24.0)
 * [源代码](https://www.apache.org/dyn/closer.cgi?filename=incubator/weex/0.24.0/apache-weex-incubating-0.24.0-src.tar.gz&action=download) | [签名](https://www.apache.org/dist/incubator/weex/0.24.0/apache-weex-incubating-0.24.0-src.tar.gz.asc) | [哈希](https://dist.apache.org/repos/dist/release/incubator/weex/0.24.0/apache-weex-incubating-0.24.0-src.tar.gz.sha512)
 * 二进制下载渠道
     * Android 
@@ -24,10 +25,12 @@
 # 历史版本
 ## 0.20.0 
 * 发布日期 2018年11月30日
+* [变更记录](https://github.com/apache/incubator-weex/releases/tag/0.20.0)
 * [源代码](https://archive.apache.org/dist/incubator/weex/0.20.0/apache-weex-incubating-0.20.0-src.tar.gz) | [签名](https://archive.apache.org/dist/incubator/weex/0.20.0/apache-weex-incubating-0.20.0-src.tar.gz.asc) | [哈希](https://archive.apache.org/dist/incubator/weex/0.20.0/apache-weex-incubating-0.20.0-src.tar.gz.sha512)
 
 ## 0.19.0
 * 发布日期 2018年10月30日
+* [变更记录](https://github.com/apache/incubator-weex/releases/tag/0.19.0)
 * [源代码](https://archive.apache.org/dist/incubator/weex/0.19.0/apache-weex-incubating-0.19.0-src.tar.gz) | [签名](https://archive.apache.org/dist/incubator/weex/0.19.0/apache-weex-incubating-0.19.0-src.tar.gz.asc) | [哈希](https://archive.apache.org/dist/incubator/weex/0.19.0/apache-weex-incubating-0.19.0-src.tar.gz.sha512)
 
 ## 0.12.0
