rust-lang / book

The Rust Programming Language
https://doc.rust-lang.org/book/
Other
14.77k stars 3.34k forks source link

Changelog or release notes #1888

Closed nathany closed 3 years ago

nathany commented 5 years ago

Thanks for this book. I'm currently reading through the first printing from No Starch, while recognizing that there have been changes since then, especially thanks to Rust 2018. After I finish, I intend to take a second pass through the online version (which I've pulled from GitHub to ensure I have the latest locally).

I'd like to get a sense of what's changed -- at a high level -- since the first printing. Which chapters should I pay the most attention to? I don't see a CHANGELOG.md file or any details under releases. I can look through the commits if need be, but I'm not sure if there is a particular tag to start from. A little guidance would be much appreciated. Thanks!

carols10cents commented 5 years ago

You're welcome! You're right that we haven't done a great job at documenting the changes. We do have the nostarch-first-printing tag that should roughly correspond to what was printed, but there is going to be a bit of noise in the diff for online-only changes like renaming files so that we only have one version of the book we're maintaining.... so we really should do a changelog :(

nathany commented 5 years ago

Hey Carol. A changelog going forward would be a great place to start -- I realize it's a lot of work to go back and figure out what changed up until now.

I noticed some new appendixes. Are there any standout chapters that I should read online? If not, I'll probably just supplement the print version with the blog for everything since version 1.21.0.

P.S. I've also been enjoying your Rust in Motion video series. Thanks for all you do!

carols10cents commented 5 years ago

In addition to the new appendices you found, Chapter 7 has been totally reworked, and chapter 19.6 used to be the macros appendix and has been expanded a bit. I'd also recommend the edition guide for everything new in Rust 2018!

Thank you for your kind words! ❤️

nathany commented 5 years ago

Thanks Carol. That's just what I was looking for. 👍

With regards to a changelog, how would it be broken up into releases? Is it all ongoing work towards a second edition? Has there been a second printing? Are there "releases" to the website?

carols10cents commented 5 years ago

With regards to a changelog, how would it be broken up into releases? Is it all ongoing work towards a second edition? Has there been a second printing? Are there "releases" to the website?

There are releases to doc.rust-lang.org/book that happen with every release of Rust; you can also read upcoming changes at doc.rust-lang.org/beta/book and doc.rust-lang.org/nightly/book because the book rides the Rust release trains.

Ugh, we've done a terrible thing with naming, because there was a "first" online-only version of the book that was replaced by the "second" version available both online and in print, and now we're working on the version of the print book updated for Rust 2018 edition, so it could be called "third edition" or "second edition" or "2018 edition" or.... ooops.

So the online version continually gets updates, and we're doing a large batch of updates to the print version because of the Rust edition. Whenever No Starch runs low on print copies, they ask us if we have any small edits we'd like to make and we can make small fixes at those points.

So I'm not sure what organization would be best for everyone 😂😂😂😭

Relatedly, No Starch has asked us for a high-level description of the changes since the first printing, which I've just pushed. I'm not sure if it's as detailed as you were expecting or not, and we still should be keeping some sort of log going forward, so I'm leaving this issue open :)

abatkin commented 5 years ago

I don't believe that the comments on the title page ("This printing of the book...") or the statement at the beginning of the introduction are correct ("Note: This edition of the book is the same as The Rust Programming Language available in print and ebook format from No Starch Press").

Either that or they are very confusing.

I have (in my hand) the print edition of The Rust Programming Language, purchased directly from No Starch Press and received exactly one week ago, Copyright 2018, and the copyright page says that this is the "Fourth Printing" and it contains none of the changes outlined on the title page.

While it's possible they might have sent me an older printing from the bottom of a pile, this suggests that there have already been at least four printings, and the notices above should reference specifically which printing those changes took place in (likely not 1-4).

carols10cents commented 3 years ago

While it's possible they might have sent me an older printing from the bottom of a pile, this suggests that there have already been at least four printings, and the notices above should reference specifically which printing those changes took place in (likely not 1-4).

As I understand it, No Starch orders X number of books in a printing, and when they run out, they order the next printing. If there are small changes we want to make to fix errors, we can do so before they order the next printing. The ISBN stays the same, but the printing number changes. I don't believe we have made edits for every printing, and I don't think No Starch even tells us about every new printing order.

The first printed book has ISBN-13 978-1593278281. We did a big revision for the 2018 edition of Rust, which got a new ISBN: 978-1718500440. Any book with the first ISBN will not have the changes described on the title page of the online edition; any book with the second ISBN will have those changes.

abatkin commented 3 years ago

Thanks for the clarification - it does appear that shortly before I posted that comment, the text was clarified a bit (but possibly before those changes appeared in whatever online version I was reading). And once the book reached print, the answer to my question ("which version of the book do I have?") became obvious.

At the time, I had literally just received my print copy (the not-2018 edition of the book), the online version had been mostly updated with the new content (then again, it's constantly being updated, which is great), but none of the booksellers (including No Starch) had any information about the new printing yet, including ISBN, cover photos or exactly how it would be labeled (pretty much exactly the same as the previous except for a bubble with the text "Covers Rust 2018"). In other words, I had a book in my hand that I had just received directly from the publisher, and I had no idea what version of the book I was holding (and no way to figure it out).

carols10cents commented 3 years ago

I'm going to close this; it's looking more and more like we're only going to have the time to do the actual changes (so the git diff) and the high-level summary of changes at the beginning of the book.