diff --git a/compiler/cpp/src/windows/version.h b/compiler/cpp/src/windows/version.h
index fab932f..9e681d5 100644
--- a/compiler/cpp/src/windows/version.h
+++ b/compiler/cpp/src/windows/version.h
@@ -29,7 +29,7 @@
 #endif
 
 #define PATH_MAX MAX_PATH
-#define THRIFT_VERSION "0.8.0-dev"
+#define THRIFT_VERSION "0.9.0-dev"
 
 #ifndef S_ISDIR
 #define S_ISDIR(mode)  (((mode) & S_IFMT) == S_IFDIR)
diff --git a/configure.ac b/configure.ac
index 82ca641..37d9d75 100644
--- a/configure.ac
+++ b/configure.ac
@@ -19,7 +19,7 @@
 
 AC_PREREQ(2.65)
 
-AC_INIT([thrift], [0.8.0-dev])
+AC_INIT([thrift], [0.9.0-dev])
 
 AC_CONFIG_AUX_DIR([.])
 
diff --git a/lib/cpp/src/windows/config.h b/lib/cpp/src/windows/config.h
index 6116caa..272a070 100644
--- a/lib/cpp/src/windows/config.h
+++ b/lib/cpp/src/windows/config.h
@@ -31,7 +31,7 @@
 #pragma warning(disable: 4996) // Depreciated posix name.
 #pragma warning(disable: 4250) // Inherits via dominance.
 
-#define VERSION "0.8.0-dev"
+#define VERSION "0.9.0-dev"
 #define HAVE_GETTIMEOFDAY 1
 #define HAVE_SYS_STAT_H 1
 
diff --git a/lib/csharp/ThriftMSBuildTask/Properties/AssemblyInfo.cs b/lib/csharp/ThriftMSBuildTask/Properties/AssemblyInfo.cs
index 8769f1a..2e08e66 100644
--- a/lib/csharp/ThriftMSBuildTask/Properties/AssemblyInfo.cs
+++ b/lib/csharp/ThriftMSBuildTask/Properties/AssemblyInfo.cs
@@ -56,5 +56,5 @@
 // You can specify all the values or you can default the Build and Revision Numbers
 // by using the '*' as shown below:
 // [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("0.7.0.*")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
+[assembly: AssemblyVersion("0.9.0.*")]
+[assembly: AssemblyFileVersion("0.9.0.*")]
diff --git a/lib/csharp/src/Properties/AssemblyInfo.cs b/lib/csharp/src/Properties/AssemblyInfo.cs
index 9c6ecdd..0b39006 100755
--- a/lib/csharp/src/Properties/AssemblyInfo.cs
+++ b/lib/csharp/src/Properties/AssemblyInfo.cs
@@ -14,43 +14,43 @@
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  * KIND, either express or implied. See the License for the
  * specific language governing permissions and limitations
- * under the License.
- */
-
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("Thrift")]
-[assembly: AssemblyDescription("C# bindings for the Apache Thrift RPC system")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("The Apache Software Foundation")]
-[assembly: AssemblyProduct("Thrift")]
-[assembly: AssemblyCopyright("The Apache Software Foundation")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-//@TODO where to put License information?
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components.  If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("df3f8ef0-e0a3-4c86-a65b-8ec84e016b1d")]
-
-// Version information for an assembly consists of the following four values:
-//
-//      Major Version
-//      Minor Version
-//      Build Number
-//      Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("0.7.0.*")]
-[assembly: AssemblyFileVersion("0.7.0.*")]
+ * under the License.
+ */
+
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("Thrift")]
+[assembly: AssemblyDescription("C# bindings for the Apache Thrift RPC system")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("The Apache Software Foundation")]
+[assembly: AssemblyProduct("Thrift")]
+[assembly: AssemblyCopyright("The Apache Software Foundation")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+//@TODO where to put License information?
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components.  If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("df3f8ef0-e0a3-4c86-a65b-8ec84e016b1d")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("0.9.0.*")]
+[assembly: AssemblyFileVersion("0.9.0.*")]
diff --git a/lib/delphi/src/Thrift.pas b/lib/delphi/src/Thrift.pas
index dceb256..aa69f93 100644
--- a/lib/delphi/src/Thrift.pas
+++ b/lib/delphi/src/Thrift.pas
@@ -25,7 +25,7 @@
   SysUtils, Thrift.Protocol;
 
 const
