diff --git a/api/pom.xml b/api/pom.xml
index 242820a..dd64e60 100644
--- a/api/pom.xml
+++ b/api/pom.xml
@@ -20,7 +20,7 @@
     <parent>
         <groupId>org.apache.myfaces.core</groupId>
         <artifactId>myfaces-core-project</artifactId>
-        <version>3.0.0-SNAPSHOT</version>
+        <version>2.3-next-SNAPSHOT</version>
         <relativePath>../parent/pom.xml</relativePath>
     </parent>
 
@@ -28,11 +28,11 @@
 
     <groupId>org.apache.myfaces.core</groupId>
     <artifactId>myfaces-api</artifactId>
-    <name>Apache MyFaces Core 3.0 - API</name>
+    <name>Apache MyFaces Core 2.3-next - API</name>
     <description>
-        The public API classes of the Apache MyFaces CORE JSF-3.0 project
+        The public API classes of the Apache MyFaces CORE JSF-2.3-next project
     </description>
-    <url>http://myfaces.apache.org/core30/myfaces-api</url>
+    <url>http://myfaces.apache.org/core23next/myfaces-api</url>
 
     <build>
 
diff --git a/api/src/main/java/javax/faces/context/ExternalContext.java b/api/src/main/java/javax/faces/context/ExternalContext.java
index f812e30..37a40ff 100755
--- a/api/src/main/java/javax/faces/context/ExternalContext.java
+++ b/api/src/main/java/javax/faces/context/ExternalContext.java
@@ -806,7 +806,7 @@
     public abstract String encodeWebsocketURL(String url);
 
     /**
-     * @since 3.0
+     * @since 2.3-next
      */
     public abstract void release(); 
 }
diff --git a/assembly/pom.xml b/assembly/pom.xml
index abcf36a..495175d 100644
--- a/assembly/pom.xml
+++ b/assembly/pom.xml
@@ -27,7 +27,7 @@
   <parent>
     <groupId>org.apache.myfaces.core</groupId>
     <artifactId>myfaces-core-project</artifactId>
-    <version>3.0.0-SNAPSHOT</version>
+    <version>2.3-next-SNAPSHOT</version>
     <relativePath>../parent/pom.xml</relativePath>
   </parent>
 
diff --git a/bundle/pom.xml b/bundle/pom.xml
index a8d83c1..484dd76 100644
--- a/bundle/pom.xml
+++ b/bundle/pom.xml
@@ -20,14 +20,14 @@
     <parent>
         <groupId>org.apache.myfaces.core</groupId>
         <artifactId>myfaces-core-project</artifactId>
-        <version>3.0.0-SNAPSHOT</version>
+        <version>2.3-next-SNAPSHOT</version>
         <relativePath>../parent/pom.xml</relativePath>
     </parent>
 
     <modelVersion>4.0.0</modelVersion>
 
     <artifactId>myfaces-bundle</artifactId>
-    <name>Apache MyFaces Core 3.0 - OSGi Bundle</name>
+    <name>Apache MyFaces Core 2.3-next - OSGi Bundle</name>
     <packaging>bundle</packaging>
 
     <build>
diff --git a/extensions/pom.xml b/extensions/pom.xml
index c0f77bf..6d4ed00 100644
--- a/extensions/pom.xml
+++ b/extensions/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.apache.myfaces.core</groupId>
         <artifactId>myfaces-core-project</artifactId>
-        <version>3.0.0-SNAPSHOT</version>
+        <version>2.3-next-SNAPSHOT</version>
         <relativePath>../parent/pom.xml</relativePath>
     </parent>
 
@@ -30,7 +30,7 @@
 
     <groupId>org.apache.myfaces.core</groupId>
     <artifactId>myfaces-extensions</artifactId>
-    <name>Apache MyFaces Core 3.0 - Extensions</name>
+    <name>Apache MyFaces Core 2.3-next - Extensions</name>
     <description>
         Apache MyFaces Core related extensions.
     </description>
