diff --git a/CMakeLists.txt b/CMakeLists.txt
index af8f341..723f399 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -78,15 +78,11 @@
 # release that changes the ABI. The ABI changes for almost any modification to
 # include/ceres (e.g. the public API). If you are unsure about whether
 # something is an ABI change, please ask on the list.
-#
-# For versions without ABI changes, bump the smallest number in CERES_VERSION,
-# but leave the CERES_ABI_VERSION unchanged.
 set(CERES_VERSION_MAJOR 1)
-set(CERES_VERSION_MINOR 10)
+set(CERES_VERSION_MINOR 11)
 set(CERES_VERSION_PATCH 0)
 set(CERES_VERSION
     ${CERES_VERSION_MAJOR}.${CERES_VERSION_MINOR}.${CERES_VERSION_PATCH})
-set(CERES_ABI_VERSION 1.10.0)
 
 enable_testing()
 
diff --git a/docs/source/building.rst b/docs/source/building.rst
index fe3def3..e8bd80c 100644
--- a/docs/source/building.rst
+++ b/docs/source/building.rst
@@ -9,7 +9,7 @@
 .. _section-source:
 
 You can start with the `latest stable release
-<http://ceres-solver.org/ceres-solver-1.10.0.tar.gz>`_ . Or if you want
+<http://ceres-solver.org/ceres-solver-1.11.0.tar.gz>`_ . Or if you want
 the latest version, you can clone the git repository
 
 .. code-block:: bash
@@ -143,10 +143,10 @@
 
 .. code-block:: bash
 
- tar zxf ceres-solver-1.10.0.tar.gz
+ tar zxf ceres-solver-1.11.0.tar.gz
  mkdir ceres-bin
  cd ceres-bin
- cmake ../ceres-solver-1.10.0
+ cmake ../ceres-solver-1.11.0
  make -j3
  make test
  # Optionally install Ceres, it can also be exported using CMake which
@@ -160,7 +160,7 @@
 
 .. code-block:: bash
 
- bin/simple_bundle_adjuster ../ceres-solver-1.10.0/data/problem-16-22106-pre.txt
+ bin/simple_bundle_adjuster ../ceres-solver-1.11.0/data/problem-16-22106-pre.txt
 
 This runs Ceres for a maximum of 10 iterations using the
 ``DENSE_SCHUR`` linear solver. The output should look something like
@@ -177,7 +177,7 @@
        5  1.803399e+04    5.33e+01    1.48e+04   1.23e+01   9.99e-01  8.33e+05       1    1.45e-01    1.08e+00
        6  1.803390e+04    9.02e-02    6.35e+01   8.00e-01   1.00e+00  2.50e+06       1    1.50e-01    1.23e+00
 
-    Ceres Solver v1.10.0 Solve Report
+    Ceres Solver v1.11.0 Solve Report
     ----------------------------------
                                          Original                  Reduced
     Parameter blocks                        22122                    22122
@@ -278,10 +278,10 @@
 
 .. code-block:: bash
 
-   tar zxf ceres-solver-1.10.0.tar.gz
+   tar zxf ceres-solver-1.11.0.tar.gz
    mkdir ceres-bin
    cd ceres-bin
-   cmake ../ceres-solver-1.10.0
+   cmake ../ceres-solver-1.11.0
    make -j3
    make test
    # Optionally install Ceres, it can also be exported using CMake which
diff --git a/docs/source/conf.py b/docs/source/conf.py
index 439d0c0..c9afebd 100644
--- a/docs/source/conf.py
+++ b/docs/source/conf.py
@@ -48,9 +48,9 @@
 # built documents.
 #
 # The short X.Y version.
-version = '1.10'
+version = '1.11'
 # The full version, including alpha/beta/rc tags.
-release = '1.10.0'
+release = '1.11.0'
 
 # The language for content autogenerated by Sphinx. Refer to documentation
 # for a list of supported languages.
diff --git a/docs/source/faqs.rst b/docs/source/faqs.rst
index f6dbdbb..81bd9b7 100644
--- a/docs/source/faqs.rst
+++ b/docs/source/faqs.rst
@@ -215,7 +215,7 @@
         4  1.803857e+04    5.58e+02    2.69e+04   8.66e+01   9.93e-01  3.69e+05       1    1.61e-01    1.03e+00
         5  1.803391e+04    4.66e+00    3.11e+02   1.02e+01   1.00e+00  1.11e+06       1    1.49e-01    1.18e+00
 
-     Ceres Solver v1.10.0 Solve Report
+     Ceres Solver v1.11.0 Solve Report
      ----------------------------------
                                           Original                  Reduced
      Parameter blocks                        22122                    22122
diff --git a/docs/source/gradient_tutorial.rst b/docs/source/gradient_tutorial.rst
index 9ffc555..ec3b9ac 100644
--- a/docs/source/gradient_tutorial.rst
+++ b/docs/source/gradient_tutorial.rst
@@ -110,7 +110,7 @@
     33: f: 4.835994e-17 d: 1.00e-12 g: 1.05e-07 h: 1.13e-06 s: 1.00e+00 e:  1 it: 4.05e-06 tt: 9.81e-04
     34: f: 1.885250e-22 d: 4.84e-17 g: 2.69e-10 h: 1.45e-08 s: 1.00e+00 e:  1 it: 4.05e-06 tt: 1.00e-03
 
-  Solver Summary (v 1.10.0-lapack-suitesparse-cxsparse-no_openmp)
+  Solver Summary (v 1.11.0-lapack-suitesparse-cxsparse-no_openmp)
 
   Parameters                                  2
   Line search direction              LBFGS (20)
diff --git a/docs/source/index.rst b/docs/source/index.rst
index ea9b309..e4808f0 100644
--- a/docs/source/index.rst
+++ b/docs/source/index.rst
@@ -36,7 +36,7 @@
 ===============
 
 * Download the `latest stable release
-  <http://ceres-solver.org/ceres-solver-1.10.0.tar.gz>`_ or clone the
+  <http://ceres-solver.org/ceres-solver-1.11.0.tar.gz>`_ or clone the
   Git repository for the latest development version.
 
   .. code-block:: bash
diff --git a/docs/source/nnls_tutorial.rst b/docs/source/nnls_tutorial.rst
index 5125d35..322babd 100644
--- a/docs/source/nnls_tutorial.rst
+++ b/docs/source/nnls_tutorial.rst
@@ -392,7 +392,7 @@
       12  2.865573e-13    4.30e-12    2.33e-09   6.02e-04   9.37e-01  5.31e+09       1    5.96e-06    2.67e-03
       13  1.791438e-14    2.69e-13    2.91e-10   3.01e-04   9.37e-01  1.59e+10       1    7.15e-06    2.69e-03
 
-    Ceres Solver v1.10.0 Solve Report
+    Ceres Solver v1.11.0 Solve Report
     ----------------------------------
                                          Original                  Reduced
     Parameter blocks                            4                        4
diff --git a/docs/source/version_history.rst b/docs/source/version_history.rst
index 87ad50e..8ee77c9 100644
--- a/docs/source/version_history.rst
+++ b/docs/source/version_history.rst
@@ -4,8 +4,8 @@
 Version History
 ===============
 
-HEAD
-====
+1.11.0
+======
 
 New Features
 ------------
diff --git a/include/ceres/version.h b/include/ceres/version.h
index bc7a1a8..66505a5 100644
--- a/include/ceres/version.h
+++ b/include/ceres/version.h
@@ -32,9 +32,8 @@
 #define CERES_PUBLIC_VERSION_H_
 
 #define CERES_VERSION_MAJOR 1
-#define CERES_VERSION_MINOR 10
+#define CERES_VERSION_MINOR 11
 #define CERES_VERSION_REVISION 0
-#define CERES_VERSION_ABI 1
 
 // Classic CPP stringifcation; the extra level of indirection allows the
 // preprocessor to expand the macro before being converted to a string.
diff --git a/scripts/make_release b/scripts/make_release
index fbb2499..f146fe1 100755
--- a/scripts/make_release
+++ b/scripts/make_release
@@ -40,14 +40,9 @@
 
 TMP="/tmp/ceres-solver-$1"
 DOCS_TMP="/tmp/ceres-solver-docs-$1"
-VERSION=$(grep 'SET(CERES_VERSION_' CMakeLists.txt | \
+VERSION=$(grep 'set(CERES_VERSION_' CMakeLists.txt | \
           sed -e 's/\(.*\) \(.*\))/\2/' | \
           tr '\n' '.' | sed -e 's/.$//')
-ABI_VERSION=$(grep 'SET(CERES_ABI_VERSION' CMakeLists.txt | \
-              sed -e 's/SET(CERES_ABI_VERSION //' | \
-              sed -e 's/)//')
-VERSION_IN_SPEC=$(grep '^Version:' scripts/ceres-solver.spec | \
-                  sed -e 's/Version: *//')
 GIT_COMMIT=$(git log -1 HEAD |grep commit)
 
 if [[ $1 != $VERSION ]] ; then
@@ -57,22 +52,12 @@
   exit 1
 fi
 
-if [[ $VERSION_IN_SPEC != $VERSION ]] ; then
-  echo "ERROR: Version string from scripts/ceres-solver.spec, which is"
-  echo "       $VERSION_IN_SPEC, does not match the version"
-  echo "       from the toplevel CMakeLists.txt, which is $ABI_VERSION."
-  echo "       You may not be in the toplevel source directory, or the"
-  echo "       versions are out of sync."
-  exit 1
-fi
-
 # Export repository.
 git checkout-index -f -a --prefix=$TMP/
 
 # Build the VERSION file.
 VERSIONFILE=$TMP/VERSION
 echo "version $VERSION" >> $VERSIONFILE
-echo "abi_version $VERSION" >> $VERSIONFILE
 echo "$GIT_COMMIT" >> $VERSIONFILE
 
 # Build the documentation.
@@ -92,10 +77,4 @@
 
 TODO:
   - Upload /tmp/ceres-solver-$1.tar.gz
-
-  - Update the release string in scripts/ceres-solver.spec if this is a RC
-    release or the first release after a RC release.
-
-  - Build and upload RPM package.
-
 EOF
