From 6b9c734c06e4a5adc7af6868eb9d030beb855d2a Mon Sep 17 00:00:00 2001 From: "Aaron (\"AJ\") Steers" Date: Mon, 25 Oct 2021 17:01:09 -0700 Subject: [PATCH 1/2] draft SIP for JSONSchema version --- .../Draft - JSONSchema Version Guidance.md | 80 +++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 proposals/draft/Draft - JSONSchema Version Guidance.md diff --git a/proposals/draft/Draft - JSONSchema Version Guidance.md b/proposals/draft/Draft - JSONSchema Version Guidance.md new file mode 100644 index 0000000..9cc8d7e --- /dev/null +++ b/proposals/draft/Draft - JSONSchema Version Guidance.md @@ -0,0 +1,80 @@ +## Status + +| header | header | +| ------ | ------ | +| State | Draft | +| Issue Link | https://github.com/MeltanoLabs/Singer-Working-Group/issues/17 | +| Discussion Thread(s) | (optional link) | +| Created | 2021-10-25 | + +----------------------- + +## Proposal + +### TL;DR Overview + +We should provide guidance for recommended and supported JSON Schema versions to tap and target developers which + +### What specific change do you propose to make? + +We should document in the Singer Spec that Singer taps and targets expect **Draft 04** version of the JSON Schema spec. + +## Motivation + +As of the time of writing, the latest version of json schema is **Draft 07**. While most changes between spec drafts are backwards compatible, we should nevertheless document for users and developer which version of the spec they should expect to use for best compatibility. + +### Which layer(s) of the Singer ecosystem does this proposal directly touch? + +Select all that apply: + +- [x] Singer Specification - required capabilities and behaviors +- [ ] Singer Specification - optional capabilities and behaviors +- [ ] Singer best practices and other guidance +- [ ] Singer Working Group - practices and procedures +- [ ] Singer documentation (Other) + +### What problem does it solve? + +This prevents unnecessary trial and error and unnecessary uncertainty around which version(s) are supported or recommended. + +### Why is it needed? + +Without specific guidance, developers may waste development cycles unnecessarily (at best) or introduce incompatibilities (at worst). + +## Other Considerations + +### Are there any downsides to this change? + +There are no downsides to this change. + +### Is the change backwards compatible? + +Not applicable. + +### Which users are affected by the change? + +Users are not affected. + +### How are users affected by the change? (e.g. DB upgrade required?) + +Not applicable. + +### Prototype Implementations + +Not applicable. + +### Future Plans + +Not applicable. + +### Excluded Alternatives + +Not applicable. + +### Acknowledgements + +Not applicable. + +## What defines this SIP as "done"? + +This SIP is published and related documentation for Singer Spec is also updated with this guidance. From 10188791dec992d436d8d4a59e2c55b4790216a7 Mon Sep 17 00:00:00 2001 From: "Aaron (\"AJ\") Steers" Date: Tue, 30 Nov 2021 07:34:06 -0800 Subject: [PATCH 2/2] update latest version text --- proposals/draft/Draft - JSONSchema Version Guidance.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/proposals/draft/Draft - JSONSchema Version Guidance.md b/proposals/draft/Draft - JSONSchema Version Guidance.md index 9cc8d7e..b53c268 100644 --- a/proposals/draft/Draft - JSONSchema Version Guidance.md +++ b/proposals/draft/Draft - JSONSchema Version Guidance.md @@ -21,7 +21,7 @@ We should document in the Singer Spec that Singer taps and targets expect **Draf ## Motivation -As of the time of writing, the latest version of json schema is **Draft 07**. While most changes between spec drafts are backwards compatible, we should nevertheless document for users and developer which version of the spec they should expect to use for best compatibility. +As of the time of writing, the latest version of json schema is **Draft 2020-12**. While most changes between spec drafts are backwards compatible, we should nevertheless document for users and developer which version of the spec they should expect to use for best compatibility. ### Which layer(s) of the Singer ecosystem does this proposal directly touch?