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
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