Our 3.0.0 release includes the following high-level changes.
- Support for Spark 3.0 and pod templates
- Improved deployment of new kernels in containerized environments
- Support for CRDs and ConfigMaps on Spark Operator
- Improved helm chart integration
- Extended kernel persistence support
- Role-based documentation: Users, Operators, Contributors, Developers
- Enabled support for images from private registries
- Formalized HA support (singe-instance vs. multi-instance)
- Extend LB algorithms for distributed kernels
- Enabled support for any subclass of IpyKernel kernels
- Enabled support for ConfigMaps in Spark Operator
- Allow operators to increase the maximum sockets and thread pool of the ZMQ context
- Add support for managing service and config map in kernel-pod
- Bug fixes and maintenance
Thank you to all of our contributors!
What's Changed
* Restyle docs to that used in JupyterServer team-compass docs by kevin-bates in https://github.com/jupyter-server/enterprise_gateway/pull/1034
* Revert the RTD python version to 3.8 by kevin-bates in https://github.com/jupyter-server/enterprise_gateway/pull/1035
* Fix RTD - remove IPython highlighting reference by kevin-bates in https://github.com/jupyter-server/enterprise_gateway/pull/1036
* Reorganize documentation by kevin-bates in https://github.com/jupyter-server/enterprise_gateway/pull/1040
* Drop Python 3.6 and add Python 3.10 to setup metadata and CI matrix by kevin-bates in https://github.com/jupyter-server/enterprise_gateway/pull/1028
* fix small typo in developer docs by bloomsa in https://github.com/jupyter-server/enterprise_gateway/pull/1042
* Fix build to propagate SA macro between makefiles by kevin-bates in https://github.com/jupyter-server/enterprise_gateway/pull/1044
* Fix operator references that were directing to Python docs by kevin-bates in https://github.com/jupyter-server/enterprise_gateway/pull/1043
* Remove usage of ipython_genutils by blink1073 in https://github.com/jupyter-server/enterprise_gateway/pull/1046
* Fix links in readme by icankeep in https://github.com/jupyter-server/enterprise_gateway/pull/1050
* Clean up CI by blink1073 in https://github.com/jupyter-server/enterprise_gateway/pull/1052
* Docker docs by bloomsa in https://github.com/jupyter-server/enterprise_gateway/pull/1049
* Fix up some docker image README issues (minor) by kevin-bates in https://github.com/jupyter-server/enterprise_gateway/pull/1057
* Fix links by blink1073 in https://github.com/jupyter-server/enterprise_gateway/pull/1056
* Update distributed.py by LeeMoonCh in https://github.com/jupyter-server/enterprise_gateway/pull/1055
* Adopt pre-commit by blink1073 in https://github.com/jupyter-server/enterprise_gateway/pull/1061
* Bump jinja2 dependency floor by kevin-bates in https://github.com/jupyter-server/enterprise_gateway/pull/1064
* Run auto formatters by blink1073 in https://github.com/jupyter-server/enterprise_gateway/pull/1065
* Add git-blame-ignore-revs by blink1073 in https://github.com/jupyter-server/enterprise_gateway/pull/1066
* Clean up pytest handling by blink1073 in https://github.com/jupyter-server/enterprise_gateway/pull/1067
* Add a kernel opening mechanism for load balancing! by LeeMoonCh in https://github.com/jupyter-server/enterprise_gateway/pull/1068
* Update links to default branch by blink1073 in https://github.com/jupyter-server/enterprise_gateway/pull/1072
* Add doc entry for load-balancing algorithm configuration by kevin-bates in https://github.com/jupyter-server/enterprise_gateway/pull/1070
* Support startup scripts and ipykernel subclasses by kevin-bates in https://github.com/jupyter-server/enterprise_gateway/pull/1076
* Remove conda env config from build workflow by kevin-bates in https://github.com/jupyter-server/enterprise_gateway/pull/1079
* Ignore deprecation warning from paramiko during pytest execution by kevin-bates in https://github.com/jupyter-server/enterprise_gateway/pull/1081
* Use flit build backend by blink1073 in https://github.com/jupyter-server/enterprise_gateway/pull/1083
* fix(k8s): handle status of deleted Pod correctly by dnwe in https://github.com/jupyter-server/enterprise_gateway/pull/1084
* Attempt to fix FD leak issue 1051 by rahul26goyal in https://github.com/jupyter-server/enterprise_gateway/pull/1054
* Use hatch and tbump by blink1073 in https://github.com/jupyter-server/enterprise_gateway/pull/1091
* update helm chart ingress by darkstarmv in https://github.com/jupyter-server/enterprise_gateway/pull/1073
* Bump paramiko version, remove temp ignore of deprecation warning by kevin-bates in https://github.com/jupyter-server/enterprise_gateway/pull/1092
* Enable CodeQL analysis in CI by akchinSTC in https://github.com/jupyter-server/enterprise_gateway/pull/1093
* Add support for Spark 3.0 and pod templates for k8s by kevin-bates in https://github.com/jupyter-server/enterprise_gateway/pull/559
* Add env var to specify a spark k8s operator configMap by tahesse in https://github.com/jupyter-server/enterprise_gateway/pull/1087
* Add support to define terminationGracePeriodSeconds in helm chart by CiprianAnton in https://github.com/jupyter-server/enterprise_gateway/pull/1099
* Release preparation by kevin-bates in https://github.com/jupyter-server/enterprise_gateway/pull/1102
* Use conda clean --all instead of -tipsy by kevin-bates in https://github.com/jupyter-server/enterprise_gateway/pull/1103
* Enabling specifying annotations for service accounts in helm chart by afaytelson in https://github.com/jupyter-server/enterprise_gateway/pull/1106
* reintroduce conda env setup and docs by bloomsa in https://github.com/jupyter-server/enterprise_gateway/pull/1107
* Refactoring EG Kernel Image Puller (KIP) Python Script by rahul26goyal in https://github.com/jupyter-server/enterprise_gateway/pull/1090
* Added new WebhookKernelSessionManager for Kernel Persistence by amazingarman in https://github.com/jupyter-server/enterprise_gateway/pull/1101
* Typo in make file example for running UTs by rahul26goyal in https://github.com/jupyter-server/enterprise_gateway/pull/1109
* Update dependency requirements to support `make env` target by kiersten-stokes in https://github.com/jupyter-server/enterprise_gateway/pull/1108
* Install pre-commit as part of the lint make task by lresende in https://github.com/jupyter-server/enterprise_gateway/pull/1111
* Add clean-env task to remove conda environment by lresende in https://github.com/jupyter-server/enterprise_gateway/pull/1110
* Make EnterpriseGatewayApp.shutdown more robust, since it's a cleanup procedure by CiprianAnton in https://github.com/jupyter-server/enterprise_gateway/pull/1121
* Enable EG to create pods via CRDs on Spark Operator by lresende in https://github.com/jupyter-server/enterprise_gateway/pull/1119
* Remove references to enterprise-gateway.yaml script by kevin-bates in https://github.com/jupyter-server/enterprise_gateway/pull/1123
* Fix shutdown issues by kevin-bates in https://github.com/jupyter-server/enterprise_gateway/pull/1117
* Availability modes by kevin-bates in https://github.com/jupyter-server/enterprise_gateway/pull/1095
* Update tensorflow-gpu base image by kevin-bates in https://github.com/jupyter-server/enterprise_gateway/pull/1122
* KIP: Define pulled_images as set, not list by kevin-bates in https://github.com/jupyter-server/enterprise_gateway/pull/1125
* Switch default to create PSP in KIP to false due to deprecation by kevin-bates in https://github.com/jupyter-server/enterprise_gateway/pull/1126
* Changes for handling interrupts for PySpark Kubernetes Kernel by SamRanjha in https://github.com/jupyter-server/enterprise_gateway/pull/1115
* Add type hints to EG application by kiersten-stokes in https://github.com/jupyter-server/enterprise_gateway/pull/1130
* 851: Add typing hints to process proxies by bloomsa in https://github.com/jupyter-server/enterprise_gateway/pull/1129
* Enable ability to not filter kernels in container deployments by kevin-bates in https://github.com/jupyter-server/enterprise_gateway/pull/1131
* Add kernel launch sequence diagram to contributors guide by kevin-bates in https://github.com/jupyter-server/enterprise_gateway/pull/1132
* Add typing hints to session managers and handler by kiersten-stokes in https://github.com/jupyter-server/enterprise_gateway/pull/1135
* Enable overriding Helm location from env var by lresende in https://github.com/jupyter-server/enterprise_gateway/pull/1139
* Rename allowed env configuration traits by kevin-bates in https://github.com/jupyter-server/enterprise_gateway/pull/1137
* Add type hints to kernels service by kevin-bates in https://github.com/jupyter-server/enterprise_gateway/pull/1140
* Fix Makefile WHEEL_FILES list by kevin-bates in https://github.com/jupyter-server/enterprise_gateway/pull/1142
* Remove reference to eg yaml that no longer exists by kevin-bates in https://github.com/jupyter-server/enterprise_gateway/pull/1144
* Use local kernel images if they exist by kevin-bates in https://github.com/jupyter-server/enterprise_gateway/pull/1143
* Address delayed shutdown behavior in k8s kernels by kevin-bates in https://github.com/jupyter-server/enterprise_gateway/pull/1146
* Bump the min version of Python Kubernetes client by rahul26goyal in https://github.com/jupyter-server/enterprise_gateway/pull/1148
* Ensure kernel session retrieve from resp is correct type by chiawchen in https://github.com/jupyter-server/enterprise_gateway/pull/1147
* Update v2.6.0 tar file reference by kevin-bates in https://github.com/jupyter-server/enterprise_gateway/pull/1149
* small API path correction by bloomsa in https://github.com/jupyter-server/enterprise_gateway/pull/1150
* Add hook to modify zmq.Context by arv1ndn in https://github.com/jupyter-server/enterprise_gateway/pull/1154
* Update kernel manager library docs by chiawchen in https://github.com/jupyter-server/enterprise_gateway/pull/1159
* Collect docker logs, cap jupyter_server < 1.19 by kevin-bates in https://github.com/jupyter-server/enterprise_gateway/pull/1163
* Remove cap for jupyter-server by kevin-bates in https://github.com/jupyter-server/enterprise_gateway/pull/1165
* CI Cleanup by blink1073 in https://github.com/jupyter-server/enterprise_gateway/pull/1166
* Flow configured envs from client to kernel pod by kevin-bates in https://github.com/jupyter-server/enterprise_gateway/pull/1164
* Maintenance cleanup by blink1073 in https://github.com/jupyter-server/enterprise_gateway/pull/1171
* Add mdformat plugins for GitHub support by hukkin in https://github.com/jupyter-server/enterprise_gateway/pull/1172
* Add references for installing spark operator on k8s by kevin-bates in https://github.com/jupyter-server/enterprise_gateway/pull/1173
* Rename CRD kill method and incorporate terminate_custom_resources by kiersten-stokes in https://github.com/jupyter-server/enterprise_gateway/pull/1175
* Fix helm version handling and package naming by kevin-bates in https://github.com/jupyter-server/enterprise_gateway/pull/1178
* Fix version portion of download command to refer to tag name by kevin-bates in https://github.com/jupyter-server/enterprise_gateway/pull/1180
* [feature] add support for manage service and configmap in kernel-pod by blackmetal23 in https://github.com/jupyter-server/enterprise_gateway/pull/1181
New Contributors
* icankeep made their first contribution in https://github.com/jupyter-server/enterprise_gateway/pull/1050
* LeeMoonCh made their first contribution in https://github.com/jupyter-server/enterprise_gateway/pull/1055
* dnwe made their first contribution in https://github.com/jupyter-server/enterprise_gateway/pull/1084
* darkstarmv made their first contribution in https://github.com/jupyter-server/enterprise_gateway/pull/1073
* tahesse made their first contribution in https://github.com/jupyter-server/enterprise_gateway/pull/1087
* CiprianAnton made their first contribution in https://github.com/jupyter-server/enterprise_gateway/pull/1099
* afaytelson made their first contribution in https://github.com/jupyter-server/enterprise_gateway/pull/1106
* amazingarman made their first contribution in https://github.com/jupyter-server/enterprise_gateway/pull/1101
* SamRanjha made their first contribution in https://github.com/jupyter-server/enterprise_gateway/pull/1115
* chiawchen made their first contribution in https://github.com/jupyter-server/enterprise_gateway/pull/1147
* arv1ndn made their first contribution in https://github.com/jupyter-server/enterprise_gateway/pull/1154
* hukkin made their first contribution in https://github.com/jupyter-server/enterprise_gateway/pull/1172
* blackmetal23 made their first contribution in https://github.com/jupyter-server/enterprise_gateway/pull/1181
**Full Changelog**: https://github.com/jupyter-server/enterprise_gateway/compare/v2.6.0...v3.0.0