Added default ProGuard / R8 rules (@Marcono1234, #2397, #2420; @sgjesse, #2448; @sfreilich)
If you are using ProGuard or R8 (for example for Android projects) you might not need any special Gson configuration anymore if your classes have a no-args constructor and use @SerializedName for their fields.
On Android, Gson now requires API level 21 or newer
Added new Strictness API (@marten-voorberg & fellow students, #2437)
Some of Gson's API is still lenient by default, but you can now use the newly added methods GsonBuilder#setStrictness, JsonReader#setStrictness and JsonWriter#setStrictness with Strictness.STRICT to override this behavior and to instead strictly adhere to the JSON specification when parsing.
New FormattingStyle class to allow configuring line breaks in JSON output (@mihnita, #2231)
Can be set using GsonBuilder#setFormattingStyle and JsonWriter#setFormattingStyle.
TypeToken can no longer capture type variables by default (@Marcono1234, #2376)
This was previously a common source of issues. The newly thrown exception refers to a Troubleshooting Guide article which explains this in more detail and provides suggestions for updating affected code.
Added serialization support for anonymous and local classes with a custom adapter (@Marcono1234, #2498)
This affects for example List implementations returned by libraries such as Guava which are implemented as anonymous class, which were previously serialized as null. Anonymous and local classes without custom adapter will still be serialized as null.
Added dependency on com.google.errorprone:error_prone_annotations
Your project can use Maven or Gradle dependency exclusions to remove the transitive error_prone_annotations dependency from Gson. Or if you are manually maintaining dependencies as JARs in your project you can omit error_prone_annotations. And it should still work correctly.
But Gson itself does declare it as a required dependency, and if you don't perform any custom configuration, then Maven or Gradle will by default try to download and use it.
Fixed Gson#getDelegateAdapter not working properly for @JsonAdapter (@Marcono1234, #2435)
Note that null is now not allowed as skipPast value anymore, which was previously allowed but undocumented.
Fixed GsonBuilder not rejecting type adapters for Object and JsonElement, whose default adapters cannot be overridden (@sachinp97; #2479)
Fixed no limits being enforced when deserializing BigDecimal and BigInteger (@Marcono1234, #2510)
The new limits prevent potential performance problems when user code uses the deserialized numbers. Gson itself was and is not affected by these performance problems. The limits should be high enough to not cause issues for most use cases, but feedback is appreciated.
Fixed GsonBuilder#setDateFormat not rejecting invalid date formats (@Carpe-Wang, #2538)
Fixed GsonBuilder#setDateFormat not rejecting invalid date styles (@Marcono1234, #2545)
Bumps the minor-updates group with 16 updates in the / directory:
1.2.13
1.5.6
5.8.0
5.12.0
3.1.0
3.2.4
3.3.0
3.3.1
3.6.2
3.7.0
1.6.13
1.7.0
3.11.0
3.13.0
3.1.1
3.1.2
2.10.1
2.11.0
2.16.0
2.17.1
2.16.0
2.17.1
2.16.0
2.17.1
2.16.0
2.17.1
2.16.0
2.17.1
2.16.0
2.17.1
2.0.42
2.0.50
Updates
ch.qos.logback:logback-classic
from 1.2.13 to 1.5.6Commits
7812a55
prepare release 1.5.6759fc25
fix issues/805 i.e. LOGBACK-1768, included file with inner conditional3d55638
start work on 1.5.6-SNAPSHOTa91d2b6
notes about javadocsc7c5e89
prepare release 1.5.57db8797
upgrade build to slf4j 2.0.13f9c04d2
test inclusion with conditionalsf32ed30
remove support for metaannotations for NoAutoStart annotation4476edd
Search for@NoAutoStart
annotations in ancestor hierarchy, implemented interf...a649c60
rename IncludeActionTest as IncludeModelHandlerTestUpdates
org.mockito:mockito-core
from 5.8.0 to 5.12.0Release notes
Sourced from org.mockito:mockito-core's releases.
... (truncated)
Commits
12cef84
AdditionalMatchers.and() and or() swap matcher order (#3335)f3821ff
Bump com.gradle.enterprise from 3.17.2 to 3.17.3 (#3341)25ad018
Bump org.jetbrains.kotlin:kotlin-stdlib from 1.9.23 to 1.9.24 (#3339)de38124
Bump versions.bytebuddy from 1.14.14 to 1.14.15 (#3338)88e8481
Bump org.jetbrains.kotlin:kotlin-gradle-plugin from 1.9.23 to 1.9.24 (#3336)8c222c2
Bump org.shipkit:shipkit-auto-version from 2.0.6 to 2.0.7 (#3337)fb9ff6d
Bump gradle/wrapper-validation-action from 3.3.1 to 3.3.2 (#3327)af70125
Bump versions.bytebuddy from 1.14.13 to 1.14.14 (#3324)1eac76b
Bump org.shipkit:shipkit-auto-version from 2.0.5 to 2.0.6 (#3322)cd512ab
Bump gradle/wrapper-validation-action from 3.3.0 to 3.3.1 (#3320)Updates
org.apache.maven.plugins:maven-gpg-plugin
from 3.1.0 to 3.2.4Release notes
Sourced from org.apache.maven.plugins:maven-gpg-plugin's releases.
... (truncated)
Commits
789149e
[maven-release-plugin] prepare release maven-gpg-plugin-3.2.4893aedc
[MGPG-125] Fix "bestPractices" (#95)b6f0324
[MGPG-126] Bump commons-io:commons-io from 2.16.0 to 2.16.1 (#94)3c5878b
[maven-release-plugin] prepare for next development iteration89b91a4
[maven-release-plugin] prepare release maven-gpg-plugin-3.2.3fc2efa3
[MGPG-123][MGPG-124] Dependency upgrades (#93)50222d3
[MGPG-120] New mojo sign-deployed (#88)a6c3a09
[MGPG-122] Bump org.apache.maven.plugins:maven-invoker-plugin from 3.6.0 to 3...78f5e37
[MGPG-121] Return the workaround for pseudo security (#90)582df74
[MGPG-117] Improve passphrase handling (#86)Updates
org.apache.maven.plugins:maven-source-plugin
from 3.3.0 to 3.3.1Commits
f80596e
[maven-release-plugin] prepare release maven-source-plugin-3.3.17626998
Bump apache/maven-gh-actions-shared from 3 to 483c963c
Bump org.apache.maven.plugins:maven-plugins from 39 to 41 (#18)40ae495
Bump org.codehaus.plexus:plexus-archiver from 4.8.0 to 4.9.1 (#20)073462b
Bump org.apache.maven:maven-archiver from 3.6.0 to 3.6.1 (#21)0b1c823
Fix typos in AbstractSourceJarMojo exception099c65a
[MSOURCES-142] Bump org.codehaus.plexus:plexus-archiver from 4.7.1 to 4.8.0 (...1edeea4
[MSOURCES-139] Fix typo in AbstractSourceJarMojo exception436966e
[maven-release-plugin] prepare for next development iterationUpdates
org.apache.maven.plugins:maven-javadoc-plugin
from 3.6.2 to 3.7.0Commits
2c28b8d
[maven-release-plugin] prepare release maven-javadoc-plugin-3.7.05530d68
[MJAVADOC-793] java.lang.NullPointerException: Cannot invoke "String.length()...08cf68e
Revert "Bump org.codehaus.plexus:plexus-archiver from 4.9.1 to 4.9.2"6446822
Bump org.apache.maven.shared:maven-invoker from 3.2.0 to 3.3.049c93ad
Bump org.assertj:assertj-core from 3.25.3 to 3.26.04e72048
[MJAVADOC-795] Upgrade to Parent 42 and Maven 3.6.3b55dd96
Bump org.codehaus.plexus:plexus-archiver from 4.9.1 to 4.9.277ad410
Bump org.apache.commons:commons-text from 1.11.0 to 1.12.0c21568a
Bump commons-io:commons-io from 2.16.0 to 2.16.1ded56a9
Exclude JDK 8 - temurin, adopt-openj9 on macosUpdates
org.sonatype.plugins:nexus-staging-maven-plugin
from 1.6.13 to 1.7.0Updates
org.apache.maven.plugins:maven-compiler-plugin
from 3.11.0 to 3.13.0Release notes
Sourced from org.apache.maven.plugins:maven-compiler-plugin's releases.
... (truncated)
Commits
a1415aa
[maven-release-plugin] prepare release maven-compiler-plugin-3.13.0b2b9196
[MCOMPILER-574] Propagate cause of exception in AbstractCompilerMojo6d2ce5a
[MCOMPILER-584] Refresh page - Using Non-Javac Compilerseebad60
[MCOMPILER-585] Refresh plugins versions in ITsceacf68
[MCOMPILER-582] Automatic detection of release option for JDK < 9110293f
[MCOMPILER-583] Require Maven 3.6.390131df
[MCOMPILER-575] Bump plexusCompilerVersion from 2.14.2 to 2.15.0 (#227)74cfc72
[MCOMPILER-548] JDK 21 throws annotations processing warning that can not be ...f85aa27
Bump apache/maven-gh-actions-shared from 3 to 4d59ef49
extract Maven 3.3.1 specific method callUpdates
org.apache.maven.plugins:maven-deploy-plugin
from 3.1.1 to 3.1.2Release notes
Sourced from org.apache.maven.plugins:maven-deploy-plugin's releases.
Commits
4f016bc
[maven-release-plugin] prepare release maven-deploy-plugin-3.1.20ed18be
Remove workaround, handle it centrallyb9c1c8b
[MDEPLOY-314] Include artifactId in DeployMojo#processProject messages74d331b
[MDEPLOY-316] Parent 42 and prerequisite 3.6.3 (#54)ac9c49d
Bump org.mockito:mockito-core from 2.28.2 to 4.11.0de7cefb
Bump apache/maven-gh-actions-shared from 3 to 4edf85d7
Add Dependabot390e610
[MDEPLOY-313] Update to parent 41, cleanup (#47)29f3c81
DeployFileMojo#readModel(File): fixed MojoExecutionException javadoc9039fc6
Type: fill --> fileUpdates
com.google.code.gson:gson
from 2.10.1 to 2.11.0Release notes
Sourced from com.google.code.gson:gson's releases.
... (truncated)
Commits
828a97b
[maven-release-plugin] prepare release gson-parent-2.11.093bc0f2
Skip signing graal-native-test module. (#2675)b153ca1
[maven-release-plugin] rollback the release of gson-parent-2.11.00e3d2aa
[maven-release-plugin] prepare for next development iteration545b802
[maven-release-plugin] prepare release gson-parent-2.11.08bfdbb4
Guarantee thatJsonElement.toString()
produces JSON (#2659)9008b09
Extend Troubleshooting Guide with some ProGuard / R8 information (#2656)05652c3
Document that other JVM languages are not fully supported (#2666)454a491
Improved Long-Double Number Policy (#2674)570d911
Bump the github-actions group with 4 updates (#2671)Updates
com.fasterxml.jackson.core:jackson-databind
from 2.16.0 to 2.17.1Commits
Updates
com.fasterxml.jackson.dataformat:jackson-dataformat-cbor
from 2.16.0 to 2.17.1Commits
349b40a
[maven-release-plugin] prepare release jackson-dataformats-binary-2.17.1643bbf0
Prepare for 2.17.1 releasecb43e22
Merge branch '2.17' of github.com:FasterXML/jackson-dataformats-binary into 2.174d4d141
Fix #490: regression in Double/Float conversion for "untyped" deserialization...2de31bf
Merge branch '2.16' into 2.17ea6e8ea
Add test wrt #490, passing against 2.16 (#491)1efa12b
Update release notes wrt #4879f9df25
Don't close IonParser on EOF to be compatible with MappingIterator when sourc...d90dd25
Update release notes0aa976a
Fix #488: update ion-java dep to 1.11.7 (#489)Updates
com.fasterxml.jackson.dataformat:jackson-dataformat-smile
from 2.16.0 to 2.17.1Commits
349b40a
[maven-release-plugin] prepare release jackson-dataformats-binary-2.17.1643bbf0
Prepare for 2.17.1 releasecb43e22
Merge branch '2.17' of github.com:FasterXML/jackson-dataformats-binary into 2.174d4d141
Fix #490: regression in Double/Float conversion for "untyped" deserialization...2de31bf
Merge branch '2.16' into 2.17ea6e8ea
Add test wrt #490, passing against 2.16 (#491)1efa12b
Update release notes wrt #4879f9df25
Don't close IonParser on EOF to be compatible with MappingIterator when sourc...d90dd25
Update release notes0aa976a
Fix #488: update ion-java dep to 1.11.7 (#489)Updates
com.fasterxml.jackson.dataformat:jackson-dataformat-ion
from 2.16.0 to 2.17.1Commits
Updates
com.fasterxml.jackson.dataformat:jackson-dataformat-protobuf
from 2.16.0 to 2.17.1Commits
349b40a
[maven-release-plugin] prepare release jackson-dataformats-binary-2.17.1643bbf0
Prepare for 2.17.1 releasecb43e22
Merge branch '2.17' of github.com:FasterXML/jackson-dataformats-binary into 2.174d4d141
Fix #490: regression in Double/Float conversion for "untyped" deserialization...2de31bf
Merge branch '2.16' into 2.17ea6e8ea
Add test wrt #490, passing against 2.16 (#491)1efa12b
Update release notes wrt #4879f9df25
Don't close IonParser on EOF to be compatible with MappingIterator when sourc...d90dd25
Update release notes0aa976a
Fix #488: update ion-java dep to 1.11.7 (#489)Updates
com.fasterxml.jackson.dataformat:jackson-dataformat-avro
from 2.16.0 to 2.17.1Commits
349b40a
[maven-release-plugin] prepare release jackson-dataformats-binary-2.17.1643bbf0
Prepare for 2.17.1 releasecb43e22
Merge branch '2.17' of github.com:FasterXML/jackson-dataformats-binary into 2.174d4d141
Fix #490: regression in Double/Float conversion for "untyped" deserialization...2de31bf
Merge branch '2.16' into 2.17ea6e8ea
Add test wrt #490, passing against 2.16 (#491)1efa12b
Update release notes wrt #4879f9df25
Don't close IonParser on EOF to be compatible with MappingIterator when sourc...Superseded by #130.