question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

JSON backwards compatibility policy and tooling.

See original GitHub issue

Inspired 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:open
  • Created 2 years ago
  • Comments:12 (4 by maintainers)

github_iconTop GitHub Comments

1reaction
dstrain115commented, Mar 30, 2022

Confusion about this came up in the 3/30/2022 cirq cync, strengthening the case for documenting this.

0reactions
mpharrigancommented, Jun 29, 2022

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.

Read more comments on GitHub >

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

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found