Repository: googleapis/google-http-java-client
Pull request #529 (2018-11-21 21:30:32)

Fix int type transformed as BigDecimal value when parsing as Map
Using with Jackson2 parser,  a simple parsing of { "data" : 1} gives a BigDecimal instead an integer. In my case, ``valueClass`` is Object, but the JSON current token is VALUE_NUMBER_INT not FLOAT.

I parse as a Map. No problem if I parse as a class with "int" type.

googlebot: 
Thanks for your pull request. It looks like this may be your first contribution to a Google open source project (if not, look below for help). Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

:memo: **Please visit <https://cla.developers.google.com/> to sign.**

Once you've signed (or fixed any issues), please reply here (e.g. `I signed it!`) and we'll verify it.

----

#### What to do if you already signed the CLA

##### Individual signers

*   It's possible we don't have your GitHub username or you're using a different email address on your commit. Check [your existing CLA data](https://cla.developers.google.com/clas) and verify that your [email is set on your git commits](https://help.github.com/articles/setting-your-email-in-git/).

##### Corporate signers

*   Your company has a Point of Contact who decides which employees are authorized to participate. Ask your POC to be added to the group of authorized contributors. If you don't know who your Point of Contact is, direct the Google project maintainer to [go/cla#troubleshoot](http://go/cla#troubleshoot) ([Public version](https://opensource.google.com/docs/cla/#troubleshoot)).
*   The email used to register you as an authorized contributor must be the email used for the Git commit. Check [your existing CLA data](https://cla.developers.google.com/clas) and verify that your [email is set on your git commits](https://help.github.com/articles/setting-your-email-in-git/).
*   The email used to register you as an authorized contributor must also be [attached to your GitHub account](https://github.com/settings/emails).
		

<!-- need_sender_cla -->
ebuildy: I signed it!
googlebot: CLAs look good, thanks!

<!-- ok -->
sduskis: @ebuildy, can you please add a unit test for this change?
ebuildy: Sure I will this week, thanks you.
sduskis: @ajaaym, this needs a unit test.  Can you please get someone to resubmit this with a unit test?
ajaaym: @sduskis yes
googlebot: So there's good news and bad news.

:thumbsup: The good news is that everyone that needs to sign a CLA (the pull request submitter and all commit authors) have done so.  Everything is all good there.

:confused: The bad news is that it appears that one or more commits were authored or co-authored by someone other than the pull request submitter.  We need to confirm that all authors are ok with their commits being contributed to this project.  Please have them confirm that here in the pull request.

*Note to project maintainer: This is a terminal state, meaning the `cla/google` commit status will not change from this state. It's up to you to confirm consent of all the commit author(s), set the `cla` label to `yes` (if enabled on your project), and then merge this pull request when appropriate.*

ℹ️ **Googlers: [Go here](https://goto.google.com/prinfo/https%3A%2F%2Fgithub.com%2Fgoogleapis%2Fgoogle-http-java-client%2Fpull%2F529) for more info**.

<!-- need_author_consent -->
pmakani: @sduskis  unit test added, PTAL.
sduskis: @pmakani, there are a lot of formatting changes here.  Please raise a separate PR for just the formatting changes.
googlebot: A Googler has manually verified that the CLAs look good.

(Googler, please make sure the reason for overriding the CLA status is clearly documented in these comments.)

ℹ️ **Googlers: [Go here](https://goto.google.com/prinfo/https%3A%2F%2Fgithub.com%2Fgoogleapis%2Fgoogle-http-java-client%2Fpull%2F529) for more info**.

<!-- cla_yes -->
googlebot: So there's good news and bad news.

:thumbsup: The good news is that everyone that needs to sign a CLA (the pull request submitter and all commit authors) have done so.  Everything is all good there.

:confused: The bad news is that it appears that one or more commits were authored or co-authored by someone other than the pull request submitter.  We need to confirm that all authors are ok with their commits being contributed to this project.  Please have them confirm that here in the pull request.

*Note to project maintainer: This is a terminal state, meaning the `cla/google` commit status will not change from this state. It's up to you to confirm consent of all the commit author(s), set the `cla` label to `yes` (if enabled on your project), and then merge this pull request when appropriate.*

ℹ️ **Googlers: [Go here](https://goto.google.com/prinfo/https%3A%2F%2Fgithub.com%2Fgoogleapis%2Fgoogle-http-java-client%2Fpull%2F529) for more info**.

<!-- need_author_consent -->
googlebot: A Googler has manually verified that the CLAs look good.

(Googler, please make sure the reason for overriding the CLA status is clearly documented in these comments.)

ℹ️ **Googlers: [Go here](https://goto.google.com/prinfo/https%3A%2F%2Fgithub.com%2Fgoogleapis%2Fgoogle-http-java-client%2Fpull%2F529) for more info**.

<!-- cla_yes -->
googlebot: So there's good news and bad news.

:thumbsup: The good news is that everyone that needs to sign a CLA (the pull request submitter and all commit authors) have done so.  Everything is all good there.

:confused: The bad news is that it appears that one or more commits were authored or co-authored by someone other than the pull request submitter.  We need to confirm that all authors are ok with their commits being contributed to this project.  Please have them confirm that here in the pull request.

*Note to project maintainer: This is a terminal state, meaning the `cla/google` commit status will not change from this state. It's up to you to confirm consent of all the commit author(s), set the `cla` label to `yes` (if enabled on your project), and then merge this pull request when appropriate.*

ℹ️ **Googlers: [Go here](https://goto.google.com/prinfo/https%3A%2F%2Fgithub.com%2Fgoogleapis%2Fgoogle-http-java-client%2Fpull%2F529) for more info**.

<!-- need_author_consent -->
googlebot: A Googler has manually verified that the CLAs look good.

(Googler, please make sure the reason for overriding the CLA status is clearly documented in these comments.)

ℹ️ **Googlers: [Go here](https://goto.google.com/prinfo/https%3A%2F%2Fgithub.com%2Fgoogleapis%2Fgoogle-http-java-client%2Fpull%2F529) for more info**.

<!-- cla_yes -->
pmakani: > @pmakani, there are a lot of formatting changes here. Please raise a separate PR for just the formatting changes.

PR #619 
googlebot: So there's good news and bad news.

:thumbsup: The good news is that everyone that needs to sign a CLA (the pull request submitter and all commit authors) have done so.  Everything is all good there.

:confused: The bad news is that it appears that one or more commits were authored or co-authored by someone other than the pull request submitter.  We need to confirm that all authors are ok with their commits being contributed to this project.  Please have them confirm that here in the pull request.

*Note to project maintainer: This is a terminal state, meaning the `cla/google` commit status will not change from this state. It's up to you to confirm consent of all the commit author(s), set the `cla` label to `yes` (if enabled on your project), and then merge this pull request when appropriate.*

ℹ️ **Googlers: [Go here](https://goto.google.com/prinfo/https%3A%2F%2Fgithub.com%2Fgoogleapis%2Fgoogle-http-java-client%2Fpull%2F529) for more info**.

<!-- need_author_consent -->

Patch:
diff --git a/google-http-client-android/pom.xml b/google-http-client-android/pom.xml
index a3408c35..52777dd3 100644
--- a/google-http-client-android/pom.xml
+++ b/google-http-client-android/pom.xml
@@ -4,11 +4,11 @@
   <parent>
     <groupId>com.google.http-client</groupId>
     <artifactId>google-http-client-parent</artifactId>
-    <version>1.28.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-parent:current} -->
+    <version>1.29.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-parent:current} -->
     <relativePath>../pom.xml</relativePath>
   </parent>
   <artifactId>google-http-client-android</artifactId>
-  <version>1.28.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-android:current} -->
+  <version>1.29.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-android:current} -->
   <name>Android Platform Extensions to the Google HTTP Client Library for Java.</name>
 
   <build>
diff --git a/google-http-client-apache-legacy/pom.xml b/google-http-client-apache-legacy/pom.xml
index 213efecd..405953bd 100644
--- a/google-http-client-apache-legacy/pom.xml
+++ b/google-http-client-apache-legacy/pom.xml
@@ -4,11 +4,11 @@
   <parent>
     <groupId>com.google.http-client</groupId>
     <artifactId>google-http-client-parent</artifactId>
-    <version>1.28.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-parent:current} -->
+    <version>1.29.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-parent:current} -->
     <relativePath>../pom.xml</relativePath>
   </parent>
   <artifactId>google-http-client-apache</artifactId>
-  <version>1.28.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-apache-legacy:current} -->
+  <version>1.29.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-apache-legacy:current} -->
   <name>Legacy Apache HTTP transport for the Google HTTP Client Library for Java.</name>
 
   <build>
diff --git a/google-http-client-apache/pom.xml b/google-http-client-apache/pom.xml
index 015edcf2..e5db9289 100644
--- a/google-http-client-apache/pom.xml
+++ b/google-http-client-apache/pom.xml
@@ -4,11 +4,11 @@
   <parent>
     <groupId>com.google.http-client</groupId>
     <artifactId>google-http-client-parent</artifactId>
-    <version>1.28.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-parent:current} -->
+    <version>1.29.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-parent:current} -->
     <relativePath>../pom.xml</relativePath>
   </parent>
   <artifactId>google-http-client-apache</artifactId>
