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

Add section on semver derived from rust-lang/rfcs#1105 #738

Closed
wants to merge 2 commits into from

Conversation

guswynn
Copy link
Contributor

@guswynn guswynn commented Jan 18, 2020

As far as I can tell, rust-lang/rfcs#1105 are the de-facto guidelines that crate maintainers should use to guide their use of semver for this crates.

I have found it confusing in the past that these guidelines don't exist in any documentation outside that RFC, and discussion in rust-lang/rust#68004 led be to believe that it's worth it to add this to some official documentation.

In this PR, I largely copied the RFC into its own section in the reference, and edited it to make the language fit the reference (I could have gotten the tone wrong in some places)

The intention is that this documentation can also be extended (unlike the RFC) when new things with consequences for semver (like rust-lang/rust#68004) are landed in the language (whether or not this guide includes just nightly or just stable changes to the language is TBD, perhaps a version of this deserves to be in the unstable book).

@guswynn
Copy link
Contributor Author

guswynn commented Jan 18, 2020

I'm somewhat new to github, am I able to add a label? I want to add T-docs

also I will fix the breakage

@guswynn guswynn force-pushed the semver branch 4 times, most recently from 6bfc8d0 to 439fc00 Compare January 18, 2020 20:09
@guswynn guswynn changed the title Add section on semver derived from rust-lang/rfc#1105 Add section on semver derived from rust-lang/rfcs#1105 Jan 18, 2020
@Centril Centril assigned Centril and ehuss and unassigned Centril Jan 18, 2020
@ehuss
Copy link
Contributor

ehuss commented Jan 20, 2020

Thanks for the PR! The reference is intended to be more of a language spec, and so it typically doesn't include guidelines of this nature.

I have been intending to include something like this in the Cargo book. It's not really clear where it should live, but I think since Cargo is the tool most concerned about semver compatibility, it seems like a decent place. My intent is to have two chapters, one on version unification and versioning guidelines, and a second that includes this content about what a "breaking change" is.

If you'd be interested, I'd be happy if you could help out with getting it started in the Cargo repo. I do desire to include some editing and enhancements beyond just copying the RFC (which is worded with the standard library in mind).

@ehuss ehuss closed this Jan 20, 2020
@steveklabnik
Copy link
Member

I'm of two minds about this; it's interesting because you're 100% right that this isn't really the language, but it is also the rules for how this specification can change. It's kind of like, meta information. That doesn't mean that I think closing is a bad idea, mind you...

@guswynn
Copy link
Contributor Author

guswynn commented Jan 21, 2020

@ehuss That makes a lot of sense! I would absolutely love to help out on getting it started on the cargo version of this pr (I assume I start here https://github.com/rust-lang/cargo/tree/master/src/doc/src/reference)

@steveklabnik yeah there are definitely diminishing returns on how many levels of meta there is a whole book for

@ehuss
Copy link
Contributor

ehuss commented Jan 21, 2020

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants