diff --git a/CHANGELOG.md b/CHANGELOG.md
index 040f2ff..adf3a20 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,15 @@
+# 2.0.0-rc1
+### Features and improvements
+* Set a color filter with xml
+#### Bugs Fixed
+* Prevent a rare crash when used from React Native.
+* Apply transformation to gradient fills.
+* Clip precomps to their bounds.
+* Prevent a crash with certain extreme keyframe values.
+* Fix the sample app for pre-lollipop.
+* Fix some pre-lollipop rendering bugs.
+
+
 # 2.0.0-beta4
 ### Features and improvements
 * Added support to load an animation by scanning a qr code with a url to the json. All 
diff --git a/LottieSample/build.gradle b/LottieSample/build.gradle
index aa3d9d2..3c2f436 100644
--- a/LottieSample/build.gradle
+++ b/LottieSample/build.gradle
@@ -8,8 +8,8 @@
     applicationId "com.airbnb.lottie"
     minSdkVersion 16
     targetSdkVersion 25
-    versionCode 10
-    versionName "2.0.0-beta4"
+    versionCode 11
+    versionName "2.0.0-rc1"
     testInstrumentationRunner "com.airbnb.lottie.TestRunner"
     vectorDrawables.useSupportLibrary = true
   }
diff --git a/LottieSample/src/main/res/layout/fragment_animation.xml b/LottieSample/src/main/res/layout/fragment_animation.xml
index 064147e..79adbc8 100644
--- a/LottieSample/src/main/res/layout/fragment_animation.xml
+++ b/LottieSample/src/main/res/layout/fragment_animation.xml
@@ -242,6 +242,6 @@
         android:textColor="@android:color/black"
         android:textSize="8sp"
         android:layout_marginBottom="8dp"
-        android:text="2.0.0-beta4"/>
+        android:text="2.0.0-rc1"/>
 
 </LinearLayout>
\ No newline at end of file
diff --git a/README.md b/README.md
index fe3a4cb..87dbf0e 100644
--- a/README.md
+++ b/README.md
@@ -44,7 +44,7 @@
 
 ```groovy
 dependencies {  
-  compile 'com.airbnb.android:lottie:2.0.0-beta4'
+  compile 'com.airbnb.android:lottie:2.0.0-rc1'
 }
 ```
 
@@ -281,7 +281,7 @@
 
 * Fill Opacity
 
-* Fiill Rule
+* Fill Rule
 
 #### Trim Paths (shape layer)
 
diff --git a/gradle.properties b/gradle.properties
index a9dd50b..951d237 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -17,7 +17,7 @@
 # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
 # org.gradle.parallel=true
 
-VERSION_NAME=2.0.0-beta4
+VERSION_NAME=2.0.0-rc1
 GROUP=com.airbnb.android
 
 POM_DESCRIPTION=Lottie is an animation library that renders Adobe After Effects animations natively in realtime.
diff --git a/lottie/src/main/java/com/airbnb/lottie/Utils.java b/lottie/src/main/java/com/airbnb/lottie/Utils.java
index dc36bdd..b18a3fd 100644
--- a/lottie/src/main/java/com/airbnb/lottie/Utils.java
+++ b/lottie/src/main/java/com/airbnb/lottie/Utils.java
@@ -25,7 +25,7 @@
     Path path = new Path();
     path.moveTo(startPoint.x, startPoint.y);
 
-    if (cp1 != null  && cp2 != null && (cp1.length() != 0 || cp2.length() != 0)) { // This Line
+    if (cp1 != null  && cp2 != null && (cp1.length() != 0 || cp2.length() != 0)) {
       path.cubicTo(
           startPoint.x + cp1.x, startPoint.y + cp1.y,
           endPoint.x + cp2.x, endPoint.y + cp2.y,