-  <version>2.0.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-apache:current} -->
+  <version>2.1.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-apache:current} -->
   <name>Apache HTTP transport for the Google HTTP Client Library for Java.</name>
 
   <build>
diff --git a/google-http-client-appengine/pom.xml b/google-http-client-appengine/pom.xml
index 935e3bc7..ceafbf5a 100644
--- a/google-http-client-appengine/pom.xml
+++ b/google-http-client-appengine/pom.xml
@@ -4,11 +4,11 @@
   <parent>
     <groupId>com.google.http-client</groupId>
     <artifactId>google-http-client-parent</artifactId>
-    <version>1.28.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-parent:current} -->
+    <version>1.29.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-parent:current} -->
     <relativePath>../pom.xml</relativePath>
   </parent>
   <artifactId>google-http-client-appengine</artifactId>
-  <version>1.28.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-appengine:current} -->
+  <version>1.29.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-appengine:current} -->
   <name>Google App Engine extensions to the Google HTTP Client Library for Java.</name>
 
   <build>
diff --git a/google-http-client-assembly/pom.xml b/google-http-client-assembly/pom.xml
index db005160..f97b3287 100644
--- a/google-http-client-assembly/pom.xml
+++ b/google-http-client-assembly/pom.xml
@@ -4,12 +4,12 @@
   <parent>
     <groupId>com.google.http-client</groupId>
     <artifactId>google-http-client-parent</artifactId>