-  Version = '0.8.0-dev';
+  Version = '0.9.0-dev';
 
 type
   IProcessor = interface
diff --git a/lib/hs/Thrift.cabal b/lib/hs/Thrift.cabal
index 3e7418b..393e064 100644
--- a/lib/hs/Thrift.cabal
+++ b/lib/hs/Thrift.cabal
@@ -18,7 +18,7 @@
 --
 
 Name:           thrift
-Version:        0.8.0-dev
+Version:        0.9.0-dev
 Cabal-Version:  >= 1.4
 License:        OtherLicense
 Category:       Foreign
diff --git a/lib/java/build.properties b/lib/java/build.properties
index 0d372b3..6e31bb4 100644
--- a/lib/java/build.properties
+++ b/lib/java/build.properties
@@ -1,4 +1,4 @@
-thrift.version=0.8.0
+thrift.version=0.9.0
 thrift.groupid=org.apache.thrift
 
 # Jar Versions 
diff --git a/lib/js/thrift.js b/lib/js/thrift.js
index d1c9adf..d1cf099 100644
--- a/lib/js/thrift.js
+++ b/lib/js/thrift.js
@@ -17,7 +17,7 @@
  * under the License.
  */
 var Thrift = {
-    Version: '0.8.0-dev',
+    Version: '0.9.0-dev',
 /*
     Description: 'JavaScript bindings for the Apache Thrift RPC system',
     License: 'http://www.apache.org/licenses/LICENSE-2.0',
diff --git a/lib/nodejs/package.json b/lib/nodejs/package.json
index e378d2d..386b7df 100644
--- a/lib/nodejs/package.json
+++ b/lib/nodejs/package.json
@@ -6,7 +6,7 @@
     { "type" : "svn",
       "url" : "http://svn.apache.org/repos/asf/thrift/trunk/"
     },
-  "version": "0.8.0-dev",
+  "version": "0.9.0-dev",
   "author":
     { "name": "Apache Thrift Developers",
       "email": "dev@thrift.apache.org",
diff --git a/lib/perl/lib/Thrift.pm b/lib/perl/lib/Thrift.pm
index 1863d3e..f3ff287 100644
--- a/lib/perl/lib/Thrift.pm
+++ b/lib/perl/lib/Thrift.pm
@@ -17,7 +17,7 @@
 # under the License.
 #
 
-our $VERSION = '0.8.0-dev';
+our $VERSION = '0.9.0-dev';
 
 require 5.6.0;
 use strict;
diff --git a/lib/py/setup.py b/lib/py/setup.py
index 5870cd0..5e4f923 100644
--- a/lib/py/setup.py
+++ b/lib/py/setup.py
@@ -66,7 +66,7 @@
         extensions = dict()
         
     setup(name = 'thrift',
-        version = '0.8.0-dev',
+        version = '0.9.0-dev',
         description = 'Python bindings for the Apache Thrift RPC system',
         author = ['Thrift Developers'],
         author_email = ['dev@thrift.apache.org'],
diff --git a/lib/rb/thrift.gemspec b/lib/rb/thrift.gemspec
index 90d1bf8..bc436dc 100644
--- a/lib/rb/thrift.gemspec
+++ b/lib/rb/thrift.gemspec
@@ -3,7 +3,7 @@
 
 Gem::Specification.new do |s|
   s.name        = 'thrift'
-  s.version     = '0.8.0.1'
+  s.version     = '0.9.0.1'
   s.authors     = ['Thrift Developers']
   s.email       = ['dev@thrift.apache.org']
   s.homepage    = 'http://thrift.apache.org'
