diff --git a/CMakeLists.txt b/CMakeLists.txt
index ad67e25..eac5816 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -73,8 +73,8 @@
 #
 # For versions without ABI changes, bump the smallest number in CERES_VERSION,
 # but leave the CERES_ABI_VERSION unchanged.
-SET(CERES_VERSION 1.4.0)
-SET(CERES_ABI_VERSION 1.4.0)
+SET(CERES_VERSION 1.5.0)
+SET(CERES_ABI_VERSION 1.5.0)
 
 ENABLE_TESTING()
 
diff --git a/docs/source/bibliography.rst b/docs/source/bibliography.rst
index e80e483..188ed77 100644
--- a/docs/source/bibliography.rst
+++ b/docs/source/bibliography.rst
@@ -19,7 +19,7 @@
    **Representations of Quasi-Newton Matrices and their use in Limited
    Memory Methods**, *Mathematical Programming* 63(4):129–-156, 1994.
 
-.. [ByrdSchanbel] R.H. Byrd, R.B. Schnabel, and G.A. Shultz, **Approximate
+.. [ByrdSchnabel] R.H. Byrd, R.B. Schnabel, and G.A. Shultz, **Approximate
    solution of the trust region problem by minimization over
    two dimensional subspaces**, *Mathematical programming*,
    40(1):247–263, 1988.
diff --git a/docs/source/solving.rst b/docs/source/solving.rst
index fb48bb3..7f58ec8 100644
--- a/docs/source/solving.rst
+++ b/docs/source/solving.rst
@@ -231,8 +231,8 @@
 
 ``SUBSPACE_DOGLEG`` is a more sophisticated method that considers the
 entire two dimensional subspace spanned by these two vectors and finds
-the point that minimizes the trust region problem in this
-subspace [ByrdSchanbel]_.
+the point that minimizes the trust region problem in this subspace
+[ByrdSchnabel]_.
 
 The key advantage of the Dogleg over Levenberg Marquardt is that if
 the step computation for a particular choice of :math:`\mu` does not
@@ -792,7 +792,7 @@
 
    ``ARMIJO`` is the only choice right now.
 
-.. member:: NonlinearConjugateGradientType Solver::Options::nonlinear conjugate_gradient_type
+.. member:: NonlinearConjugateGradientType Solver::Options::nonlinear_conjugate_gradient_type
 
    Default: ``FLETCHER_REEVES``
 
@@ -837,8 +837,8 @@
 
    Ceres supports two different dogleg strategies.
    ``TRADITIONAL_DOGLEG`` method by Powell and the ``SUBSPACE_DOGLEG``
-   method described by [ByrdSchnabel]_.  See :ref:`section-dogleg` for more
-   details.
+   method described by [ByrdSchnabel]_ .  See :ref:`section-dogleg`
+   for more details.
 
 .. member:: bool Solver::Options::use_nonmonotonic_steps
 
diff --git a/scripts/make_docs.py b/scripts/make_docs.py
new file mode 100644
index 0000000..5bffd5b
--- /dev/null
+++ b/scripts/make_docs.py
@@ -0,0 +1,65 @@
+#!/usr/bin/python
+#
+# Ceres Solver - A fast non-linear least squares minimizer
+# Copyright 2013 Google Inc. All rights reserved.
+# http://code.google.com/p/ceres-solver/
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+# * Redistributions of source code must retain the above copyright notice,
+#   this list of conditions and the following disclaimer.
+# * Redistributions in binary form must reproduce the above copyright notice,
+#   this list of conditions and the following disclaimer in the documentation
+#   and/or other materials provided with the distribution.
+# * Neither the name of Google Inc. nor the names of its contributors may be
+#   used to endorse or promote products derived from this software without
+#   specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
+# Author: sameeragarwal@google.com (Sameer Agarwal)
+#
+# Note: You will need Sphinx and Pygments installed for this to work.
+
+import sys
+import os
+import glob
+
+if len(sys.argv) < 3:
+  print "make_docs.py src_root destination_root"
+  sys.exit(1);
+
+src_dir =  sys.argv[1] + "/docs/source"
+build_root = sys.argv[2]
+doctrees_dir = build_root + "/doctrees"
+html_dir =  build_root + "/html"
+
+# Run Sphinx to build the documentation.
+os.system("sphinx-build -b html -d %s %s %s" %(doctrees_dir, src_dir, html_dir))
+
+input_pattern = """config=TeX-AMS-MML_HTMLorMML"></script>"""
+output_pattern = """config=TeX-AMS_HTML">
+  MathJax.Hub.Config({
+    "HTML-CSS": {
+      availableFonts: ["TeX"]
+    }
+  });
+</script>"""
+
+# By default MathJax uses does not use TeX fonts. This simple search
+# an replace fixes that.
+for name in glob.glob("%s/*.html" % html_dir):
+  print "Postprocessing: ", name
+  out = open(name).read().replace(input_pattern, output_pattern)
+  open(name, "w").write(out)
diff --git a/scripts/make_release b/scripts/make_release
index 404aa75..d5867b3 100755
--- a/scripts/make_release
+++ b/scripts/make_release
@@ -30,8 +30,7 @@
 #
 # Author: mierle@gmail.com (Keir Mierle)
 #
-# Note: you will need a fairly complete latex installation, along with
-# pygments, for this to work.
+# Note: You will need Sphinx and Pygments installed for this to work.
 
 if [ -z $1 ] ; then
   echo 'usage: scripts/make_release <version>'
@@ -90,26 +89,18 @@
 echo "$GIT_COMMIT" >> $VERSIONFILE
 
 # Build the documentation.
-cp -pr "$TMP/docs" $DOCS_TMP
-cd $DOCS_TMP
-curl http://minted.googlecode.com/files/minted.sty > minted.sty
-pdflatex -shell-escape ceres-solver && \
-  bibtex ceres-solver && \
-  pdflatex -shell-escape ceres-solver && \
-  pdflatex -shell-escape ceres-solver
-cp $DOCS_TMP/ceres-solver.pdf "$TMP/docs/ceres-solver.pdf"
-cp $DOCS_TMP/ceres-solver.pdf "/tmp/ceres-solver-$1.pdf"
+python $TMP/scripts/make_docs.py $TMP $DOCS_TMP
+cp -pr $DOCS_TMP/html $TMP/docs
 
 # Build the tarball.
 cd /tmp
 tar -cvzf "ceres-solver-$1.tar.gz" "ceres-solver-$1"
 
 # Don't leave a mess behind.
-rm -rf $DOCS_TMP
 rm -rf $TMP
+rm -rf /tmp/sphinx-build/ceres-solver
 
 # Reminder to upload.
 echo
 echo "TODO: upload /tmp/ceres-solver-$1.tar.gz"
-echo "TODO: upload /tmp/ceres-solver-$1.pdf"
 echo