-    <version>1.28.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-parent:current} -->
+    <version>1.29.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-parent:current} -->
     <relativePath>../pom.xml</relativePath>
   </parent>
   <groupId>com.google.http-client</groupId>
   <artifactId>google-http-client-assembly</artifactId>
-  <version>1.28.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-assembly:current} -->
+  <version>1.29.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-assembly:current} -->
   <packaging>pom</packaging>
   <name>Assembly for the Google HTTP Client Library for Java</name>
 
diff --git a/google-http-client-assembly/readme.html b/google-http-client-assembly/readme.html
index 549520eb..5e7af564 100644
--- a/google-http-client-assembly/readme.html
+++ b/google-http-client-assembly/readme.html
@@ -49,12 +49,6 @@
   For information on how to add these libraries to your Maven project please see
   <a href='https://developers.google.com/api-client-library/java/google-http-java-client/setup#maven'>https://developers.google.com/api-client-library/java/google-http-java-client/setup#maven</a>.
 
-  <h3>Eclipse</h3>
-  A .classpath file snippet that can be included in your project's .classpath
-  has been provided
-  <a href='.classpath'>here</a>. Please only use the classpathentry's you
-  actually need (see below for details).
-
   <h3>ProGuard</h3>
   <p>
     A ProGuard configuration file <a href="proguard-google-http-client.txt">proguard-google-http-client.txt</a>
diff --git a/google-http-client-bom/README.md b/google-http-client-bom/README.md
index 7a7f8fa3..2033cff8 100644
--- a/google-http-client-bom/README.md
+++ b/google-http-client-bom/README.md
@@ -12,7 +12,7 @@ To use it in Maven, add the following to your `pom.xml`:
     <dependency>
       <groupId>com.google.http-client</groupId>
       <artifactId>google-http-client-bom</artifactId>
-      <version>1.28.0</version>
+      <version>1.29.0</version>
       <type>pom</type>
       <scope>import</scope>
     </dependency>
diff --git a/google-http-client-bom/pom.xml b/google-http-client-bom/pom.xml
index 9db216c9..2b428763 100644
--- a/google-http-client-bom/pom.xml
+++ b/google-http-client-bom/pom.xml
@@ -3,7 +3,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>com.google.http-client</groupId>
   <artifactId>google-http-client-bom</artifactId>
-  <version>1.28.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-bom:current} -->
+  <version>1.29.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-bom:current} -->
   <packaging>pom</packaging>
 
   <name>Google HTTP Client Library for Java BOM</name>
@@ -63,67 +63,57 @@
       <dependency>
         <groupId>com.google.http-client</groupId>
         <artifactId>google-http-client</artifactId>
-        <version>1.28.1-SNAPSHOT</version><!-- {x-version-update:google-http-client:current} -->
+        <version>1.29.1-SNAPSHOT</version><!-- {x-version-update:google-http-client:current} -->
       </dependency>
       <dependency>
         <groupId>com.google.http-client</groupId>
         <artifactId>google-http-client-android</artifactId>
-        <version>1.28.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-android:current} -->
+        <version>1.29.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-android:current} -->
       </dependency>
       <dependency>
         <groupId>com.google.http-client</groupId>
         <artifactId>google-http-client-apache</artifactId>
-        <version>2.0.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-apache:current} -->
+        <version>2.1.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-apache:current} -->
       </dependency>
       <dependency>
         <groupId>com.google.http-client</groupId>
         <artifactId>google-http-client-appengine</artifactId>
-        <version>1.28.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-appengine:current} -->
-      </dependency>
-      <dependency>
-        <groupId>com.google.http-client</groupId>
-        <artifactId>google-http-client-assembly</artifactId>
-        <version>1.28.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-assembly:current} -->
+        <version>1.29.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-appengine:current} -->
       </dependency>
       <dependency>
         <groupId>com.google.http-client</groupId>
         <artifactId>google-http-client-findbugs</artifactId>
-        <version>1.28.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-findbugs:current} -->
+        <version>1.29.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-findbugs:current} -->
       </dependency>
       <dependency>
         <groupId>com.google.http-client</groupId>
         <artifactId>google-http-client-gson</artifactId>
-        <version>1.28.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-gson:current} -->
+        <version>1.29.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-gson:current} -->
       </dependency>
       <dependency>
         <groupId>com.google.http-client</groupId>
         <artifactId>google-http-client-jackson</artifactId>
-        <version>1.28.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-jackson:current} -->
+        <version>1.29.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-jackson:current} -->
       </dependency>
       <dependency>
         <groupId>com.google.http-client</groupId>
         <artifactId>google-http-client-jackson2</artifactId>
-        <version>1.28.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-jackson2:current} -->
-      </dependency>
-      <dependency>
-        <groupId>com.google.http-client</groupId>
-        <artifactId>google-http-client-jdo</artifactId>
-        <version>1.28.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-jdo:current} -->
+        <version>1.29.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-jackson2:current} -->
       </dependency>
       <dependency>
         <groupId>com.google.http-client</groupId>
         <artifactId>google-http-client-protobuf</artifactId>
-        <version>1.28.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-protobuf:current} -->
+        <version>1.29.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-protobuf:current} -->
       </dependency>
       <dependency>
         <groupId>com.google.http-client</groupId>
         <artifactId>google-http-client-test</artifactId>
-        <version>1.28.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-test:current} -->
+        <version>1.29.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-test:current} -->
       </dependency>
       <dependency>
         <groupId>com.google.http-client</groupId>
         <artifactId>google-http-client-xml</artifactId>
-        <version>1.28.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-xml:current} -->
+        <version>1.29.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-xml:current} -->
       </dependency>
     </dependencies>
   </dependencyManagement>
diff --git a/google-http-client-findbugs/pom.xml b/google-http-client-findbugs/pom.xml
index 4628e3dc..e2521be7 100644
--- a/google-http-client-findbugs/pom.xml
+++ b/google-http-client-findbugs/pom.xml
@@ -4,11 +4,11 @@
   <parent>
     <groupId>com.google.http-client</groupId>
     <artifactId>google-http-client-parent</artifactId>
-    <version>1.28.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-parent:current} -->
+    <version>1.29.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-parent:current} -->
     <relativePath>../pom.xml</relativePath>
   </parent>
   <artifactId>google-http-client-findbugs</artifactId>
-  <version>1.28.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-findbugs:current} -->
+  <version>1.29.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-findbugs:current} -->
   <name>Google APIs Client Library Findbugs custom plugin.</name>
 
   <build>
diff --git a/google-http-client-gson/pom.xml b/google-http-client-gson/pom.xml
index 675414f7..48a13423 100644
--- a/google-http-client-gson/pom.xml
+++ b/google-http-client-gson/pom.xml
@@ -4,11 +4,11 @@
   <parent>
     <groupId>com.google.http-client</groupId>
     <artifactId>google-http-client-parent</artifactId>
-    <version>1.28.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-parent:current} -->
+    <version>1.29.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-parent:current} -->
     <relativePath>../pom.xml</relativePath>
   </parent>
   <artifactId>google-http-client-gson</artifactId>
-  <version>1.28.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-gson:current} -->
+  <version>1.29.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-gson:current} -->
   <name>GSON extensions to the Google HTTP Client Library for Java.</name>
 
   <build>
diff --git a/google-http-client-jackson/pom.xml b/google-http-client-jackson/pom.xml
index dbd8ce97..fdeb9c22 100644
--- a/google-http-client-jackson/pom.xml
+++ b/google-http-client-jackson/pom.xml
@@ -4,11 +4,11 @@
   <parent>
     <groupId>com.google.http-client</groupId>
     <artifactId>google-http-client-parent</artifactId>
