Skip to content

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Jan 13, 2026

Bumps com.cedarsoftware:json-io from 4.70.0 to 4.81.0.

Changelog

Sourced from com.cedarsoftware:json-io's changelog.

4.81.0 (unreleased)

  • BUG FIX: Resolver - Fixed array/collection cross-conversion returning null
    • When JSON contained @type=char[] but caller requested byte[].class, json-io returned null instead of converting
    • Same issue affected other array cross-conversions (e.g., byte[]char[], int[]long[]) and array ↔ collection conversions
    • Added early conversion logic in toJava() that detects type mismatches and uses the Converter to transform between array/collection types
    • Now properly handles: array → different array, array → Collection, Collection → array
    • Related fix in java-util's Converter (see java-util 4.81.0 changelog)
  • FEATURE: Added omitRootTypeInfo() and showRootTypeInfo() to WriteOptionsBuilder
    • Control whether @type is written on the root object when using showTypeInfoMinimal() (the default)
    • omitRootTypeInfo() - Omit the @type on the root object, useful when the reader uses .asClass() or .asType()
    • showRootTypeInfo() - Explicitly show the @type on the root object (current default)
    • Added isShowingRootTypeInfo() getter to WriteOptions
    • Validation: These methods are only valid with showTypeInfoMinimal(). Using them with showTypeInfoAlways() or showTypeInfoNever() throws IllegalStateException — those modes have absolute behavior that cannot be overridden
    • Current default is to show root type (backward compatible), but this will likely change to omit in a future release
    • This allows reducing JSON payload size when the receiving system knows the expected type

4.80.0 - 2025-01-05

  • FEATURE: JSON5 Support - Parser now accepts JSON5 extensions by default
    • Added ReadOptionsBuilder.strictJson() for RFC 8259 compliance mode
    • Default is permissive mode (accepts JSON5 features)
    • When strictJson() is enabled, JSON5 extensions cause parse errors
    • Unquoted object keys: Object keys can now be valid ECMAScript identifiers without quotes
      • Keys must start with a-z, A-Z, underscore (_), or dollar sign ($)
      • Subsequent characters can include digits (0-9)
      • Examples: {name:"John"}, {_private:1}, {$jquery:"lib"}
    • Comments: Both single-line and block comments are now supported
      • Single-line comments: // comment until end of line
      • Block comments: /* comment */ (can span multiple lines)
      • Comments can appear anywhere whitespace is allowed
    • Trailing commas: Objects and arrays can now have a trailing comma
      • Objects: {"a": 1, "b": 2,} is valid
      • Arrays: [1, 2, 3,] is valid
      • Nested structures with trailing commas: {"arr": [1, 2,], "name": "test",}
    • Single-quoted strings: Strings can use single quotes instead of double quotes
      • Values: {"name": 'John'} is valid
      • Keys: {'name': "John"} is valid
      • Single quotes can contain unescaped double quotes: {'text': 'He said "Hello"'}
      • Escape single quotes with backslash: {'text': 'It\'s working'}
    • Hexadecimal numbers: Integer literals can be specified in hexadecimal
      • Lowercase: {"value": 0xff} equals 255
      • Uppercase: {"value": 0xFF} equals 255
      • Negative hex: {"value": -0xFF} equals -255
      • Up to 16 hex digits supported (full 64-bit range)
    • Special number formats: JSON5 number format extensions
      • Leading decimal point: {"value": .5} equals 0.5
      • Trailing decimal point: {"value": 5.} equals 5.0
      • Explicit positive sign: {"value": +5} equals 5
      • Combinations supported: +.5 (0.5), -.5 (-0.5), +5. (5.0)
      • Works with exponents: .5e2 (50.0), 5.e2 (500.0), +1e5 (100000.0)
    • Multi-line strings: Strings can span multiple lines using backslash continuation

... (truncated)

Commits
  • 10ab046 Fix array/collection cross-conversion returning null
  • 3cc6b8a Refactor: Simplify ObjectResolver, MapResolver, and related classes
  • 9afa958 Refactor: Simplify Resolver.java for clarity and maintainability
  • f0ab5a1 Refactor: Standardize stack direction to addFirst() for consistent DFS
  • 6ca8a0c Fix: Compute classFields per-type in markUntypedObjects traversal
  • 4384a77 Refactor: Extract duplicate patterns to Resolver base class
  • 192dab9 Refactor: Extract setArrayElement helper to Resolver base class
  • 90a19d4 Add JPMS module-info for IDE recognition and cleanup test formatting
  • 8f4599e Refactor: Extract wrapArrayAndAddToCollection helper to Resolver
  • a5068ff Increase default security limits for larger JSON processing
  • Additional commits viewable in compare view

Dependabot compatibility score

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 rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will 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 version will 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 dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [com.cedarsoftware:json-io](https://github.com/jdereg/json-io) from 4.70.0 to 4.81.0.
- [Changelog](https://github.com/jdereg/json-io/blob/master/changelog.md)
- [Commits](jdereg/json-io@4.70.0...4.81.0)

---
updated-dependencies:
- dependency-name: com.cedarsoftware:json-io
  dependency-version: 4.81.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file java Pull requests that update java code labels Jan 13, 2026
@dependabot @github
Copy link
Contributor Author

dependabot bot commented on behalf of github Jan 19, 2026

Superseded by #333.

@dependabot dependabot bot closed this Jan 19, 2026
@dependabot dependabot bot deleted the dependabot/gradle/com.cedarsoftware-json-io-4.81.0 branch January 19, 2026 23:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file java Pull requests that update java code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant