-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
How to handle breaking releases, and how can we help users? #327
Comments
Then changing version of mdbook with which the artifacts are built in CI would have to be conscious decision on user side. And if they would like to benefit from bugfixes and new features they would have to follow some porting guideline (possibly a trivial 1-4 liner in docs). cc @brson |
Beginning with the |
since rust-lang/cargo#3321 cargo depreciated using --vers with "semver requirements" (as in lib requirement) in favour of specific "semver versions". Imho it is a shame as it was a nice feature. |
Yes, this is what I'd suggest as well. |
Oh so you can't specify semver ranges for binary install? That's a bummer... |
Ok, we should start pinging projects that use mdBook to warn them of an 'imminent' breaking release and that if they deploy with CI they should pin the version number. If you know of any projects using mdBook, please let me know here!
|
TRPL is using a pinned version, not master: https://github.com/rust-lang/rust/blob/master/src/tools/rustbook/Cargo.toml#L11 I am happy with intermezzOS automatically updating, no need to warn me 😄 |
Hi these are the ones I know of:
|
Good to hear, I suppose that applies to all the books in the Rust org? :) |
Yes, the same thing is used for all of the ones on doc.rust-lang.org.
…On Wed, Jun 21, 2017 at 2:54 PM, Mathieu David ***@***.***> wrote:
TRPL is using a pinned version, not master
Good to hear, I suppose that applies to all the books in the Rust org? :)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<https://github.com/azerupi/mdBook/issues/327#issuecomment-310172554>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AABsilDBN734CtZ7WsUmdTJXQ0tWc6fvks5sGWbrgaJpZM4N4Q8X>
.
|
I have made a PR to cargo rust-lang/cargo#4229 to add semver ranges to
It should already work with Cargo right now (with a deprecated warning) but if the PR gets merged we are guaranteed that this behaviour will stay and that the deprecated warning will go away in future releases. Edit: PR has been merged into Cargo! 🎉 |
I have opened an issue in each repository listed here. Maybe I should also make an announcement on the users forum? Another thing that needs to be done is to mention the version pinning for CI scripts in the readme. This will hopefully allow new projects to pick up the good habit from the start. |
We have a users forum 😸? How can one find it?
Good idea. We have to update the docs anyway for 0.1.0 release |
Well I was talking about the Rust user forum 😄 |
Also a good idea. https://www.reddit.com/r/rust/ is also a popular place for rustaceans to visit |
I have a question regarding this, how does
interact with
that I use in my CI ? |
@vberger Do you use some helper crate to get this command? |
yes: https://github.com/nabijaczleweli/cargo-update This allows me to use the travis cache to avoid rebuilding mdbook & friends every time (this tends to make the builds timeout, as some dependencies are quite long to compile), while still keeping them up to date. I was just asking in case you knew, but I should probably ask them directly. |
@vberger I've tested the So basically when mdbook v0.1.0 is suddenly released you would have to call But I understand that travis will have to build mdbook at least once unless the mentioned travis cache is smarter than I think ;). |
|
Current master has breaking changes to the configuration file. I expect there will be more breaking changes in the future as we improve and refactor mdBook. So we can't guarantee stability. However, users might automate deployment of books through CI and we don't want to break their deployments every time we make a breaking release!
So, can we figure out a way to pin CIs to a specific non-breaking version range of mdBook (like cargo does) so that the user can choose when to update to the breaking release?
Ideally we would need to come up with a solution that all the users can easily implement in Travis (or other CIs). Post it on the different forums and projects known to use mdBook and give some time to the users to migrate. Then we can release the
0.1.0
breaking release.This issue is particularly relevant for the different books in the Rust community (TRPL2, Cookbook, ...), I'm not sure how they handle deployments currently?
@steveklabnik @budziq @frewsxcv
Feel free to tag anyone who might have an interest in this discussion.
The text was updated successfully, but these errors were encountered: