JSON backwards compatibility policy and tooling.
See original GitHub issueInspired by #4318 @balopat wants a policy on how we support loading json data from deprecated or deleted classes. We expect data to live statically longer than actively maintained code bases.
Similarly, we should revisit our tooling support for maintaining JSON backwards compatibility. Currently, if the structure of a class is changed, the contributor should rename the existing test data to name.json_inward
and add a new name.json
with the new structure. This procedure happens somewhat infrequently and isn’t well known. It’s hard to tell from GitHub diffs if it’s been done correctly.
Issue Analytics
- State:
- Created 2 years ago
- Comments:12 (4 by maintainers)
Top Results From Across the Web
Ensuring backwards compatibility in distributed systems
One of these is maintaining backwards compatibility between components. In other words, how can a set of services evolve together in a way ......
Read more >Versionless APIs - Making APIs backwards compatible ...
A visionary approach to solving API versioning problems one and for all, keeping APIs backwards compatible forever.
Read more >AIP-180: Backwards compatibility - API Improvement Proposals
Therefore, it is important to understand what constitutes a backwards compatible change and what constitutes a backwards incompatible change ...
Read more >Understanding Nova Policies - OpenStack Zed
Use oslopolicy-convert-json-to-yaml tool to convert the existing JSON to YAML formatted policy file in backward compatible way. Nova supports a ...
Read more >Backward Compatibility Check for REST APIs - DZone
Customize Rules for Output of the Differences. The output file generated by the pipeline task is in JSON format and it logs at...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Confusion about this came up in the 3/30/2022 cirq cync, strengthening the case for documenting this.
The ask for documentation is a good one and will be easier than the second part of the original post in this issue, which is to have better tooling to enforce the currently de facto policy that documentation would make de jure.
Specifically: we could have a CI check that mandates the json_test_data *.json files are never modified! This would involve reworking the current json_inward scheme where any given json file could be annotated as “inward” without triggering a git diff.