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