diff --git a/doc/scapy/conf.py b/doc/scapy/conf.py
index e614e670a817323a836e248382c11510de33b815..18749c620f05536b4b681200d5bca4e0156f1614 100644
--- a/doc/scapy/conf.py
+++ b/doc/scapy/conf.py
@@ -42,9 +42,9 @@ copyright = '2008, 2009 Philippe Biondi and the Scapy community'
 # other places throughout the built documents.
 #
 # The short X.Y version.
-version = '2.2.0'
+version = '2.3.0'
 # The full version, including alpha/beta/rc tags.
-release = '2.2.0-dev'
+release = '2.3.0'
 
 # There are two options for replacing |today|: either, you set today to some
 # non-false value, then it is used:
diff --git a/scapy/config.py b/scapy/config.py
index 119022d5a91c769278f65a8d17b9d35db7912199..2d2c8ee34969494c31bc866a814f95950f7abd08 100644
--- a/scapy/config.py
+++ b/scapy/config.py
@@ -316,7 +316,7 @@ noenum    : holds list of enum fields for which conversion to string should NOT
 AS_resolver: choose the AS resolver class to use
 extensions_paths: path or list of paths where extensions are to be looked for
 """
-    version = "2.2.0-dev"
+    version = "2.3.0"
     session = ""
     interactive = False
     interactive_shell = ""
diff --git a/setup.py b/setup.py
index 0d84925037207eb81f7d00f03ff741427024148b..4c30b744fa78b586c6314705a6b494b7a6ad5044 100755
--- a/setup.py
+++ b/setup.py
@@ -46,7 +46,7 @@ if os.name == "nt":
 
 setup(
     name = 'scapy',
-    version = '2.2.0-dev',
+    version = '2.3.0',
     packages=['scapy','scapy/arch', 'scapy/arch/windows', 'scapy/layers','scapy/asn1','scapy/tools','scapy/modules', 'scapy/crypto', 'scapy/contrib'],
     scripts = SCRIPTS,
     data_files = [('share/man/man1', ["doc/scapy.1.gz"])],