-    <version>1.28.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-parent:current} -->
+    <version>1.29.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-parent:current} -->
     <relativePath>../pom.xml</relativePath>
   </parent>
   <artifactId>google-http-client-jackson</artifactId>
-  <version>1.28.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-jackson:current} -->
+  <version>1.29.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-jackson:current} -->
   <name>Jackson extensions to the Google HTTP Client Library for Java.</name>
 
   <build>
diff --git a/google-http-client-jackson2/pom.xml b/google-http-client-jackson2/pom.xml
index 967e94db..5d56ef30 100644
--- a/google-http-client-jackson2/pom.xml
+++ b/google-http-client-jackson2/pom.xml
@@ -4,11 +4,11 @@
   <parent>
     <groupId>com.google.http-client</groupId>
     <artifactId>google-http-client-parent</artifactId>
-    <version>1.28.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-parent:current} -->
+    <version>1.29.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-parent:current} -->
     <relativePath>../pom.xml</relativePath>
   </parent>
   <artifactId>google-http-client-jackson2</artifactId>
-  <version>1.28.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-jackson2:current} -->
+  <version>1.29.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-jackson2:current} -->
   <name>Jackson 2 extensions to the Google HTTP Client Library for Java.</name>
 
   <build>
diff --git a/google-http-client-protobuf/pom.xml b/google-http-client-protobuf/pom.xml
index e8260671..43cbcb61 100644
--- a/google-http-client-protobuf/pom.xml
+++ b/google-http-client-protobuf/pom.xml
@@ -4,11 +4,11 @@
   <parent>
     <groupId>com.google.http-client</groupId>
     <artifactId>google-http-client-parent</artifactId>
-    <version>1.28.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-parent:current} -->
+    <version>1.29.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-parent:current} -->
     <relativePath>../pom.xml</relativePath>
   </parent>
   <artifactId>google-http-client-protobuf</artifactId>
-  <version>1.28.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-protobuf:current} -->
+  <version>1.29.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-protobuf:current} -->
   <name>Protocol Buffer extensions to the Google HTTP Client Library for Java.</name>
 
   <build>
diff --git a/google-http-client-xml/pom.xml b/google-http-client-xml/pom.xml
index 43e43311..e87a3563 100644
--- a/google-http-client-xml/pom.xml
+++ b/google-http-client-xml/pom.xml
@@ -4,11 +4,11 @@
   <parent>
     <groupId>com.google.http-client</groupId>
     <artifactId>google-http-client-parent</artifactId>
-    <version>1.28.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-parent:current} -->
+    <version>1.29.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-parent:current} -->
     <relativePath>../pom.xml</relativePath>
   </parent>
   <artifactId>google-http-client-xml</artifactId>
-  <version>1.28.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-xml:current} -->
+  <version>1.29.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-xml:current} -->
   <name>XML extensions to the Google HTTP Client Library for Java.</name>
 
   <build>
diff --git a/google-http-client/pom.xml b/google-http-client/pom.xml
index e7fc8576..76197bd3 100644
--- a/google-http-client/pom.xml
+++ b/google-http-client/pom.xml
@@ -4,11 +4,11 @@
   <parent>
     <groupId>com.google.http-client</groupId>
     <artifactId>google-http-client-parent</artifactId>
-    <version>1.28.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-parent:current} -->
+    <version>1.29.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-parent:current} -->
     <relativePath>../pom.xml</relativePath>
   </parent>
   <artifactId>google-http-client</artifactId>
-  <version>1.28.1-SNAPSHOT</version><!-- {x-version-update:google-http-client:current} -->
+  <version>1.29.1-SNAPSHOT</version><!-- {x-version-update:google-http-client:current} -->
   <name>Google HTTP Client Library for Java</name>
   <description>
     Google HTTP Client Library for Java. Functionality that works on all supported Java platforms,
diff --git a/google-http-client/src/main/java/com/google/api/client/json/JsonParser.java b/google-http-client/src/main/java/com/google/api/client/json/JsonParser.java
index 75972a16..44bec3f5 100644
--- a/google-http-client/src/main/java/com/google/api/client/json/JsonParser.java
+++ b/google-http-client/src/main/java/com/google/api/client/json/JsonParser.java
@@ -828,6 +828,10 @@ public abstract class JsonParser implements Closeable {
           Preconditions.checkArgument(
               fieldContext == null || fieldContext.getAnnotation(JsonString.class) == null,
               "number type formatted as a JSON number cannot use @JsonString annotation");
+          if (getCurrentToken() == JsonToken.VALUE_NUMBER_INT
+              && (valueClass == null || valueClass.isAssignableFrom(Integer.class))) {
+            return getIntValue();
+          }
           if (valueClass == null || valueClass.isAssignableFrom(BigDecimal.class)) {
             return getDecimalValue();
           }
diff --git a/pom.xml b/pom.xml
index 6c709c74..aae946f6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -9,7 +9,7 @@
   </parent>
   <groupId>com.google.http-client</groupId>
   <artifactId>google-http-client-parent</artifactId>
-  <version>1.28.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-parent:current} -->
+  <version>1.29.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-parent:current} -->
   <packaging>pom</packaging>
   <name>Parent for the Google HTTP Client Library for Java</name>
 
