Release 0.12.1
diff --git a/CHANGES b/CHANGES
index e3e50b6..51d6b64 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,21 @@
 Apache Thrift Changelog
 
 ================================================================================
+Thrift 0.12.1
+--------------------------------------------------------------------------------
+
+## Bug fixes
+	* [THRIFT-4024] - Skip() should throw on unknown data types
+	* [THRIFT-4783] - Thrift should throw when skipping over unexpected data
+	* [THRIFT-4784] - Thrift should throw when skipping over unexpected data
+	* additional test for TSimpleJSONProtocol
+    * [THRIFT-4698] - add haskell hackage sdist target and fix cabal file
+    * [THRIFT-4750] - as3 changes to build and publish to maven central
+    * [THRIFT-4746] - changes for publishing to maven; fix java debug vs. release build with cmake
+    * [THRIFT-4691] - ensure CPAN module runs unit tests
+
+
+================================================================================
 Thrift 0.12.0
 --------------------------------------------------------------------------------
 ## New Languages
diff --git a/Thrift-swift3.podspec b/Thrift-swift3.podspec
index 542d810..cebcdef 100644
--- a/Thrift-swift3.podspec
+++ b/Thrift-swift3.podspec
@@ -1,6 +1,6 @@
 Pod::Spec.new do |s|
   s.name          = "Thrift-swift3"
-  s.version       = "0.12.0"
+  s.version       = "0.12.1"
   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.
@@ -11,6 +11,6 @@
   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 => "0.12.0" }
+  s.source        = { :git => "https://github.com/apache/thrift.git", :tag => "v0.12.1" }
   s.source_files  = "lib/swift/Sources/*.swift"
 end
diff --git a/Thrift.podspec b/Thrift.podspec
index e5b8149..96ed0eb 100644
--- a/Thrift.podspec
+++ b/Thrift.podspec
@@ -1,6 +1,6 @@
 Pod::Spec.new do |s|
   s.name          = "Thrift"
-  s.version       = "0.12.0"
+  s.version       = "0.12.1"
   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.
@@ -13,6 +13,6 @@
   s.osx.deployment_target = '10.8'
   s.ios.framework = 'CFNetwork'
   s.osx.framework = 'CoreServices'
-  s.source        = { :git => "https://github.com/apache/thrift.git", :tag => "0.12.0" }
+  s.source        = { :git => "https://github.com/apache/thrift.git", :tag => "v0.12.1" }
   s.source_files  = 'lib/cocoa/src/**/*.{h,m,swift}'
 end
diff --git a/appveyor.yml b/appveyor.yml
index b126dc9..2c3bd9b 100755
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -19,7 +19,7 @@
 
 # build Apache Thrift on AppVeyor - https://ci.appveyor.com
 
-version: '0.12.0.{build}'
+version: '0.12.1.{build}'
 
 shallow_clone: true
 
diff --git a/bower.json b/bower.json
index 5f40760..c19b2a5 100644
--- a/bower.json
+++ b/bower.json
@@ -1,6 +1,6 @@
 {
   "name": "thrift",
-  "version": "0.12.0",
+  "version": "0.12.1",
   "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 dc2cc29..d9f3d72 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.12.0")
+set(GENERIC_LIB_VERSION "0.12.1")
 set(GENERIC_LIB_SOVERSION "0")
 
 # Set the default build type to release with debug info
diff --git a/configure.ac b/configure.ac
index bcda1e0..835ba78 100755
--- a/configure.ac
+++ b/configure.ac
@@ -20,7 +20,7 @@
 AC_PREREQ(2.65)
 AC_CONFIG_MACRO_DIR([./aclocal])
 
-AC_INIT([thrift], [0.12.0])
+AC_INIT([thrift], [0.12.1])
 
 AC_CONFIG_AUX_DIR([.])
 
diff --git a/contrib/Rebus/Properties/AssemblyInfo.cs b/contrib/Rebus/Properties/AssemblyInfo.cs
index dde7813..4f26553 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("0.12.0.0")]
-[assembly: AssemblyFileVersion("0.12.0.0")]
+[assembly: AssemblyVersion("0.12.1.0")]
+[assembly: AssemblyFileVersion("0.12.1.0")]
diff --git a/contrib/fb303/py/setup.py b/contrib/fb303/py/setup.py
index 12d2d5c..8ad066c 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='0.12.0',
+      version='0.12.1',
       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 e11fbbf..62c2ebe 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>0.12.0</version>
+  <version>0.12.1</version>
   <build>
     <plugins>
       <plugin>
diff --git a/contrib/thrift.spec b/contrib/thrift.spec
index 1fe0f9c..b777cb9 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.12.0
+Version:        0.12.1
 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 91ae67f..6c24c52 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 0.12.0
+   Thrift version 0.12.1
 
 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 9143a69..02a1188 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>0.12.0</ApplicationVersion>
+    <ApplicationVersion>0.12.1</ApplicationVersion>
     <IsWebBootstrapper>false</IsWebBootstrapper>
     <UseApplicationTrust>false</UseApplicationTrust>
     <BootstrapperEnabled>true</BootstrapperEnabled>
diff --git a/debian/changelog b/debian/changelog
index 5c8545f..944e935 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+thrift (0.12.1) stable; urgency=low
+
+  * update to 0.12.1
+
+ -- Jens Geyer <jensg@apache.org>  Mon, 25 Feb 2019 22:42:00 +0100
+
 thrift (0.12.0) stable; urgency=low
 
   * update to 0.12.0
diff --git a/doap.rdf b/doap.rdf
index cd4aecc..12fb5f0 100755
--- a/doap.rdf
+++ b/doap.rdf
@@ -60,6 +60,11 @@
     <release rdf:parseType="Collection">
       <Version>
         <name>Apache Thrift</name>
+        <created>2019-02-25</created>
+        <revision>0.12.1</revision>
+      </Version>
+      <Version>
+        <name>Apache Thrift</name>
         <created>2018-10-15</created>
         <revision>0.12.0</revision>
       </Version>
diff --git a/lib/as3/gradle.properties b/lib/as3/gradle.properties
index 51179a1..d746018 100644
--- a/lib/as3/gradle.properties
+++ b/lib/as3/gradle.properties
@@ -1,7 +1,8 @@
 # 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=0.12.1thrift.groupid=org.apache.thrift
+thrift.version=0.12.1
+thrift.groupid=org.apache.thrift
 release=false
 sign=false
 
diff --git a/lib/c_glib/README.md b/lib/c_glib/README.md
index dd84f3d..0431e18 100644
--- a/lib/c_glib/README.md
+++ b/lib/c_glib/README.md
@@ -35,7 +35,7 @@
 Breaking Changes
 ================
 
-0.12.0
+0.12.x
 ------
 
 The compiler's handling of namespaces when generating the name of types,
diff --git a/lib/cocoa/src/Thrift.h b/lib/cocoa/src/Thrift.h
index 502ba17..18488f9 100644
--- a/lib/cocoa/src/Thrift.h
+++ b/lib/cocoa/src/Thrift.h
@@ -17,4 +17,4 @@
  * under the License.
  */
 
-#define ThriftVersion @"0.12.0"
+#define ThriftVersion @"0.12.1"
diff --git a/lib/csharp/ThriftMSBuildTask/Properties/AssemblyInfo.cs b/lib/csharp/ThriftMSBuildTask/Properties/AssemblyInfo.cs
index 19abcf7..043a6fa 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.12.0.*")]
-[assembly: AssemblyFileVersion("0.12.0.*")]
+[assembly: AssemblyVersion("0.12.1.*")]
+[assembly: AssemblyFileVersion("0.12.1.*")]
diff --git a/lib/csharp/ThriftMSBuildTask/ThriftMSBuildTask.csproj b/lib/csharp/ThriftMSBuildTask/ThriftMSBuildTask.csproj
index 68427c3..c2b631a 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>0.12.0.%2a</ApplicationVersion>
+    <ApplicationVersion>0.12.1.%2a</ApplicationVersion>
     <IsWebBootstrapper>false</IsWebBootstrapper>
     <UseApplicationTrust>false</UseApplicationTrust>
     <BootstrapperEnabled>true</BootstrapperEnabled>
