Skip to content

Conversation

@chrishavlin
Copy link
Contributor

@chrishavlin chrishavlin commented Jun 26, 2025

Draft for now, will continue to update this as I work through the 4.4.1 release.

I think this is ready!

@chrishavlin chrishavlin marked this pull request as draft June 26, 2025 18:33
@chrishavlin
Copy link
Contributor Author

So i was just rewriting the instructions for major/minor releases to reflect how we're not really using the stable branch any more. But wasn't actually sure how major/minor releases have functioned -- my impression is that we now create a new series branch off of main at some point then release off that branch? Then that branch becomes the backport branch for subsequent bugfix releases. e.g., if we were to release 4.5.0 tomorrow, we'd create a yt-4.5.x branch off of main then cut the release off of yt-4.5.x.

That correct @neutrinoceros ?

@neutrinoceros
Copy link
Member

that is entirely correct !

Now, major releases is another thing we could discuss; none happened under my watch, in the sense that we never did a 5.0 thus far but...
Technically, 4.0 , 4.1 and 4.2 all correspond to what semantic versioning refers to as major (i.e. intentionally API breaking) versions, because we removed deprecated APIs. Looking back, I believe this was a mistake, such changes should really only happen when the major number is bumped. I think at the time the community was undergoing a bit of a PTSD after the long and painful transition from 3.6 to 4.0 (which I think of as a glorified feature-release), which may explain why we allowed for "cleanup releases" in 4.1 and 4.2, effectively avoiding to define a 5.0.
Any way, bottom line is I think we should allow ourselves to think of our next major release as not necessarily much more than a cleanup release (removing deprecated APIs). It'd also contribute to reducing fear of upgrades downstream.

@chrishavlin chrishavlin force-pushed the docs_update_release_info branch from 243ef84 to d61458e Compare July 17, 2025 12:51
@chrishavlin
Copy link
Contributor Author

pre-commit.ci autofix

@chrishavlin chrishavlin marked this pull request as ready for review July 17, 2025 13:04
@chrishavlin
Copy link
Contributor Author

Maybe I'm forgetting something, but I think this is ready for review.

@chrishavlin
Copy link
Contributor Author

(I forgot something... just updated the announcement section... now this is ready)

@chrishavlin
Copy link
Contributor Author

just added a note on what to do if you merge a PR before assigning the backport branch.

@neutrinoceros neutrinoceros self-requested a review August 25, 2025 18:27
@neutrinoceros
Copy link
Member

Requesting a review from myself. I thought I had given one at last month's workshop but clearly I got carried away doing something else 🫣

describe the necessary steps for each kind of release in detail.
describe the necessary steps for each kind of release in detail. Several of the
following steps require that you have write privileges for the main yt GitHub
repository (if you're reading this, you probably already do).
Copy link
Member

Choose a reason for hiding this comment

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

I laughed

Comment on lines 50 to 51
This documentation assumes that your local copy of the yt repository has the
main yt repository as the ``origin`` remote. You can double check with:
Copy link
Member

@neutrinoceros neutrinoceros Aug 26, 2025

Choose a reason for hiding this comment

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

Interesting. This doesn't match any actively encouraged workflow as far as I know, so maybe it's an opportunity to fix this. I think we should assume https://github.com/yt-project/yt to be named upstream, which is the convention, and matches the setup one gets from gh fork yt-project/yt

Copy link
Contributor Author

@chrishavlin chrishavlin Aug 27, 2025

Choose a reason for hiding this comment

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

ya, not sure why the steps were initially described with the main repo as origin. and i agree, just changing it to a standard setup would be clearer.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

and i did commit the suggested change below, but i'll leave this comment as a reminder to update these lines.

Comment on lines 124 to 125
deprecated features targeted for removal in the new release are removed from the
``main`` branch, ideally in a single PR. Such a PR can be issued at any point
Copy link
Member

@neutrinoceros neutrinoceros Aug 26, 2025

Choose a reason for hiding this comment

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

this could use some editing too. Deprecation cycles should only be concluded in major releases, as stated earlier, but this section is also about feature releases. Also, we do not specify a "target" version for removals anymore (doing so can create uncalled-for complications when we realize we can't deliver what we promised 2 years back)

The ``__version__`` variable must be updated.

Once these files have been updated, commit these updates. This is the commit we
To update these files, check out and update the branch that will be released (``main``
Copy link
Member

Choose a reason for hiding this comment

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

I can't comment the (unedited) appropriate line, but I note that VERSION doesn't exist in setup.py anymore. Currently, the source of truth is yt._version.__version__

Copy link
Contributor Author

Choose a reason for hiding this comment

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

oh, ya, good catch.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

looks like there's a still a version string in the pyproject.toml as well

Copy link
Contributor Author

Choose a reason for hiding this comment

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

and doc/source/conf.py.

Copy link
Member

Choose a reason for hiding this comment

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

right, I forgot we didn't have a unique source of truth 🙃
I'm sure I'll find a minute to scratch that itch some other time !

Co-authored-by: Clément Robert <cr52@protonmail.com>
@chrishavlin
Copy link
Contributor Author

thanks for the thorough read @neutrinoceros ! will try to address the remaining comments soon.

@chrishavlin
Copy link
Contributor Author

@neutrinoceros , got through almost all the comments. didn't have time to update the description of deprecation cycles yet (this comment https://github.com/yt-project/yt/pull/5190/files#r2300779653), will try to do so soon. But feel free to check the other changes in the mean time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants