diff --git a/delegate/opaque/include/Version.hpp b/delegate/opaque/include/Version.hpp
index 6b32cf4..c28799e 100644
--- a/delegate/opaque/include/Version.hpp
+++ b/delegate/opaque/include/Version.hpp
@@ -13,7 +13,7 @@
 #define STRINGIFY_MACRO(s) #s
 
 // ArmNN Delegate version components
-#define OPAQUE_DELEGATE_MAJOR_VERSION 1
+#define OPAQUE_DELEGATE_MAJOR_VERSION 2
 #define OPAQUE_DELEGATE_MINOR_VERSION 0
 #define OPAQUE_DELEGATE_PATCH_VERSION 0
 
diff --git a/include/armnn/Version.hpp b/include/armnn/Version.hpp
index 2a62c1d..d1050db 100644
--- a/include/armnn/Version.hpp
+++ b/include/armnn/Version.hpp
@@ -11,7 +11,7 @@
 
 // ArmNN version components
 #define ARMNN_MAJOR_VERSION 33
-#define ARMNN_MINOR_VERSION 0
+#define ARMNN_MINOR_VERSION 1
 #define ARMNN_PATCH_VERSION 0
 
 /// ARMNN_VERSION: "X.Y.Z"
diff --git a/python/pyarmnn/README.md b/python/pyarmnn/README.md
index d155703..b510c36 100644
--- a/python/pyarmnn/README.md
+++ b/python/pyarmnn/README.md
@@ -69,8 +69,8 @@
 
 Binary package is platform dependent, the name of the package will indicate the platform it was built for, e.g.:
 
-* Linux x86 64bit machine: pyarmnn-33.0.0-cp36-cp36m-*linux_x86_64*.whl
-* Linux Aarch 64 bit machine: pyarmnn-33.0.0-cp36-cp36m-*linux_aarch64*.whl
+* Linux x86 64bit machine: pyarmnn-33.1.0-cp36-cp36m-*linux_x86_64*.whl
+* Linux Aarch 64 bit machine: pyarmnn-33.1.0-cp36-cp36m-*linux_aarch64*.whl
 
 The source package is platform independent but installation involves compilation of Arm NN python extension. You will need to have g++ compatible with C++ 14 standard and a python development library installed on the build machine.
 
@@ -110,7 +110,7 @@
 You can also verify it by running the following and getting output similar to below:
 ```bash
 $ python -c "import pyarmnn as ann;print(ann.GetVersion())"
-'33.0.0'
+'33.1.0'
 ```
 
 
@@ -148,7 +148,7 @@
 You can also verify it by running the following and getting output similar to below:
 ```bash
 $ python -c "import pyarmnn as ann;print(ann.GetVersion())"
-'33.0.0'
+'33.1.0'
 ```
 
 # PyArmNN API overview
diff --git a/python/pyarmnn/examples/image_classification/README.md b/python/pyarmnn/examples/image_classification/README.md
index 7eafc11..fbdec4f 100644
--- a/python/pyarmnn/examples/image_classification/README.md
+++ b/python/pyarmnn/examples/image_classification/README.md
@@ -20,7 +20,7 @@
 You can also verify it by running the following and getting output similar to below:
 ```bash
 $ python -c "import pyarmnn as ann;print(ann.GetVersion())"
-'33.0.0'
+'33.1.0'
 ```
 
 ##### Dependencies
diff --git a/python/pyarmnn/examples/keyword_spotting/README.md b/python/pyarmnn/examples/keyword_spotting/README.md
index 6661109..f08959e 100644
--- a/python/pyarmnn/examples/keyword_spotting/README.md
+++ b/python/pyarmnn/examples/keyword_spotting/README.md
@@ -18,7 +18,7 @@
 
 ```bash
 $ python -c "import pyarmnn as ann;print(ann.GetVersion())"
-'33.0.0'
+'33.1.0'
 ```
 
 ### Dependencies
diff --git a/python/pyarmnn/examples/object_detection/README.md b/python/pyarmnn/examples/object_detection/README.md
index 991f97d..5835bff 100644
--- a/python/pyarmnn/examples/object_detection/README.md
+++ b/python/pyarmnn/examples/object_detection/README.md
@@ -54,7 +54,7 @@
 You can also verify it by running the following and getting output similar to below:
 ```bash
 $ python -c "import pyarmnn as ann;print(ann.GetVersion())"
-'33.0.0'
+'33.1.0'
 ```
 
 ##### Dependencies
diff --git a/python/pyarmnn/examples/speech_recognition/README.md b/python/pyarmnn/examples/speech_recognition/README.md
index b50a7b3..59c417c 100644
--- a/python/pyarmnn/examples/speech_recognition/README.md
+++ b/python/pyarmnn/examples/speech_recognition/README.md
@@ -18,7 +18,7 @@
 
 ```bash
 $ python -c "import pyarmnn as ann;print(ann.GetVersion())"
-'33.0.0'
+'33.1.0'
 ```
 
 ### Dependencies
diff --git a/python/pyarmnn/src/pyarmnn/_version.py b/python/pyarmnn/src/pyarmnn/_version.py
index 075f92e..43078f5 100644
--- a/python/pyarmnn/src/pyarmnn/_version.py
+++ b/python/pyarmnn/src/pyarmnn/_version.py
@@ -3,7 +3,7 @@
 # SPDX-License-Identifier: MIT
 import os
 
-version_info = (33, 0, 0)
+version_info = (33, 1, 0)
 
 __dev_version_env = os.getenv("PYARMNN_DEV_VER", "")
 
@@ -24,7 +24,7 @@
     """Compares expected Arm NN version and Arm NN version used to build the package.
 
     Args:
-        installed_armnn_version (str): Arm NN version used to generate the package (e.g. 33.0.0)
+        installed_armnn_version (str): Arm NN version used to generate the package (e.g. 33.1.0)
         expected_armnn_version (str): Expected Arm NN version
 
     Returns:
diff --git a/python/pyarmnn/test/test_setup.py b/python/pyarmnn/test/test_setup.py
index 4de2acf..9bb3b6e 100644
--- a/python/pyarmnn/test/test_setup.py
+++ b/python/pyarmnn/test/test_setup.py
@@ -87,15 +87,15 @@
 
 
 def test_armnn_version():
-    check_armnn_version('33.0.0', '33.0.0')
+    check_armnn_version('33.1.0', '33.1.0')
 
 
 def test_incorrect_armnn_version():
     with pytest.raises(AssertionError) as err:
-        check_armnn_version('32.1.0', '33.0.0')
+        check_armnn_version('32.1.0', '33.1.0')
 
-    assert 'Expected ArmNN version is 33.0.0 but installed ArmNN version is 32.1.0' in str(err.value)
+    assert 'Expected ArmNN version is 33.1.0 but installed ArmNN version is 32.1.0' in str(err.value)
 
 
 def test_armnn_version_patch_does_not_matter():
-    check_armnn_version('33.0.0', '33.0.0')
+    check_armnn_version('33.1.0', '33.1.0')
diff --git a/python/pyarmnn/test/test_version.py b/python/pyarmnn/test/test_version.py
index d4d9bec..2d9d65b 100644
--- a/python/pyarmnn/test/test_version.py
+++ b/python/pyarmnn/test/test_version.py
@@ -18,7 +18,7 @@
 
     importlib.reload(v)
 
-    assert "33.0.0.dev1" == v.__version__
+    assert "33.1.0.dev1" == v.__version__
 
     del os.environ["PYARMNN_DEV_VER"]
     del v
@@ -30,7 +30,7 @@
 
     importlib.reload(v)
 
-    assert "33.0.0" == v.__arm_ml_version__
+    assert "33.1.0" == v.__arm_ml_version__
 
     del os.environ["PYARMNN_DEV_VER"]
     del v
