Version 0.12.0
diff --git a/CHANGES b/CHANGES
index c24c2b2..e3e50b6 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,14 +1,262 @@
 Apache Thrift Changelog
 
-Breaking Changes since 0.11.0 [for 0.12.0]:
+================================================================================
+Thrift 0.12.0
 --------------------------------------------------------------------------------
+## New Languages
+    * Common LISP (cl)
+    * Swift
+    * Typescript (nodets)
+
+## Deprecated Languages
+    * Cocoa
+
+## Breaking Changes (since 0.11.0)
     * [THRIFT-4529] - Rust enum variants are now camel-cased instead of uppercased to conform to Rust naming conventions
     * [THRIFT-4448] - Support for golang 1.6 and earlier has been dropped.
     * [THRIFT-4474] - PHP now uses the PSR-4 loader by default instead of class maps.
     * [THRIFT-4532] - method signatures changed in the compiler's t_oop_generator.
     * [THRIFT-4648] - The C (GLib) compiler's handling of namespaces has been improved.
 
+## Known Issues (Blocker or Critical)
+    * [THRIFT-4037] - build: use a single build system for thrift
+    * [THRIFT-4119] - build: bootstrap.sh is missing from source tarball
+    * [THRIFT-3289] - csharp: socket exhaustion in csharp implementation
+    * [THRIFT-3029] - cocoa: Getters for fields defined with uppercase names do not work
+    * [THRIFT-3325] - cocoa: Extended services aren't subclasses in generated Cocoa
+    * [THRIFT-4116] - cocoa: Thrift de-capitalizes the name of IsSet property in Cocoa
+    * [THRIFT-3877] - cpp: the http implementation is not standard; interop with other languages is spotty at best
+    * [THRIFT-4180] - cpp: Impossible to build Thrift C++ library for Android (NDK)
+    * [THRIFT-4384] - cpp: Using multiple async services simultaneously is not thread-safe
+    * [THRIFT-3108] - haskell: Defaulted struct parameters on a service generates invalid Haskell
+    * [THRIFT-3990] - nodejs: Exception swallowed by deserialization function
+    * [THRIFT-4214] - nodejs: map<i64,value> key treated as hex value in JavaScript
+    * [THRIFT-4602] - nodejs: ERROR in ./node_modules/thrift/lib/nodejs/lib/thrift/connection.js Module not found: Error: Can't resolve 'child_process'
+    * [THRIFT-4639] - nodejs: Sequence numbering for multiplexed protocol broken
+    * [THRIFT-1310] - php: sequence and reconnection management issues
+    * [THRIFT-1538] - php: Error during deserialization int64 on 32-bit architecture
+    * [THRIFT-1580] - php: thrift type i64 java to php serialize/deserealize not working
+    * [THRIFT-1950] - php: PHP gets stuck in infinite loop
+    * [THRIFT-2954] - python: sending int or float in a double field breaks the connection
+    * [THRIFT-4080] - python: unix sockets can get stuck forever
+    * [THRIFT-4281] - python: generated code is out of order and causes load issues
+    * [THRIFT-4677] - py3: UnicodeDecideError in Python3
 
