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

v4 upgrade doc, changelog for 4.0 #3557

Merged
merged 5 commits into from
Nov 7, 2024
Merged

v4 upgrade doc, changelog for 4.0 #3557

merged 5 commits into from
Nov 7, 2024

Conversation

minrk
Copy link
Member

@minrk minrk commented Oct 24, 2024

adds 3-to-4 upgrade doc, which summarizes the relevant changes in dependencies and upgrade strategies in the chart config. I could find no changes in the chart itself that really needed upgrade docs, does anyone disagree, are there any new features we want to highlight in the upgrade doc in addition to possible breakages?

To prepare for final release, this collapses beta changelog entries into a single entry for 4.0, since I don't think we should keep changelog entries for prereleases.

I think theres some redundancy in the "version upgrade table" between the changelog and the upgrade doc. I think some redundancy is fine, but I don't have a great guide in my head for what level of info belongs where.

@minrk
Copy link
Member Author

minrk commented Oct 24, 2024

also needs kubespawner 7 before final, but that's ready, I think: jupyterhub/kubespawner#866

Co-authored-by: Simon Li <orpheus+devel@gmail.com>
@manics
Copy link
Member

manics commented Oct 29, 2024

I think we should get this ldapauthenticator fix jupyterhub/ldapauthenticator#289 into a patch release that we can include in Z2JH.

@consideRatio
Copy link
Member

Thoughts about what to document where etc

I think theres some redundancy in the "version upgrade table" between the changelog and the upgrade doc. I think some redundancy is fine, but I don't have a great guide in my head for what level of info belongs where.

I've thought about this, and have a model in my head where I think things should go:

  • I generally think of reference documentation (diataxis) as the lowest level building block of documentation to be referenced by higher level building blocks.
    If something fits in reference docs or generally in a lower level building block, it should be written there and repetition should be avoided to improve maintainability and to enable high level docs to be briefer which in turn improves readability.
  • For a major release, the following documentation pieces are relevant
    • Changelog (lowest level building block)
    • General upgrade docs
    • Version specific upgrade docs (highest level building block)

For distributions like TLJH and Z2JH, with default configuration of various dependencies and ways of configuring those dependencies, what should its changelog / general upgrade docs / version specific upgrade docs mention if a dependency has a major version bump?

I think at least:

  • A link to the dependecy's changelog
  • Evaluation if the dependency bump is a breaking change at all in the context of the distribution. If its not, a comment about its not breaking in the context of the distribution should be added.
  • Evaluation if the dependency bump's breaking change documentation in the upstream project needs to be augmented with distribution specific context/details.
    As practical examples:
    • I think LDAPAuthenticator mentioning deprecation of c.LDAPAuthenticator.use_ssl doesn't need to be augmented in z2jh with a mention of hub.config.LDAPAuthenticator.use_ssl, because use of hub.config can be assumed or documented under "General upgrade docs"
    • I think KubeSpawner's changes with escape are relevant to mention in version specific upgrade docs, where for example singleuser.storage.static.subPath = "{username}" is a default value making users of singleuser.storage.type = "static" directly impacted in a way motivating that z2jh augments documentation in KubeSpawner.

We have had examples of documentations in z2jh / tljh that caused unsustainable maintenance, because they became outdated even though the dependency project documented things clearly. That makes more docs possibly worse than less. Due to that, my mental model is to opt to lean as heavily as possible on dependent project docs and avoiding repetition as much as possible.

Copy link
Member

@consideRatio consideRatio left a comment

Choose a reason for hiding this comment

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

I think the following are essential pieces for this docs:

  • a link to z2jh general upgrade docs
  • mention z2jhs default of singleuser.storage.static.subPath="{username}" for users of singleuser.storage.static.type="static" could need to re-configured to "{escaped_username}"

I figure its fine to retain JupyterHub and KubeSpawner headings, but I think it can be an improvement to cut out OAuthenticator and Other package upgrades headings as it otherwise overlaps with the changelog docs without fully capturing the changelogs docs either.

- add explicit discussion of static subPath
- remove redundant version update references
- remove OAuthenticator change references
@minrk
Copy link
Member Author

minrk commented Nov 4, 2024

Thanks for thinking so much about this! I think I've updated with what you suggested.

@manics
Copy link
Member

manics commented Nov 4, 2024

There's a regression in LDAPauthenticator which should be fixed by jupyterhub/ldapauthenticator#294
We can either wait for confirmation from the bug reporter, or merge and release ldapauthenticator now so as not to further delay the Z2JH release.

@minrk
Copy link
Member Author

minrk commented Nov 5, 2024

No problem waiting a bit more. We can publish once that PR lands and the hub image gets its bump.

@consideRatio
Copy link
Member

ldapauthenticator 2.0.2 is out now, bumped in z2jh's hub image, and I updated the changelog entries in this PR to reflect some recent PRs etc.

Release date updated to 2024-11-07 -- go for release tomorrow thursday?

@minrk
Copy link
Member Author

minrk commented Nov 7, 2024

Great, let's do it!

@minrk
Copy link
Member Author

minrk commented Nov 7, 2024

I'll merge this and publish 4.0 shortly.

@minrk minrk merged commit 37478cc into jupyterhub:main Nov 7, 2024
4 checks passed
@minrk minrk deleted the upgrade-4 branch November 7, 2024 10:39
@minrk
Copy link
Member Author

minrk commented Nov 7, 2024

tag published, drafting announcements

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

Successfully merging this pull request may close these issues.

3 participants