@@ -552,8 +552,8 @@
       - google-api-java-client/google-api-client-assembly/android-properties (make the filenames match the version here)
       - Internally, update the default features.json file
     -->
-    <project.http-client.version>1.28.1-SNAPSHOT</project.http-client.version><!-- {x-version-update:google-http-client-parent:current} -->
-    <project.http-client-apache.version>2.0.1-SNAPSHOT</project.http-client-apache.version><!-- {x-version-update:google-http-client-apache:current} -->
+    <project.http-client.version>1.29.1-SNAPSHOT</project.http-client.version><!-- {x-version-update:google-http-client-parent:current} -->
+    <project.http-client-apache.version>2.1.1-SNAPSHOT</project.http-client-apache.version><!-- {x-version-update:google-http-client-apache:current} -->
     <project.appengine.version>1.9.71</project.appengine.version>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <project.jsr305.version>3.0.2</project.jsr305.version>
diff --git a/samples/dailymotion-simple-cmdline-sample/pom.xml b/samples/dailymotion-simple-cmdline-sample/pom.xml
index 9e1e9d57..ec60b00b 100644
--- a/samples/dailymotion-simple-cmdline-sample/pom.xml
+++ b/samples/dailymotion-simple-cmdline-sample/pom.xml
@@ -4,7 +4,7 @@
   <parent>
     <groupId>com.google.http-client</groupId>
     <artifactId>google-http-client-parent</artifactId>
-    <version>1.28.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-parent:current} -->
+    <version>1.29.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-parent:current} -->
     <relativePath>../../pom.xml</relativePath>
   </parent>
   <artifactId>dailymotion-simple-cmdline-sample</artifactId>
diff --git a/versions.txt b/versions.txt
index a6a7fd16..115db9d3 100644
--- a/versions.txt
+++ b/versions.txt
@@ -1,20 +1,20 @@
 # Format:
 # module:released-version:current-version
 
-google-http-client:1.28.0:1.28.1-SNAPSHOT
-google-http-client-bom:1.28.0:1.28.1-SNAPSHOT
-google-http-client-parent:1.28.0:1.28.1-SNAPSHOT
-google-http-client-android:1.28.0:1.28.1-SNAPSHOT
-google-http-client-android-test:1.28.0:1.28.1-SNAPSHOT
-google-http-client-apache:2.0.0:2.0.1-SNAPSHOT
-google-http-client-apache-legacy:1.28.0:1.28.1-SNAPSHOT
-google-http-client-appengine:1.28.0:1.28.1-SNAPSHOT
-google-http-client-assembly:1.28.0:1.28.1-SNAPSHOT
-google-http-client-findbugs:1.28.0:1.28.1-SNAPSHOT
-google-http-client-gson:1.28.0:1.28.1-SNAPSHOT
-google-http-client-jackson:1.28.0:1.28.1-SNAPSHOT
-google-http-client-jackson2:1.28.0:1.28.1-SNAPSHOT
-google-http-client-jdo:1.28.0:1.28.1-SNAPSHOT
-google-http-client-protobuf:1.28.0:1.28.1-SNAPSHOT
-google-http-client-test:1.28.0:1.28.1-SNAPSHOT
-google-http-client-xml:1.28.0:1.28.1-SNAPSHOT
+google-http-client:1.29.0:1.29.1-SNAPSHOT
+google-http-client-bom:1.29.0:1.29.1-SNAPSHOT
+google-http-client-parent:1.29.0:1.29.1-SNAPSHOT
+google-http-client-android:1.29.0:1.29.1-SNAPSHOT
+google-http-client-android-test:1.29.0:1.29.1-SNAPSHOT
+google-http-client-apache:2.1.0:2.1.1-SNAPSHOT
+google-http-client-apache-legacy:1.29.0:1.29.1-SNAPSHOT
+google-http-client-appengine:1.29.0:1.29.1-SNAPSHOT
+google-http-client-assembly:1.29.0:1.29.1-SNAPSHOT
+google-http-client-findbugs:1.29.0:1.29.1-SNAPSHOT
+google-http-client-gson:1.29.0:1.29.1-SNAPSHOT
+google-http-client-jackson:1.29.0:1.29.1-SNAPSHOT
+google-http-client-jackson2:1.29.0:1.29.1-SNAPSHOT
+google-http-client-jdo:1.29.0:1.29.1-SNAPSHOT
+google-http-client-protobuf:1.29.0:1.29.1-SNAPSHOT
+google-http-client-test:1.29.0:1.29.1-SNAPSHOT
+google-http-client-xml:1.29.0:1.29.1-SNAPSHOT


