Skip to content

Commit 09820cb

Browse files
committed
v4 upgrade doc, changelog for 4.0
1 parent 26eb8ef commit 09820cb

File tree

2 files changed

+112
-93
lines changed

2 files changed

+112
-93
lines changed

docs/source/administrator/upgrading/upgrade-3-to-4.md

Lines changed: 81 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,84 @@
22

33
# Major upgrade: 3.\* to 4.\*
44

5-
This is currently just a placeholder file for until we have written upgrade docs.
5+
zero-to-jupyterhub 4.0 is a major upgrade that may require some changes to your configuration,
6+
depending on what features you may use.
7+
This mostly comes in the form of some upgraded packages, described below.
8+
9+
See the [changelog](changelog) for details of upgraded packages.
10+
11+
## JupyterHub 5
12+
13+
zero-to-jupyterhub 4.0 upgrades the JupyterHub version from 4.1.6 to 5.2.1.
14+
15+
:::{seealso}
16+
For more detailed changes in JupyterHub, see JupyterHub's own documentation on upgrading to version 5:
17+
18+
Especially if you use features like per-user subdomains or custom page templates.
19+
20+
- [jupyterhub changelog](https://jupyterhub.readthedocs.io/en/5.2.1/reference/changelog.html)
21+
- [Upgrading to JupyterHub 5](https://jupyterhub.readthedocs.io/en/5.2.1/howto/upgrading-v5.html)
22+
23+
:::
24+
25+
### Allowing users
26+
27+
JupyterHub 5 promotes the `allow_all` and `allow_existing_users` configuration used on OAuthenticator to all other Authenticators.
28+
If you have no explicitly allowed users, the default is now to allow no users (this was already the default if you were using OAuth).
29+
If you are using an Authenticator where all users who can successfully authenticate should have access, set:
30+
31+
```yaml
32+
hub:
33+
config:
34+
Authenticator:
35+
allow_all: true
36+
```
37+
38+
to explicitly opt in to this behavior that was previously the default for some authenticators.
39+
40+
## KubeSpawner 7
41+
42+
zero-to-jupyterhub 4.0 upgrades the KubeSpawner version from 6 to 7.
43+
The main relevant change here is the "slug scheme" used to compute names of resources such as pods and PVC (user storage) is changed.
44+
45+
The new scheme is called "safe" and is the default, whereas the old scheme is called "escape".
46+
If you do not have any custom templated fields, it is _unlikely_ that anything should change for you and everything should work.
47+
If, however, you specify custom templated fields such as volume mounts or environment variables,
48+
especially those that have the `{username}` or `{servername}` fields,
49+
those values are likely to change under the new scheme for some usernames.
50+
In particular, there are new fields that should make things easier:
51+
52+
- `{user_server}` combines the username and server name, and is equivalent to `{username}{servername}` in the old escape scheme
53+
- `{pod_name}`, `{pvc_name}`
54+
55+
You can opt in to the kubespawner 6 behavior with:
56+
57+
```yaml
58+
hub:
59+
config:
60+
KubeSpawner:
61+
slug_scheme: escape
62+
```
63+
64+
which _should_ result in no changes for you from previous behavior.
65+
66+
:::{seealso}
67+
68+
- [KubeSpawner changelog](https://jupyterhub-kubespawner.readthedocs.io/en/latest/changelog.html)
69+
- [KubeSpawner docs on templated fields](https://jupyterhub-kubespawner.readthedocs.io/en/latest/templates.html#fields)
70+
71+
:::
72+
73+
## OAuthenticator 17
74+
75+
OAuthenticator is upgraded from 16.3.1 to 17.1.
76+
The main changes are related to using group information from OAuth providers.
77+
If you used or would like to use groups for authentication,
78+
check out the [OAuthenticator changelog](https://oauthenticator.readthedocs.io/en/stable/reference/changelog.html#:~:text=17.1)
79+
80+
## Other package upgrades
81+
82+
- Python is upgraded from 3.11 to 3.12 in the Hub image
83+
- LDAPAuthenticator is upgraded from 1 to 2 ([changelog](https://github.com/jupyterhub/ldapauthenticator/blob/2.0.0/CHANGELOG.md#200---2024-10-18))
84+
- FirstUseAuthenticator is upgraded from 1.0 to 1.1 ([changelog](https://github.com/jupyterhub/firstuseauthenticator/blob/1.1.0/CHANGELOG.md))
85+
- idle culler is upgraded from 1.3.1 to 1.4.0 ([changelog](https://github.com/jupyterhub/jupyterhub-idle-culler/blob/1.4.0/CHANGELOG.md))

0 commit comments

Comments
 (0)