Update version numbers.
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 143c458..3cd7424 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,5 +1,5 @@
 cmake_minimum_required(VERSION 3.0)
-project(double-conversion VERSION 3.0.0)
+project(double-conversion VERSION 3.1.1)
 
 set(headers
     double-conversion/bignum.h
@@ -27,7 +27,7 @@
     $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>)
 
 # pick a version #
-set_property(TARGET double-conversion PROPERTY SOVERSION ${PROJECT_VERSION})
+set_target_properties(double-conversion PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION 3)
 
 # set up testing if requested
 option(BUILD_TESTING "Build test programs" OFF)
diff --git a/Changelog b/Changelog
index dfaaa91..16e92d5 100644
--- a/Changelog
+++ b/Changelog
@@ -1,3 +1,6 @@
+2018-09-15:
+  Update version numbers. This also updates the shared-library version number.
+
 2018-09-09:
   Fix bug where large hex literals would lose their minus sign.
   Added support for separator characters (which adds a new optional
diff --git a/SConstruct b/SConstruct
index cff18b4..c4de4b4 100644
--- a/SConstruct
+++ b/SConstruct
@@ -16,7 +16,7 @@
 env.Replace(CXX = ARGUMENTS.get('CXX', 'g++'))
 
 # for shared lib, requires scons 2.3.0
-env['SHLIBVERSION'] = '1.0.0'
+env['SHLIBVERSION'] = '3.0.0'
 
 CCFLAGS = []
 if int(debug):