Test patch:
diff --git a/google-http-client-android-test/pom.xml b/google-http-client-android-test/pom.xml
index c4a464ae..3f4c088d 100644
--- a/google-http-client-android-test/pom.xml
+++ b/google-http-client-android-test/pom.xml
@@ -4,7 +4,7 @@
   <groupId>google-http-client</groupId>
   <artifactId>google-http-client-android-test</artifactId>
   <name>Test project for google-http-client-android.</name>
-  <version>1.28.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-android-test:current} -->
+  <version>1.29.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-android-test:current} -->
   <packaging>apk</packaging>
 
   <build>
@@ -53,7 +53,7 @@
     <dependency>
       <groupId>com.google.http-client</groupId>
       <artifactId>google-http-client-android</artifactId>
-      <version>1.28.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-android:current} -->
+      <version>1.29.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-android:current} -->
       <exclusions>
         <exclusion>
           <artifactId>android</artifactId>
@@ -72,7 +72,7 @@
     <dependency>
       <groupId>com.google.http-client</groupId>
       <artifactId>google-http-client-test</artifactId>
-      <version>1.28.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-test:current} -->
+      <version>1.29.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-test:current} -->
       <exclusions>
         <exclusion>
           <artifactId>junit</artifactId>
diff --git a/google-http-client-test/pom.xml b/google-http-client-test/pom.xml
index d025a3c0..f566c911 100644
--- a/google-http-client-test/pom.xml
+++ b/google-http-client-test/pom.xml
@@ -4,11 +4,11 @@
   <parent>
     <groupId>com.google.http-client</groupId>
     <artifactId>google-http-client-parent</artifactId>
-    <version>1.28.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-parent:current} -->
+    <version>1.29.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-parent:current} -->
     <relativePath>../pom.xml</relativePath>
   </parent>
   <artifactId>google-http-client-test</artifactId>
-  <version>1.28.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-test:current} -->
+  <version>1.29.1-SNAPSHOT</version><!-- {x-version-update:google-http-client-test:current} -->
   <name>Shared classes used for testing of artifacts in the Google HTTP Client Library for Java.</name>
 
   <build>
