diff --git a/KEYS b/KEYS
old mode 100644
new mode 100755
index 36a9da3..6f42f04
--- a/KEYS
+++ b/KEYS
@@ -313,4 +313,75 @@
 76eUv1NgGzx/5IDkZAhl3Ryu
 =O2O4
 -----END PGP PUBLIC KEY BLOCK-----
+pub   4096R/4B0F5DC4 2021-07-09
+uid                  Zhaojing Luo (CODE SIGNING KEY) <zhaojing@comp.nus.edu.sg>
+sig 3        4B0F5DC4 2021-07-09  Zhaojing Luo (CODE SIGNING KEY) <zhaojing@comp.nus.edu.sg>
+sig          6DABDD89 2021-07-19  Wei Wang (Apache SINGA Release) <wangwei.cs@gmail.com>
+sub   4096R/7BD140A7 2021-07-09
+sig          4B0F5DC4 2021-07-09  Zhaojing Luo (CODE SIGNING KEY) <zhaojing@comp.nus.edu.sg>
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1
+
+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
+2gSOZ5OD0Wlb4pzQVsk=
+=V9SP
+-----END PGP PUBLIC KEY BLOCK-----
 
diff --git a/RELEASE_NOTES b/RELEASE_NOTES
index f7852ee..6a3cebf 100644
--- a/RELEASE_NOTES
+++ b/RELEASE_NOTES
@@ -1,3 +1,40 @@
+Release Notes - SINGA - Version singa-3.2.0
+
+SINGA is a distributed deep learning library.
+
+This release includes following changes:
+
+  * New examples:
+    * Add one cifar-10 distributed CNN example for benchmarking the performance of the distributed
+      training.
+    * Add one large CNN example for training with a dataset from the filesysetm.
+
+  * Enhance distributed training
+    * Improve the data augmentation module for faster distributed training.
+    * Add device synchronization for more accurate time measurements during the distributed training.
+
+  * Add Support for half-precision floating-point format (fp16) in deep learning models and 
+    computational kernels.
+
+  * Update new onnx APIs and fix onnx examples accordingly, namely, DenseNet121, ShuffleNetv1, 
+    ShuffleNetv2, SqueezeNet, VGG19.
+
+  * Add a new method to resize images by given width and height.
+
+  * Use docusaurus versioning to simplify the process of generating the project homepage.
+
+  * Promote code quality
+    * Unify the formats of docstrings that describe the contents and usage of the module.
+    * Unify the parameters of command-line arguments.
+
+  * Fix bugs
+    * Fix the CI build error by downloading the tbb binaries.
+    * Add disabling graph option for accessing parameter or gradient tensors during distributed  
+      training.
+    * Solve the warnings of deprecated functions in the distributed optimizer module.
+
+----------------------------------------------------------------------------------------------
+
 Release Notes - SINGA - Version singa-3.1.0
 
 SINGA is a distributed deep learning library.
