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'