diff --git a/extensions/quarkus/deployment/pom.xml b/extensions/quarkus/deployment/pom.xml
index 4709527..ce0895e 100644
--- a/extensions/quarkus/deployment/pom.xml
+++ b/extensions/quarkus/deployment/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.apache.myfaces.core.extensions</groupId>
         <artifactId>myfaces-quarkus</artifactId>
-        <version>3.0.0-SNAPSHOT</version>
+        <version>2.3-next-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
@@ -30,7 +30,7 @@
 
     <groupId>org.apache.myfaces.core.extensions.quarkus</groupId>
     <artifactId>myfaces-quarkus-deployment</artifactId>
-    <name>Apache MyFaces Core 3.0 - Extensions - Quarkus - Deployment</name>
+    <name>Apache MyFaces Core 2.3-next - Extensions - Quarkus - Deployment</name>
     <description>
         Apache MyFaces Core deployment extension for Quarkus.
     </description>
diff --git a/extensions/quarkus/pom.xml b/extensions/quarkus/pom.xml
index 0d5a387..820eaca 100644
--- a/extensions/quarkus/pom.xml
+++ b/extensions/quarkus/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.apache.myfaces.core</groupId>
         <artifactId>myfaces-extensions</artifactId>
-        <version>3.0.0-SNAPSHOT</version>
+        <version>2.3-next-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
@@ -30,7 +30,7 @@
 
     <groupId>org.apache.myfaces.core.extensions</groupId>
     <artifactId>myfaces-quarkus</artifactId>
-    <name>Apache MyFaces Core 3.0 - Extensions - Quarkus</name>
+    <name>Apache MyFaces Core 2.3-next - Extensions - Quarkus</name>
     <description>
         Apache MyFaces Core extension for Quarkus.
     </description>
diff --git a/extensions/quarkus/runtime/pom.xml b/extensions/quarkus/runtime/pom.xml
index 82f8117..4c2a970 100644
--- a/extensions/quarkus/runtime/pom.xml
+++ b/extensions/quarkus/runtime/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.apache.myfaces.core.extensions</groupId>
         <artifactId>myfaces-quarkus</artifactId>
-        <version>3.0.0-SNAPSHOT</version>
+        <version>2.3-next-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
@@ -30,7 +30,7 @@
 
     <groupId>org.apache.myfaces.core.extensions.quarkus</groupId>
     <artifactId>myfaces-quarkus-runtime</artifactId>
-    <name>Apache MyFaces Core 3.0 - Extensions - Quarkus - Runtime</name>
+    <name>Apache MyFaces Core 2.3-next - Extensions - Quarkus - Runtime</name>
     <description>
         Apache MyFaces Core runtime extension for Quarkus.
     </description>
diff --git a/extensions/quarkus/showcase/pom.xml b/extensions/quarkus/showcase/pom.xml
index a5b0da9..2507787 100644
--- a/extensions/quarkus/showcase/pom.xml
+++ b/extensions/quarkus/showcase/pom.xml
@@ -6,11 +6,11 @@
     <groupId>io.quarkus</groupId>
     <artifactId>quarkus-myfaces-showcase</artifactId>
     <version>1.0-SNAPSHOT</version>
-    <name>Apache MyFaces Core 3.0 - Extensions - Quarkus - Showcase</name>
+    <name>Apache MyFaces Core 2.3-next - Extensions - Quarkus - Showcase</name>
 
     <properties>
         <quarkus.version>1.1.0.CR1</quarkus.version>
-        <myfaces.version>3.0.0-SNAPSHOT</myfaces.version>
+        <myfaces.version>2.3-next-SNAPSHOT</myfaces.version>
         <failsafe.version>2.22.0</failsafe.version>
         <surefire.version>2.22.0</surefire.version>
 
diff --git a/impl/pom.xml b/impl/pom.xml
index 7d30a86..6e72551 100644
--- a/impl/pom.xml
+++ b/impl/pom.xml
@@ -20,7 +20,7 @@
     <parent>
         <groupId>org.apache.myfaces.core</groupId>
         <artifactId>myfaces-core-project</artifactId>
