Version 1.4.0
diff --git a/asn1crypto/version.py b/asn1crypto/version.py
index b7c352c..3cf4892 100644
--- a/asn1crypto/version.py
+++ b/asn1crypto/version.py
@@ -2,5 +2,5 @@
 from __future__ import unicode_literals, division, absolute_import, print_function
 
 
-__version__ = '1.3.0'
-__version_info__ = (1, 3, 0)
+__version__ = '1.4.0'
+__version_info__ = (1, 4, 0)
diff --git a/changelog.md b/changelog.md
index 67d1766..46eb459 100644
--- a/changelog.md
+++ b/changelog.md
@@ -1,5 +1,16 @@
 # changelog
 
+## 1.4.0
+
+ - `core.ObjectIdentifier` and all derived classes now obey X.660 §7.6 and
+   thus restrict the first arc to 0 to 2, and the second arc to less than
+   40 if the first arc is 0 or 1. This also fixes parsing of OIDs where the
+   first arc is 2 and the second arc is greater than 39.
+ - Fixed `keys.PublicKeyInfo.bit_size` to return an int rather than a float
+   on Python 3 when working with elliptic curve keys
+ - Fixed the `asn1crypto-tests` sdist on PyPi to work properly to generate a
+   .whl
+
 ## 1.3.0
 
  - Added `encrypt_key_pref` (`1.2.840.113549.1.9.16.2.11`) to
diff --git a/readme.md b/readme.md
index eff232e..62c070e 100644
--- a/readme.md
+++ b/readme.md
@@ -111,7 +111,7 @@
 
 ## Current Release
 
-1.3.0 - [changelog](changelog.md)
+1.4.0 - [changelog](changelog.md)
 
 ## Dependencies
 
diff --git a/setup.py b/setup.py
index ce6f2e2..991eb59 100644
--- a/setup.py
+++ b/setup.py
@@ -10,7 +10,7 @@
 
 
 PACKAGE_NAME = 'asn1crypto'
-PACKAGE_VERSION = '1.3.0'
+PACKAGE_VERSION = '1.4.0'
 PACKAGE_ROOT = os.path.dirname(os.path.abspath(__file__))
 
 
diff --git a/tests/__init__.py b/tests/__init__.py
index b669e5a..3b87410 100644
--- a/tests/__init__.py
+++ b/tests/__init__.py
@@ -6,8 +6,8 @@
 import unittest
 
 
-__version__ = '1.3.0'
-__version_info__ = (1, 3, 0)
+__version__ = '1.4.0'
+__version_info__ = (1, 4, 0)
 
 
 def _import_from(mod, path, mod_dir=None):
diff --git a/tests/setup.py b/tests/setup.py
index ed1a894..94aa438 100644
--- a/tests/setup.py
+++ b/tests/setup.py
@@ -10,7 +10,7 @@
 
 
 PACKAGE_NAME = 'asn1crypto'
-PACKAGE_VERSION = '1.3.0'
+PACKAGE_VERSION = '1.4.0'
 TEST_PACKAGE_NAME = '%s_tests' % PACKAGE_NAME
 TESTS_ROOT = os.path.dirname(os.path.abspath(__file__))