Conversation
This is not intended to be merged as a Markdown file. It's just in that form for easier review and discussion for now. Once we've got the content settled, we can reformat this into reStructuredText for the docs. Based on issue BoboTiG#471.
|
I do not see what can be changed to make it better. |
|
It's now possible to include markdown files in the documentation, that will lower our work with such a PR. Now, I am not sure how to present this file in the documentation, where to put it, under what name? Maybe do you have a clearer idea than me? At the beginning I wanted to add it under "History" with the title "Next". But maybe this file should be kept for a while (even maybe forever) so it should have its own section 🤔 |
|
Hmm, that's an interesting question. I mean, it's nominally the release notes for 10.2.0, but it's mostly deprecations in anticipation of 11.0. Most projects seem to put their release notes like this in the docs, and include deprecations there. Examples: |
|
It means the new changelog page should better be a list of links to specific version pages (like done for Numpy and Pillow). I'll see how it can be automated. |
The strategy pattern API (BoboTiG#494) hasn't been merged yet, but it seems that everybody's in agreement about the substance. Update the release notes to document the change.
|
Have you thought about how you want to handle the new changelog page? Do you need me to investigate that? |
|
Actually, we could simply include a "release-notes.md" above the changelog and it would be good. Since we'll publish versioned documentation, then this new page will always be aligned with the selected version. |
|
I think a last step would be to include this in the documentation, right above the "changelog" in the index. |
Documentation Version ProposalHere’s my thoughts about a way we could do release notes / history. Halldor and I have talked about this, and also discussed it with some colleagues. Everybody has different opinions, although this seems to be a kind of middle ground. The choice is yours, of course; it was your vision that got MSS to where it is today. This is just a proposal, meant as a starting point for discussion. Anything I suggest here is up for debate. Most of this is inspired by the philosophy at https://keepachangelog.com/en/1.1.0/ , but has a few differences. That website emphasizes the need to document each release’s noteworthy changes as a human-friendly, coherent, description, not a list of commits. That’s also what I’m emphasizing here. The main difference is that I’m proposing keeping these documents as an organized part of the Sphinx docs, rather than as a single top-level file. User PresentationWhat does the user see? I’ve included comparisons to a few other Python projects. Version selectorEach minor release has an entry in the readthedocs.io version dropdown, corresponding to the last patch release of that minor. I don’t think there’s a point in cluttering the dropdown with patch releases, since those don’t have API changes. Others I spoke with suggested only putting one element for each major release. That would also work, but it’s still significant for users to know what minor release added a feature, so they can use that as a minimum.
Inline “changed in” notesDocstrings use the Sphinx In some cases,
Release historyThere is a dedicated “Release History” section of the docs. This is separated into one HTML page per release, as well as a “Versioning” page at the top with the versioning policy. Importantly, this is for end users! The changes should be in a format that an end user can quickly read, and get all the information they need to decide if they need to upgrade, if they need to change their code, if there are new features to take advantage of, and so forth. For minor or major releases, there should be a human-friendly description of the changes. These are divided into categories:
For patch releases, it’s sufficient to have just a short list of changes, similar to the way that References to GitHub Pull Requests or Issues are rendered as HTML links; we may add a custom Sphinx Role for this. (Roles can also be used with MyST.) A list of contributors is included for each release. It’s not necessary to retroactively change previous releases; those can be just used as they currently exist in
Developer viewWhat do developers do? File structureSince Sphinx makes one HTML page per source file, and we want each version to be on its own HTML page, each version needs its own source file (be it Markdown or reStructured Text). Within There is also a file Contents of
|
👍 (.md)
👍 I like the direction we're heading in. |
This is not intended to be merged as a Markdown file. It's just in that form for easier review and discussion for now. Once we've got the content settled, we can reformat this into reStructuredText for the docs.
Based on #471.
Closes #471.