diff --git a/google-http-client-test/src/main/java/com/google/api/client/test/json/AbstractJsonFactoryTest.java b/google-http-client-test/src/main/java/com/google/api/client/test/json/AbstractJsonFactoryTest.java
index 8bf51810..1f11dfd3 100644
--- a/google-http-client-test/src/main/java/com/google/api/client/test/json/AbstractJsonFactoryTest.java
+++ b/google-http-client-test/src/main/java/com/google/api/client/test/json/AbstractJsonFactoryTest.java
@@ -482,6 +482,8 @@ public abstract class AbstractJsonFactoryTest extends TestCase {
 
   static final String MAP_TYPE =
       "{\"value\":[{\"map1\":{\"k1\":1,\"k2\":2},\"map2\":{\"kk1\":3,\"kk2\":4}}]}";
+  static final String BIGDECIMAL_MAP_TYPE =
+      "{\"value\":[{\"map1\":{\"k1\":1.14566,\"k2\":2.14},\"map2\":{\"kk1\":3.29,\"kk2\":4.69}}]}";
 
   public void testParser_mapType() throws Exception {
     // parse
@@ -510,16 +512,35 @@ public abstract class AbstractJsonFactoryTest extends TestCase {
     parser = factory.createJsonParser(MAP_TYPE);
     parser.nextToken();
     @SuppressWarnings("unchecked")
-    HashMap<String, ArrayList<ArrayMap<String, ArrayMap<String, BigDecimal>>>> result =
+    HashMap<String, ArrayList<ArrayMap<String, ArrayMap<String, Integer>>>> result =
         parser.parse(HashMap.class);
     // serialize
     assertEquals(MAP_TYPE, factory.toString(result));
     // check parsed result
+    ArrayList<ArrayMap<String, ArrayMap<String, Integer>>> value = result.get("value");
+    ArrayMap<String, ArrayMap<String, Integer>> firstMap = value.get(0);
+    ArrayMap<String, Integer> map1 = firstMap.get("map1");
+    Integer integer = map1.get("k1");
+    assertEquals(1, integer.intValue());
+  }
+
+  public void testParser_hashmapForMapTypeWithBigDecimal() throws Exception {
+    // parse
+    JsonFactory factory = newFactory();
+    JsonParser parser;
+    parser = factory.createJsonParser(BIGDECIMAL_MAP_TYPE);
+    parser.nextToken();
+    @SuppressWarnings("unchecked")
+    HashMap<String, ArrayList<ArrayMap<String, ArrayMap<String, BigDecimal>>>> result =
+        parser.parse(HashMap.class);
+    // serialize
+    assertEquals(BIGDECIMAL_MAP_TYPE, factory.toString(result));
+    // check parsed result
     ArrayList<ArrayMap<String, ArrayMap<String, BigDecimal>>> value = result.get("value");
     ArrayMap<String, ArrayMap<String, BigDecimal>> firstMap = value.get(0);
     ArrayMap<String, BigDecimal> map1 = firstMap.get("map1");
-    BigDecimal integer = map1.get("k1");
-    assertEquals(1, integer.intValue());
+    BigDecimal bigDecimal = map1.get("k1");
+    assertEquals(BigDecimal.valueOf(1.14566).setScale(5), bigDecimal);
   }
 
   public static class WildCardTypes {
@@ -547,8 +568,8 @@ public abstract class AbstractJsonFactoryTest extends TestCase {
     assertEquals(WILDCARD_TYPE, factory.toString(result));
     // check parsed result
     Collection<?>[] simple = result.simple;
-    ArrayList<BigDecimal> wildcard = (ArrayList<BigDecimal>) simple[0];
-    BigDecimal wildcardFirstValue = wildcard.get(0);
+    ArrayList<Integer> wildcard = (ArrayList<Integer>) simple[0];
+    Integer wildcardFirstValue = wildcard.get(0);
     assertEquals(1, wildcardFirstValue.intValue());
     Collection<? extends Integer>[] upper = result.upper;
     ArrayList<Integer> wildcardUpper = (ArrayList<Integer>) upper[0];
@@ -558,8 +579,8 @@ public abstract class AbstractJsonFactoryTest extends TestCase {
     ArrayList<Integer> wildcardLower = (ArrayList<Integer>) lower[0];
     Integer wildcardFirstValueLower = wildcardLower.get(0);
     assertEquals(1, wildcardFirstValueLower.intValue());
-    Map<String, BigDecimal> map = (Map<String, BigDecimal>) result.map;
-    BigDecimal mapValue = map.get("v");
+    Map<String, Integer> map = (Map<String, Integer>) result.map;
+    Integer mapValue = map.get("v");
     assertEquals(1, mapValue.intValue());
     Map<String, Integer> mapUpper = (Map<String, Integer>) result.mapUpper;
     Integer mapUpperValue = mapUpper.get("v");
@@ -771,16 +792,16 @@ public abstract class AbstractJsonFactoryTest extends TestCase {
     ArrayList<Object> arr = (ArrayList<Object>) result.get("arr");
     assertEquals(2, arr.size());
     assertEquals(Data.nullOf(Object.class), arr.get(0));
-    ArrayList<BigDecimal> subArr = (ArrayList<BigDecimal>) arr.get(1);
+    ArrayList<Integer> subArr = (ArrayList<Integer>) arr.get(1);
     assertEquals(2, subArr.size());
     assertEquals(Data.nullOf(Object.class), subArr.get(0));
-    BigDecimal arrValue = subArr.get(1);
+    Integer arrValue = subArr.get(1);
     assertEquals(1, arrValue.intValue());
     // null value
     Object nullValue = result.get("nullValue");
     assertEquals(Data.nullOf(Object.class), nullValue);
     // value
-    BigDecimal value = (BigDecimal) result.get("value");
+    Integer value = (Integer) result.get("value");
     assertEquals(1, value.intValue());
   }
 
@@ -1519,7 +1540,7 @@ public abstract class AbstractJsonFactoryTest extends TestCase {
     assertEquals(4, dog.numberOfLegs);
     assertEquals(3, ((DogGenericJson) dog).tricksKnown);
     assertEquals("this is not being used!", dog.get("unusedInfo"));
-    BigDecimal foo = ((BigDecimal) ((ArrayMap<String, Object>) dog.get("unused")).get("foo"));
+    Integer foo = ((Integer) ((ArrayMap<String, Object>) dog.get("unused")).get("foo"));
     assertEquals(200, foo.intValue());
   }