Note that from this version onward the changelog has moved exclusively to https://github.com/SwissDataScienceCenter/renku-notebooks/releases
1.22.1 (2024-05-03)
- use the case sensitive name of the project when cloning repositories (#1857)
1.22.0 (2024-03-25)
1.21.0 (2024-01-16)
- allow patching of resource classes in hibernated sessions (#1728) (5219719)
- rclone csi support for cloud storage in sessions (#1707) (97e3a50)
1.20.3 (2023-12-15)
- handle missing gitlab tokens (#1735) (f27a284)
- inject new set of tokens when the session is resumed (#1734) (6909869)
- patch in a larger value for /dev/shm (#1723) (1c154fa)
1.20.2 (2023-11-07)
1.20.1 (2023-11-06)
1.20.0 (2023-10-23)
- app: handle OCI image manifests (#1673) (66d8482)
- overwrite existing files with storage mounts (#1672) (69d7fef)
- scientific notation integer parsing in config (#1662) (c4ce286)
1.19.1 (2023-10-02)
1.19.0 (2023-09-15)
- app: use persistent volumes to hibernate and resume sessions (#1518) (8101029)
- session: upgrade Amalthea version to 0.9.1
1.18.1 (2023-09-11)
1.18.0 (2023-08-11)
- app: parse old server options in request (#1570) (8b3e5c0)
- app: properly recover LFS from autosave (#1568) (8f34b09)
1.17.0 (2023-08-03)
- session: upgrade Amalthea version to 0.8.0
1.16.0 (2023-07-05)
1.15.2 (2023-03-20)
1.15.1 (2023-03-03)
1.15.0 (2023-02-27)
- app: propagate environment variables for R (#1339) (05f022b)
- app: show if ssh enabled in /version (#1407) (4fcdcac)
- sidecar: anon users clone repo at correct SHA (#1406) (63d734b)
- app: experimental azure blob storage support (#1374) (4cbcb14)
- session: fail when injecting env vars that exist in session (#1396) (85e10ec)
- session: ssh access to sessions with jump host (#1389) (556bfeb)
- session: upgrade Amalthea version to 0.6.1
1.14.0 (2022-12-13)
- app: snyk vulnerabilities (#1341) (21391c9)
- git-proxy: handle Gitlab token expiry (#1338) (2208006)
- sidecar: use list of args in git LFS commands (#1344) (113ca93)
1.13.0 (2022-11-29)
1.12.0 (2022-10-17)
1.11.1 (2022-10-11)
- app: respect git lfs autofetch flag (#1288) (ffef74e)
- poetry flags not parsed properly (#1294) (5a57906)
- sidecar: properly set and unset lfs auth (#1301) (14df37f)
- sidecar: renku needs to be on path (#1293) (978cd24)
1.11.0 (2022-09-20)
- app: usernames starting with numbers/symbols (#1213) (7e3b234)
- chart: template PVC sessions flag properly (#1273) (8c30639)
- sidecar: escape characters in user full name (#1279) (65d6fb5)
- sidecar: use fetch before running git status (#1240) (e4402b4)
- app: add auth and expose rpc server sidecar (#762) (85e15b7)
- app: add session url env var (#1231) (25c2130)
- sidecar: git pull and discard unsaved changes (#1223) (0157a2f)
- sidecar: run renku cli commands in rpc server (#1219) (4e515f7)
- sidecar: symlink cloudstorage into project (#1230) (4ac2845)
1.10.0 (2022-08-16)
- app: update amalthea to 0.5.2 (#1217) (8753605)
- app: standardized error responses from API (#849) (c8d685d)
- app: use dataconf and telepresence (#1186) (08e6937)
1.9.1 (2022-07-22)
- app: listing autosaves and debug statements (#1168) (4e19998)
- app: show latest unschedulable message (#1161) (aa81c9c)
- app: update git-https-proxy/Dockerfile to reduce vulnerabilities (#1153) (4a48ec2)
- app: minor bug fixes in amalthea and update to amalthea version 0.5.1
1.9.0 (2022-07-05)
1.8.3 (2022-06-24)
- app: handle endpoints for s3 not on AWS (#1124) (4922458)
- app: list autosaves only for the current user (#1118) (d67d8ad)
1.8.2 (2022-06-21)
- app: cloudstorage in server_options schema (#1113) (38904f9)
- app: parse unschedulable resources message (#1114) (7457538)
1.8.1 (2022-06-15)
- app: no main pod in status when getting logs (#1104) (561d447)
- app: properly deserialize server options (#1108) (1b7ae18)
1.8.0 (2022-06-13)
- app: handle missing project in autosave list (#1090) (ea7667f)
- app: s3 bucket location (#1083) (a23e53f)
- app: show starting message (#1099) (2c56b17)
- app: custom certs env variables in git clone (#1101) (ad10f71)
- app: serialize cpu and gpu request to number (#1103) (77aadd5)
- add git error codes to notebooks response (#1055) (dd59afe), closes #1064
- app: show session resource usage (#968) (84e8035)
- app: surface message and status when pod is unschedulable (#1088) (a6cf716)
- app: update Amalthea to version 0.4.0
1.7.0 (2022-05-16)
- app: eliminate unnecessary gitlab calls (#1035) (3ff58d5)
- app: keep git-proxy alive on session shutdown (#951) (7589230)
The value securityContext.enabled
in the notebook service values.yaml
used to be used in
much older versions and has since been deprecated. However, it may still be present in your values.yaml
file.
If this is the case it will cause problems when deploying because with this release the
securityContext
field is directly added as the security context for every container in the notebook
service. You can correct this by simply removing this field from your values file along with its parent
securityContext
field, this will make the notebook service use the default security context which functions properly.
1.6.2 (2022-04-08)
1.6.1 (2022-04-06)
1.6.0 (2022-04-05)
- app: add endpoint to verify docker image availability (#990) (e1a9f73)
- app: add sentry to git clone and autosaves (#963) (7d73cad)
- app: use python for git clone and autosaves (#956) (e5a86eb)
1.5.1 (2022-03-18)
1.5.0 (2022-03-15)
- app: better messages on session launch fail (#923) (a8636e3), closes #923
- app: return logs from all containers (#887) (3defae5)
- app: version endpoint (#938) (4c2b26d)
- The status of the session is reported in a different more compact form in the API. This affects the
/servers
or/servers/<server_name>
endpoints. - The logs from all containers in the session (including init containers) are returned, not just the logs from the
jupyter-server
container. This affects the/notebooks/logs/<server_name>
endpoint. - The logs from
/notebooks/logs/<server_name>
are returned as a dictionary of strings where the key is the container name and the string is the log.
1.4.1 (2022-02-18)
1.4.0 (2022-02-15)
- app: modify terminology for mounting S3 buckets (#922) (9f93dcf)
- chart: allow mounting of S3 buckets to be enabled without installing Datashim (#922) (9f93dcf)
The impact of the following breaking changes is minor because they only affect deployments that mount S3 buckets in user sessions. However as this is an experimental feature that was released very recently (and is turned off by default) it is very unlikely that any users are affected by this. Only users who have enabled S3 bucket mounting in sessions in 1.3.0
and are using this will be affected by this change.
- the API endpoints that start user sessions or list them use
cloudstorage
in their request/response schemas rather thans3mounts
- the values for the Helm chart related to mounting S3 buckets have also changed to use
cloudstorage
instead ofs3mounts
, and the setupt for mounting S3 buckets can be found undercloudstorage.s3
1.3.0 (2022-02-08)
- app: case insensitive project and namespace (#858) (56c2db4)
- app: do not accept an empty anonymous user id (#845) (0fa71df)
- app: return proper values for image and repository (#834) (39a6d96)
- app: enable age-based session culling (#848) (b92722d)
- chart: modify for custom CA certificates (#788) (1a7f15c)
- app: mount s3 buckets in sessions (#729) (808e767)
- Upgrade Amalthea to 0.2.3
1.2.1 (2021-12-01)
- app: apply CPU limits to user sessions (#826) (29d44a2)
- app: do not delete autosaves before restoring (#814) (32f6c5e)
- app: use 3 scenarios for session cpu limits (#828) (ff7899d)
- app: use pyjwt to decode token (#818) (4987db1)
- app: user not authenticated and anonymous sessions not allowed (#829) (edb9c03)
1.2.0 (2021-11-15)
- app: check out the correct branch instead of always master(#802) (5a9ffbe)
- chart: use current fallback renku image (#803) (30df71b)
- chart: add session tolerations, affinity, nodeSelector (#806) (49a2d54)
- app: new Amalthea version - 0.2.1
1.1.1 (2021-11-08)
1.1.0 (2021-11-02)
- app: displaying gpu resources in API responses (#786) (6784504)
- app: use the right storage class name parameter in Jupyter server manifest (#769) (0481561)
- app: when a gitlab project does not exist log a warning instead of error (#763) (ce7af2a)
1.0.0 (2021-09-16)
- The use of Amalthea and removal of Jupyterhub will require some changes. Namely:
- All references to Jupyterhub in the
values.yaml
have been removed and are not required anymore. - Amalthea is installed from a separate helm chart which is now a dependency of the
renku-notebooks
helm chart. - Several new sections have been added to the
values.yaml
file which are required by Amalthea. These includeamalthea
,oidc
,sessionIngress
,culling
andtests
.
- All references to Jupyterhub in the
- Some older images with Rstudio will open Rstudio in a directory one level above the repository. This can be fixed by upgrading to a newer version of the base image in the Dockerfile in the relevant renku project.
- This version is not backward compatible with the user sessions from older versions. Therefore before deploying the admin should notify users to save their work and shut down all active sessions. During the deployment the admin should clean up all remaining user sessions and then deploy this version.
0.8.18 (2021-08-11)
- app: bugs with mistyped variable and missing branches in autosaves (#723) (cebb39d)
- app: listing sessions when a project has been deleted (#718) (2c65ede)
0.8.17 (2021-07-29)
- app: fix failing on pvcs created with old 0.8.4 renku verison pvc naming (fb7e318)
0.8.16 (2021-07-28)
- app: upper case letters in pvc name (f6cfb8b)
0.8.15 (2021-07-23)
0.8.14 (2021-07-09)
- app: add autosave delete endpoint (e2f1538)
- app: git-https-proxy/Dockerfile to reduce vulnerabilities (#664) (092703d)
- app: properly assign default server option values (#649) (eda1685)
0.8.13 (2021-05-14)
- clusterrole is not required for user session PVCs (#641) (752ca3f)
- remove disk request values (#657) (33d6251)
0.8.12 (2021-04-16)
- app: missing annotations handling in marshmallow (23e54b0)
0.8.11 (2021-04-15)
- app: increase huboauth caching from 1min to 5min (#603) (1e459cc)
- app: unset lfs auth mode in init container (c2017ca)
0.8.10 (2021-03-08)
- app: image pull secret for pod restart (#556) (afe92f9)
- app: support for long project title (#553) (44d9578)
- build: switch to debian-based image (ad5adff)
- build: update dependencies, including a vulnerability patch (#547) (a5becee)
0.8.9 (2021-02-11)
- app: add label for hub network policy selector (#547) (a90ff26)
- app: allow unknown annotations in schema (#546) (5d3bcb9)
- app: allow to launch notebooks using defaultUrl (#542) (534b04c)
0.8.8 (2021-02-05)
- app: unknown gpu field in resources request (#538) (4fc9215)
- app: validate server options (#529) (03d20e2)
0.8.7 (2021-02-01)
- app: checking secrets with no annotations and labels (#509) (bfbb148)
- app: correct order of lfs pull and repo config for git proxy (#486) (243af69)
- app: duplicate https proxy containers (#523) (21157dc)
- app: extraEnv requires only string values now (#511) (2a1bb10)
- app: pod resources schema (#513) (83c844a)
- app: properly recognize pod status when terminating (#497) (f59c88f)
- app: remove unneccessary log error calls (#512) (d762870)
- app: retry when creating notebook fails with 500 (#518) (8d7799c)
- app: fix bug in git-https-proxy (3fc7e18)
0.8.6 (2020-12-10)
- app: move gitlab oauth token to separate proxy container (0488115)
- app: specify image in server request (95d4f92)
0.8.5 (2020-11-18)
- fix cull secrets failures with pods forked repos (559bb91)
0.8.4 (2020-10-29)
0.8.3 (2020-10-15)
0.8.2(2020-10-05)
- app: escape username in registry secret name (e960e36)
- build: remove build args from chartpress file (d2feebe)
- charts: correct proxy-public port in ingress (18f98a2)
- charts: enable storing gitlab auth state per default (3caeb1e)
0.8.1 (2020-08-28)
- update lfs version in git-clone to handle stored credentials (c7f017d)
0.8.0 (2020-08-11)
-
use user credentials for pulling images for private projects, no more GitLab sudo token needed! (a172b39), closes #105
-
remove user oauth token from repository URL (5f2ba49), closes #313
-
add support for kubernetes versions > 1.15 (a994845)
- kubernetes versions < 1.14 are not supported anymore
0.7.4 (2020-05-27)
This release contains only dependency updates.
0.7.3 (2020-04-29)
0.7.2 (2020-04-24)
0.7.1 (2020-03-26)
- add repository url to annoations (#266) (67b955b)
- add requested resources info to servers endpoint (#261) (9e233cf), closes #223
- constrain the container gids (84066c1)
0.7.0 (2020-03-05)
- JupyterHub: update to version 1.1.0 (db5e876), closes #183 and #257
- update server logs API to return JSON data (#225) (e34feaa), closes #224
0.6.2 (2019-11-15)
0.6.1 (2019-11-06)
- Fix library dependency issues. See #218
0.6.0 (2019-10-25)
- can force delete pods (#205) (4d7f2b5)
- handle k8s api errors when querying for logs (#216) (397a54b)
- use project name in the notebook URL (#211) (e185002)
0.5.1 (2019-08-22)
0.5.0 (2019-08-15)
- implement new notebook API (b50ca1c)
0.4.0 (2019-07-09)
- uncaught exception when creating notebooks (7fdd566)
- update registry secret template (320dcd7)
- use local and remote shortened commit-sha to recover from autosaves (#190) (e1001b5)
- add JUPYTERHUB_USER as env var to git-clone image (790f92c)
- pre-stop script also autosaves unpushed commits (1730d8a)
- recover autosave only when branch and commit-sha match (3cbbcc9)
- spawn new server for different branch (9d1a78b), closes #90
(released 2019-05-27)
- add project id to annotations bef303c, closes #129
- correct indentation of periodSeconds 07be562, closes #157
- do not create sentry configmap if no value 41e4993, closes #161
- do not fail on empty annotations (#133) 373809b, closes #133 #132
- enforce memory limits for user pods 91f503e, closes #147
- fix syntax error 1f2088f
- handle empty authorization token 1d725b7, closes #139
- remove imageBuildTimeout f26ad81, closes #70
- return 401 on unauthorized non-browser requests 453e955, closes #115
- add ConfigMap for pre-stop autosave script (#156) cf6258a, closes #156 #137
- add /servers for user server listing 8d7c177, closes #125
- added pre-stop post-start hooks (#130) 8b6d7f4, closes #130
- enable sentry e36ef73, closes #110
- implement notebook server logs endpoint 66f5793, closes #124
- include GitLab project variables 50bd6cd
(released 2018-11-26)
Chart values need to be migrated from [v0.2.0]{.title-ref} -- this essentially amounts to copying the [jupyterhub]{.title-ref} section from renku to the [notebooks]{.title-ref} section.
In addition:
- It is no longer needed to specify [jupyterhub_api_token]{.title-ref}, [jupyterhub_base_url]{.title-ref} or [jupyterhub_api_url]{.title-ref} as they are derived from the corresponding jupyterhub values.
- [gitlab.url]{.title-ref}, [gitlab.registry.host]{.title-ref} and [gitlab.registry.secret]{.title-ref} must be specified (the [secret]{.title-ref} is needed only for pulling private images).
- A new values section for [server_options]{.title-ref} can be configured -- see the example in [minikube-values.yaml]{.title-ref}.
This is a configuration that is read by the UI client, rendered as a form for the user and sent back to the notebooks service as request data. The example in [values.yaml]{.title-ref} or [minikube-values.yaml]{.title-ref} sets some reasonable defaults for [cpu_request]{.title-ref}, [mem_request]{.title-ref}, [gpu_request]{.title-ref}, the [defaultUrl]{.title-ref} and [lfs_auto_fetch]{.title-ref}.
If R or other specialized notebooks are used, [defaultUrl]{.title-ref} allows the user to select the default landing path, e.g. [/rstudio]{.title-ref}. [lfs_auto_fetch]{.title-ref} is off by default, meaning that LFS data is not automatically retrieved.
(released 2018-09-25)
Initial release as a part of the larger Renku release. Includes Helm Chart for deployment and supports simple connection to JupyterHub for launching notebook servers linked to GitLab repositories.