diff --git a/CHANGES b/CHANGES
index 637cd8a..3275de4 100644
--- a/CHANGES
+++ b/CHANGES
@@ -3,6 +3,202 @@
 Version 1.0
 - Coming Soon
 
+Version 0.9.1
+
+THRIFT-2137   Ruby                 Ruby test lib fails jenkins build #864
+THRIFT-2136   Build Proces         Vagrant build not compiling java, ruby, php, go libs due to missing dependencies 
+THRIFT-2135   Go                   GO lib leaves behind test files that are auto generated 
+THRIFT-2134   Compiler             mingw-cross-compile script failing with strip errors
+THRIFT-2133   Java                 java TestTBinaryProtocol.java test failing
+THRIFT-2129   PHP                  php ext missing from dist
+THRIFT-2128   Go                   lib GO tests fail with funct ends without a return statement
+THRIFT-2126   C++                  lib/cpp/src/thrift/concurrency/STD* files missing from DIST
+THRIFT-2125   Build Process        debian missing from DIST
+THRIFT-2124   Build Process        .o, .so, .la, .deps, .libs, gen-* files left tutorials, test and lib/cpp when making DIST
+THRIFT-2123                        GO lib missing files in DIST build
+THRIFT-2118                        Certificate error handling still incorrect
+THRIFT-2117   Cocoa                Cocoa TBinaryProtocol strictWrite should be set to true by default
+THRIFT-2112   Go                   Error in Go generator when using typedefs in map keys
+THRIFT-2109                        Secure connections should be supported in Go
+THRIFT-2107   Go                   minor Go generator fixes
+THRIFT-2106                        Fix support for namespaces in GO generator
+THRIFT-2105                        Generated code for default values of collections ignores t_field::T_REQUIRED
+THRIFT-2102                        constants are not referencing to correct type when included from another thrift file
+THRIFT-2100                        typedefs are not correctly referenced when including from other thrift files
+THRIFT-2091                        Unnecessary 'friend' declaration causes warning in TWinsockSingleton
+THRIFT-2090   Go                   Go generator, fix including of other thrift files
+THRIFT-2088   Compiler             Typos in Thrift compiler help text
+THRIFT-2084   Delphi               Delphi: Ability to create entity Thrift-generated instances based on TypeInfo
+THRIFT-2083   Go                   Improve the go lib: buffered Transport, save memory allocation, handle concurrent request
+THRIFT-2082   Build Process        Executing "gmake clean" is broken
+THRIFT-2081                        Specified timeout should be used in TSocket.Open()
+THRIFT-2080   C#                   C# multiplex processor does not catch IOException
+THRIFT-2070                        Improper `HexChar' and 'HexVal' implementation in TJSONProtocol.cs
+THRIFT-2066   Build Process        'make install' does not install two headers required for C++ bindings
+THRIFT-2065   Java                 Not valid constants filename in Java 
+THRIFT-2057   Build Process        Vagrant fails on php tests
+THRIFT-2052   Build Process        Vagrant machine image defaults to only 384MB of RAM
+THRIFT-2051   Build Process        Vagrant fails to build erlang
+THRIFT-2050   Build Process        Vagrant C# lib compile fails with TException missing
+THRIFT-2047                        Thrift.Protocol.TCompactProtocol, intToZigZag data lost (TCompactProtocol.cs)
+THRIFT-2036                        Thrift gem warns about class variable access from top level
+THRIFT-2032   C#                   C# client leaks sockets/handles
+THRIFT-2017   Compiler             Resource Leak in thrift struct under compiler/cpp/src/parse/t_program.h
+THRIFT-2014   C++                  Change C++ lib includes to use <namespace/> style throughout
+THRIFT-2012   Go                   Modernizing Go 
+THRIFT-2003                        Deprecate senum
+THRIFT-2002   Haskell              Haskell: Test use Data.Maybe instead of Maybe
+THRIFT-2001   Website              http://thrift.apache.org/ Example "C++ Server" tab is broken
+THRIFT-1997                        Add accept backlog configuration method to  TServerSocket
+THRIFT-1996   JavaME               JavaME Constants generation is broken / inconsistent with regular Java generation
+THRIFT-1995   Compiler             '.' allowed at end of identifier generates non-compilable code
+THRIFT-1994   Compiler             Deprecate slist
+THRIFT-1993   Delphi               Factory to create instances from known (generated) interface types with Delphi
+THRIFT-1992                        casts in TCompactProtocol.tcc causing "dereferencing type-punned pointer will break strict-
+THRIFT-1988                        When trying to build a debian package it fails as the file NEWS doesn't exist
+THRIFT-1985   Build Process        add a Vagrantfile to build and test Apache Thrift fully reproducable
+THRIFT-1984   Python               namespace collision in python bindings
+THRIFT-1980   Go                   Modernize Go tooling, fix go client libary.
+THRIFT-1978   Ruby                 Ruby: Thrift should allow for the SSL verify mode to be set
+THRIFT-1977   C#                   C# compiler should generate constant files prefixed with thrift file name
+THRIFT-1975                        TBinaryProtocol CheckLength can't be used for a client
+THRIFT-1973   C#                   TCompactProtocol in C# lib does not serialize and deserialize negative int32 and int64 numb
+THRIFT-1972   Java                 Add support for async processors
+THRIFT-1971   Tutorial             [Graphviz] Adds tutorial/general description documentation
+THRIFT-1970                        [Graphviz] Adds option to render exceptions relationships
+THRIFT-1969   C#                   C#: Tests not properly linked from the solution
+THRIFT-1966                        Support different files for SSL certificates and keys
+THRIFT-1965                        Adds Graphviz (graph description language) generator
+THRIFT-1962                        Multiplex processor should send any TApplicationException back to client
+THRIFT-1961   C#                   C# tests should be in lib/csharp/test/...
+THRIFT-1960                        main() declares 22 unused gen bools
+THRIFT-1959   C#                   C#: Add Union TMemoryBuffer support
+THRIFT-1958   C#                   C#: Use static Object.Equals instead of .Equals() calls in equals
+THRIFT-1957   Node.js              NodeJS TFramedTransport and TBufferedTransport read bytes as unsigned
+THRIFT-1956   Java                 Switch to Apache Commons Lang 3
+THRIFT-1955                        Union Type writer generated in C# does not WriteStructBegin
+THRIFT-1952   Build Process        Travis CI
+THRIFT-1951   Java                 libthrift.jar has source files in it
+THRIFT-1949                        WP7 build broken
+THRIFT-1943                        docstrings for enum values are ignored
+THRIFT-1942   PHP                  Binary accelerated cpp extension does not use Thrift namespaces for Exceptions
+THRIFT-1934   Tutorial             Tabs in Example section on main page are not working
+THRIFT-1933                        Delphi generator crashes when a typedef references another typedef from an included file
+THRIFT-1930   C#                   C# generates unsigned byte for Thrift "byte" type
+THRIFT-1929   Website              Update website to use Mirrors for downloads
+THRIFT-1928                        Race may still exist in TFileTransport::flush()
+THRIFT-1924   Delphi               Delphi: Inconsistency in serialization of optional fields 
+THRIFT-1922   C#                   C#: Inconsistency in serialization of optional fields 
+THRIFT-1919                        libthrift depends on httpcore-4.1.3 (directly) and httpcore-4.1.4 (transitively)
+THRIFT-1913                        skipping unknown fields in java unions
+THRIFT-1907                        Compiling namespace and sub-namespace directives for unrecognized generators should only be
+THRIFT-1904                        Incorrect code is generated for typedefs which use included types
+THRIFT-1903   PHP                  PHP namespaces cause binary protocols to not be used
+THRIFT-1902   C++                  C++: Support for Multiplexing Services on any Transport, Protocol and Server
+THRIFT-1901   C#                   C#: Support for Multiplexing Services on any Transport, Protocol and Server
+THRIFT-1899   Celphi               Delphi: Support for Multiplexing Services on any Transport, Protocol and Server
+THRIFT-1897                        Support validation of required fields
+THRIFT-1896   Cocoa                Add TBase protocol for Cocoa
+THRIFT-1895   Delphi               Delphi: reserved variable name "result" not detected properly
+THRIFT-1890   C++                  C++: Make named pipes server work asynchronously 
+THRIFT-1888   Java                 Java Thrift client can't connect to Python Thrift server on same host
+THRIFT-1882                        Use single include
+THRIFT-1881                        TNonblockingServer does not release open connections or threads on shutdown
+THRIFT-1880                        Make named pipes server work asynchronously (overlapped) to allow for clean server stops
+THRIFT-1878                        Add the possibility to send custom headers
+THRIFT-1876                        Use enum names instead of casted integers in assignments
+THRIFT-1874                        timeout for the server-side end of a named pipe
+THRIFT-1873                        Binary protocol factory ignores struct read/write flags
+THRIFT-1872                        issues with TBufferedTransport buffer
+THRIFT-1869   Java                 TThreadPoolServer (java) dies when threadpool is consumed
+THRIFT-1864                        implement event handler for non-blocking server
+THRIFT-1859   C++                  Generated error c++ code with -out and include_prefix param
+THRIFT-1850                        make check hangs on TSocket tests in TransportTest.cpp
+THRIFT-1846                        Restore socket.h header to support builds with Android NDK
+THRIFT-1842                        Memory leak with Pipes
+THRIFT-1838   Compiler             Can't build compiler on OS X because of missing thrifty.h
+THRIFT-1831                        Bug in list deserializer
+THRIFT-1824                        many compile warning, becase Thread.h includes config.h
+THRIFT-1823                        Missing parenthesis breaks "IS_..." macro in generated code
+THRIFT-1822                        PHP unit test does not work
+THRIFT-1816                        Need "require" included thrift files in "xxx_types.js"
+THRIFT-1815                        Code generators line buffer output
+THRIFT-1806                        Python generation always truncates __init__.py files
+THRIFT-1804   Build Proces         Binary+compact protocol single byte error in Ruby library (ARM architecture): caused by dif
+THRIFT-1800                        Documentation text not always escaped correctly when rendered to HTML
+THRIFT-1799                        Option to generate HTML in "standalone mode"
+THRIFT-1794   C#                   C# asyncctp broken
+THRIFT-1793   C#                   C#: Use static read instead of instance read
+THRIFT-1791   Haskell              thrift's namespace directive when generating haskell code
+THRIFT-1788   C#                   C#: Constants static constructor does not compile
+THRIFT-1786   C#                   C# Union Typing
+THRIFT-1785   C#                   C#: Add TMemoryBuffer serializer/deserializer
+THRIFT-1783   C#                   C# doesn't handle required fields correctly
+THRIFT-1782   Javascript           async only defined in silverlight
+THRIFT-1780                        Add option to generate nullable values
+THRIFT-1779                        Missing process_XXXX method in generated TProcessor implementation for all 'oneway' service
+THRIFT-1778                        Configure requires manual intervention due to tar failure
+THRIFT-1777                        TPipeServer is UNSTOPPABLE
+THRIFT-1773   Python               Python library should run on python 2.4
+THRIFT-1769                        unions can't have required fields (C++)
+THRIFT-1768                        unions can't have required fields (Compiler)
+THRIFT-1767                        unions can't have required fields (Delphi)
+THRIFT-1765                        Incorrect error message printed for null or negative keys
+THRIFT-1764                        how to get the context of client when on a rpc call in server side?
+THRIFT-1756   Build Process       'make -j 8' fails with "unterminated #ifdef" error
+THRIFT-1753   C++                  Multiple C++ Windows, OSX, and iOS portability issues
+THRIFT-1749   Python               Python TSSLSocket error handling obscures actual error
+THRIFT-1748                        Guard and RWGuard macros defined in global namespace
+THRIFT-1742   C#                   Optionally implement hashcode and equals in c#
+THRIFT-1740   C++                  Make C++ library build on OS X and iOS
+THRIFT-1739   Node.js              missing license header in node.js files
+THRIFT-1735   Tutorials            integrate tutorial into regular build
+THRIFT-1734   Website              Front webpage is still advertising v0.8 as current release
+THRIFT-1733   Build Process        Fix RPM build issues on RHEL6/OL6 systems
+THRIFT-1729   GLibC                C glib refactor left empty folders in svn
+THRIFT-1728                        Upgradation of httpcomponents
+THRIFT-1720   Ruby                 JRuby times out on successful connection
+THRIFT-1716                        max allowed connections should be PIPE_UNLIMITED_INSTANCES
+THRIFT-1715                        Allow excluding python parts when building contrib/fb303
+THRIFT-1713                        Named and Anonymous Pipe transport (Delphi)
+THRIFT-1699                        Native Union#read has extra read_field_end call
+THRIFT-1695                        allow warning-free compilation in VS 2012 and GNU 4.6
+THRIFT-1681   Lua                  Add Lua Support
+THRIFT-1666   CPP                  htonll usage in TBinaryProtocol.tcc generates warning with MSVC2010
+THRIFT-1660   Python               Python Thrift library can be installed with pip but not easy_install
+THRIFT-1657   Javascript           Chrome browser sending OPTIONS method before POST in xmlHttpRequest
+THRIFT-1648   Node.js              NodeJS clients always receive 0 for 'double' values.
+THRIFT-1637   Node.js              NPM registry does not include version 0.8
+THRIFT-1629   Ruby                 Ruby 1.9 Compatibility during Thrift configure, make, install
+THRIFT-1614                        Thrift build from svn repo sources fails with automake-1.12
+THRIFT-1603                        Thrift IDL allows for multiple exceptions, args or struct member names to be the same
+THRIFT-1600   Go - Compile         Thrift Go Compiler and Library out of date with Go 1 Release.
+THRIFT-1595                        Java test server should follow the documented behavior as of THRIFT-1590
+THRIFT-1594                        Java test clients should have a return codes that reflect whether it succeeds or not. 
+THRIFT-1574                        Apache project branding requirements: DOAP file [PATCH]
+THRIFT-1440                        debian packaging: minor-ish policy problems
+THRIFT-1402                        Generated Y_types.js does not require() X_types.js when an include in the IDL file was used
+THRIFT-1353                        Switch to performance branch, get rid of BinaryParser
+THRIFT-1347   GO                   Unify the exceptions returned in generated Go code
+THRIFT-1264   Cocoa                TSocketClient is queried by run loop after deallocation in Cocoa
+THRIFT-1062   Python               Problems with python tutorials
+THRIFT-991    Haskell              Refactor Haskell code and generator
+THRIFT-990    C++                  Sanify gettimeofday usage codebase-wide
+THRIFT-986    Smalltalk            st: add version Info to the library
+THRIFT-985    PHP                  php: add version Info to the library
+THRIFT-984    OCaml                ocaml: add version Info to the library
+THRIFT-930    Haskell              Ruby and Haskell bindings don't properly support DESTDIR (makes packaging painful)
+THRIFT-864                         default value fails if identifier is a struct
+THRIFT-820                         The readLength attribute of TBinaryProtocol is used as an instance variable and is decremen
+THRIFT-801    Ruby                 Provide an interactive shell (irb) when generating ruby bindings
+THRIFT-791    C++                  Let C++ TSimpleServer be driven by an external main loop
+THRIFT-591                         Make the C++ runtime library be compatible with Windows and Visual Studio
+THRIFT-563                         Support for Multiplexing Services on any Transport, Protocol and Server
+THRIFT-514    Compiler             Add option to configure compiler output directory
+THRIFT-474    Ruby                 Generating Ruby on Rails friendly code
+THRIFT-274    Build Process        Towards a working release/versioning process
+
+
 Version 0.9.0
 
 THRIFT-164    Website              Build web tutorial on Incubator web  site
diff --git a/configure.ac b/configure.ac
index 9dd0e2d..93e1a57 100755
--- a/configure.ac
+++ b/configure.ac
@@ -19,7 +19,7 @@
 
 AC_PREREQ(2.65)
 
-AC_INIT([thrift], [1.0.0-dev])
+AC_INIT([thrift], [0.9.1])
 
 AC_CONFIG_AUX_DIR([.])
 
diff --git a/contrib/thrift.spec b/contrib/thrift.spec
index b0bccb2..d95a502 100644
--- a/contrib/thrift.spec
+++ b/contrib/thrift.spec
@@ -24,7 +24,7 @@
 License:        Apache License v2.0
 Group:          Development
 Summary:        RPC and serialization framework
-Version:        0.9.0
+Version:        0.9.1
 Release:        0
 URL:            http://thrift.apache.org
 Packager:       Thrift Developers <dev@thrift.apache.org>
@@ -178,5 +178,7 @@
 /sbin/ldconfig > /dev/null 2>&1
 
 %changelog
+* Wed Aug 21 2013 Thrift Dev <dev@thrift.apache.org>
+- Thrift 0.9.1 release.
 * Wed Oct 10 2012 Thrift Dev <dev@thrift.apache.org> 
 - Thrift 0.9.0 release.
diff --git a/debian/changelog b/debian/changelog
index f2da232..ebe30e9 100755
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,8 +1,8 @@
-thrift (1.0.0-dev) stable; urgency=low
-  * update version
-  * fix libthrift0.install
+thrift (0.9.1) stable; urgency=low
 
- -- Roger Meier <roger@apache.org>  Tue, 08 Jan 2013 22:40:12 +0100
+  * update to 0.9.1
+
+ -- Jake Farrell <jfarrell@apache.org>  Sun, 18 Aug 2013 12:00:00 -0500
 
 thrift (0.9.0) stable; urgency=low
 
diff --git a/doap.rdf b/doap.rdf
index 80e7fa7..f110e43 100755
--- a/doap.rdf
+++ b/doap.rdf
@@ -57,7 +57,12 @@
     <release>
       <Version>
         <name>Apache Thrift</name>
-        <created>2011-10-15</created>
+        <created>2013-08-22</created>
+        <revision>0.9.1</revision>
+      </Version>
+      <Version>
+        <name>Apache Thrift</name>
+        <created>2012-10-15</created>
         <revision>0.9.0</revision>
       </Version>
       <Version>
diff --git a/lib/csharp/ThriftMSBuildTask/Properties/AssemblyInfo.cs b/lib/csharp/ThriftMSBuildTask/Properties/AssemblyInfo.cs
index 2e08e66..e0a5702 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.9.0.*")]
-[assembly: AssemblyFileVersion("0.9.0.*")]
+[assembly: AssemblyVersion("0.9.1.*")]
+[assembly: AssemblyFileVersion("0.9.1.*")]
diff --git a/lib/csharp/src/Properties/AssemblyInfo.cs b/lib/csharp/src/Properties/AssemblyInfo.cs
index dcbe747..101e6bf 100644
--- a/lib/csharp/src/Properties/AssemblyInfo.cs
+++ b/lib/csharp/src/Properties/AssemblyInfo.cs
@@ -51,5 +51,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.0.1")]
-[assembly: AssemblyFileVersion("1.0.0.1")]
+[assembly: AssemblyVersion("0.9.1.1")]
+[assembly: AssemblyFileVersion("0.9.1.1")]
diff --git a/lib/d/src/thrift/base.d b/lib/d/src/thrift/base.d
index 266201b..3b265cb 100644
--- a/lib/d/src/thrift/base.d
+++ b/lib/d/src/thrift/base.d
@@ -50,7 +50,7 @@
 /// The Thrift version string, used for informative purposes.
 // Note: This is currently hardcoded, but will likely be filled in by the build
 // system in future versions.
-enum VERSION = "0.9.0 dev";
+enum VERSION = "0.9.1";
 
 /**
  * Functions used for logging inside Thrift.
diff --git a/lib/delphi/src/Thrift.pas b/lib/delphi/src/Thrift.pas
index 44f12d7..d5a961b 100644
--- a/lib/delphi/src/Thrift.pas
+++ b/lib/delphi/src/Thrift.pas
@@ -25,7 +25,7 @@
   SysUtils, Thrift.Protocol;
 
 const
-  Version = '1.0.0-dev';
+  Version = '0.9.1';
 
 type
   IProcessor = interface
diff --git a/lib/erl/src/thrift.app.src b/lib/erl/src/thrift.app.src
index 90ebc62..db19897 100644
--- a/lib/erl/src/thrift.app.src
+++ b/lib/erl/src/thrift.app.src
@@ -23,7 +23,7 @@
   {description, "Thrift bindings"},
 
   % The version of the applicaton
-  {vsn, "1.0.0-dev"},
+  {vsn, "0.9.1"},
 
   % All modules used by the application.
   {modules, [
diff --git a/lib/hs/Thrift.cabal b/lib/hs/Thrift.cabal
index 6dd9146..6c22e35 100644
--- a/lib/hs/Thrift.cabal
+++ b/lib/hs/Thrift.cabal
@@ -18,7 +18,7 @@
 --
 
 Name:           thrift
-Version:        1.0.0-dev
+Version:        0.9.1
 Cabal-Version:  >= 1.4
 License:        OtherLicense
 Category:       Foreign
diff --git a/lib/java/build.properties b/lib/java/build.properties
index 8d603a6..b73c38f 100644
--- a/lib/java/build.properties
+++ b/lib/java/build.properties
@@ -1,6 +1,6 @@
-thrift.version=1.0.0
+thrift.version=0.9.1
 thrift.groupid=org.apache.thrift
-release=false
+release=true
 
 # Jar Versions 
 mvn.ant.task.version=2.1.3
diff --git a/lib/js/thrift.js b/lib/js/thrift.js
index 39b0a5c..5dcfec1 100644
--- a/lib/js/thrift.js
+++ b/lib/js/thrift.js
@@ -17,7 +17,7 @@
  * under the License.
  */
 var Thrift = {
-    Version: '1.0.0-dev',
+    Version: '0.9.1',
 /*
     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 c57a07b..78dc141 100755
--- a/lib/nodejs/package.json
+++ b/lib/nodejs/package.json
@@ -6,7 +6,7 @@
     { "type" : "git",
       "url" : "https://git-wip-us.apache.org/repos/asf/thrift.git"
     },
-  "version": "1.0.0-dev",
+  "version": "0.9.1",
   "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 67186f2..6bdb375 100644
--- a/lib/perl/lib/Thrift.pm
+++ b/lib/perl/lib/Thrift.pm
@@ -17,7 +17,7 @@
 # under the License.
 #
 
-our $VERSION = '1.0.0-dev';
+our $VERSION = '0.9.1';
 
 require 5.6.0;
 use strict;
diff --git a/lib/py/setup.py b/lib/py/setup.py
index c196415..d44fd9c 100644
--- a/lib/py/setup.py
+++ b/lib/py/setup.py
@@ -66,7 +66,7 @@
         extensions = dict()
         
     setup(name = 'thrift',
-        version = '1.0.0-dev',
+        version = '0.9.1',
         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 67cc3c9..daff1de 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.9.0.1'
+  s.version     = '0.9.1.1'
   s.authors     = ['Thrift Developers']
   s.email       = ['dev@thrift.apache.org']
   s.homepage    = 'http://thrift.apache.org'