+## Build Process
+    * [THRIFT-4308] - D language docker images need demios for libevent and openssl fixed to re-enable make cross on dlang
+    * [THRIFT-4579] - Use Ubuntu Bionic (18.04 LTS) for CI builds instead of Artful (17.10)
+    * [THRIFT-4508] - Define CI operating system coverage rules for the project and (hopefully) simplify CI a little more
+    * [THRIFT-4397] - ubuntu install instructions broken on 16.04
+    * [THRIFT-4545] - Appveyor builds are failing due to a haskell / cabal update in chocolatey
+    * [THRIFT-4452] - optimize Dockerfile (only onetime apt-get update)
+    * [THRIFT-4440] - rm `build/docker/ubuntu-trusty/Dockerfile.orig`
+    * [THRIFT-4352] - Ubuntu Artful doesn't appear to be compatible with Thrift and Haxe 3.4.2
+    * [THRIFT-4666] - DLang Client Pool Test fails sporadically
+    * [THRIFT-4676] - CL tutorial build fails sporadically
+    * [THRIFT-4456] - Make haxelib download quiet so it doesn't blow up the build log
+    * [THRIFT-4605] - bootstrap.sh fails if automake=1.16.1
+
+## c_glib
+    * [THRIFT-4648] - The C (GLib) compiler's handling of namespaces has been improved.
+    * [THRIFT-4622] - glibC compilation issue
+    * [THRIFT-4671] - c glib is unable to handle client close unexpectedly
+
+## cl (new language support in 0.12.0)
+    * [THRIFT-82] - Common Lisp support
+
+## csharp
+    * [THRIFT-4558] - reserved Csharp keywords are not escaped in some cases
+    * [THRIFT-4637] - C# async mode generates incorrect code with inherited services
+    * [THRIFT-4672] - IAsyncResult style methods not being supported by certain transports leads to issues in mixed ISync/IAsync use cases
+    * [THRIFT-4539] - Allow TBufferedTransport to be used as base class
+    * [THRIFT-4535] - XML docs; code cleanup (tabs->spaces; String->string)
+    * [THRIFT-4492] - protected ExceptionType type member of TApplicationException cannot be accessed
+    * [THRIFT-4446] - JSONProtocol Base64 Encoding Trims Padding
+    * [THRIFT-4455] - Missing dispose calls in ThreadedServer & ThreadpoolServer
+    * [THRIFT-4609] - keep InnerException wherever appropriate
+    * [THRIFT-4673] - IAsyncResult not supported by layered transports (buffered/framed)
+
+## cpp
+    * [THRIFT-4476] - Typecasting problem on list items
+    * [THRIFT-4465] - TNonblockingServer throwing THRIFT LOGGER: TConnection::workSocket(): THRIFT_EAGAIN (unavailable resources)
+    * [THRIFT-4680] - TBufferTransports.h does not compile under Visual Studio 2017
+    * [THRIFT-4618] - TNonblockingServer crash because of limitation of select()
+    * [THRIFT-4620] - TZlibTransport.cpp doesn't ensure that there is enough space for the zlib flush marker in the buffer.
+    * [THRIFT-4571] - ZeroMQ contrib library needs a refresh
+    * [THRIFT-4559] - TSSLServerSocket incorrectly prints errors
+    * [THRIFT-4578] - Move `TAsyncProtocolProcessor` into main thrift library
+    * [THRIFT-4418] - evhttp_connection_new is deprecated; use evhttp_connection_base_new
+
+## compiler
+    * [THRIFT-4644] - Compiler cannot be compiled on macOS(maybe also on other platforms with clang)
+    * [THRIFT-4531] - Thrift generates wrong Python code for immutable structures with optional members
+    * [THRIFT-4513] - thrift generated code is not stable for constants
+    * [THRIFT-4532] - Avoid updating Thrift compiler generated code if the output has not changed
+    * [THRIFT-4400] - Visual Studio Compiler project should link runtime statically in release builds
+    * [THRIFT-4399] - plugin.thrift t_const_value is not used as a union in C++ code -- fix this
+    * [THRIFT-4496] - Dealing with language keywords in Thrift (e.g. service method names)
+    * [THRIFT-4393] - repeated runs of compiler produce different binary output at plugin interface
+
+## dlang
+    * [THRIFT-4478] - Thrift will not build with dlang 2.078 or later
+    * [THRIFT-4503] - dlang servers logError on normal client disconnection
+    * [THRIFT-4308] - D language docker images need demios for libevent and openssl fixed to re-enable make cross on dlang
+
+## dart
+    * [THRIFT-4646] - Effective Dart and Exceptions
+    * [THRIFT-4439] - Shouldn't download dart.deb directly.
+
+## delphi
+    * [THRIFT-4562] - Calling wrong exception CTOR leads to "call failed: unknown result" instead of the real exception being thrown
+    * [THRIFT-4554] - uncompileable code with member names that are also types under specific conditions
+    * [THRIFT-4422] - Add Async implementation via IFuture
+    * [THRIFT-4485] - Possible invalid ptr AV with overlapped read/write on pipes
+    * [THRIFT-4549] - Thrift exceptions should derive from TException
+    * [THRIFT-4540] - buffered transport broken when trying to re-open a formerly closed transport
+    * [THRIFT-4473] - Move Thrift.Console.pas out of the Library
+    * [THRIFT-4490] - Allow a default service as fallback for multiplex processors connected by old clients
+    * [THRIFT-4454] - Large writes/reads may cause range check errors in debug mode
+    * [THRIFT-4461] - Compiler directive should match Delphi XE4
+    * [THRIFT-4462] - First line in Console duplicated
+    * [THRIFT-4642] - FPU ctrl word settings may cause an unexpected "denormalized" error
+
+## erlang
+    * [THRIFT-4497] - Erlang records should use map() for map type
+    * [THRIFT-4495] - Erlang records should allow 'undefined' for non-required fields
+    * [THRIFT-4580] - Fix erlang tutorial unpack on Windows
+    * [THRIFT-4582] - Ubuntu Xenial erlang 18.3 "make check" fails
+
+## golang
+    * [THRIFT-4448] - Support for golang 1.6 and earlier has been dropped.
+    * [THRIFT-4253] - Go generator assigns strings to field in const instead of pointers.
+    * [THRIFT-4573] - Unions Field Count Does Not Consider Binary
+    * [THRIFT-4447] - Golang: Panic on p.c.Call when using deprecated initializers
+    * [THRIFT-4650] - Required field incorrectly marked as set when fieldType does not match
+    * [THRIFT-4486] - Golang: -remote.go client cleanup
+    * [THRIFT-4537] - TSimpleServer can exit Accept loop with lock still acquired
+    * [THRIFT-4516] - Add support for go 1.10
+    * [THRIFT-4421] - golang tests rely on gomock, which has change behaviour, causing tests to fail
+    * [THRIFT-4626] - Communication crash when using binary/compact protocol and zlib transport
+    * [THRIFT-4659] - golang race detected when closing listener socket
+
+## haskell
+    * [THRIFT-4634] - Haskell builds with older cabal cannot reconcile complex version requirements
+
+## java
+    * [THRIFT-4259] - Thrift does not compile due to Ant Maven task errors
+    * [THRIFT-1418] - Compiling Thrift from source: Class org.apache.tools.ant.taskdefs.ConditionTask doesn't support the nested "typefound" element
+    * [THRIFT-4530] - proposal: add nullability annotations to generated Java code
+    * [THRIFT-4614] - Generate missing @Nullable annotations for Java iterator getters
+    * [THRIFT-4555] - Getter of binary field in Java creates unnecessary copy
+    * [THRIFT-3983] - libthrift is deployed on central with pom packaging instead of jar
+    * [THRIFT-4294] - Java Configure Fails for Ant >= 1.10
+    * [THRIFT-4178] - Java libraries missing from package when using cmake
+    * [THRIFT-4120] - pom files are not generated or provided in the build
+    * [THRIFT-1507] - Maven can't download resource from central when behind a proxy and won't use local repository
+    * [THRIFT-4556] - Optional rethrow of unhandled exceptions in java processor
+    * [THRIFT-4337] - Able to set keyStore and trustStore as InputStream in the TSSLTransportFactory.TSSLTransportParameters
+    * [THRIFT-4566] - Pass message of unhandled exception to optional rethrow.
+    * [THRIFT-4506] - Remove assertion in Java SASL code that would be ignored in release builds
+    * [THRIFT-4470] - Include popular IDE file templates to gitignore
+    * [THRIFT-4429] - Make TThreadPoolServer.executorService_ available in inherited classes and refactor methods to be able customization
+    * [THRIFT-3769] - Fix logic of THRIFT-2268
+    * [THRIFT-4494] - Increase Java Socket Buffer Size
+    * [THRIFT-4499] - Remove Magic Number In TFIleTransport
+
+## js
+    * [THRIFT-4406] - JavaScript: Use modern Promise implementations
+    * [THRIFT-4625] - let / const variable decorators for es6 compiler
+    * [THRIFT-4653] - ES6 Classes
+    * [THRIFT-4592] - JS: readI32 performance on large arrays is very poor in Chrome
+    * [THRIFT-4509] - js and nodejs libraries need to be refreshed with current libraries
+    * [THRIFT-4403] - thrift.js: Incorrect usage of 'this' in TWebSocketTransport.__onOpen
+    * [THRIFT-4436] - Deserialization of nested list discards content
+    * [THRIFT-4437] - JS WebSocket client callbacks invoked twice on parallel requests
+    * [THRIFT-4679] - Duplicate declaration of InputBufferUnderrunError in lib/nodejs/lib/thrift/json_protocol.js
+    * [THRIFT-4551] - Add prettier for consistent JS code formatting
+
+## lua
+    * [THRIFT-4591] - lua client uses two write() calls per framed message send
+    * [THRIFT-3863] - Can't "make install" Lua Library
+
+## netcore
+    * [THRIFT-4524] - .NET Core Server doesn't close properly when cancelled
+    * [THRIFT-4434] - Update .NET Core components, add tests for .Net Core library and .Net Core compiler, fix bugs and build process
+    * [THRIFT-4446] - JSONProtocol Base64 Encoding Trims Padding
+
+## node.js
+    * [THRIFT-4225] - Error handling malformed arguments leaks memory, corrupts transport buffers causing next RPC to fail
+    * [THRIFT-3950] - Memory leak while calling oneway method
+    * [THRIFT-3143] - add typescript directory support
+    * [THRIFT-4564] - TBufferedTransport can leave corrupt data in the buffer
+    * [THRIFT-4647] - Node.js Fileserver webroot path
+    * [THRIFT-4489] - Unix domain socket support for NodeJS client
+    * [THRIFT-4443] - node.js json_protocol throws error in skip function
+    * [THRIFT-4604] - NodeJS: Expose Int64 from browser.js for consumption by browser
+    * [THRIFT-4480] - NodeJS warning on binary_protocol writeMessageEnd when seqid = 0
+
+## perl
+    * [THRIFT-4382] - Replace the use of Perl Indirect Object Syntax calls to new()
+    * [THRIFT-4471] - Thrift CPAN release is missing Makefile.PL and the clients are unable to build the module
+    * [THRIFT-4416] - Perl CPAN Packaging Improvements
+
+## php
+    * [THRIFT-4474] - PHP generator use PSR-4 default
+    * [THRIFT-4463] - PHP generated code match PSR-2
+    * [THRIFT-4373] - Extending Thrift class results in "Attempt serialize from non-Thrift object"
+    * [THRIFT-4354] - TSocket block on read
+    * [THRIFT-4423] - migrate php library to psr-4
+    * [THRIFT-4656] - infinite loop in latest PHP library
+    * [THRIFT-4477] - TBufferedTransport must have underlying transport
+    * [THRIFT-4475] - lib/php/test should be checked for PSR-2
+    * [THRIFT-4498] - add phpcs back
+    * [THRIFT-4460] - php library use PSR-2
+    * [THRIFT-4641] - TCurlClient doesn't check for HTTP status code
+    * [THRIFT-4645] - TCurlClient: show actual error message when throwing TTransportException
+    * [THRIFT-4674] - Add stream context support into PHP/THttpClient
+    * [THRIFT-4459] - reduce php library directory depth
+
+## python
+    * [THRIFT-4670] - Twisted, slots, and void method fails with "object has no attribute 'success'"
+    * [THRIFT-4464] - Potentially server-crashing typo in Python TNonblockingServer
+    * [THRIFT-4548] - Supporting TBinaryProtocolAccelerated protocol when using TMultiplexedProcessor in Python
+    * [THRIFT-4577] - Outdated cipher string in python unit test
+    * [THRIFT-4505] - python build on Vagrant Windows boxes fails
+    * [THRIFT-4621] - THeader for Python
+    * [THRIFT-4668] - make socket backlog configurable for python
+    * [THRIFT-4561] - Python: cleanup socket timeout settings
+
+## ruby
+    * [THRIFT-4289] - Thrift RSpec test suite fails with Ruby 2.4.x due to Fixnum deprecation
+    * [THRIFT-4342] - Support ruby rspec 3
+    * [THRIFT-4525] - Add ssl socket option to ruby cross tests
+    * [THRIFT-4450] - Add seek support to TCompactInputProtocol in Rust
+    * [THRIFT-4631] - Codegen Creates Invalid Ruby for Recursive Structs
+    * [THRIFT-4472] - Fix the genspec for ruby so it does not complain about an invalid license
+
+## rust
+    * [THRIFT-4662] - Rust const string calls function at compile time
+    * [THRIFT-4661] - Rust enum name wrong case in generated structs
+    * [THRIFT-4617] - Avoid generating conflicting struct names in Rust code
+    * [THRIFT-4529] - Rust generation should include #![allow(non_snake_case)] or force conform to Rust style guidelines
+    * [THRIFT-4390] - Rust binary protocol and buffered transport cannot handle writes above 4096 bytes
+    * [THRIFT-4419] - Rust framed transport cannot handle writes above 4096 bytes
+    * [THRIFT-4658] - Rust's TBinaryInputProtocol fails when strict is false
+    * [THRIFT-4187] - Dart -> Rust Framed cross tests fail
+    * [THRIFT-4664] - Rust cannot create ReadHalf/WriteHalf to implement custom tranports
+
+## swift (new language support in 0.12.0)
+    * [THRIFT-3773] - Swift Library
+
+## test suite
+    * [THRIFT-4515] - Gracefully shutdown cross-test servers to fully test teardown
+    * [THRIFT-4085] - Add .NET Core to the make cross standard test suite
+    * [THRIFT-4358] - Add unix domain sockets in ruby to cross test - code exists
+
+## typescript (new language support in 0.12.0)
+    * [THRIFT-3143] - add typescript directory support
+
+================================================================================
 Thrift 0.11.0
 --------------------------------------------------------------------------------
 ## Sub-task
diff --git a/Thrift-swift3.podspec b/Thrift-swift3.podspec
index e13d171..542d810 100644
--- a/Thrift-swift3.podspec
+++ b/Thrift-swift3.podspec
@@ -1,16 +1,16 @@
 Pod::Spec.new do |s|
-  s.name         = "Thrift-swift3"
-  s.version      = "1.1.0"
+  s.name          = "Thrift-swift3"
+  s.version       = "0.12.0"
   s.summary       = "Apache Thrift is a lightweight, language-independent software stack with an associated code generation mechanism for RPC."
   s.description   = <<-DESC
 The Apache Thrift software framework, for scalable cross-language services development, combines a software stack with a code generation engine to build services that work efficiently and seamlessly between C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, OCaml and Delphi and other languages.
                     DESC
   s.homepage      = "http://thrift.apache.org"
-  s.license       = { :type => 'Apache License, Version 2.0', :url => 'https://raw.github.com/apache/thrift/thrift-0.9.0/LICENSE' }
-  s.author        = { "The Apache Software Foundation" => "apache@apache.org" }
+  s.license       = { :type => 'Apache License, Version 2.0', :url => 'https://www.apache.org/licenses/LICENSE-2.0' }
+  s.author        = { "Apache Thrift Developers" => "dev@thrift.apache.org" }
   s.ios.deployment_target = '9.0'
   s.osx.deployment_target = '10.10'
   s.requires_arc  = true
-  s.source        = { :git => "https://github.com/apache/thrift.git", :tag => "thrift-1.0.0" }
+  s.source        = { :git => "https://github.com/apache/thrift.git", :tag => "0.12.0" }
   s.source_files  = "lib/swift/Sources/*.swift"
 end
diff --git a/Thrift.podspec b/Thrift.podspec
index 39d3780..e5b8149 100644
--- a/Thrift.podspec
+++ b/Thrift.podspec
@@ -1,18 +1,18 @@
 Pod::Spec.new do |s|
   s.name          = "Thrift"
-  s.version       = "1.0.0"
+  s.version       = "0.12.0"
   s.summary       = "Apache Thrift is a lightweight, language-independent software stack with an associated code generation mechanism for RPC."
   s.description   = <<-DESC
 The Apache Thrift software framework, for scalable cross-language services development, combines a software stack with a code generation engine to build services that work efficiently and seamlessly between C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, OCaml and Delphi and other languages.
                     DESC
   s.homepage      = "http://thrift.apache.org"
-  s.license       = { :type => 'Apache License, Version 2.0', :url => 'https://raw.github.com/apache/thrift/thrift-0.9.0/LICENSE' }
-  s.author        = { "The Apache Software Foundation" => "apache@apache.org" }
+  s.license       = { :type => 'Apache License, Version 2.0', :url => 'https://www.apache.org/licenses/LICENSE-2.0' }
+  s.author        = { "Apache Thrift Developers" => "dev@thrift.apache.org" }
   s.requires_arc  = true
   s.ios.deployment_target = '7.0'
   s.osx.deployment_target = '10.8'
   s.ios.framework = 'CFNetwork'
   s.osx.framework = 'CoreServices'
-  s.source        = { :git => "https://github.com/apache/thrift.git", :tag => "thrift-1.0.0" }
+  s.source        = { :git => "https://github.com/apache/thrift.git", :tag => "0.12.0" }
   s.source_files  = 'lib/cocoa/src/**/*.{h,m,swift}'
-end
\ No newline at end of file
+end
diff --git a/appveyor.yml b/appveyor.yml
index 121fe1c..b126dc9 100755
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -19,7 +19,7 @@
 
 # build Apache Thrift on AppVeyor - https://ci.appveyor.com
 
-version: '1.0.0-dev.{build}'
+version: '0.12.0.{build}'
 
 shallow_clone: true
 
@@ -107,4 +107,4 @@
 #
 # also need:
 # environment:
-#   APPVEYOR_RDP_PASSWORD: thr1FT2345$xyzZ
\ No newline at end of file
+#   APPVEYOR_RDP_PASSWORD: thr1FT2345$xyzZ
diff --git a/bower.json b/bower.json
index 1092c65..5f40760 100644
--- a/bower.json
+++ b/bower.json
@@ -1,5 +1,6 @@
 {
   "name": "thrift",
+  "version": "0.12.0",
   "homepage": "https://git-wip-us.apache.org/repos/asf/thrift.git",
   "authors": [
     "Apache Thrift <dev@thrift.apache.org>"
diff --git a/build/cmake/DefineCMakeDefaults.cmake b/build/cmake/DefineCMakeDefaults.cmake
index 2899937..dc2cc29 100644
--- a/build/cmake/DefineCMakeDefaults.cmake
+++ b/build/cmake/DefineCMakeDefaults.cmake
@@ -35,7 +35,7 @@
 set(CMAKE_COLOR_MAKEFILE ON)
 
 # Define the generic version of the libraries here
-set(GENERIC_LIB_VERSION "0.1.0")
+set(GENERIC_LIB_VERSION "0.12.0")
 set(GENERIC_LIB_SOVERSION "0")
 
 # Set the default build type to release with debug info
diff --git a/composer.json b/composer.json
index 9a38331..3695b8c 100644
--- a/composer.json
+++ b/composer.json
@@ -1,9 +1,11 @@
 {
     "name": "apache/thrift",
     "description": "Apache Thrift RPC system",
-    "homepage": "http://thrift.apache.org/",
+    "homepage": "https://thrift.apache.org/",
     "type": "library",
+    "keywords": ["RPC"],
     "license": "Apache-2.0",
+    "readme": "README.md",
     "authors": [
         {
             "name": "Apache Thrift Developers",
@@ -28,10 +30,10 @@
     "autoload-dev": {
         "psr-4": {"Test\\Thrift\\": "lib/php/test/"}
     },
-    "minimum-stability": "dev",
+    "minimum-stability": "stable",
     "extra": {
         "branch-alias": {
-            "dev-master": "1.0.0-dev"
+            "dev-master": "1.0.x-dev"
         }
     }
 }
diff --git a/configure.ac b/configure.ac
index aca6f30..b07b5de 100755
--- a/configure.ac
+++ b/configure.ac
@@ -20,7 +20,7 @@
 AC_PREREQ(2.65)
 AC_CONFIG_MACRO_DIR([./aclocal])
 
-AC_INIT([thrift], [1.0.0-dev])
+AC_INIT([thrift], [0.12.0])
 
 AC_CONFIG_AUX_DIR([.])
 
diff --git a/contrib/Rebus/Properties/AssemblyInfo.cs b/contrib/Rebus/Properties/AssemblyInfo.cs
index e476eab..dde7813 100644
--- a/contrib/Rebus/Properties/AssemblyInfo.cs
+++ b/contrib/Rebus/Properties/AssemblyInfo.cs
@@ -34,5 +34,5 @@
 
 [assembly: Guid("0af10984-40d3-453d-b1e5-421529e8c7e2")]
 
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
+[assembly: AssemblyVersion("0.12.0.0")]
+[assembly: AssemblyFileVersion("0.12.0.0")]
diff --git a/contrib/fb303/py/setup.py b/contrib/fb303/py/setup.py
index 4321ce2..12d2d5c 100644
--- a/contrib/fb303/py/setup.py
+++ b/contrib/fb303/py/setup.py
@@ -26,7 +26,7 @@
     from distutils.core import setup, Extension, Command
 
 setup(name='thrift_fb303',
-      version='1.0.0-dev',
+      version='0.12.0',
       description='Python bindings for the Apache Thrift FB303',
       author=['Thrift Developers'],
       author_email=['dev@thrift.apache.org'],
diff --git a/contrib/thrift-maven-plugin/pom.xml b/contrib/thrift-maven-plugin/pom.xml
index 0af5957..e11fbbf 100644
--- a/contrib/thrift-maven-plugin/pom.xml
+++ b/contrib/thrift-maven-plugin/pom.xml
@@ -27,7 +27,7 @@
   <artifactId>thrift-maven-plugin</artifactId>
   <packaging>maven-plugin</packaging>
   <name>thrift-maven-plugin</name>
-  <version>1.0-SNAPSHOT</version>
+  <version>0.12.0</version>
   <build>
     <plugins>
       <plugin>
diff --git a/contrib/thrift.spec b/contrib/thrift.spec
index 034ebc8..1fe0f9c 100644
--- a/contrib/thrift.spec
+++ b/contrib/thrift.spec
@@ -28,7 +28,7 @@
 License:        Apache License v2.0
 Group:          Development
 Summary:        RPC and serialization framework
-Version:        0.11.0
+Version:        0.12.0
 Release:        0
 URL:            http://thrift.apache.org
 Packager:       Thrift Developers <dev@thrift.apache.org>
diff --git a/contrib/vagrant/centos-6.5/README.md b/contrib/vagrant/centos-6.5/README.md
index 76dca44..91ae67f 100644
--- a/contrib/vagrant/centos-6.5/README.md
+++ b/contrib/vagrant/centos-6.5/README.md
@@ -11,7 +11,7 @@
    $ vagrant ssh
    [vagrant@thrift ~]$ cd /thrift
    [vagrant@thrift thrift]$ compiler/cpp/thrift --version
-   Thrift version 1.0.0-dev
+   Thrift version 0.12.0
 
 The provisioning script (inside the Vagrantfile) runs ./bootstrap.sh, ./configure, make and make check, but does not install thrift. To install thrift run "make install".
 
diff --git a/contrib/zeromq/csharp/ThriftZMQ.csproj b/contrib/zeromq/csharp/ThriftZMQ.csproj
index 6b46530..9143a69 100755
--- a/contrib/zeromq/csharp/ThriftZMQ.csproj
+++ b/contrib/zeromq/csharp/ThriftZMQ.csproj
@@ -25,7 +25,7 @@
     <UpdateRequired>false</UpdateRequired>
     <MapFileExtensions>true</MapFileExtensions>
     <ApplicationRevision>0</ApplicationRevision>
-    <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
+    <ApplicationVersion>0.12.0</ApplicationVersion>
     <IsWebBootstrapper>false</IsWebBootstrapper>
     <UseApplicationTrust>false</UseApplicationTrust>
     <BootstrapperEnabled>true</BootstrapperEnabled>
@@ -88,4 +88,4 @@
     </BootstrapperPackage>
   </ItemGroup>
   <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
-</Project>
\ No newline at end of file
+</Project>
diff --git a/debian/changelog b/debian/changelog
index f2da232..5c8545f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,8 +1,26 @@
-thrift (1.0.0-dev) stable; urgency=low
-  * update version
-  * fix libthrift0.install
+thrift (0.12.0) stable; urgency=low
 
- -- Roger Meier <roger@apache.org>  Tue, 08 Jan 2013 22:40:12 +0100
+  * update to 0.12.0
+
+ -- Jake Farrell <jfarrell@apache.org>  Wed, 15 Oct 2018 12:00:00 -0500
+
+thrift (0.11.0) stable; urgency=low
+
+  * update to 0.11.0
+
+ -- Jake Farrell <jfarrell@apache.org>  Wed, 07 Dec 2017 20:07:00 -0500
+
+thrift (0.10.0) stable; urgency=low
+
+  * update to 0.10.0
+
+ -- Jake Farrell <jfarrell@apache.org>  Wed, 03 Jan 2017 16:52:00 -0500
+
+thrift (0.9.3) stable; urgency=low
+
+  * update to 0.9.3
+
+ -- Jake Farrell <jfarrell@apache.org>  Wed, 11 Oct 2015 17:22:00 -0500
 
 thrift (0.9.0) stable; urgency=low
 
diff --git a/doap.rdf b/doap.rdf
index 75274aa..cd4aecc 100755
--- a/doap.rdf
+++ b/doap.rdf
@@ -60,6 +60,16 @@
     <release rdf:parseType="Collection">
       <Version>
         <name>Apache Thrift</name>
+        <created>2018-10-15</created>
+        <revision>0.12.0</revision>
+      </Version>
+      <Version>
+        <name>Apache Thrift</name>
+        <created>2017-11-30</created>
+        <revision>0.11.0</revision>
+      </Version>
+      <Version>
+        <name>Apache Thrift</name>
         <created>2017-03-01</created>
         <revision>0.10.0</revision>
       </Version>
diff --git a/lib/cocoa/src/Thrift.h b/lib/cocoa/src/Thrift.h
index 6fc594a..502ba17 100644
--- a/lib/cocoa/src/Thrift.h
+++ b/lib/cocoa/src/Thrift.h
@@ -17,4 +17,4 @@
  * under the License.
  */
 
-#define ThriftVersion @"1.0.0-dev"
+#define ThriftVersion @"0.12.0"
diff --git a/lib/csharp/ThriftMSBuildTask/Properties/AssemblyInfo.cs b/lib/csharp/ThriftMSBuildTask/Properties/AssemblyInfo.cs
index 974cf27..19abcf7 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.11.0.*")]
-[assembly: AssemblyFileVersion("0.11.0.*")]
+[assembly: AssemblyVersion("0.12.0.*")]
+[assembly: AssemblyFileVersion("0.12.0.*")]
diff --git a/lib/csharp/ThriftMSBuildTask/ThriftMSBuildTask.csproj b/lib/csharp/ThriftMSBuildTask/ThriftMSBuildTask.csproj
index ae86081..68427c3 100644
--- a/lib/csharp/ThriftMSBuildTask/ThriftMSBuildTask.csproj
+++ b/lib/csharp/ThriftMSBuildTask/ThriftMSBuildTask.csproj
@@ -45,7 +45,7 @@
     <UpdateRequired>false</UpdateRequired>
     <MapFileExtensions>true</MapFileExtensions>
     <ApplicationRevision>0</ApplicationRevision>
-    <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
+    <ApplicationVersion>0.12.0.%2a</ApplicationVersion>
     <IsWebBootstrapper>false</IsWebBootstrapper>
     <UseApplicationTrust>false</UseApplicationTrust>
     <BootstrapperEnabled>true</BootstrapperEnabled>
@@ -115,4 +115,4 @@
   <Target Name="AfterBuild">
   </Target>
   -->
-</Project>
\ No newline at end of file
+</Project>
diff --git a/lib/csharp/src/Properties/AssemblyInfo.cs b/lib/csharp/src/Properties/AssemblyInfo.cs
index dcbe747..23fbc73 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.12.0.1")]
+[assembly: AssemblyFileVersion("0.12.0.1")]
diff --git a/lib/csharp/src/Thrift.csproj b/lib/csharp/src/Thrift.csproj
index 83bc4f7..ede152d 100644
--- a/lib/csharp/src/Thrift.csproj
+++ b/lib/csharp/src/Thrift.csproj
@@ -45,7 +45,7 @@
     <UpdateRequired>false</UpdateRequired>
     <MapFileExtensions>true</MapFileExtensions>
     <ApplicationRevision>0</ApplicationRevision>
-    <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
+    <ApplicationVersion>0.12.0.%2a</ApplicationVersion>
     <IsWebBootstrapper>false</IsWebBootstrapper>
     <UseApplicationTrust>false</UseApplicationTrust>
     <BootstrapperEnabled>true</BootstrapperEnabled>
@@ -153,4 +153,4 @@
   <ProjectExtensions>
     <VisualStudio AllowExistingFolder="true" />
   </ProjectExtensions>
-</Project>
\ No newline at end of file
+</Project>
diff --git a/lib/csharp/test/Multiplex/Client/MultiplexClient.csproj b/lib/csharp/test/Multiplex/Client/MultiplexClient.csproj
index 6221e14..4df1cbc 100644
--- a/lib/csharp/test/Multiplex/Client/MultiplexClient.csproj
+++ b/lib/csharp/test/Multiplex/Client/MultiplexClient.csproj
@@ -46,7 +46,7 @@
     <UpdateRequired>false</UpdateRequired>
     <MapFileExtensions>true</MapFileExtensions>
     <ApplicationRevision>0</ApplicationRevision>
-    <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
+    <ApplicationVersion>0.12.0.%2a</ApplicationVersion>
     <UseApplicationTrust>false</UseApplicationTrust>
     <BootstrapperEnabled>true</BootstrapperEnabled>
   </PropertyGroup>
@@ -145,4 +145,4 @@
 
 </PreBuildEvent>
   </PropertyGroup>
-</Project>
\ No newline at end of file
+</Project>
diff --git a/lib/csharp/test/Multiplex/Client/Properties/AssemblyInfo.cs b/lib/csharp/test/Multiplex/Client/Properties/AssemblyInfo.cs
index f686ded..5ee34a1 100644
--- a/lib/csharp/test/Multiplex/Client/Properties/AssemblyInfo.cs
+++ b/lib/csharp/test/Multiplex/Client/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.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
+[assembly: AssemblyVersion("0.12.0.0")]
+[assembly: AssemblyFileVersion("0.12.0.0")]
diff --git a/lib/csharp/test/Multiplex/Server/MultiplexServer.csproj b/lib/csharp/test/Multiplex/Server/MultiplexServer.csproj
index dc1d123..57ef76d 100644
--- a/lib/csharp/test/Multiplex/Server/MultiplexServer.csproj
+++ b/lib/csharp/test/Multiplex/Server/MultiplexServer.csproj
@@ -46,7 +46,7 @@
     <UpdateRequired>false</UpdateRequired>
     <MapFileExtensions>true</MapFileExtensions>
     <ApplicationRevision>0</ApplicationRevision>
-    <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
+    <ApplicationVersion>0.12.0.%2a</ApplicationVersion>
     <UseApplicationTrust>false</UseApplicationTrust>
     <BootstrapperEnabled>true</BootstrapperEnabled>
   </PropertyGroup>
@@ -145,4 +145,4 @@
 
 </PreBuildEvent>
   </PropertyGroup>
-</Project>
\ No newline at end of file
+</Project>
diff --git a/lib/csharp/test/Multiplex/Server/Properties/AssemblyInfo.cs b/lib/csharp/test/Multiplex/Server/Properties/AssemblyInfo.cs
index 5d40546..65fb4ce 100644
--- a/lib/csharp/test/Multiplex/Server/Properties/AssemblyInfo.cs
+++ b/lib/csharp/test/Multiplex/Server/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.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
+[assembly: AssemblyVersion("0.12.0.0")]
+[assembly: AssemblyFileVersion("0.12.0.0")]
diff --git a/lib/csharp/test/ThriftMVCTest/Properties/AssemblyInfo.cs b/lib/csharp/test/ThriftMVCTest/Properties/AssemblyInfo.cs
index 1b1b833..186257d 100644
--- a/lib/csharp/test/ThriftMVCTest/Properties/AssemblyInfo.cs
+++ b/lib/csharp/test/ThriftMVCTest/Properties/AssemblyInfo.cs
@@ -49,5 +49,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.12.0.0")]
+[assembly: AssemblyFileVersion("0.12.0.0")]
diff --git a/lib/d/src/thrift/base.d b/lib/d/src/thrift/base.d
index 38034a7..260e155 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 = "1.0.0 dev";
+enum VERSION = "0.12.0";
 
 /**
  * Functions used for logging inside Thrift.
diff --git a/lib/dart/pubspec.yaml b/lib/dart/pubspec.yaml
index f7aa876..365b2cd 100644
--- a/lib/dart/pubspec.yaml
+++ b/lib/dart/pubspec.yaml
@@ -16,7 +16,7 @@
 # under the License.
 
 name: thrift
-version: 1.0.0-dev
+version: 0.12.0
 description: >
   A Dart library for Apache Thrift
 author: Apache Thrift Developers <dev@thrift.apache.org>
diff --git a/lib/delphi/src/Thrift.pas b/lib/delphi/src/Thrift.pas
index ddd4c11..8293d07 100644
--- a/lib/delphi/src/Thrift.pas
+++ b/lib/delphi/src/Thrift.pas
@@ -27,7 +27,7 @@
   Thrift.Protocol;
 
 const
-  Version = '1.0.0-dev';
+  Version = '0.12.0';
 
 type
   TException = Thrift.Exception.TException; // compatibility alias
diff --git a/lib/erl/src/thrift.app.src b/lib/erl/src/thrift.app.src
index 1a23f0d..b02ab21 100644
--- a/lib/erl/src/thrift.app.src
+++ b/lib/erl/src/thrift.app.src
@@ -22,7 +22,7 @@
   {description, "Thrift bindings"},
 
   % The version of the applicaton
-  {vsn, "1.0.0-dev"},
+  {vsn, "0.12.0"},
 
   % All modules used by the application.
   {modules, [
diff --git a/lib/go/thrift/serializer_types_test.go b/lib/go/thrift/serializer_types_test.go
index c8e3b3b..ef7cc3a 100644
--- a/lib/go/thrift/serializer_types_test.go
+++ b/lib/go/thrift/serializer_types_test.go
@@ -19,7 +19,7 @@
 
 package thrift
 
-// Autogenerated by Thrift Compiler (1.0.0-dev)
+// Autogenerated by Thrift Compiler (0.12.0)
 // DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 
 /* THE FOLLOWING THRIFT FILE WAS USED TO CREATE THIS
diff --git a/lib/haxe/README.md b/lib/haxe/README.md
index 19bbbaa..02e6919 100644
--- a/lib/haxe/README.md
+++ b/lib/haxe/README.md
@@ -71,8 +71,8 @@
 
 - To set up any **stable version**, choose the appropriate branch (e.g. `0.10.0`):
 
-    - `haxelib git thrift https://git.apache.org/thrift.git 0.10.0 lib/haxe`
-    - `haxelib git thrift https://github.com/apache/thrift.git 0.10.0 lib/haxe`
+    - `haxelib git thrift https://git.apache.org/thrift.git 0.12.0 lib/haxe`
+    - `haxelib git thrift https://github.com/apache/thrift.git 0.12.0 lib/haxe`
 
 - To set up the current **development version**, use the `master` branch:
   
diff --git a/lib/haxe/haxelib.json b/lib/haxe/haxelib.json
index f76990e..8d1bb11 100644
--- a/lib/haxe/haxelib.json
+++ b/lib/haxe/haxelib.json
@@ -4,7 +4,7 @@
 	"license": "Apache",
 	"tags": ["thrift", "rpc", "serialization", "cross", "framework"],
 	"description": "Haxe bindings for the Apache Thrift RPC and serialization framework",
-	"version": "1.0.0-dev",
+	"version": "0.12.0",
 	"releasenote": "Licensed under Apache License, Version 2.0. The Apache Thrift compiler needs to be installed separately.",
 	"contributors": ["Apache Software Foundation (ASF)"],
 	"dependencies": { },
diff --git a/lib/hs/thrift.cabal b/lib/hs/thrift.cabal
index a907d78..c136480 100644
--- a/lib/hs/thrift.cabal
+++ b/lib/hs/thrift.cabal
@@ -18,7 +18,7 @@
 --
 
 Name:           thrift
-Version:        0.99.0
+Version:        0.12.0
 Cabal-Version:  1.24
 License:        OtherLicense
 Category:       Foreign
diff --git a/lib/java/gradle.properties b/lib/java/gradle.properties
index e99788f..4955b4c 100644
--- a/lib/java/gradle.properties
+++ b/lib/java/gradle.properties
@@ -1,9 +1,9 @@
 # This file is shared currently between this Gradle build and the
 # Ant builds for fd303 and JavaScript. Keep the dotted notation for
 # the properties to minimize the changes in the dependencies.
-thrift.version=1.0.0
+thrift.version=0.12.0
 thrift.groupid=org.apache.thrift
-release=false
+release=true
 
 # Local Install paths
 install.path=/usr/local/lib
diff --git a/lib/js/package.json b/lib/js/package.json
index a59cdc4..2ddd238 100644
--- a/lib/js/package.json
+++ b/lib/js/package.json
@@ -1,6 +1,6 @@
 {
   "name": "thrift",
-  "version": "1.0.0",
+  "version": "0.12.0",
   "devDependencies": {
     "grunt": "^1.0.2",
     "grunt-cli": "^1.2.0",
diff --git a/lib/js/src/thrift.js b/lib/js/src/thrift.js
index 39e6db1..9418ca3 100644
--- a/lib/js/src/thrift.js
+++ b/lib/js/src/thrift.js
@@ -46,7 +46,7 @@
      * @const {string} Version
      * @memberof Thrift
      */
-    Version: '1.0.0-dev',
+    Version: '0.12.0',
 
     /**
      * Thrift IDL type string to Id mapping.
diff --git a/lib/lua/THttpTransport.lua b/lib/lua/THttpTransport.lua
index 5bbfece..060a8ab 100644
--- a/lib/lua/THttpTransport.lua
+++ b/lib/lua/THttpTransport.lua
@@ -25,7 +25,7 @@
   wBuf = '',
   rBuf = '',
   CRLF = '\r\n',
-  VERSION = '1.0.0',
+  VERSION = '0.12.0',
   isServer = true
 }
 
diff --git a/lib/lua/Thrift.lua b/lib/lua/Thrift.lua
index a9a9078..d495729 100644
--- a/lib/lua/Thrift.lua
+++ b/lib/lua/Thrift.lua
@@ -48,7 +48,7 @@
   return count
 end
 
-version = 1.0
+version = '0.12.0'
 
 TType = {
   STOP   = 0,
diff --git a/lib/netcore/Thrift/Properties/AssemblyInfo.cs b/lib/netcore/Thrift/Properties/AssemblyInfo.cs
index e3118ab..68cd49c 100644
--- a/lib/netcore/Thrift/Properties/AssemblyInfo.cs
+++ b/lib/netcore/Thrift/Properties/AssemblyInfo.cs
@@ -52,5 +52,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")]
\ No newline at end of file
+[assembly: AssemblyVersion("0.12.0.0")]
+[assembly: AssemblyFileVersion("0.12.0.0")]
diff --git a/lib/netcore/Thrift/Transports/Client/THttpClientTransport.cs b/lib/netcore/Thrift/Transports/Client/THttpClientTransport.cs
index 16754b2..6067141 100644
--- a/lib/netcore/Thrift/Transports/Client/THttpClientTransport.cs
+++ b/lib/netcore/Thrift/Transports/Client/THttpClientTransport.cs
@@ -149,7 +149,7 @@
             }
 
             httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/x-thrift"));
-            httpClient.DefaultRequestHeaders.UserAgent.Add(new ProductInfoHeaderValue("THttpClientTransport", "1.0.0"));
+            httpClient.DefaultRequestHeaders.UserAgent.Add(new ProductInfoHeaderValue("THttpClientTransport", "0.12.0"));
 
             if (CustomHeaders != null)
             {
@@ -223,4 +223,4 @@
             _isDisposed = true;
         }
     }
-}
\ No newline at end of file
+}
diff --git a/lib/ocaml/_oasis b/lib/ocaml/_oasis
index 4dd95e5..315183f 100644
--- a/lib/ocaml/_oasis
+++ b/lib/ocaml/_oasis
@@ -1,5 +1,5 @@
 Name: libthrift-ocaml
-Version: 1.0
+Version: 0.12.0
 OASISFormat: 0.3
 Synopsis: OCaml bindings for the Apache Thrift RPC system
 Authors: Apache Thrift Developers <dev@thrift.apache.org>
diff --git a/lib/perl/lib/Thrift.pm b/lib/perl/lib/Thrift.pm
index 592d1dd..107b2a2 100644
--- a/lib/perl/lib/Thrift.pm
+++ b/lib/perl/lib/Thrift.pm
@@ -31,6 +31,6 @@
 #
 
 package Thrift;
-use version 0.77; our $VERSION = version->declare("v1.0_0");
+use version 0.77; our $VERSION = version->declare("v0.12.0_0");
 
 1;
diff --git a/lib/py/setup.py b/lib/py/setup.py
index 4c2877a..6ee28df 100644
--- a/lib/py/setup.py
+++ b/lib/py/setup.py
@@ -90,7 +90,7 @@
     twisted_deps = ['twisted']
 
     setup(name='thrift',
-          version='1.0.0-dev',
+          version='0.12.0',
           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 0f96c3f..5a3a0ae 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     = '1.0.0.0'
+  s.version     = '0.12.0'
   s.authors     = ['Thrift Developers']
   s.email       = ['dev@thrift.apache.org']
   s.homepage    = 'http://thrift.apache.org'
diff --git a/lib/rs/Cargo.toml b/lib/rs/Cargo.toml
index f5844b4..e79198d 100644
--- a/lib/rs/Cargo.toml
+++ b/lib/rs/Cargo.toml
@@ -1,7 +1,7 @@
 [package]
 name = "thrift"
 description = "Rust bindings for the Apache Thrift RPC system"
-version = "1.0.0"
+version = "0.12.0"
 license = "Apache-2.0"
 authors = ["Apache Thrift Developers <dev@thrift.apache.org>"]
 homepage = "http://thrift.apache.org"
diff --git a/lib/st/package.xml b/lib/st/package.xml
index 72194fc..7f6b234 100644
--- a/lib/st/package.xml
+++ b/lib/st/package.xml
@@ -17,7 +17,7 @@
  specific language governing permissions and limitations
  under the License.
  -->
-<!-- Apache Thrift Smalltalk library version 1.0 -->
+<!-- Apache Thrift Smalltalk library version 0.12.0 -->
 <package>
   <name>libthrift-st</name>
   <file>thrift.st</file>
diff --git a/package-lock.json b/package-lock.json
index e93b896..0342c15 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,6 +1,6 @@
 {
   "name": "thrift",
-  "version": "1.0.0-dev",
+  "version": "0.12.0",
   "lockfileVersion": 1,
   "requires": true,
   "dependencies": {
diff --git a/package.json b/package.json
index d641979..722ae7d 100644
--- a/package.json
+++ b/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.12.0",
   "author": {
     "name": "Apache Thrift Developers",
     "email": "dev@thrift.apache.org",
diff --git a/sonar-project.properties b/sonar-project.properties
index aebeff0..ef11517 100755
--- a/sonar-project.properties
+++ b/sonar-project.properties
@@ -16,7 +16,7 @@
 services that work efficiently and seamlessly between all major languages.
 
 # Apache Thrift Version
-sonar.projectVersion=1.0.0-dev
+sonar.projectVersion=0.12.0
 # use this to set another version string
 # $ sonar-runner -D sonar.projectVersion=`git rev-parse HEAD`
 # set projectDate in combination with projectVersion for imports of old releases
@@ -54,7 +54,7 @@
 module1.sonar.projectBaseDir=lib/java
 module1.sonar.sources=src
 module1.sonar.tests=test
-module1.sonar.binaries=build/libs/libthrift-1.0.0.jar
+module1.sonar.binaries=build/libs/libthrift-0.12.0.jar
 module1.sonar.libraries=build/deps/*.jar
 module1.sonar.language=java
 
@@ -62,7 +62,7 @@
 module2.sonar.projectBaseDir=.
 module2.sonar.sources=tutorial/java/src, tutorial/java/gen-java
 module2.sonar.binaries=tutorial/java/tutorial.jar
-module2.sonar.libraries=lib/java/build/deps/*.jar,lib/java/build/libs/libthrift-1.0.0.jar
+module2.sonar.libraries=lib/java/build/deps/*.jar,lib/java/build/libs/libthrift-0.12.0.jar
 module2.sonar.language=java
 
 module3.sonar.projectName=Apache Thrift - JavaScript Library
diff --git a/test/csharp/Properties/AssemblyInfo.cs b/test/csharp/Properties/AssemblyInfo.cs
index b1101a1..d7e04b5 100644
--- a/test/csharp/Properties/AssemblyInfo.cs
+++ b/test/csharp/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.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
+[assembly: AssemblyVersion("0.12.0.0")]
+[assembly: AssemblyFileVersion("0.12.0.0")]
diff --git a/test/csharp/ThriftTest.csproj b/test/csharp/ThriftTest.csproj
index 65c0daf..363627f 100644
--- a/test/csharp/ThriftTest.csproj
+++ b/test/csharp/ThriftTest.csproj
@@ -46,7 +46,7 @@
     <UpdateRequired>false</UpdateRequired>
     <MapFileExtensions>true</MapFileExtensions>
     <ApplicationRevision>0</ApplicationRevision>
-    <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
+    <ApplicationVersion>0.12.0.%2a</ApplicationVersion>
     <UseApplicationTrust>false</UseApplicationTrust>
     <BootstrapperEnabled>true</BootstrapperEnabled>
   </PropertyGroup>
@@ -138,4 +138,4 @@
 "$(ProjectDir)\..\..\compiler\cpp\thrift.exe" --gen csharp -o %25SHORT_DIR%25 %25THRIFT_SHORT%25
 $(MSBuildToolsPath)\Csc.exe /t:library /out:"$(ProjectDir)ThriftImpl.dll" /recurse:"$(ProjectDir)gen-csharp"\* /reference:"$(ProjectDir)..\..\lib\csharp\bin\Debug\Thrift.dll"</PreBuildEvent>
   </PropertyGroup>
-</Project>
\ No newline at end of file
+</Project>
diff --git a/test/dart/test_client/pubspec.yaml b/test/dart/test_client/pubspec.yaml
index a91aa45..63428b7 100644
--- a/test/dart/test_client/pubspec.yaml
+++ b/test/dart/test_client/pubspec.yaml
@@ -16,7 +16,7 @@
 # under the License.
 
 name: thrift_test_client
-version: 1.0.0-dev
+version: 0.12.0
 description: A client integration test for the Dart Thrift library
 author: Apache Thrift Developers <dev@thrift.apache.org>
 homepage: http://thrift.apache.org
diff --git a/test/erl/src/thrift_test.app.src b/test/erl/src/thrift_test.app.src
index 7896a95..f166cc4 100644
--- a/test/erl/src/thrift_test.app.src
+++ b/test/erl/src/thrift_test.app.src
@@ -22,7 +22,7 @@
   {description, "Thrift cross language test"},
 
   % The version of the applicaton
-  {vsn, "1.0.0-dev"},
+  {vsn, "0.12.0"},
 
   % All modules used by the application.
   {modules, [
diff --git a/tutorial/csharp/CsharpClient/Properties/AssemblyInfo.cs b/tutorial/csharp/CsharpClient/Properties/AssemblyInfo.cs
index 1ff658c..2e7f736 100644
--- a/tutorial/csharp/CsharpClient/Properties/AssemblyInfo.cs
+++ b/tutorial/csharp/CsharpClient/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.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
+[assembly: AssemblyVersion("0.12.0.0")]
+[assembly: AssemblyFileVersion("0.12.0.0")]
diff --git a/tutorial/csharp/CsharpServer/Properties/AssemblyInfo.cs b/tutorial/csharp/CsharpServer/Properties/AssemblyInfo.cs
index 74fa476..14067dd 100644
--- a/tutorial/csharp/CsharpServer/Properties/AssemblyInfo.cs
+++ b/tutorial/csharp/CsharpServer/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.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
+[assembly: AssemblyVersion("0.12.0.0")]
+[assembly: AssemblyFileVersion("0.12.0.0")]
diff --git a/tutorial/dart/client/pubspec.yaml b/tutorial/dart/client/pubspec.yaml
index db64afc..78ee527 100644
--- a/tutorial/dart/client/pubspec.yaml
+++ b/tutorial/dart/client/pubspec.yaml
@@ -16,7 +16,7 @@
 # under the License.
 
 name: tutorial_client
-version: 1.0.0-dev
+version: 0.12.0
 description: A Dart client implementation of the Apache Thrift tutorial
 author: Apache Thrift Developers <dev@thrift.apache.org>
 homepage: http://thrift.apache.org
diff --git a/tutorial/dart/console_client/pubspec.yaml b/tutorial/dart/console_client/pubspec.yaml
index cea13ac..be7328e 100644
--- a/tutorial/dart/console_client/pubspec.yaml
+++ b/tutorial/dart/console_client/pubspec.yaml
@@ -16,7 +16,7 @@
 # under the License.
 
 name: tutorial_console_client
-version: 1.0.0-dev
+version: 0.12.0
 description: >
   A Dart console client to implementation of the Apache Thrift tutorial
 author: Apache Thrift Developers <dev@thrift.apache.org>
diff --git a/tutorial/dart/server/pubspec.yaml b/tutorial/dart/server/pubspec.yaml
index 4833a4a..6c616b3 100644
--- a/tutorial/dart/server/pubspec.yaml
+++ b/tutorial/dart/server/pubspec.yaml
@@ -16,7 +16,7 @@
 # under the License.
 
 name: tutorial_server
-version: 1.0.0-dev
+version: 0.12.0
 description: A Dart server to support the Apache Thrift tutorial
 author: Apache Thrift Developers <dev@thrift.apache.org>
 homepage: http://thrift.apache.org
diff --git a/tutorial/delphi/DelphiClient/DelphiClient.dproj b/tutorial/delphi/DelphiClient/DelphiClient.dproj
index ead7bce..dd58781 100644
--- a/tutorial/delphi/DelphiClient/DelphiClient.dproj
+++ b/tutorial/delphi/DelphiClient/DelphiClient.dproj
@@ -82,8 +82,8 @@
 					<VersionInfo>
 						<VersionInfo Name="IncludeVerInfo">True</VersionInfo>
 						<VersionInfo Name="AutoIncBuild">False</VersionInfo>
-						<VersionInfo Name="MajorVer">1</VersionInfo>
-						<VersionInfo Name="MinorVer">0</VersionInfo>
+						<VersionInfo Name="MajorVer">0</VersionInfo>
+						<VersionInfo Name="MinorVer">12</VersionInfo>
 						<VersionInfo Name="Release">0</VersionInfo>
 						<VersionInfo Name="Build">0</VersionInfo>
 						<VersionInfo Name="Debug">False</VersionInfo>
@@ -97,7 +97,7 @@
 					<VersionInfoKeys>
 						<VersionInfoKeys Name="CompanyName"/>
 						<VersionInfoKeys Name="FileDescription">Thrift Tutorial</VersionInfoKeys>
-						<VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys>
+						<VersionInfoKeys Name="FileVersion">0.12.0.0</VersionInfoKeys>
 						<VersionInfoKeys Name="InternalName">DelphiClient</VersionInfoKeys>
 						<VersionInfoKeys Name="LegalCopyright">Copyright © 2012 The Apache Software Foundation</VersionInfoKeys>
 						<VersionInfoKeys Name="LegalTrademarks"/>
diff --git a/tutorial/delphi/DelphiServer/DelphiServer.dproj b/tutorial/delphi/DelphiServer/DelphiServer.dproj
index a26d952..3f9fc4d 100644
--- a/tutorial/delphi/DelphiServer/DelphiServer.dproj
+++ b/tutorial/delphi/DelphiServer/DelphiServer.dproj
@@ -81,8 +81,8 @@
 					<VersionInfo>
 						<VersionInfo Name="IncludeVerInfo">True</VersionInfo>
 						<VersionInfo Name="AutoIncBuild">False</VersionInfo>
-						<VersionInfo Name="MajorVer">1</VersionInfo>
-						<VersionInfo Name="MinorVer">0</VersionInfo>
+						<VersionInfo Name="MajorVer">0</VersionInfo>
+						<VersionInfo Name="MinorVer">12</VersionInfo>
 						<VersionInfo Name="Release">0</VersionInfo>
 						<VersionInfo Name="Build">0</VersionInfo>
 						<VersionInfo Name="Debug">False</VersionInfo>
@@ -96,7 +96,7 @@
 					<VersionInfoKeys>
 						<VersionInfoKeys Name="CompanyName"/>
 						<VersionInfoKeys Name="FileDescription">Thrift Tutorial</VersionInfoKeys>
-						<VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys>
+						<VersionInfoKeys Name="FileVersion">0.12.0.0</VersionInfoKeys>
 						<VersionInfoKeys Name="InternalName">DelphiServer</VersionInfoKeys>
 						<VersionInfoKeys Name="LegalCopyright">Copyright © 2012 The Apache Software Foundation</VersionInfoKeys>
 						<VersionInfoKeys Name="LegalTrademarks"/>
diff --git a/tutorial/hs/ThriftTutorial.cabal b/tutorial/hs/ThriftTutorial.cabal
index 88f1379..64af3ec 100755
--- a/tutorial/hs/ThriftTutorial.cabal
+++ b/tutorial/hs/ThriftTutorial.cabal
@@ -18,7 +18,7 @@
 --
 
 Name:           ThriftTutorial
-Version:        0.1.0
+Version:        0.12.0
 Cabal-Version:  >= 1.4
 License:        OtherLicense
 Category:       Foreign
diff --git a/tutorial/ocaml/_oasis b/tutorial/ocaml/_oasis
index 4cab080..a0ea6c5 100644
--- a/tutorial/ocaml/_oasis
+++ b/tutorial/ocaml/_oasis
@@ -1,5 +1,5 @@
 Name: tutorial
-Version: 1.0
+Version: 0.12.0
 OASISFormat: 0.3
 Synopsis: OCaml Tutorial example
 Authors: Apache Thrift Developers <dev@thrift.apache.org>