diff --git a/CHANGES b/CHANGES
index 74041bc..858df20 100644
--- a/CHANGES
+++ b/CHANGES
@@ -19,10 +19,41 @@
 
  Change Log
 
-Release 0.1.0 - unreleased
+Release Notes - S2Graph - Version 0.2.0
+
+** Sub-task
+    * [S2GRAPH-129] - Restrict direct access on Edge's properties from other classes.
+    * [S2GRAPH-130] - Edge.propsWithTs data type should be changed into mutable to support setter interface exist in tp3.
+    * [S2GRAPH-131] - Add actual implementation on interfaces from TinkerPop3 structure package.
+    * [S2GRAPH-148] - Provide Gremlin Plugin
+    * [S2GRAPH-152] - Add IndexType on Management's createIndex
+    * [S2GRAPH-153] - Implement IndexProvider(for Mixed IndexType) class
+    * [S2GRAPH-157] - Check proper apache license header on all files for release 0.2.0
+    * [S2GRAPH-158] - Bug fix on String type InnerVal encoding to use UTF-8 charsetName.
+    * [S2GRAPH-161] - Update CHANGES file with correct release version
+
+** Bug
+    * [S2GRAPH-159] - Wrong syntax at a bash script under Linux
+
+** Improvement
+    * [S2GRAPH-72] - Support Apache TinkerPop and Gremlin
+    * [S2GRAPH-121] - Create `Result` class to hold traverse result edges.
+    * [S2GRAPH-122] - Change data types of Edge/IndexEdge/SnapshotEdge.
+    * [S2GRAPH-132] - Support buffering for 'Increment RPC'
+    * [S2GRAPH-133] - Deprecating Vagrant environment.
+    * [S2GRAPH-135] - Change the way LabelIndexOption is implemented and improve it
+    
+** New Feature
+    * [S2GRAPH-123] - Support different index on out/in direction.
+    * [S2GRAPH-125] - Add options field on Label model for controlling advanced options.
+
+** Task
+    
+
+Release 0.1.0 - Released
 
   NEW FEATURES
-    
+
     S2GRAPH-34: Provide option to select which field in edge's properties to run timeDecay function (Committed by DOYUNG YOON).
 
     S2GRAPH-35: Provide normalize option on query (Committed by DOYUNG YOON).
@@ -32,20 +63,16 @@
     S2GRAPH-32: Support variable such as now, day, hour on query (Committed by DOYUNG YOON).
 
     S2GRAPH-45: Provide way to call specific bucket on experiment (Committed by DOYUNG YOON).
-  
+
     S2GRAPH-33: Support weighted sum of multiple query results (Committed by DOYUNG YOON).
 
     S2GRAPH-50: Provide new HBase Storage Schema (Committed by DOYUNG YOON).
 
     S2GRAPH-60: Add divide operation to scorePropagateOp.
-		(Contributed by Junki Kim<wishoping@gmail.com>, committed by DOYUNG YOON).
+        	(Contributed by Junki Kim<wishoping@gmail.com>, committed by DOYUNG YOON).
 
     S2GRAPH-12: Add Label Name Swap Feature.
-		(Contributed by Hyunsung Jo<hyunsung.jo@gmail.com>, committed by DOYUNG YOON).
-
-    S2GRAPH-125: Add options field on Label model for controlling advanced options (Committed by DOYUNG YOON).
-   
-    S2GRAPH-123: Support different index on out/in direction (Committed by DOYUNG YOON).
+        	(Contributed by Hyunsung Jo<hyunsung.jo@gmail.com>, committed by DOYUNG YOON).
 
   IMPROVEMENT
 
@@ -61,60 +88,52 @@
 
     S2GRAPH-39: Better exception message on converting between Json and InnerVal (Committed by DOYUNG YOON).
 
-    S2GRAPH-40: PostProcess.toHashKey gives different hash key with same value when edge's label schema version is different 
+    S2GRAPH-40: PostProcess.toHashKey gives different hash key with same value when edge's label schema version is different
                 (Committed by DOYUNG YOON).
 
     S2GRAPH-41: Refactor PostProcess's toSimpleVertexArrJson (Committed by DOYUNG YOON).
 
     S2GRAPH-44: Provide cache for WhereParser on query (Committed by DOYUNG YOON).
 
-    S2GRAPH-53: Refactor Storage to decide which serializer/deserializer for IndexEdge/SnapshotEdge/Vertex 
-		(Committed by DOYUNG YOON).
+    S2GRAPH-53: Refactor Storage to decide which serializer/deserializer for IndexEdge/SnapshotEdge/Vertex
+        	(Committed by DOYUNG YOON).
 
     S2GRAPH-55: Add param to enable epoll event loop in experimental netty http server (Committed by daewon).
-    
+
     S2GRAPH-66: Optimize toEdge, IndexEdgeDeserializable using mutable Map. (Committed by DOYUN GYOON).
 
-    S2GRAPH-22: Add missing shebang line to file. 
-		(Contributed by Injun Song<ijsong@gmail.com>, committed by DOYUNG YOON)
-    
+    S2GRAPH-22: Add missing shebang line to file.
+        	(Contributed by Injun Song<ijsong@gmail.com>, committed by DOYUNG YOON)
+
     S2GRAPH-70: Automate the process of building a distribution package
-		(Contributed by Jong Wook Kim<jongwook@nyu.edu>, committed by DOYUNG YOON)
+        	(Contributed by Jong Wook Kim<jongwook@nyu.edu>, committed by DOYUNG YOON)
 
     S2GRAPH-82: Merge DeferCache and FutureCache (Committed by Daewon Jeong).
 
     S2GRAPH-116: using ASM and ByteBuddy to add a proxy to Asynchbase's Scanner.
-		(Contributed by Jong Wook Kim<jongwook@nyu.edu>, committed by DOYUNG YOON)
+        	(Contributed by Jong Wook Kim<jongwook@nyu.edu>, committed by DOYUNG YOON)
 
     S2GRAPH-117: Cleaner logging library usage.
-		(Contributed by Jong Wook Kim<jongwook@nyu.edu>, committed by DOYUNG YOON)
+        	(Contributed by Jong Wook Kim<jongwook@nyu.edu>, committed by DOYUNG YOON)
 
     S2GRAPH-115: Release binary artifacts to Maven Central.
-		(Contributed by Jong Wook Kim<jongwook@nyu.edu>, committed by DOYUNG YOON)
-    
+        	(Contributed by Jong Wook Kim<jongwook@nyu.edu>, committed by DOYUNG YOON)
+
     S2GRAPH-124: Change JSONParser from Trait to Object (Committed by DOYUNG YOON).
-    
+
     S2GRAPH-127: Refactor ExceptionHander Object into Class (Committed by DOYUNG YOON).
 
-    S2GRAPH-121: Create `Result` class to hold traverse result edges (Committed by DOYUNG YOON).
- 
-    S2GRAPH-122: Change data types of Edge/IndexEdge/SnapshotEdge (Committed by DOYUNG YOON).
- 
-    S2GRAPH-135: Change the way LabelIndexOption is implemented and improve it (Committed by daewon).
-
-    S2GRAPH-132: Support buffering for 'Increment RPC' (Committed by daewon).
-
   BUG FIXES
 
-    S2GRAPH-18: Query Option "interval" is Broken. 
+    S2GRAPH-18: Query Option "interval" is Broken.
                 (Contributed by Hyunsung Jo<hyunsung.jo@gmail.com>, committed by daewon)
 
     S2GRAPH-20: bug fix in query option "sample".
                 (Contributed by Hyunsung Jo<hyunsung.jo@gmail.com>, committed by DOYUNG YOON)
-      
-    S2GRAPH-28: _to option gives wrong result on query.	
+
+    S2GRAPH-28: _to option gives wrong result on query.
                 (Contributed by Hyunsung Jo<hyunsung.jo@gmail.com>, committed by DOYUNG YOON)
-    
+
     S2GRAPH-38: Transform option gives wrong result since it transform degree edge too (Committed by DOYUNG YOON).
 
     S2GRAPH-42: Bug on EdgeTransformer with specific cases (Committed by DOYUNG YOON).
@@ -122,15 +141,15 @@
     S2GRAPH-43: Bug on offset when Interval is given on query (Committed by DOYUNG YOON).
 
     S2GRAPH-19: When query with duration error (Committed by DOYUNG YOON).
-    
+
     S2GRAPH-63: Condition on partition strong edges and weak edges on mutateEdges is wrong (Committed by DOYUNG YOON).
-   
+
     S2GRAPH-65: Deferred produce exception (Committed by DOYUNG YOON).
 
     S2GRAPH-64: incrementCounts yield type case exception (Committed by DOYUNG YOON).
-  
+
     S2GRAPH-118: Fix compile error on test cases on loader project (Committed by DOYUNG YOON).