diff --git a/lib/csharp/src/Properties/AssemblyInfo.cs b/lib/csharp/src/Properties/AssemblyInfo.cs
index 23fbc73..3511b5f 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("0.12.0.1")]
-[assembly: AssemblyFileVersion("0.12.0.1")]
+[assembly: AssemblyVersion("0.12.1.1")]
+[assembly: AssemblyFileVersion("0.12.1.1")]
diff --git a/lib/csharp/src/Thrift.csproj b/lib/csharp/src/Thrift.csproj
index ede152d..d28f7dc 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>0.12.0.%2a</ApplicationVersion>
+    <ApplicationVersion>0.12.1.%2a</ApplicationVersion>
     <IsWebBootstrapper>false</IsWebBootstrapper>
     <UseApplicationTrust>false</UseApplicationTrust>
     <BootstrapperEnabled>true</BootstrapperEnabled>
diff --git a/lib/csharp/test/Multiplex/Client/MultiplexClient.csproj b/lib/csharp/test/Multiplex/Client/MultiplexClient.csproj
index 4df1cbc..2e96f55 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>0.12.0.%2a</ApplicationVersion>
+    <ApplicationVersion>0.12.1.%2a</ApplicationVersion>
     <UseApplicationTrust>false</UseApplicationTrust>
     <BootstrapperEnabled>true</BootstrapperEnabled>
   </PropertyGroup>
diff --git a/lib/csharp/test/Multiplex/Client/Properties/AssemblyInfo.cs b/lib/csharp/test/Multiplex/Client/Properties/AssemblyInfo.cs
index 5ee34a1..41ea386 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("0.12.0.0")]
-[assembly: AssemblyFileVersion("0.12.0.0")]
+[assembly: AssemblyVersion("0.12.1.0")]
+[assembly: AssemblyFileVersion("0.12.1.0")]
diff --git a/lib/csharp/test/Multiplex/Server/MultiplexServer.csproj b/lib/csharp/test/Multiplex/Server/MultiplexServer.csproj
index 57ef76d..bd4e45a 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>0.12.0.%2a</ApplicationVersion>
+    <ApplicationVersion>0.12.1.%2a</ApplicationVersion>
     <UseApplicationTrust>false</UseApplicationTrust>
     <BootstrapperEnabled>true</BootstrapperEnabled>
   </PropertyGroup>
diff --git a/lib/csharp/test/Multiplex/Server/Properties/AssemblyInfo.cs b/lib/csharp/test/Multiplex/Server/Properties/AssemblyInfo.cs
index 65fb4ce..1efbf12 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("0.12.0.0")]
-[assembly: AssemblyFileVersion("0.12.0.0")]
+[assembly: AssemblyVersion("0.12.1.0")]
+[assembly: AssemblyFileVersion("0.12.1.0")]
diff --git a/lib/csharp/test/ThriftMVCTest/Properties/AssemblyInfo.cs b/lib/csharp/test/ThriftMVCTest/Properties/AssemblyInfo.cs
index 186257d..0254766 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("0.12.0.0")]
-[assembly: AssemblyFileVersion("0.12.0.0")]
+[assembly: AssemblyVersion("0.12.1.0")]
+[assembly: AssemblyFileVersion("0.12.1.0")]
diff --git a/lib/d/src/thrift/base.d b/lib/d/src/thrift/base.d
index 260e155..f15d2d2 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.12.0";
+enum VERSION = "0.12.1";
 
 /**
  * Functions used for logging inside Thrift.
diff --git a/lib/dart/pubspec.yaml b/lib/dart/pubspec.yaml
index 365b2cd..4f205eb 100644
--- a/lib/dart/pubspec.yaml
+++ b/lib/dart/pubspec.yaml
@@ -16,7 +16,7 @@
 # under the License.
 
 name: thrift
-version: 0.12.0
+version: 0.12.1
 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 8293d07..dada330 100644
--- a/lib/delphi/src/Thrift.pas
+++ b/lib/delphi/src/Thrift.pas
@@ -27,7 +27,7 @@
   Thrift.Protocol;
 
 const
-  Version = '0.12.0';
+  Version = '0.12.1';
 
 type
   TException = Thrift.Exception.TException; // compatibility alias
diff --git a/lib/erl/src/thrift.app.src b/lib/erl/src/thrift.app.src
index b02ab21..ce49f61 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, "0.12.0"},
+  {vsn, "0.12.1"},
 
   % 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 ef7cc3a..cb9f8b0 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 (0.12.0)
+// Autogenerated by Thrift Compiler (0.12.1)
 // 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 02e6919..29f88a8 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.12.0 lib/haxe`
-    - `haxelib git thrift https://github.com/apache/thrift.git 0.12.0 lib/haxe`
+    - `haxelib git thrift https://git.apache.org/thrift.git 0.12.1 lib/haxe`
+    - `haxelib git thrift https://github.com/apache/thrift.git 0.12.1 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 8d1bb11..df107f9 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": "0.12.0",
+	"version": "0.12.1",
 	"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 b13cff4..cab9d1e 100644
--- a/lib/hs/thrift.cabal
+++ b/lib/hs/thrift.cabal
@@ -18,7 +18,7 @@
 --
 
 Name:           thrift
-Version:        0.12.0
+Version:        0.12.1
 Cabal-Version:  1.24
 License:        Apache
 Category:       Foreign
diff --git a/lib/java/gradle.properties b/lib/java/gradle.properties
index 7fef76d..42c4010 100644
--- a/lib/java/gradle.properties
+++ b/lib/java/gradle.properties
@@ -1,7 +1,7 @@
 # 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=0.12.0
+thrift.version=0.12.1
 thrift.groupid=org.apache.thrift
 release=false
 
diff --git a/lib/js/package.json b/lib/js/package.json
index 2ddd238..429751d 100644
--- a/lib/js/package.json
+++ b/lib/js/package.json
@@ -1,6 +1,6 @@
 {
   "name": "thrift",
-  "version": "0.12.0",
+  "version": "0.12.1",
   "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 68b8924..9c8ebff 100644
--- a/lib/js/src/thrift.js
+++ b/lib/js/src/thrift.js
@@ -46,7 +46,7 @@
      * @const {string} Version
      * @memberof Thrift
      */
-    Version: '0.12.0',
+    Version: '0.12.1',
 
     /**
      * Thrift IDL type string to Id mapping.
diff --git a/lib/lua/THttpTransport.lua b/lib/lua/THttpTransport.lua
index 060a8ab..df957cd 100644
--- a/lib/lua/THttpTransport.lua
+++ b/lib/lua/THttpTransport.lua
@@ -25,7 +25,7 @@
   wBuf = '',
   rBuf = '',
   CRLF = '\r\n',
-  VERSION = '0.12.0',
+  VERSION = '0.12.1',
   isServer = true
 }
 
diff --git a/lib/lua/Thrift.lua b/lib/lua/Thrift.lua
index d495729..789a20c 100644
--- a/lib/lua/Thrift.lua
+++ b/lib/lua/Thrift.lua
@@ -48,7 +48,7 @@
   return count
 end
 
-version = '0.12.0'
+version = '0.12.1'
 
 TType = {
   STOP   = 0,
diff --git a/lib/netcore/Thrift/Properties/AssemblyInfo.cs b/lib/netcore/Thrift/Properties/AssemblyInfo.cs
index 68cd49c..11e66f9 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("0.12.0.0")]
-[assembly: AssemblyFileVersion("0.12.0.0")]
+[assembly: AssemblyVersion("0.12.1.0")]
+[assembly: AssemblyFileVersion("0.12.1.0")]
diff --git a/lib/netcore/Thrift/Transports/Client/THttpClientTransport.cs b/lib/netcore/Thrift/Transports/Client/THttpClientTransport.cs
index 6067141..d24e537 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", "0.12.0"));
+            httpClient.DefaultRequestHeaders.UserAgent.Add(new ProductInfoHeaderValue("THttpClientTransport", "0.12.1"));
 
             if (CustomHeaders != null)
             {
diff --git a/lib/ocaml/_oasis b/lib/ocaml/_oasis
index 315183f..ed4a88b 100644
--- a/lib/ocaml/_oasis
+++ b/lib/ocaml/_oasis
@@ -1,5 +1,5 @@
 Name: libthrift-ocaml
-Version: 0.12.0
+Version: 0.12.1
 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 107b2a2..71be7d5 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("v0.12.0_0");
+use version 0.77; our $VERSION = version->declare("v0.12.1");
 
 1;
diff --git a/lib/php/README.md b/lib/php/README.md
index 7170104..f903c6e 100644
--- a/lib/php/README.md
+++ b/lib/php/README.md
@@ -53,7 +53,7 @@
 
 # Breaking Changes
 
-## 0.12.0
+## 0.12.x
 
 1. [PSR-4](https://www.php-fig.org/psr/psr-4/) loader is now the default. If you want to use class maps instead, use `-gen php:classmap`.
 
diff --git a/lib/py/setup.py b/lib/py/setup.py
index 6ee28df..2043ab0 100644
--- a/lib/py/setup.py
+++ b/lib/py/setup.py
@@ -90,7 +90,7 @@
     twisted_deps = ['twisted']
 
     setup(name='thrift',
-          version='0.12.0',
+          version='0.12.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 5a3a0ae..3dd38ec 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.12.0'
+  s.version     = '0.12.1'
   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 e79198d..44b35eb 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 = "0.12.0"
+version = "0.12.1"
 license = "Apache-2.0"
 authors = ["Apache Thrift Developers <dev@thrift.apache.org>"]
 homepage = "http://thrift.apache.org"
diff --git a/lib/rs/README.md b/lib/rs/README.md
index 7c37a10..f611a91 100644
--- a/lib/rs/README.md
+++ b/lib/rs/README.md
@@ -46,7 +46,7 @@
 
 Breaking changes are minimized. When they are made they will be outlined below with transition guidelines.
 
-##### Thrift 0.12.0
+##### Thrift 0.12.x
 
 * **[THRIFT-4529]** - Rust enum variants are now camel-cased instead of uppercased to conform to Rust naming conventions
 
diff --git a/lib/st/package.xml b/lib/st/package.xml
index 7f6b234..8ebbd6d 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 0.12.0 -->
+<!-- Apache Thrift Smalltalk library version 0.12.1 -->
 <package>
   <name>libthrift-st</name>
   <file>thrift.st</file>
diff --git a/package-lock.json b/package-lock.json
index 0342c15..a7e59e8 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,6 +1,6 @@
 {
   "name": "thrift",
-  "version": "0.12.0",
+  "version": "0.12.1",
   "lockfileVersion": 1,
   "requires": true,
   "dependencies": {
diff --git a/package.json b/package.json
index 722ae7d..b7a4947 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": "0.12.0",
+  "version": "0.12.1",
   "author": {
     "name": "Apache Thrift Developers",
     "email": "dev@thrift.apache.org",
diff --git a/sonar-project.properties b/sonar-project.properties
index ef11517..e8fcda8 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=0.12.0
+sonar.projectVersion=0.12.1
 # 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-0.12.0.jar
+module1.sonar.binaries=build/libs/libthrift-0.12.1.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-0.12.0.jar
+module2.sonar.libraries=lib/java/build/deps/*.jar,lib/java/build/libs/libthrift-0.12.1.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 d7e04b5..67a9243 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("0.12.0.0")]
-[assembly: AssemblyFileVersion("0.12.0.0")]
+[assembly: AssemblyVersion("0.12.1.0")]
+[assembly: AssemblyFileVersion("0.12.1.0")]
diff --git a/test/csharp/ThriftTest.csproj b/test/csharp/ThriftTest.csproj
index 363627f..2ee51e1 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>0.12.0.%2a</ApplicationVersion>
+    <ApplicationVersion>0.12.1.%2a</ApplicationVersion>
     <UseApplicationTrust>false</UseApplicationTrust>
     <BootstrapperEnabled>true</BootstrapperEnabled>
   </PropertyGroup>
diff --git a/test/dart/test_client/pubspec.yaml b/test/dart/test_client/pubspec.yaml
index 63428b7..9445722 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: 0.12.0
+version: 0.12.1
 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 f166cc4..f8e550b 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, "0.12.0"},
+  {vsn, "0.12.1"},
 
   % All modules used by the application.
   {modules, [
diff --git a/tutorial/csharp/CsharpClient/Properties/AssemblyInfo.cs b/tutorial/csharp/CsharpClient/Properties/AssemblyInfo.cs
index 2e7f736..401374d 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("0.12.0.0")]
-[assembly: AssemblyFileVersion("0.12.0.0")]
+[assembly: AssemblyVersion("0.12.1.0")]
+[assembly: AssemblyFileVersion("0.12.1.0")]
diff --git a/tutorial/csharp/CsharpServer/Properties/AssemblyInfo.cs b/tutorial/csharp/CsharpServer/Properties/AssemblyInfo.cs
index 14067dd..6067a02 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("0.12.0.0")]
-[assembly: AssemblyFileVersion("0.12.0.0")]
+[assembly: AssemblyVersion("0.12.1.0")]
+[assembly: AssemblyFileVersion("0.12.1.0")]
diff --git a/tutorial/dart/client/pubspec.yaml b/tutorial/dart/client/pubspec.yaml
index 78ee527..5a0bcf8 100644
--- a/tutorial/dart/client/pubspec.yaml
+++ b/tutorial/dart/client/pubspec.yaml
@@ -16,7 +16,7 @@
 # under the License.
 
 name: tutorial_client
-version: 0.12.0
+version: 0.12.1
 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 be7328e..710d4de 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: 0.12.0
+version: 0.12.1
 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 6c616b3..e9cb938 100644
--- a/tutorial/dart/server/pubspec.yaml
+++ b/tutorial/dart/server/pubspec.yaml
@@ -16,7 +16,7 @@
 # under the License.
 
 name: tutorial_server
-version: 0.12.0
+version: 0.12.1
 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 dd58781..1d669ce 100644
--- a/tutorial/delphi/DelphiClient/DelphiClient.dproj
+++ b/tutorial/delphi/DelphiClient/DelphiClient.dproj
@@ -97,7 +97,7 @@
 					<VersionInfoKeys>
 						<VersionInfoKeys Name="CompanyName"/>
 						<VersionInfoKeys Name="FileDescription">Thrift Tutorial</VersionInfoKeys>
-						<VersionInfoKeys Name="FileVersion">0.12.0.0</VersionInfoKeys>
+						<VersionInfoKeys Name="FileVersion">0.12.1.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 3f9fc4d..62aa891 100644
--- a/tutorial/delphi/DelphiServer/DelphiServer.dproj
+++ b/tutorial/delphi/DelphiServer/DelphiServer.dproj
@@ -96,7 +96,7 @@
 					<VersionInfoKeys>
 						<VersionInfoKeys Name="CompanyName"/>
 						<VersionInfoKeys Name="FileDescription">Thrift Tutorial</VersionInfoKeys>
-						<VersionInfoKeys Name="FileVersion">0.12.0.0</VersionInfoKeys>
+						<VersionInfoKeys Name="FileVersion">0.12.1.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 64af3ec..40617a1 100755
--- a/tutorial/hs/ThriftTutorial.cabal
+++ b/tutorial/hs/ThriftTutorial.cabal
@@ -18,7 +18,7 @@
 --
 
 Name:           ThriftTutorial
-Version:        0.12.0
+Version:        0.12.1
 Cabal-Version:  >= 1.4
 License:        OtherLicense
 Category:       Foreign
diff --git a/tutorial/ocaml/_oasis b/tutorial/ocaml/_oasis
index a0ea6c5..9dbb6a0 100644
--- a/tutorial/ocaml/_oasis
+++ b/tutorial/ocaml/_oasis
@@ -1,5 +1,5 @@
 Name: tutorial
-Version: 0.12.0
+Version: 0.12.1
 OASISFormat: 0.3
 Synopsis: OCaml Tutorial example
 Authors: Apache Thrift Developers <dev@thrift.apache.org>