Highlights
- Configure read-side JSON null handling globally or per property, including null collection elements and map values.
- Improve JSON codec generation and string writing, and reduce C++ serialization overhead.
- Fix JSON object field semantics, compatible field-type validation, and schema compiler output across languages.
- Publish reproducible Java and Kotlin release archives with improved license and notice packaging.
Features
- perf(cpp): avoid duplicate TypeInfo lookup in compatible reads by @BrianLii in #4085
- feat(json): add read-side null handling by @chaokunyang in #4095
- perf(java): eliminate JSON codec sizing trial compilations by @chaokunyang in #4096
- perf(java): reduce codegen cost by @chaokunyang in #4097
- perf(java): skip runtime NON_EMPTY checks for final JSON property types by @pavel-ptashyts in #4111
- perf(cpp): serialize forward_list without a temporary vector by @BrianLii in #4113
- perf(java): copy plain runs after the first escape when writing JSON strings by @pavel-ptashyts in #4122
Bug Fix
- fix(integration): resolve Go generated package for Dependabot by @chaokunyang in #4086
- ci: Bump google.golang.org/grpc from 1.83.1 to 1.83.2 in /integration_tests/grpc_tests/go by @dependabot[bot] in #4087
- fix(java): keep JSON string writer prefix field names unique past 160 properties by @pavel-ptashyts in #4099
- fix(javascript): improve hps string writing by @pjfanning in #4098
- ci: Bump brace-expansion from 1.1.18 to 1.1.21 in /javascript by @dependabot[bot] in #4104
- ci: Bump com.fasterxml.jackson.core:jackson-databind from 2.22.2 to 2.22.3 in /benchmarks/java by @dependabot[bot] in #4110
- fix(compiler): include null in TS map value types for optional map values by @ayush00git in #4108
- fix(compiler): escape Python field names that shadow generated default helpers by @ayush00git in #4107
- fix(compiler): fix Java, Kotlin and Scala codegen emission bugs by @ayush00git in #4109
- ci: Bump com.fasterxml.jackson.core:jackson-core from 2.18.8 to 2.18.11 in /java/fory-test-core by @dependabot[bot] in #4115
- ci: Bump com.fasterxml.jackson.core:jackson-core from 2.18.8 to 2.18.11 in /java/fory-testsuite by @dependabot[bot] in #4120
- fix(compiler): preserve union case names on unknown-carrier collisions by @ayush00git in #4106
- fix(license): list zmij in fory-json jar LICENSE; per-module Scala NOTICE by @pjfanning in #4130
- fix(license): add missing third-party attributions and ship LICENSE/NOTICE in Python wheels by @pjfanning in #4127
- ci: check license headers in swift, dart, cython, idl, bazel, sbt and msbuild files by @pjfanning in #4125
- fix(java): advance readerIndex in continueReadBinarySize by @Hkwaynewing in #4133
- fix(release): archive RC tags without temporary license commits by @chaokunyang in #4134
- fix(java): preserve JSON object field semantics by @chaokunyang in #4142
- fix(java): make Java and Kotlin release archives reproducible by @chaokunyang in #4143
- fix(java): validate compatible values against local field types by @chaokunyang in #4144
Other Improvements
- ci: update GraalVM action and enable Dependabot by @chaokunyang in #4082
- ci: Bump the github-actions group with 15 updates by @dependabot[bot] in #4083
- ci: restore OpenJ9 setup with Semeru by @chaokunyang in #4084
- chore: update release references to 1.7.6 by @chaokunyang in #4092
- chore: Add NOTICE file to benchmarks dir by @pjfanning in #4135
- ci: Bump com.fasterxml.jackson.core:jackson-databind from 2.22.1 to 2.22.2 in /benchmarks/java by @dependabot[bot] in #4088
- ci: Bump undici from 6.28.0 to 6.29.0 in /javascript by @dependabot[bot] in #4089
New Contributors
- @Hkwaynewing made their first contribution in #4133
Full Changelog: v1.7.6...v1.7.7