From 265795605ad0f0fbc3bc864d1de35f8f3edfffcd Mon Sep 17 00:00:00 2001 From: Erik Sundell Date: Sun, 29 Sep 2024 10:08:15 +0200 Subject: [PATCH] Add changelog for 4.0.0-beta.1 Co-authored-by: Simon Li --- docs/source/administrator/upgrading/index.md | 1 + .../administrator/upgrading/upgrade-1-to-2.md | 2 + .../administrator/upgrading/upgrade-2-to-3.md | 2 + .../administrator/upgrading/upgrade-3-to-4.md | 5 + docs/source/changelog.md | 104 ++++++++++++++++-- 5 files changed, 104 insertions(+), 10 deletions(-) create mode 100644 docs/source/administrator/upgrading/upgrade-3-to-4.md diff --git a/docs/source/administrator/upgrading/index.md b/docs/source/administrator/upgrading/index.md index a112e8098e..7f966e6ce3 100644 --- a/docs/source/administrator/upgrading/index.md +++ b/docs/source/administrator/upgrading/index.md @@ -22,6 +22,7 @@ or the [Discourse forum](https://discourse.jupyter.org/). :maxdepth: 1 :caption: Major releases guides +upgrade-3-to-4 upgrade-2-to-3 upgrade-1-to-2 ``` diff --git a/docs/source/administrator/upgrading/upgrade-1-to-2.md b/docs/source/administrator/upgrading/upgrade-1-to-2.md index edbec4b8f7..b424aed64b 100644 --- a/docs/source/administrator/upgrading/upgrade-1-to-2.md +++ b/docs/source/administrator/upgrading/upgrade-1-to-2.md @@ -1,3 +1,5 @@ +(upgrade-1-to-2)= + # Major upgrade: 1.\* to 2.\* Z2JH 2 contains several breaking changes, including some that affect the security of your deployment. diff --git a/docs/source/administrator/upgrading/upgrade-2-to-3.md b/docs/source/administrator/upgrading/upgrade-2-to-3.md index addfaa3974..40d2d4c2db 100644 --- a/docs/source/administrator/upgrading/upgrade-2-to-3.md +++ b/docs/source/administrator/upgrading/upgrade-2-to-3.md @@ -1,3 +1,5 @@ +(upgrade-2-to-3)= + # Major upgrade: 2.\* to 3.\* Z2JH 3 contains some small breaking changes. diff --git a/docs/source/administrator/upgrading/upgrade-3-to-4.md b/docs/source/administrator/upgrading/upgrade-3-to-4.md new file mode 100644 index 0000000000..cbee74522b --- /dev/null +++ b/docs/source/administrator/upgrading/upgrade-3-to-4.md @@ -0,0 +1,5 @@ +(upgrade-3-to-4)= + +# Major upgrade: 3.\* to 4.\* + +This is currently just a placeholder file for until we have written upgrade docs. diff --git a/docs/source/changelog.md b/docs/source/changelog.md index 639360f70d..a6608b19b1 100644 --- a/docs/source/changelog.md +++ b/docs/source/changelog.md @@ -12,16 +12,101 @@ changes in pull requests], this list should be updated. [development releases]: https://hub.jupyter.org/helm-chart/#development-releases-jupyterhub [breaking changes in pull requests]: https://github.com/jupyterhub/zero-to-jupyterhub-k8s/pulls?q=is%3Apr+is%3Aclosed+label%3Abreaking -- Update jupyterhub from 4.1.6 to 5.1.0 [#3405](https://github.com/jupyterhub/zero-to-jupyterhub-k8s/pull/3405), [#3416](https://github.com/jupyterhub/zero-to-jupyterhub-k8s/pull/3416), [#3425](https://github.com/jupyterhub/zero-to-jupyterhub-k8s/pull/3425), [#3472](https://github.com/jupyterhub/zero-to-jupyterhub-k8s/pull/3472) -- Drop support for k8s 1.23-1.27, require k8s 1.28+ [#3312](https://github.com/jupyterhub/zero-to-jupyterhub-k8s/pull/3312), [#3403](https://github.com/jupyterhub/zero-to-jupyterhub-k8s/pull/3403), [#3319](https://github.com/jupyterhub/zero-to-jupyterhub-k8s/pull/3319), [#3508](https://github.com/jupyterhub/zero-to-jupyterhub-k8s/pull/3508) -- `jupyterhub-kubespawner` is upgraded one major version from 6.2.0 to 7.0.0, - please read [KubeSpawner's changelog] - [#3520](https://github.com/jupyterhub/zero-to-jupyterhub-k8s/pull/3520) -- `oauthenticator` is upgraded one major version from 16.3.1 to 17.0.0, please - read [OAuthenticator's changelog] if you are using one if its authenticator - classes [#3519](https://github.com/jupyterhub/zero-to-jupyterhub-k8s/pull/3519) +## 4.0 -[kubespawner's changelog]: https://jupyterhub-kubespawner.readthedocs.io/en/stable/changelog.html +### 4.0.0-beta.1 - 2024-10-01 + +This release updates JupyterHub itself from version 4 to 5, and the dependencies +`jupyterhub-kubespawner`, `oauthenticator`, and `ldapauthenticator` to a new +major version. + +We will provide an [upgrade guide for 3 to 4](upgrade-3-to-4) before the final release, but for now please read the summary of breaking changes below, and the linked changelogs. + +#### Breaking changes + +- The chart now require Kubernetes 1.28+, up from 1.23+ +- KubeSpawner is upgraded one major version from 6.2.0 to 7.0.0b1 + - Refer to the [KubeSpawner changelog] for details and pay attention to the + entries for KubeSpawner version 7.0.0b1. +- JupyterHub 4.1.6 has been upgraded to 5.1.0 + - Refer to the [JupyterHub changelog] for details and pay attention to the + entries for JupyterHub version 5.0.0. +- OAuthenticator 16.3.1 has been upgraded to 17.0.0 + - If you are using an OAuthenticator based authenticator class + (GitHubOAuthenticator, GoogleOAuthenticator, ...), refer to the + [OAuthenticator changelog] for details and pay attention to the entries for + JupyterHub version 17.0.0. +- LDAPAuthenticator 1.3.2 has been upgraded to 2.0.0b2 + - If you are using this authenticator class, refer to the [LDAPAuthenticator + changelog] for details and pay attention to the entries for + LDAPAuthenticator version 2.0.0. + +[ldapauthenticator changelog]: https://github.com/jupyterhub/ldapauthenticator/blob/HEAD/CHANGELOG.md + +#### Notable dependencies updated + +| Dependency | Version in 3.3.8 | Version in 4.0.0-beta.1 | Changelog link | Note | +| -------------------------------------------------------------------------------- | ---------------- | ----------------------- | ----------------------------------------------------------------------------------------- | ---------------------------------- | +| [jupyterhub](https://github.com/jupyterhub/jupyterhub) | 4.1.6 | 5.1.0 | [Changelog](https://jupyterhub.readthedocs.io/en/stable/reference/changelog.html) | Run in the `hub` pod | +| [kubespawner](https://github.com/jupyterhub/kubespawner) | 6.2.0 | 7.0.0b1 | [Changelog](https://jupyterhub-kubespawner.readthedocs.io/en/stable/changelog.html) | Run in the `hub` pod | +| [oauthenticator](https://github.com/jupyterhub/oauthenticator) | 16.3.1 | 17.0.0 | [Changelog](https://oauthenticator.readthedocs.io/en/stable/reference/changelog.html) | Run in the `hub` pod | +| [ldapauthenticator](https://github.com/jupyterhub/ldapauthenticator) | 1.3.2 | 2.0.0b2 | [Changelog](https://github.com/jupyterhub/ldapauthenticator/blob/HEAD/CHANGELOG.md) | Run in the `hub` pod | +| [ltiauthenticator](https://github.com/jupyterhub/ltiauthenticator) | 1.6.2 | 1.6.2 | [Changelog](https://github.com/jupyterhub/ltiauthenticator/blob/HEAD/CHANGELOG.md) | Run in the `hub` pod | +| [nativeauthenticator](https://github.com/jupyterhub/nativeauthenticator) | 1.2.0 | 1.3.0 | [Changelog](https://github.com/jupyterhub/nativeauthenticator/blob/HEAD/CHANGELOG.md) | Run in the `hub` pod | +| [tmpauthenticator](https://github.com/jupyterhub/tmpauthenticator) | 1.0.0 | 1.0.0 | [Changelog](https://github.com/jupyterhub/tmpauthenticator/blob/HEAD/CHANGELOG.md) | Run in the `hub` pod | +| [jupyterhub-idle-culler](https://github.com/jupyterhub/jupyterhub-idle-culler) | 1.3.1 | 1.4.0 | [Changelog](https://github.com/jupyterhub/jupyterhub-idle-culler/blob/main/CHANGELOG.md) | Run in the `hub` pod | +| [configurable-http-proxy](https://github.com/jupyterhub/configurable-http-proxy) | 4.6.1 | 4.6.2 | [Changelog](https://github.com/jupyterhub/configurable-http-proxy/blob/HEAD/CHANGELOG.md) | Run in the `proxy` pod | +| [traefik](https://github.com/traefik/traefik) | v2.11.0 | v3.1.4 | [Changelog](https://github.com/traefik/traefik/blob/HEAD/CHANGELOG.md) | Run in the `autohttps` pod | +| [kube-scheduler](https://github.com/kubernetes/kube-scheduler) | v1.26.15 | v1.30.5 | [Changelog](https://github.com/kubernetes/kubernetes/tree/master/CHANGELOG) | Run in the `user-scheduler` pod(s) | + +For a detailed list of Python dependencies in the `hub` Pod's Docker image, +inspect the [images/hub/requirements.txt] file and use its git history to see +what changes between tagged versions. + +#### New features added + +- Add oauthenticator googlegroups extras and cleanup dependencies [#3523](https://github.com/jupyterhub/zero-to-jupyterhub-k8s/pull/3523) ([@consideRatio](https://github.com/consideRatio), [@manics](https://github.com/manics)) +- Add `ingress.extraPaths` config [#3492](https://github.com/jupyterhub/zero-to-jupyterhub-k8s/pull/3492) ([@alxyok](https://github.com/alxyok), [@consideRatio](https://github.com/consideRatio), [@manics](https://github.com/manics)) +- Add `singleuser.storage.dynamic.subPath` config [#3468](https://github.com/jupyterhub/zero-to-jupyterhub-k8s/pull/3468) ([@benz0li](https://github.com/benz0li), [@consideRatio](https://github.com/consideRatio), [@manics](https://github.com/manics)) +- Add recommended chart labels alongside old labels (`app.kubernetes.io/...`, `helm.sh/chart`) [#3404](https://github.com/jupyterhub/zero-to-jupyterhub-k8s/pull/3404) ([@consideRatio](https://github.com/consideRatio), [@manics](https://github.com/manics)) + +#### Enhancements made + +- Security context hardening [#3464](https://github.com/jupyterhub/zero-to-jupyterhub-k8s/pull/3464) ([@lahwaacz](https://github.com/lahwaacz), [@manics](https://github.com/manics)) + +#### Maintenance and upkeep improvements + +- user-scheduler: update kube-scheduler binary from 1.28.14 to 1.30.5 [#3514](https://github.com/jupyterhub/zero-to-jupyterhub-k8s/pull/3514) ([@consideRatio](https://github.com/consideRatio)) +- Drop support for k8s 1.26-1.27 [#3508](https://github.com/jupyterhub/zero-to-jupyterhub-k8s/pull/3508) ([@consideRatio](https://github.com/consideRatio)) +- Bump debian distribution for images [#3457](https://github.com/jupyterhub/zero-to-jupyterhub-k8s/pull/3457) ([@SchutteJan](https://github.com/SchutteJan), [@manics](https://github.com/manics)) +- Bump pip-tools to v7 used by ci/refreeze script updating requirements.txt files [#3455](https://github.com/jupyterhub/zero-to-jupyterhub-k8s/pull/3455) ([@consideRatio](https://github.com/consideRatio)) + +#### Documentation improvements + +- Add backdated upgrade guide for 2 to 3 [#3521](https://github.com/jupyterhub/zero-to-jupyterhub-k8s/pull/3521) ([@manics](https://github.com/manics), [@consideRatio](https://github.com/consideRatio)) +- debugging: remove old (now misleading) example [#3487](https://github.com/jupyterhub/zero-to-jupyterhub-k8s/pull/3487) ([@manics](https://github.com/manics), [@consideRatio](https://github.com/consideRatio)) +- RTD custom domain changes [#3461](https://github.com/jupyterhub/zero-to-jupyterhub-k8s/pull/3461) ([@manics](https://github.com/manics), [@consideRatio](https://github.com/consideRatio)) +- docs: small fixes [#3415](https://github.com/jupyterhub/zero-to-jupyterhub-k8s/pull/3415) ([@buti1021](https://github.com/buti1021), [@consideRatio](https://github.com/consideRatio)) + +#### Continuous integration improvements + +- ci: configure automatic bump of kube-scheduler to version 1.30.x [#3517](https://github.com/jupyterhub/zero-to-jupyterhub-k8s/pull/3517) ([@consideRatio](https://github.com/consideRatio)) + +#### Other merged PRs + +This changelog entry omits automated PRs, for example those updating +dependencies in: images, github actions, pre-commit hooks. For a full list of +changes, see the [full +comparison](https://github.com/jupyterhub/zero-to-jupyterhub-k8s/compare/3.3.8...4.0.0-beta.1). + +#### Contributors to this release + +The following people contributed discussions, new ideas, code and documentation contributions, and review. +See [our definition of contributors](https://github-activity.readthedocs.io/en/latest/#how-does-this-tool-define-contributions-in-the-reports). + +([GitHub contributors page for this release](https://github.com/jupyterhub/zero-to-jupyterhub-k8s/graphs/contributors?from=2024-03-20&to=2024-10-01&type=c)) + +@alxyok ([activity](https://github.com/search?q=repo%3Ajupyterhub%2Fzero-to-jupyterhub-k8s+involves%3Aalxyok+updated%3A2024-03-20..2024-10-01&type=Issues)) | @benz0li ([activity](https://github.com/search?q=repo%3Ajupyterhub%2Fzero-to-jupyterhub-k8s+involves%3Abenz0li+updated%3A2024-03-20..2024-10-01&type=Issues)) | @buti1021 ([activity](https://github.com/search?q=repo%3Ajupyterhub%2Fzero-to-jupyterhub-k8s+involves%3Abuti1021+updated%3A2024-03-20..2024-10-01&type=Issues)) | @consideRatio ([activity](https://github.com/search?q=repo%3Ajupyterhub%2Fzero-to-jupyterhub-k8s+involves%3AconsideRatio+updated%3A2024-03-20..2024-10-01&type=Issues)) | @jash2105 ([activity](https://github.com/search?q=repo%3Ajupyterhub%2Fzero-to-jupyterhub-k8s+involves%3Ajash2105+updated%3A2024-03-20..2024-10-01&type=Issues)) | @jupyterhub-bot ([activity](https://github.com/search?q=repo%3Ajupyterhub%2Fzero-to-jupyterhub-k8s+involves%3Ajupyterhub-bot+updated%3A2024-03-20..2024-10-01&type=Issues)) | @Khoi16 ([activity](https://github.com/search?q=repo%3Ajupyterhub%2Fzero-to-jupyterhub-k8s+involves%3AKhoi16+updated%3A2024-03-20..2024-10-01&type=Issues)) | @lahwaacz ([activity](https://github.com/search?q=repo%3Ajupyterhub%2Fzero-to-jupyterhub-k8s+involves%3Alahwaacz+updated%3A2024-03-20..2024-10-01&type=Issues)) | @manics ([activity](https://github.com/search?q=repo%3Ajupyterhub%2Fzero-to-jupyterhub-k8s+involves%3Amanics+updated%3A2024-03-20..2024-10-01&type=Issues)) | @minrk ([activity](https://github.com/search?q=repo%3Ajupyterhub%2Fzero-to-jupyterhub-k8s+involves%3Aminrk+updated%3A2024-03-20..2024-10-01&type=Issues)) | @samyuh ([activity](https://github.com/search?q=repo%3Ajupyterhub%2Fzero-to-jupyterhub-k8s+involves%3Asamyuh+updated%3A2024-03-20..2024-10-01&type=Issues)) | @SchutteJan ([activity](https://github.com/search?q=repo%3Ajupyterhub%2Fzero-to-jupyterhub-k8s+involves%3ASchutteJan+updated%3A2024-03-20..2024-10-01&type=Issues)) | @snickell ([activity](https://github.com/search?q=repo%3Ajupyterhub%2Fzero-to-jupyterhub-k8s+involves%3Asnickell+updated%3A2024-03-20..2024-10-01&type=Issues)) ## 3.3 @@ -1288,7 +1373,6 @@ For a detailed list of how Python dependencies have change in the `hub` Pod's Do - dep: bump kube-scheduler from 1.19.2 to 1.19.7 [#1981](https://github.com/jupyterhub/zero-to-jupyterhub-k8s/pull/1981) ([@consideRatio](https://github.com/consideRatio)) - singleuser-sample image: bump jupyerhub to 1.3.0 [#1961](https://github.com/jupyterhub/zero-to-jupyterhub-k8s/pull/1961) ([@consideRatio](https://github.com/consideRatio)) - build(deps): bump jupyterhub from 1.2.2 to 1.3.0 in /images/hub [#1959](https://github.com/jupyterhub/zero-to-jupyterhub-k8s/pull/1959) ([@dependabot](https://github.com/dependabot)) -- Vulnerability patch in network-tools [#1947](https://github.com/jupyterhub/zero-to-jupyterhub-k8s/pull/1947) ([@github-actions](https://github.com/github-actions)) - hub image: bump jupyterhub-kubespawner from 0.14.1 to 0.15.0 in /images/hub [#1946](https://github.com/jupyterhub/zero-to-jupyterhub-k8s/pull/1946) ([@dependabot](https://github.com/dependabot)) - Helm template linting - remove extra space [#1945](https://github.com/jupyterhub/zero-to-jupyterhub-k8s/pull/1945) ([@DArtagan](https://github.com/DArtagan)) - hub image: bump jupyterhub-hmacauthenticator from 0.1 to 1.0 in /images/hub [#1944](https://github.com/jupyterhub/zero-to-jupyterhub-k8s/pull/1944) ([@dependabot](https://github.com/dependabot))