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

Revise version language #5434

Closed
wants to merge 2 commits into from
Closed

Revise version language #5434

wants to merge 2 commits into from

Conversation

atsansone
Copy link
Contributor

Fixes #4414

@atsansone atsansone added the review.copy Awaiting Copy Review label Dec 27, 2023
@atsansone
Copy link
Contributor Author

/gcbrun

@dart-github-bot
Copy link
Collaborator

dart-github-bot commented Jan 11, 2024

Visit the preview URL for this PR (updated for commit b6d586a):

https://dart-dev--pr5434-fix-4414-sang4esn.web.app

@parlough parlough self-requested a review January 12, 2024 05:48
Copy link
Contributor

@MaryaBelanger MaryaBelanger 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 doing this, I agree the version string format descriptions should just be coupled with the channel descriptions.

Probably out of scope, but would each of these sections be a good place to include a quick:

To switch to /whatever/ channel, run: dart channel /whatever/

? Idk if it actually works like that though (@johnpryan or DRE on rotation?)

Comment on lines 87 to 91
Versioning for releases in stable channel of the Dart SDK follows a `x.y.z` format.
The version strings resemble `1.24.3` and `2.1.0`.
This format consists of three dot-separated integers without hyphens or letters.
The versions include the major version (`x`),
then the minor version (`y`), and then the patch version (`z`).
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
Versioning for releases in stable channel of the Dart SDK follows a `x.y.z` format.
The version strings resemble `1.24.3` and `2.1.0`.
This format consists of three dot-separated integers without hyphens or letters.
The versions include the major version (`x`),
then the minor version (`y`), and then the patch version (`z`).
**Stable** channel release version strings follow a `x.y.z` format.
The format is three dot-separated integers, without hyphens or letters,
where `x` is the major version, `y` is the minor version, and `z` is the patch version.
For example, `1.24.3` or `2.1.0`.

I feel like there's a mix of improving the copy in this paragraph, but also introducing wordiness where it was previously more concise. My suggestion is an alternative, but I think the original lines 99-102 was the tightest way to ph Please let me know if you had specific reasoning for elaborating/elongating parts of this that I'm not aware of!

Comment on lines 97 to 100
These beta channel releases preview features intended for the stable channel.
Use releases in the beta channel to test new features or
test compatibility with future releases.
Don’t use beta releases for production environments.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
These beta channel releases preview features intended for the stable channel.
Use releases in the beta channel to test new features or
test compatibility with future releases.
Don’t use beta releases for production environments.
Use beta channel releases to preview and test features in the upcoming stable release.
Don’t use beta releases for production environments.

To make it more parallel with the stable sections "Use..." statement (maybe too much simplifying though, adjust as needed)

Comment on lines 102 to 107
Versioning for releases in the **beta** channel of the Dart SDK
follows the `x.y.z-a.b.beta` format.
Version strings resemble `2.8.0-20.11.beta`.
The part before the hyphen follows the stable version format.
The part after the hyphen adds the pre-release version (`a`),
then the pre-release patch version (`b`), and then the channel (`beta`).
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
Versioning for releases in the **beta** channel of the Dart SDK
follows the `x.y.z-a.b.beta` format.
Version strings resemble `2.8.0-20.11.beta`.
The part before the hyphen follows the stable version format.
The part after the hyphen adds the pre-release version (`a`),
then the pre-release patch version (`b`), and then the channel (`beta`).
**Beta** channel release version strings follow a `x.y.z-a.b.beta` format.
The part before the hyphen follows the [stable version format](#stable-channel).
The part after the hyphen adds the pre-release version (`a`),
then the pre-release patch version (`b`), and then the channel (`beta`).
For example, `2.8.0-20.11.beta`.

Similar to the stable section edit. Here, I only felt like the first sentence could be more concise and mostly changed just to match the stable section suggestion, so take it or leave it!

hyphen follows the stable version scheme, `a` and `b` after the hyphen are the
prerelease and prerelease patch versions, and `beta` or `dev` is the channel.
### Stable channel
Dart deploys a release to the _stable_ channel about every three months.
Copy link
Contributor

Choose a reason for hiding this comment

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

What's the difference between "deploys" used in this section and "releases" used in the other two? Should we just pick one and use it or is there a semantic implication based of the channel type?

Copy link
Contributor

Choose a reason for hiding this comment

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

I would say something like "Dart publishes a new release to the stable channel about every three months". These are usually considered minor releases, major releases happen less often.

Dart releases a build to the **dev** channel about twice a week.
The current dev version is `[calculating]`{:.build-rev-dev}.

These dev channel builds include the most recent codebase with latest changes.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
These dev channel builds include the most recent codebase with latest changes.
Use dev channel builds for the most recent changes to the codebase.

Parallel language with other sections.

Similar question to the "deploys" vs. "releases" question: what's the difference between calling them "dev channel builds" vs "stable/beta channel releases"? Should we pick one and use it consistently?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

question: Good question. Are we "releasing a build" or "deploying a release"? Probably the former, right?

Comment on lines 117 to 119
Versioning for releases in the **dev** channel of the Dart SDK
follows the `x.y.z-a.b.dev` format.
Version strings resemble `2.8.0-20.11.dev`.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
Versioning for releases in the **dev** channel of the Dart SDK
follows the `x.y.z-a.b.dev` format.
Version strings resemble `2.8.0-20.11.dev`.
**Dev** channel release version strings follow a `x.y.z-a.b.dev` format,
similar to the [beta version format](#beta-channel).
For example, `2.8.0-20.11.dev`.

I'm not really married to the way I've rewritten each of these first sentences for each section, but I'm just making the point that they:

  1. should all be parallel, and
  2. use a lot of prepositions where all the descriptors can be stacked (imo, idk if that's actually "good grammar" or not)
    e.g. "Versioning for releases in the dev channel of the Dart SDK..." can just be "Dev channel release versions..."


Use stable channel releases for production environments.

Versioning for releases in stable channel of the Dart SDK follows a `x.y.z` format.
Copy link
Contributor

Choose a reason for hiding this comment

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

This paragraph is already covered elsewhere: https://dart.dev/tools/pub/versioning#semantic-versions

@atsansone
Copy link
Contributor Author

/gcbrun

@atsansone
Copy link
Contributor Author

Moved this change to #5497. Closing.

@atsansone atsansone closed this Feb 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
review.copy Awaiting Copy Review
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Simplify language in the Release Channel section of Get Dart
4 participants