-    
+
     S2GRAPH-120: Netty version is conflict with play 2.5.9 (Committed by DOYUNG YOON).
 
     S2GRAPH-126: SBT error when there is no ~/.m2/settings.xml
@@ -139,10 +158,6 @@
     S2GRAPH-138: Fixed logging in Play! development mode
                  (Contributed by Jong Wook Kim<jongwook@nyu.edu>, committed by DOYUNG YOON)
 
-    S2GRAPH-158: Bug fix on String type InnerVal encoding to use UTF-8 charsetName (Committed by DOYUNG YOON).
-    
-    S2GRAPH-159: Wrong syntax at a bash script under Linux (Committed by DOYUNG YOON).
-
   TASKS
 
     S2GRAPH-2: Update document and quick start environment to have recent set-up command changes.
@@ -151,14 +166,14 @@
     S2GRAPH-5: Add Apache RAT to valid LICENSE errors. (Committed by DOYUNG YOON).
 
     S2GRAPH-17: Remove unnecessary abstraction layer, Storage. (Committed by DOYUNG YOON).
-    
+
     S2GRAPH-57: Change package names into org.apahce.s2graph. (Committed by DOYUNG YOON).
 
     S2GRAPH-4: Update license headers in source codes. (Committed by DOYUNG YOON).
-    
-    S2GRAPH-61: Update README.md to have Apache mailing list. 
-		(Contributed by Hyunsung Jo<hyunsung.jo@gmail.com>, committed by DOYUNG YOON)
-	
+
+    S2GRAPH-61: Update README.md to have Apache mailing list.
+        	(Contributed by Hyunsung Jo<hyunsung.jo@gmail.com>, committed by DOYUNG YOON)
+
     S2GRAPH-71: Missing resolver in plugin settings.
                 (Contributed by Injun Song<ijsong@gmail.com>, committed by DOYUNG YOON)
 
@@ -173,37 +188,37 @@
     S2GRAPH-7: Abstract common codes for rest project into s2core. (Committed by daewon).
 
     S2GRAPH-31: Remove playframework dependencies on s2core/build.sbt. (Committed by DOYUNG YOON).
-    
+
     S2GRAPH-69: Change IndexEdge's props data type. (Committed by DOYUNG YOON).
 
     S2GRAPH-87: LICENSE file should be changed. (Committed by Sergio Fernández).
-   
+
     S2GRAPH-73: Add an SBT task and relevant scripts to construct a package for distribution.
-		(Contributed by Jong Wook Kim<jongwook@nyu.edu>, committed by DOYUNG YOON)
+        	(Contributed by Jong Wook Kim<jongwook@nyu.edu>, committed by DOYUNG YOON)
 
     S2GRAPH-74: Add a script that starts/stops a local hbase server.
-		(Contributed by Jong Wook Kim<jongwook@nyu.edu>, committed by DOYUNG YOON)
+        	(Contributed by Jong Wook Kim<jongwook@nyu.edu>, committed by DOYUNG YOON)
 
     S2GRAPH-75: Use an embedded database as the default metadata storage.
-		(Contributed by Jong Wook Kim<jongwook@nyu.edu>, committed by DOYUNG YOON)
+        	(Contributed by Jong Wook Kim<jongwook@nyu.edu>, committed by DOYUNG YOON)
 
     S2GRAPH-81: Separate Serializable's toKeyValues into 3, toRowKey, toQualifier, toValue. (Committed by DOYUNG YOON).
 
     S2GRAPH-88: Add DISCLAIMER, LICENSE, NOTICE on packaging process.
-		(Contributed by Jong Wook Kim<jongwook@nyu.edu>, committed by DOYUNG YOON)
-    
+        	(Contributed by Jong Wook Kim<jongwook@nyu.edu>, committed by DOYUNG YOON)
+
     S2GRAPH-89: Change version number on project. (Committed by DOYUNG YOON).
-    
+
     S2GRAPH-91: Remove custom repository on project's build.sbt (Committed by DOYUNG YOON).
-    
+
     S2GRAPH-93: Remove MySQL JDBC driver (Committed by DOYUNG YOON).
-    
+
     S2GRAPH-98: Make test cases on multiple projects run sequentially (Committed by DOYUNG YOON).
-    
+
     S2GRAPH-99: Reduce number of test run on test cases on org.apache.s2graph.rest.play.benchmark (Committed by DOYUNG YOON).
 
     S2GRAPH-96: Remove unmanaged dependencies(asynchbase) and speficy it on build.sbt. (Committed by DOYUNG YOON).
-    
+
     S2GRAPH-97: Add KEYS file (Committed by DOYUNG YOON).
 
     S2GRAPH-95: Add sbt-pgp plugin on plugins.sbt (Committed by DOYUNG YOON).
@@ -211,59 +226,45 @@
     S2GRAPH-92: Add proper license headers on files with unknown licenses (Committed by DOYUNG YOON).
 
     S2GRAPH-100: Add BUILD.md to explain how to package from source, then add it into REAME.md (Committed by DOYUNG YOON).
-    
+
     S2GRAPH-94: Add description for project layout on REAME.
-		(Contributed by Jong Wook Kim<jongwook@nyu.edu>, committed by DOYUNG YOON).
+        	(Contributed by Jong Wook Kim<jongwook@nyu.edu>, committed by DOYUNG YOON).
 
     S2GRAPH-103: Remove dependencies on custom fork of asynchbase (Committed by DOYUNG YOON).
 
     S2GRAPH-102: Add more configuration optoins in application.conf (Committed by DOYUNG YOON).
-    
+
     S2GRAPH-84: Test-case compilation error on `s2counter_loader` project (Committed by Jaesang Kim).
 
     S2GRAPH-104: force scalaz-stream, netty-http-pipelining dependencies version which is available on maven central (Committed by DOYUNG YOON).
-    
+
     S2GRAPH-109: Merge duplicate test.sh into one same as `Your First Graph` on README.md (Committed by DOYUNG YOON).
 
     S2GRAPH-106: Remove warnings while package (Committed by DOYUNG YOON).
 
     S2GRAPH-112: Additional refinements in README.md
-		(Contributed by Jong Wook Kim<jongwook@nyu.edu>, committed by DOYUNG YOON).
+        	(Contributed by Jong Wook Kim<jongwook@nyu.edu>, committed by DOYUNG YOON).
 
     S2GRAPH-111: typo fix: getServiceLable -> getServiceLabel
-		(Contributed by Jong Wook Kim<jongwook@nyu.edu>, committed by DOYUNG YOON).
-	
+        	(Contributed by Jong Wook Kim<jongwook@nyu.edu>, committed by DOYUNG YOON).
+
     S2GRAPH-110: Add more committer's public key to KEYS file (Committed by DOYUNG YOON).
 
     S2GRAPH-113: Add license header on `bin/example.sh` (Committed by DOYUNG YOON).
-     
+
     S2GRAPH-114: `MethodNotSupportedException` class in s2counter_core project miss license header (Committed by DOYUNG YOON).
-    
-    S2GRAPH-129: Restrict direct access on Edge's properties from other classes. (Committed by DOYUNG YOON).
- 
-    S2GRAPH-130: Edge.propsWithTs data type should be changed into mutable to support setter interface exist in tp3 (Committed by DOYUNG YOON).
-    
-    S2GRAPH-131: Add actual implementation on interfaces from TinkerPop3 structure package. (Committed by DOYUNG YOON).
 
     S2GRAPH-136: Validate TinkerPop3 interface with gremlin-test suite. (Committed by DOYUNG YOON).
-    
-    S2GRAPH-152: Add buildGlobalIndex API on Management. (Committed by DOYUNG YOON).
-    
-    S2GRAPH-153: Implement IndexProvider(for Mixed IndexType) class. (Committed by DOYUNG YOON).
 
-    S2GRAPH-148: Provide Gremlin Plugin. (Committed by DOYUNG YOON).
-    
-    S2GRAPH-157: Check proper apache license header on all files for release 0.2.0 (Committed by DOYUNG YOON).
-   
   TEST
-    
+
     S2GRAPH-21: Change PostProcessBenchmarkSpec not to store and fetch test data from storage. (Committed by DOYUNG YOON).
 
-    S2GRAPH-108: Support continuous integration test. 
+    S2GRAPH-108: Support continuous integration test.
     (Contributed by Injun Song<ijsong@gmail.com>, committed by DOYUNG YOON)
-		
+
     S2GRAPH-144: [S2GRAPH-144] Travis icon in README is not proper link
     (Contributed by Injun Song<ijsong@gmail.com>, committed by Daewon Jeong)
 
     S2GRAPH-145: [S2GRAPH-145] Improve travis to cache maven directory
-    Contributed by Injun Song<ijsong@gmail.com>, committed by Daewon Jeong)
+    (Contributed by Injun Song<ijsong@gmail.com>, committed by Daewon Jeong)
