influxdb-client-java
influxdb-client-java copied to clipboard
chore(deps): bump com.google.code.gson:gson from 2.10.1 to 2.11.0
trafficstars
Bumps com.google.code.gson:gson from 2.10.1 to 2.11.0.
Release notes
Sourced from com.google.code.gson:gson's releases.
Gson 2.11.0
Most important changes
- 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@SerializedNamefor their fields.- On Android, Gson now requires API level 21 or newer
- Added new
StrictnessAPI (@marten-voorberg& fellow students, #2437)
Some of Gson's API is still lenient by default, but you can now use the newly added methodsGsonBuilder#setStrictness,JsonReader#setStrictnessandJsonWriter#setStrictnesswithStrictness.STRICTto override this behavior and to instead strictly adhere to the JSON specification when parsing.- New
FormattingStyleclass to allow configuring line breaks in JSON output (@mihnita, #2231)
Can be set usingGsonBuilder#setFormattingStyleandJsonWriter#setFormattingStyle.TypeTokencan 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 exampleListimplementations returned by libraries such as Guava which are implemented as anonymous class, which were previously serialized asnull. Anonymous and local classes without custom adapter will still be serialized asnull.- 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.- Many exception messages now refer to the Troubleshooting Guide (
@Marcono1234, #2357)
Feedback regarding the Troubleshooting Guide is appreciated!- Officially documented that JVM languages other than Java might not be fully supported, see the README.
- Guarantee that
JsonElement#toStringproduces JSON output (@Marcono1234, #2659)Other changes
Bug fixes
- Fixed incorrect
JsonPrimitive#equalsresults for largeBigIntegervalues (@MaicolAntali, #2311)- Fixed incorrect
JsonPrimitive#equalsresults for largeBigDecimalvalues (@MaicolAntali, #2364)- Fixed
JsonReaderthrowingNumberFormatExceptioninstead ofMalformedJsonExceptionfor malformed Unicode escape sequences (@MaicolAntali, #2337)- Fixed
TypeToken#getParameterizedreturning bogusParameterizedTypefor non-generic types (@Marcono1234, #2447)- Fixed Java Record adapter not working for GraalVM Native Image (
@eamonnmcmanus, #2465)- Fixed
JsonWriter#namenot throwing exception when no JSON object is currently being written (@shivam-sehgal, #2475;@Marcono1234, #2476)- Fixed
Gson#getDelegateAdapternot working properly for@JsonAdapter(@Marcono1234, #2435)
Note thatnullis now not allowed asskipPastvalue anymore, which was previously allowed but undocumented.- Fixed
GsonBuildernot rejecting type adapters forObjectandJsonElement, whose default adapters cannot be overridden (@sachinp97; #2479)- Fixed no limits being enforced when deserializing
BigDecimalandBigInteger(@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#setDateFormatnot rejecting invalid date formats (@Carpe-Wang, #2538)- Fixed
GsonBuilder#setDateFormatnot rejecting invalid date styles (@Marcono1234, #2545)- Fixed
GsonBuilder#setDateFormatignoring partial DEFAULT style (@Marcono1234, #2556)- Fixed
TypeToken#isAssignableFromthrowingAssertionErrorin some cases (@Marcono1234, #2544)- Fixed date adapters not restoring time zone after parsing (
@Carpe-Wang, #2549)- Fixed
TypeToken#equalserroneously returningfalsefor equal generic type parameters in some cases (@d-william, #2599)- Fixed incorrect inherited URLs in
pom.xml(@Marcono1234, #2351)Performance improvements
- Slightly reduce memory usage for reflection-based adapter (
@sembseth, #2325;@Marcono1234, #2440)- Improved parsing speed of
ToNumberPolicy#LONG_OR_DOUBLE(@ctasada, #2674)
... (truncated)
Commits
828a97b[maven-release-plugin] prepare release gson-parent-2.11.093bc0f2Skip 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.08bfdbb4Guarantee thatJsonElement.toString()produces JSON (#2659)9008b09Extend Troubleshooting Guide with some ProGuard / R8 information (#2656)05652c3Document that other JVM languages are not fully supported (#2666)454a491Improved Long-Double Number Policy (#2674)570d911Bump the github-actions group with 4 updates (#2671)- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)