Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added migration page overview #1061

Draft
wants to merge 59 commits into
base: main
Choose a base branch
from

Conversation

kwennB
Copy link
Contributor

@kwennB kwennB commented Oct 24, 2024

What kind of change does this PR introduce?

Documentation

Issue Number:

This is the overview page for Migration, which is part of the effort to create an easy transition between dialect upgrades.

Does this PR introduce a breaking change?

No

@kwennB kwennB added 📝 Documentation Indicates improvements or additions to documentation. GSoD Google Season of Docs labels Oct 24, 2024
@kwennB kwennB self-assigned this Oct 24, 2024
@kwennB kwennB requested a review from a team as a code owner October 24, 2024 10:46
Copy link

github-actions bot commented Oct 24, 2024

built with Refined Cloudflare Pages Action

⚡ Cloudflare Pages Deployment

Name Status Preview Last Commit
website ✅ Ready (View Log) Visit Preview 2d34ff1

Copy link

codecov bot commented Oct 24, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 100.00%. Comparing base (5c0ef1b) to head (2d34ff1).
Report is 165 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main     #1061   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           10        10           
  Lines          373       396   +23     
  Branches        94       106   +12     
=========================================
+ Hits           373       396   +23     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@kwennB kwennB marked this pull request as draft October 24, 2024 10:50
Copy link
Member

@jdesrosiers jdesrosiers left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I found a few errors in the table. But, also there are several cases that are quite complicated. Hopefully my suggestions fill in some of that history. Feel free to express any of the complicated cases however you see best. My suggestions are just suggestions. If you want to ignore some of the chaos in name of simplifying things a bit, I'm ok with that.

Copy link
Member

@jdesrosiers jdesrosiers left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your hard work on this PR. The history of JSON Schema is complicated, so this is a hard one to get right.


| Keyword(Draft 2) | Keyword(Draft 3) | Specification | Keyword type | Behavior Details |
| ----------------- | ------------------- | ------------- | ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `$schema` | `$schema` | `core` | Identifier | Change in the dialect |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

$schema didn't exist in draft-02. It was introduced in draft-03.

| `$schema` | `$schema` | `core` | Identifier | Change in the dialect |
| not present | `$ref` | `core` | Applicator | `$ref` key references an external schema URI for validation, allowing re-validation against the referenced schema. |
| not present | `id` | `core` | Identifier | This attribute defines the schema's current URI (a "self" link). The URI can be relative or absolute and is resolved against the parent schema's URI. If id is missing, the parent's URI is used. |
| `optional` | `required` | `core` | Assertion | This change ensures that properties must have defined values for validation. |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this description needs work. In draft-02, object properties defined with properties were considered to be required by default. The optional keyword existed to make a property optional. In draft-03, it changed so that object properties defined with properties were optional by default. So, required was replaced with optional to reflect the change to the default behavior. Since properties are optional by default, we no longer needed an optional keyword, we need a required keyword.

Hopefully, you can rewrite that in a more concise way for this description.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for the feedback Jason!,
I would be more descriptive and rephrase this part.

Copy link

Hi @kwennB! Thanks a lot for your contribution!

I noticed that the following required information is missing or incomplete: issue reference

Please update the PR description to include this information. You can find placeholders in the PR template for these items.

Thanks a lot!

Copy link

Hi @kwennB! Thanks a lot for your contribution!

I noticed that the following required information is missing or incomplete: issue reference

Please update the PR description to include this information. You can find placeholders in the PR template for these items.

Thanks a lot!

Copy link

Hi @kwennB! Thanks a lot for your contribution!

I noticed that the following required information is missing or incomplete: issue reference

Please update the PR description to include this information. You can find placeholders in the PR template for these items.

Thanks a lot!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
📝 Documentation Indicates improvements or additions to documentation. GSoD Google Season of Docs Status: In Progress This issue is being worked on, and has someone assigned.
Projects
Status: In Progress
Development

Successfully merging this pull request may close these issues.

[📝 Docs]: Create a Migration page for the Specification docs
8 participants