Changes in KubeSpawner¶
[0.15]¶
[0.15.0] - 2020-10-15¶
Enhancements made¶
- Expand storage selector #463 (@dtaniwaki)
- Add pod_connect_ip config regarding how kubespawner reach the pod #460 (@dtaniwaki)
- [Feature] Add AllowPrivilegeEscalation to container’s securityContext #450 (@captnbp)
Bugs fixed¶
- Wrap concurrent.futures Future in polling function #467 (@ondave)
- Let uid/gid/fs_gid default to None instead of 0 #453 (@consideRatio)
Maintenance and upkeep improvements¶
- action-k3s-helm was moved to jupyterhub #465 (@manics)
- Don’t run tests on unsupported k8s client versions #464 (@yuvipanda)
- Migrate from travis to GitHub actions #459 (@consideRatio)
- Cleanup JS patch of JupyterHub 0.8 HTML not needed in 0.9+ #455 (@consideRatio)
Contributors to this release¶
(GitHub contributors page for this release)
@athornton | @betatim | @captnbp | @celine168 | @clkao | @consideRatio | @DarkmatterVale | @dkipping | @dtaniwaki | @erolosty | @gcavalcante8808 | @gsemet | @gweis | @h4gen | @joelpfaff | @manics | @meeseeksmachine | @minrk | @ondave | @ryanlovett | @stefanvangastel | @support | @tjcrone | @welcome | @yuvipanda
[0.14]¶
[0.14.1] - 2020-10-23¶
Bugs fixed¶
- KubeSpawner.image_pull_secrets malfunctions in 0.14.0 - this fixes it #451 (@johnhoman)
Maintenance and upkeep improvements¶
- CI: bump to kubernetes client v12, and test k8s 1.19 also #449 (@consideRatio)
Contributors to this release¶
(GitHub contributors page for this release)
@consideRatio | @johnhoman | @rkdarst | @welcome | @yuvipanda
[0.14.0] - 2020-10-05¶
Enhancements made¶
- Allow image_pull_secrets config to be specified the k8s native way #442 (@consideRatio)
Bugs fixed¶
- Access containerStatuses key with get() #441 (@rmoe)
- Allow pod to spawn if the PVC specified already exists #438 (@gravenimage)
- Add timeout and retry to create_namespaced_pod #433 (@gravenimage)
- Fix KubeIngressProxy.get_all_routes for 0.13 #430 (@remche)
Maintenance and upkeep improvements¶
- Manage regexp syntax deprecation #445 (@consideRatio)
- Python 3.6+ migration: async in 3.5 and async with yeild in 3.6 #444 (@consideRatio)
- Add an explicit dependency on urllib3 #437 (@yuvipanda)
- Delete remnant now unused parts in spawner.py #382 (@bitnik)
[0.13]¶
[0.13.0] - 2020-09-XX¶
Noteworthy for this release are: performance improvements, Kubernetes native environment variable specification, the possibility to run multiple JupyterHub’s in the same namespace.
Breaking changes¶
The following changes probably won’t break typical usage of KubeSpawner, but could for example break logic to customized the progress page JupyerHub displays while spawning a Kubernetes pod for the user.
- The Kubernetes EventsReflector, which is providing the KubeSpawner instances with information about Kubernetes Events describing events for other resources, is now exposing events as python dictionaries rather than
V1Event
objects.V1Event
is defined in the kubernetes-client/python library as a representation of a Kubernetes Event. - KubeSpawner’s
.progress
method implementation (https://github.com/jupyterhub/jupyterhub/pull/1771) which is generating a formattedmessage
as well as a KubeSpawner specificraw_event
entry now returns theraw_event
as a Python dictionary with entries formatted incamelCase
where the keys were formatted insnake_case
.
New¶
- Support EnvVar’s with ‘valueFrom’ as well as with ‘value’ #426 (@consideRatio)
- Breaking change / performance: don’t make kubernetes-client deserialize k8s events into objects #424 (@rmoe)
- Add component_label property to support multiple hub instances in the… #418 (@harsimranmaan)
Fixes¶
Maintenance¶
- Log thread pool worker count on init #420 (@mriedem)
- CI: test k8s 1.18 and require success, publish without test, bump minikube #417 (@consideRatio)
Contributors to this release¶
@abinet | @chancez | @consideRatio | @harsimranmaan | @meeseeksmachine | @mriedem | @rmoe | @shenghu | @welcome | @yuvipanda | @zlanyi
This list of contributors were generated by github-activity
according to these criteria.
[0.12]¶
[0.12.0] - 2020-07-17¶
Security¶
- Security fix: CVE-2020-15110 / GHSA-v7m9-9497-p9gr. When named-servers are enabled, certain username patterns, depending on authenticator, could allow collisions. The default named-server template is changed to prevent collisions, meaning that upgrading will lose associations of named-servers with their PVCs if the default templates are used. Data should not be lost (old PVCs will be ignored, not deleted), but will need manual migration to new PVCs prior to deletion of old PVCs.
New features¶
Fixes¶
Maintenance¶
- Fix CI builds #394 (@consideRatio)
- use bump2version and add release documentation #376 (@consideRatio)
- improve development documentation #377 (@consideRatio)
- test with JupyterHub master #380 (@consideRatio)
- update contributing guide #391 (@betatim)
[0.11]¶
[0.11.1] - 2019-11-29¶
0.11.1 consists of a small bugfix that made the progress reporting break.
Fixes¶
- Fix spawn progress events now showing up due to failure to serialize #381 (@consideRatio)
Maintenance¶
- Don’t require deploy job to also run tests #379 (@consideRatio)
[0.11.0] - 2019-11-28¶
0.11.0 features minor feature additions, compatebility measures, and fixes. KubeSpawner now require Python 3.5 and is no longer actively tested against Kubernetes clusters versioned 1.10 as before, but is now being tested against version 1.12-1.16 with the python kubernetes client library version 8-11 that is compatible with k8s 1.11-1.15.
New¶
Fixes¶
- Scope security context to container from pod where it is possible #334 (@shoelsch)
- Permit storage class to be empty string. #337 (@GrahamDumpleton)
- Fix pod name prefix escaping for named servers #309 (@dmarth)
- Always load user_options #301 (@minrk)
- using user_options in kubespawner #285 (@hhuuggoo)
- Allow None on UID and GID #286 (@dtaniwaki)
Compatibility¶
- CI reworked, support modern k8s high resolution timestamps, event monitoring is made more reliable, kubernetes=>8 required, python>=3.6 required, inline docs added #368 (@consideRatio)
- Fix for Kubernetes 1.16 regarding datetime comparison #362 (@consideRatio)
- More idiomatic python syntax #356 (@AnotherCodeArtist)
- Compatibility with kubernetes, jupyterhub prereleases #314 (@minrk)
- compatibility with kubernetes 9.0 #294 (@minrk)
- Pin kubernetes version to 8.0 #292 (@yuvipanda)
Maintenance¶
- Iteration of local development instructions #377 (@consideRatio)
- Add RELEASE.md and utilize bump2version #376 (@consideRatio)
- Fix docs build #371 (@consideRatio)
- [MRG]: Travis pypi: only use pre for nightly #369 (@manics)
- Add relevant badges to README.md #365 (@consideRatio)
- Update SETUP.md instructions to match current state of JupyterHub #353 (@yuvipanda)
- codecov badge #312 (@choldgraf)
- Update documentation regarding run_as_gid behavior #297 (@kevin-bates)
- build docs with python 3.6 #295 (@minrk)
- making kubespawner docs links more discoverable #287 (@choldgraf)
[0.10]¶
[0.10.1] 2018-12-11¶
0.10.1 is a tiny bugfix release, fixing regressions in 0.10.0.
- Fix deprecation of
KubeSpawner.hub_connect_ip
, which caused errors in 0.10 when the deprecated config was used.
[0.10.1] 2018-12-05¶
0.10.0 is a small release, with minor changes and fixes.
- Deprecate
KubeSpawner.image_spec
configuration in favor of standardKubeSpawner.image
.image_spec
continues to work with deprecation warnings - Stop pinning an exact kubernetes client version; instead, require kubernetes client >= 7. If desired, pinning should be done in images/installations
- Expand username template variables in extra_containers
- Set pod restart policy to OnFailure, so that notebook servers that terminate themselves cleanly do not restart automatically
- Formally deprecate
KubeSpawner.hub_connect_ip
andKubeSpawner.hub_connect_ip
in favor ofJupyterHub.hub_connect_ip
, available in jupyterhub >= 0.8
[0.9]¶
[0.9.0] 2018-09-03¶
KubeSpawner 0.9.0 is a big release of KubeSpawner.
Change highlights:
- Require Kubernetes >= 1.6
- Require JupyterHub >= 0.8
- Require Python >= 3.5
- Expose lots more Kubernetes options
- Support configuration profiles via :attr:
.KubeSpawner.profile_list
- Support Kubernetes events for the progress API in JupyterHub 0.9.
- Update Kubernetes Python client to 6.0 (supporting Kubernetes 1.10 APIs)
- Numerous bugfixes