-        <version>3.0.0-SNAPSHOT</version>
+        <version>2.3-next-SNAPSHOT</version>
         <relativePath>../parent/pom.xml</relativePath>
     </parent>
 
@@ -28,11 +28,11 @@
 
     <groupId>org.apache.myfaces.core</groupId>
     <artifactId>myfaces-impl</artifactId>
-    <name>Apache MyFaces Core 3.0 - Impl</name>
+    <name>Apache MyFaces Core 2.3-next - Impl</name>
     <description>
-        The private implementation classes of the Apache MyFaces Core JSF-3.0 Implementation
+        The private implementation classes of the Apache MyFaces Core JSF-2.3-next Implementation
     </description>
-    <url>http://myfaces.apache.org/core30/myfaces-impl</url>
+    <url>http://myfaces.apache.org/core23next/myfaces-impl</url>
 
     <properties>
         <openwebbeans.version>1.6.3</openwebbeans.version>
diff --git a/impl/src/main/java/org/apache/myfaces/config/MyfacesConfig.java b/impl/src/main/java/org/apache/myfaces/config/MyfacesConfig.java
index c680d4a..8a32993 100755
--- a/impl/src/main/java/org/apache/myfaces/config/MyfacesConfig.java
+++ b/impl/src/main/java/org/apache/myfaces/config/MyfacesConfig.java
@@ -617,13 +617,13 @@
     private static final boolean VIEWID_EXISTS_CACHE_ENABLED_DEFAULT = true;
     
 
-    @JSFWebConfigParam(defaultValue = "true", since = "3.0.0", expectedValues="true, false", group="viewhandler", 
+    @JSFWebConfigParam(defaultValue = "true", since = "2.3-next", expectedValues="true, false", group="viewhandler", 
             tags="performance",
             desc="Enable or disable the cache used to 'remember' if a view is protected or not.")
     public static final String VIEWID_PROTECTED_CACHE_ENABLED = "org.apache.myfaces.VIEWID_PROTECTED_CACHE_ENABLED";
     private static final boolean VIEWID_PROTECTED_CACHE_ENABLED_DEFAULT = true;
     
-    @JSFWebConfigParam(defaultValue = "true", since = "3.0.0", expectedValues="true, false", group="viewhandler", 
+    @JSFWebConfigParam(defaultValue = "true", since = "2.3-next", expectedValues="true, false", group="viewhandler", 
             tags="performance",
             desc="Enable or disable the cache used to 'remember' the derived viewId from the rawViewId.")
     public static final String VIEWID_DERIVE_CACHE_ENABLED = "org.apache.myfaces.VIEWID_DERIVE_CACHE_ENABLED";
@@ -746,7 +746,7 @@
      * Defines if the last-modified should be cached of the resources when the ProjectStage is Production.
      * If the cache is disabled, each last-modified request will read the last-modified from the file.
      */
-    @JSFWebConfigParam(since="3.0.0" , defaultValue="true", expectedValues="true, false")
+    @JSFWebConfigParam(since="2.3-next" , defaultValue="true", expectedValues="true, false")
     public static final String RESOURCE_CACHE_LAST_MODIFIED
             = "org.apache.myfaces.RESOURCE_CACHE_LAST_MODIFIED";
     private static final boolean RESOURCE_CACHE_LAST_MODIFIED_DEFAULT = true;
diff --git a/integration-tests/ajax/pom.xml b/integration-tests/ajax/pom.xml
index 9f48225..615b677 100644
--- a/integration-tests/ajax/pom.xml
+++ b/integration-tests/ajax/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <groupId>org.apache.myfaces.core</groupId>
         <artifactId>myfaces-integration-tests</artifactId>
-        <version>3.0.0-SNAPSHOT</version>
+        <version>2.3-next-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
@@ -29,7 +29,7 @@
 
     <groupId>org.apache.myfaces.core.integration-tests</groupId>
     <artifactId>ajax</artifactId>
-    <name>Apache MyFaces Core 3.0 - Integration Tests - ajax</name>
+    <name>Apache MyFaces Core 2.3-next - Integration Tests - ajax</name>
     <build>
         <plugins>
             <plugin>
diff --git a/integration-tests/autoLookupExpressionFactoryWithoutJSP/pom.xml b/integration-tests/autoLookupExpressionFactoryWithoutJSP/pom.xml
index 6391a4c..ea0e0ae 100644
--- a/integration-tests/autoLookupExpressionFactoryWithoutJSP/pom.xml
+++ b/integration-tests/autoLookupExpressionFactoryWithoutJSP/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <groupId>org.apache.myfaces.core</groupId>
         <artifactId>myfaces-integration-tests</artifactId>
-        <version>3.0.0-SNAPSHOT</version>
+        <version>2.3-next-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
@@ -29,7 +29,7 @@
 
     <groupId>org.apache.myfaces.core.integration-tests</groupId>
     <artifactId>autoLookupExpressionFactoryWithoutJSP</artifactId>
-    <name>Apache MyFaces Core 3.0 - Integration Tests - autoLookupExpressionFactoryWithoutJSP</name>
+    <name>Apache MyFaces Core 2.3-next - Integration Tests - autoLookupExpressionFactoryWithoutJSP</name>
     <packaging>war</packaging>
 
 </project>
diff --git a/integration-tests/exactMapping/pom.xml b/integration-tests/exactMapping/pom.xml
index 530a42c..a4427cb 100644
--- a/integration-tests/exactMapping/pom.xml
+++ b/integration-tests/exactMapping/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.apache.myfaces.core</groupId>
         <artifactId>myfaces-integration-tests</artifactId>
-        <version>3.0.0-SNAPSHOT</version>
+        <version>2.3-next-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
@@ -30,7 +30,7 @@
 
     <groupId>org.apache.myfaces.core.integration-tests</groupId>
     <artifactId>exactMapping</artifactId>
-    <name>Apache MyFaces Core 3.0 - Integration Tests - exactMapping</name>
+    <name>Apache MyFaces Core 2.3-next - Integration Tests - exactMapping</name>
     <packaging>war</packaging>
 
 </project>
diff --git a/integration-tests/faceletToXhtmlMapping/pom.xml b/integration-tests/faceletToXhtmlMapping/pom.xml
index 8c63cd8..00b8e5b 100644
--- a/integration-tests/faceletToXhtmlMapping/pom.xml
+++ b/integration-tests/faceletToXhtmlMapping/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <groupId>org.apache.myfaces.core</groupId>
         <artifactId>myfaces-integration-tests</artifactId>
-        <version>3.0.0-SNAPSHOT</version>
+        <version>2.3-next-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
@@ -29,7 +29,7 @@
 
     <groupId>org.apache.myfaces.core.integration-tests</groupId>
     <artifactId>faceletToXhtmlMapping</artifactId>
-    <name>Apache MyFaces Core 3.0 - Integration Tests - faceletToXhtmlMapping</name>
+    <name>Apache MyFaces Core 2.3-next - Integration Tests - faceletToXhtmlMapping</name>
     <packaging>war</packaging>
 
 </project>
diff --git a/integration-tests/faceletToXhtmlMappingDisabled/pom.xml b/integration-tests/faceletToXhtmlMappingDisabled/pom.xml
index 32e6223..251e694 100644
--- a/integration-tests/faceletToXhtmlMappingDisabled/pom.xml
+++ b/integration-tests/faceletToXhtmlMappingDisabled/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.apache.myfaces.core</groupId>
         <artifactId>myfaces-integration-tests</artifactId>
-        <version>3.0.0-SNAPSHOT</version>
+        <version>2.3-next-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
@@ -30,7 +30,7 @@
 
     <groupId>org.apache.myfaces.core.integration-tests</groupId>
     <artifactId>faceletToXhtmlMappingDisabled</artifactId>
-    <name>Apache MyFaces Core 3.0 - Integration Tests - faceletToXhtmlMappingDisabled</name>
+    <name>Apache MyFaces Core 2.3-next - Integration Tests - faceletToXhtmlMappingDisabled</name>
     <packaging>war</packaging>
 
 </project>
diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml
index 6277f7f..a7dce9f 100644
--- a/integration-tests/pom.xml
+++ b/integration-tests/pom.xml
@@ -23,8 +23,8 @@
 
     <groupId>org.apache.myfaces.core</groupId>
     <artifactId>myfaces-integration-tests</artifactId>
-    <name>Apache MyFaces Core 3.0 - Integration Tests</name>
-    <version>3.0.0-SNAPSHOT</version>
+    <name>Apache MyFaces Core 2.3-next - Integration Tests</name>
+    <version>2.3-next-SNAPSHOT</version>
     <packaging>pom</packaging>
 
     <build>
diff --git a/integration-tests/protectedViews/pom.xml b/integration-tests/protectedViews/pom.xml
index 6359514..9192949 100644
--- a/integration-tests/protectedViews/pom.xml
+++ b/integration-tests/protectedViews/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <groupId>org.apache.myfaces.core</groupId>
         <artifactId>myfaces-integration-tests</artifactId>
-        <version>3.0.0-SNAPSHOT</version>
+        <version>2.3-next-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
@@ -29,7 +29,7 @@
 
     <groupId>org.apache.myfaces.core.integration-tests</groupId>
     <artifactId>protectedViews</artifactId>
-    <name>Apache MyFaces Core 3.0 - Integration Tests - protectedViews</name>
+    <name>Apache MyFaces Core 2.3-next - Integration Tests - protectedViews</name>
     <packaging>war</packaging>
 
 </project>
diff --git a/parent/pom.xml b/parent/pom.xml
index 4deac99..ad9a736 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -29,12 +29,12 @@
     <groupId>org.apache.myfaces.core</groupId>
     <artifactId>myfaces-core-project</artifactId>
     <packaging>pom</packaging>
-    <name>Apache MyFaces Core 3.0 - Parent</name>
+    <name>Apache MyFaces Core 2.3-next - Parent</name>
     <description>
         This project is the home of the MyFaces implementation of the JavaServer Faces 2.3 specification, and
         consists of an API module (javax.faces.* classes) and an implementation module (org.apache.myfaces.* classes).
     </description>
-    <version>3.0.0-SNAPSHOT</version>
+    <version>2.3-next-SNAPSHOT</version>
     <url>http://myfaces.apache.org/core30</url>
 
     <issueManagement>
diff --git a/pom.xml b/pom.xml
index 269d5e6..2ea2c94 100644
--- a/pom.xml
+++ b/pom.xml
@@ -29,13 +29,13 @@
     <groupId>org.apache.myfaces.core</groupId>
     <artifactId>myfaces-core-module</artifactId>
     <packaging>pom</packaging>
-    <name>Apache MyFaces Core 3.0</name>
+    <name>Apache MyFaces Core 2.3-next</name>
     <description>
         This project is the home of the MyFaces implementation of the JavaServer Faces 3.0 specification, and
         consists of an API module (javax.faces.* classes) and an implementation module (org.apache.myfaces.* classes).
     </description>
-    <version>3.0.0-SNAPSHOT</version>
-    <url>http://myfaces.apache.org/core30</url>
+    <version>2.3-next-SNAPSHOT</version>
+    <url>http://myfaces.apache.org/core23-next</url>
 
     <issueManagement>
         <system>jira</system>
diff --git a/test/pom.xml b/test/pom.xml
index eb7246f..c5bfcc7 100644
--- a/test/pom.xml
+++ b/test/pom.xml
@@ -24,14 +24,14 @@
     <parent>
         <groupId>org.apache.myfaces.core</groupId>
         <artifactId>myfaces-core-project</artifactId>
-        <version>3.0.0-SNAPSHOT</version>
+        <version>2.3-next-SNAPSHOT</version>
         <relativePath>../parent/pom.xml</relativePath>
     </parent>
 
     <groupId>org.apache.myfaces.core</groupId>
     <artifactId>myfaces-test</artifactId>
     <packaging>jar</packaging>
-    <name>Apache MyFaces Core 3.0 - Test</name>
+    <name>Apache MyFaces Core 2.3-next - Test</name>
 
     <dependencies>
         <dependency>
