更新日志
目录
更新日志¶
v2025.4.0¶
破坏性变更¶
Python 包
dask-gateway
和dask-gateway-server
现在需要 Python 3.10+。Helm chart 现在需要 k8s 1.30+,并且 Traefik 的捆绑 CRD 已更新。要升级到 2025.4.0,请首先升级注册的 CRD,如下所示
kubectl apply --server-side --force-conflicts -f https://raw.githubusercontent.com/dask/dask-gateway/2025.4.0/resources/helm/dask-gateway/crds/daskclusters.yaml kubectl apply --server-side --force-conflicts -f https://raw.githubusercontent.com/dask/dask-gateway/2025.4.0/resources/helm/dask-gateway/crds/traefik.yaml
新增功能¶
helm-chart: 添加
traefik.installTraefik
配置,以便在 Traefik 单独安装时选择退出 #857 (@gardleopard, @consideRatio, @ohait)
错误修复¶
修复 SLURM 后端中的拼写错误。 #883 (@amanning9, @consideRatio)
维护和改进¶
helm chart: 需要 k8s 1.30+ #888 (@consideRatio)
helm chart: 将 Traefik 从 3.2.0 更新到 3.3.5 #885 (@consideRatio)
固定 skein 的依赖项 protobuf,以解决 skein 中的问题 #880 (@consideRatio)
版本提升至 2025.2.0-0.dev #879 (@consideRatio)
从 setuptools 迁移到 hatchling #874 (@consideRatio)
迁移 go 代码以在 go 1.22+ 中运行 #873 (@consideRatio)
helm-chart: 将 dask-gateway-server 升级到使用 Python 3.13 (从 3.11) #870 (@consideRatio)
调整以适应 pytest-asyncio 关于 asyncio_default_fixture_loop_scope 的弃用警告 #866 (@consideRatio)
调整以适应 distributed 关于 SchedulerPlugin 方法签名的弃用警告 #865 (@consideRatio)
调整以适应 aiohttp 关于配置 shutdown_timeout 的弃用警告 #864 (@consideRatio)
更新 jupyterhub 用户 URL #862 (@minrk, @consideRatio)
忽略 aiohttp 推荐使用 web.AppKey 的警告 #861 (@consideRatio)
chore(python): 尽可能升级 #854 (@gardleopard, @consideRatio)
helm-chart: 删除 Traefik 中间件已弃用的 forceSlash 选项用法 #853 (@gardleopard, @consideRatio)
tests: 修复不再支持的 pytest.warns(None) 用法 #849 (@consideRatio)
修复 datetime 的弃用警告 #847 (@consideRatio)
tests: 修复与现代 pytest 的兼容性 #844 (@consideRatio)
需要 python 3.10+,高于 3.9+ #841 (@consideRatio)
feat(traefik): 将 Traefik 从 2.10.6 提升到 3.2.0,更新 CRD 和 RBAC #836 (@gardleopard, @consideRatio, @jacobtomlinson)
文档改进¶
tests: 添加关于警告的 fixme 注释 #871 (@consideRatio)
持续集成改进¶
ci: 删除未发布 k8s 1.33 的测试 #893 (@consideRatio)
ci: 修复 refreeze 脚本 #890 (@consideRatio)
ci: 更新 refreeze 脚本 #889 (@consideRatio)
ci: 将独立的 Traefik 测试作业与主测试作业合并 #872 (@consideRatio)
ci: 使用 go 1.21 构建并将 dask-gateway-server 发布到 PyPI #868 (@consideRatio)
ci: 配置 actions/setup-go 以查找 go.sum 文件用于缓存 #867 (@consideRatio)
build(deps): 将 peter-evans/create-pull-request 从 6 提升到 7 #858 (@consideRatio)
ci: 目前仅使用 golang 1.20 和 1.21 进行测试 #845 (@consideRatio)
ci: 修复无法一致采用 ubuntu-24.04 runner 的问题 #843 (@consideRatio)
ci: 使用 ubuntu 24.04 运行测试等,高于 22.04 #840 (@consideRatio)
ci: 删除通过 conda-forge 安装 pymzq 的临时解决方案 #839 (@consideRatio)
ci: 升级测试镜像中的 pip,以便安装 sqlalchemy 等 #838 (@consideRatio)
build(deps): 将 jupyterhub/action-k3s-helm 从 3 提升到 4 #806 (@consideRatio)
build(deps): 将 peter-evans/create-pull-request 从 5 提升到 6 #805 (@consideRatio)
v2024.1.0¶
(完整更新日志)
破坏性变更¶
停止支持 k8s 1.24,测试 against 1.29 #794 (@consideRatio)
错误修复¶
更新 dask-gateway-server 对 Python 3.12+ 的 setuptools 支持 #778 (@consideRatio)
明确 async-timeout 的依赖关系,并将其限定在 python 3.10 及更旧版本 #772 (@consideRatio)
默认不再显式设置 imagePullPolicy 为 IfNotPresent #770 (@consideRatio, @TomAugspurger)
k8s controller: worker cores 四舍五入到三位小数,而不是一位 #766 (@consideRatio, @TomAugspurger)
维护和改进¶
通过固定间接依赖项修复文档构建 #799 (@consideRatio)
停止支持 k8s 1.24,测试 against 1.29 #794 (@consideRatio)
将 traefik 从 2.10.4 更新到 2.10.6 #773,#792 (@consideRatio)
降低 k8s controller 协调循环消息的日志级别 #771 (@consideRatio, @TomAugspurger)
文档改进¶
修复 install-kube.rst 中列表未按预期显示的问题 #795 (@Ph0tonic, @consideRatio)
修复 changelog 中应用错误版本的 CRD 命令 #748 (@brews, @consideRatio)
持续集成改进¶
ci: 第二次尝试修复 artifact 上传/下载问题 #791 (@consideRatio)
ci: 使 artifact 上传/下载与新 action 版本兼容 #790 (@consideRatio)
ci: 添加对 python 3.12 的测试 #776 (@consideRatio)
v2023.9.0¶
(完整更新日志)
重大变更¶
Python 包
dask-gateway
和dask-gateway-server
现在需要 Python 3.9+,并且dask-gateway-server
现在需要sqlalchemy
2。Helm chart 现在需要 k8s 1.24+,并且 Traefik 的捆绑 CRD 已更新。要升级到 2023.9.0,首先按如下所示升级已注册的 CRD
kubectl apply --server-side --force-conflicts -f https://raw.githubusercontent.com/dask/dask-gateway/2023.9.0/resources/helm/dask-gateway/crds/daskclusters.yaml kubectl apply --server-side --force-conflicts -f https://raw.githubusercontent.com/dask/dask-gateway/2023.9.0/resources/helm/dask-gateway/crds/traefik.yaml
新增功能¶
为网关资源添加 envs 键的 Helm 值 #688 (@JoeJasinski, @consideRatio)
已修复的错误¶
客户端:修复 jupyter 中选项的双重显示问题 #677 (@Kirill888, @consideRatio)
维护与改进¶
要求使用 py39、k8s 1.24,使用 golang 1.21,将 traefik 从 v2.9 更新到 v2.10 #739 (@consideRatio)
将覆盖率配置迁移到 pyproject.toml #742 (@consideRatio)
将 setuptools 锁定到 v63 并修复失败的测试 #741 (@consideRatio)
维护:Dependabot 每月更新 GitHub Actions #700 (@consideRatio)
支持并要求使用 sqlalchemy 2.0 #685 (@TomAugspurger, @consideRatio)
文档改进¶
链接到 Dask 集中部署页面 #690 (@scharlottej13, @jacobtomlinson, @consideRatio)
v2023.1.1¶
(完整更新日志)
已修复的错误¶
客户端:修复使用 ipywidgets 8 显示小部件失败的问题 #672 (@Kirill888)
维护与改进¶
更新 RELEASE.md 以使用 tbump #673 (@consideRatio)
v2023.1.0¶
(完整更新日志)
亮点¶
Helm chart 中的
dask-gateway-server
现在使用 Python 3.11 运行。完全兼容 Python 3.11,以前
dask-gateway-server
不支持,但dask-gateway
客户端已支持。
新增功能¶
添加对 Python 3.11 的支持 #659 (@consideRatio)
维护与改进¶
在 Helm chart 镜像中使用并修复对 Python 3.11 的支持 #666 (@consideRatio)
维护:增加 distributed>=2022.11.0 的工作进程关闭测试等待时间 #652 (@consideRatio)
维护:增加 distributed>=2022.11.0 的工作进程关闭测试等待时间,针对 slurm #660 (@consideRatio)
持续集成改进¶
持续集成:针对 python 3.11 进行测试(测试失败) #656 (@consideRatio)
持续集成:pre-commit.ci 每月更新钩子,而非每周 #655 (@consideRatio)
持续集成:通过等待启动,帮助 hadoop/pbs 测试更健壮 #647 (@consideRatio)
其他合并的 PR¶
重新冻结 dask-gateway/Dockerfile.requirements.txt #669 (@dask-bot)
重新冻结 dask-gateway/Dockerfile.requirements.txt #668 (@dask-bot)
重新冻结 dask-gateway-server/Dockerfile.requirements.txt #667 (@dask-bot)
重新冻结 dask-gateway-server/Dockerfile.requirements.txt #663 (@dask-bot)
重新冻结 dask-gateway/Dockerfile.requirements.txt #664 (@dask-bot)
v2022.11.0¶
(完整更新日志)
重大变更¶
此重大变更仅影响 Helm chart 安装。Traefik 的捆绑 CRD 已更新。要升级到 2022.11.0,也升级如下所示的已注册 CRD。
kubectl apply --server-side --force-conflicts -f https://raw.githubusercontent.com/dask/dask-gateway/2022.11.0/resources/helm/dask-gateway/crds/daskclusters.yaml
kubectl apply --server-side --force-conflicts -f https://raw.githubusercontent.com/dask/dask-gateway/2022.11.0/resources/helm/dask-gateway/crds/traefik.yaml
已修复的错误¶
修复根据 PEP 600 检查时无效的 wheel 名称 #635 (@consideRatio)
修复 arm64 镜像构建和发布失败的问题 #634 (@consideRatio)
维护与改进¶
Helm chart:将 traefik 更新到 2.9.4(关联 CRD 未更改) #636 (@consideRatio)
Helm chart:将 traefik 更新到 2.9.1 并更新关联 CRD #621 (@consideRatio)
持续集成改进¶
持续集成:明确使用 ubuntu-22.04 并限制测试时长 #644 (@consideRatio)
持续集成:针对 golang 1.19、最新 slurm、最新 hadoop 进行测试 #637 (@consideRatio)
持续集成:针对最新 k8s 版本进行测试 #620 (@consideRatio)
其他合并的 PR¶
重新冻结 dask-gateway/Dockerfile.requirements.txt #644 (@dask-bot)
重新冻结 dask-gateway/Dockerfile.requirements.txt #640 (@dask-bot)
重新冻结 dask-gateway-server/Dockerfile.requirements.txt #639 (@dask-bot)
重新冻结 dask-gateway-server/Dockerfile.requirements.txt #631 (@dask-bot)
重新冻结 dask-gateway/Dockerfile.requirements.txt #630 (@dask-bot)
[pre-commit.ci] pre-commit 自动更新 #628 (@pre-commit-ci)
[pre-commit.ci] pre-commit 自动更新 #625 (@pre-commit-ci)
构建(依赖):将 JamesIves/github-pages-deploy-action 从 4.4.0 升级到 4.4.1 #623 (@dependabot)
v2022.10.0¶
本次发布不包含重大变更。
(完整更新日志)
新增功能¶
简化与命名空间本地 JupyterHub Helm charts 的集成 #612 (@consideRatio)
Helm chart:添加 gateway.backend.imagePullSecrets #606 (@maxime1907, @consideRatio)
已修复的错误¶
修复 SLURM 后端的拼写错误。 #603 (@amanning9, @jcrist)
连接到现有集群时,为 GatewayCluster 添加公共地址 #601 (@giffels, @consideRatio)
修复:添加缺失的字段 nameOverride 和 fullnameOverride #593 (@maxime1907, @consideRatio)
在客户端中等待 close_rpc() #588 (@patrix58, @consideRatio)
维护与改进¶
重新冻结 dask-gateway-server/Dockerfile.requirements.txt #617 (@dask-bot)
重新冻结 dask-gateway/Dockerfile.requirements.txt #616 (@dask-bot)
重构:使用 Traefik 文档化的命令行标志语法 #611 (@consideRatio, @martindurant)
与 ipywidgets 8+ 的兼容性修复 #609 (@viniciusdc, @consideRatio)
文档改进¶
重新排序网关配置并更新关于 gateway.nodeSelector 的注释 #590 (@GeorgianaElena, @consideRatio)
持续集成改进¶
构建(依赖):将 pypa/gh-action-pypi-publish 从 1.5.0 升级到 1.5.1 #602 (@dependabot, @consideRatio)
构建(依赖):将 docker/setup-qemu-action 从 1 升级到 2 #600 (@dependabot, @consideRatio)
构建(依赖):将 actions/setup-python 从 3 升级到 4 #599 (@dependabot, @consideRatio)
构建(依赖):将 JamesIves/github-pages-deploy-action 从 4.2.5 升级到 4.4.0 #598 (@dependabot, @consideRatio)
构建(依赖):将 jupyterhub/action-k3s-helm 从 2 升级到 3 #597 (@dependabot, @consideRatio)
构建(依赖):将 docker/setup-buildx-action 从 1 升级到 2 #596 (@dependabot, @consideRatio)
持续集成:修复损坏的 dependabot 配置 #595 (@consideRatio)
本次发布的贡献者¶
@amanning9 | @consideRatio | @dependabot | @GeorgianaElena | @giffels | @jcrist | @martindurant | @maxime1907 | @patrix58 | @pre-commit-ci | @viniciusdc
v2022.6.1¶
已修复的错误¶
更新 dask-gateway 包的要求以使其正常工作 #580 (@consideRatio)
持续集成改进¶
持续集成:避免 linkcheck 导致的 429 Too Many Requests 问题 #578 (@consideRatio)
v2022.6.0¶
本次发布要求 dask-gateway 客户端需要 dask>=2022, distributed>=2022, 以及 click>=8.1.3,但不包含其他重大变更。
新增功能¶
为镜像提供冻结的 requirements.txt 文件,并实现自动化更新 #575 (@consideRatio)
已修复的错误¶
修复与 distributed >= 2022.5.1 和 traitlets >= 5.2.0 的兼容性问题,并提高所需版本的下限 #573 (@consideRatio)
让 Traefik 通过 IngressRoute 资源跨命名空间路由流量 #569 (@olivier-lacroix)
维护与改进¶
文档改进¶
更新 Dask logo #572 (@jacobtomlinson)
更新文档主题以适应品牌重塑 #567 (@scharlottej13)
文档说明在 hub services 配置中设置 display: False #564 (@yuvipanda)
文档:移除关于 dev-environment.yaml 的过时注释 #557 (@consideRatio)
本次发布的贡献者¶
@consideRatio | @jacobtomlinson | @jcrist | @martindurant | @menendes | @olivier-lacroix | @rigzba21 | @scharlottej13 | @TomAugspurger | @yuvipanda | @zonca
v2022.4.0¶
本次发布是长期以来的首次发布,带来了文档和自动化的显著改进,使未来的版本发布更加容易。
该项目现在采用 CalVer 版本控制,使用 YYYY.MM.MICRO
格式,类似于其他 Dask 组织项目使用的略有不同的 YYYY.0M.MICRO
格式(月份带有前导零)。
重大变更¶
dask-gateway
和dask-gateway-server
现在需要 Python 3.8+dask-gateway Helm chart 的重大变更
必需操作:升级到此版本时,您还必须更新 Helm chart 的捆绑 CRD 资源,如下所示
kubectl apply -f https://raw.githubusercontent.com/dask/dask-gateway/2022.4.0/resources/helm/dask-gateway/crds/daskclusters.yaml kubectl apply -f https://raw.githubusercontent.com/dask/dask-gateway/2022.4.0/resources/helm/dask-gateway/crds/traefik.yaml
现在已发布到 Helm chart 仓库 https://helm.dask.org。
现在需要 k8s 1.20+ 和
helm
3.5+。现在捆绑了
values.schema.json
文件,该文件不容忍大多数无法识别的配置,以帮助用户避免配置中的拼写错误。现在将 Helm chart 的镜像推送到
ghcr.io/dask/dask-gateway-server
和ghcr.io/dask/dask-gateway
。现在声明
ghcr.io/dask/dask-gateway
的用途是作为 Helm chart 测试目的的真正最小化镜像,并鼓励用户维护自己的工作节点和调度器 Pod 镜像。请参阅有关使用您自己的镜像的相关文档。
新增功能¶
持续集成, 维护:构建/发布到 PyPI,构建 linux/mac 和 amd64/arm64 wheel #538 (@consideRatio)
Helm chart:添加 values.schema.yaml 和相关的维护脚本 #429 (@consideRatio)
添加可定制的 worker_threads #353 (@AndreaGiardini)
增强功能¶
Helm chart:为 traefik 添加 imagePullSecrets #445 (@consideRatio)
已修复的错误¶
修复使用 tini 作为入口点启动 api/controller pod 失败的问题 #540 (@consideRatio)
修复了 worker_threads 配置 #463 (@TomAugspurger)
避免 Gateway.__del__ 中的警告 #442 (@TomAugspurger)
Helm chart:添加标签以允许直接网络访问 jupyterhub pod #352 (@consideRatio)
维护与改进¶
更新 traefik 的 CRD #554 (@consideRatio)
更新 dev-environment.yaml 并移除 test_helm.py #550 (@consideRatio)
维护,文档:为偶尔出现的 markdown 文件和 sphinx_copybutton 添加 myst-parser #548 (@consideRatio)
禁用 dask/dask-gateway 镜像的 arm64 #545 (@consideRatio)
引用 distributed 实际使用的 TimeoutError #534 (@consideRatio)
Helm chart 镜像:移除 conda -> 仅 pip,添加使用免责声明,最小化 Dockerfile 复杂度 #533 (@consideRatio)
pre-commit:开始使用 isort #532 (@consideRatio)
停止支持 Python 3.7 #531 (@consideRatio)
维护:避免 click 中的回归/重大变更,并显式声明我们对该库的依赖 #525 (@consideRatio)
清理不再需要的 Python 3.6 解决方法 #510 (@consideRatio)
持续集成,pre-commit:添加修复空格的自动格式化工具 #507 (@consideRatio)
维护/持续集成:移除对 Python 3.6 的支持,并测试多个版本的 Python 和 Golang #501 (@consideRatio)
添加 GitHub 样板 .gitignore #499 (@consideRatio)
Helm chart:将 traefik CRD 和 Traefik 版本从 2.5 更新到 2.6 #479 (@consideRatio)
将 dask 和 distributed 升级到 2022.02.0 #474 (@consideRatio)
更新 docker 镜像 #464 (@TomAugspurger)
使用新的 Dask 文档主题 #448 (@jacobtomlinson)
修复/更新 pre commit 配置 #443 (@TomAugspurger)
注册 kubernetes pytest 标记 #441 (@TomAugspurger)
Helm chart:更新到 traefik v2.5.x #431 (@consideRatio)
Helm chart:重构以使用一致的现代语法 #425 (@consideRatio)
Helm chart:不打包 README.rst 文件 #424 (@consideRatio)
镜像:对 arm64 兼容的 Dockerfile 进行了一些重构和版本升级 #423 (@consideRatio)
Helm chart:更新在 k8s 1.22 中不再支持的已弃用 k8s 资源 #420 (@consideRatio)
使用 dask 中的 format_bytes 而非 distributed #416 (@TomAugspurger)
文档改进¶
文档:回滚添加 copybutton,与 dask 主题配合不佳 #556 (@consideRatio)
添加 RELEASE.md #549 (@consideRatio)
文档说明 skaffold.yaml 并更新镜像引用 #513 (@consideRatio)
持续集成/文档:与构建和测试文档相关的更新 #500 (@consideRatio)
添加了发布说明 #467 (@TomAugspurger)
文档:移除多余的 https #447 (@raybellwaves)
Helm chart:添加关于虚拟 schema 的说明 #444 (@consideRatio)
更新从旧到新 Helm chart 仓库的引用 #438 (@consideRatio)
清理过时的 travis 引用 #426 (@consideRatio)
在服务器安装说明中添加关于 Go 版本的警告。 #399 (@douglasdavis)
其他合并的 PR¶
持续集成:与 PEP600 关于 wheel 平台名称的规定保持一致 #555 (@consideRatio)
持续集成:将三个作业定义重构为一个运行三次 #552 (@consideRatio)
持续集成:添加 helm chart 升级测试 #551 (@consideRatio)
持续集成:避免在 fork 的 PR 分支中运行测试 #541 (@consideRatio)
持续集成:修复 pbs 镜像和测试,减少线程并延迟 pip 安装以避免内存峰值导致进程终止 #536 (@consideRatio)
持续集成:通过在运行测试前稍作休眠来修复间歇性错误 #530 (@consideRatio)
[pre-commit.ci] pre-commit 自动更新 #527 (@pre-commit-ci)
[pre-commit.ci] pre-commit 自动更新 #521 (@pre-commit-ci)
持续集成:通过 docs/requirements.txt 和 tests/requirements.txt 去重依赖项并更新 CI 镜像 #519 (@consideRatio)
持续集成:使用 k3s 代替 k3d 设置 k8s,并测试 k8s 1.20-1.23 版本 #518 (@consideRatio)
持续集成:添加 fixme 说明,更新 python/go 版本,使脚本像其他脚本一样可执行 #517 (@consideRatio)
持续集成:使用 chartpress 构建/测试/发布镜像和 Helm chart #514 (@consideRatio)
持续集成:添加超时以避免间歇性挂起问题导致的 6 小时后果 #512 (@consideRatio)
持续集成,pre-commit:添加 python 风格现代化自动格式化工具 #508 (@consideRatio)
持续集成:针对现代 go 版本运行 go 原生测试 #505 (@consideRatio)
持续集成:更新针对 python 3.7-3.10 的 black 配置 #503 (@consideRatio)
持续集成:让 flake8 在一个地方配置而不是三个地方 #497 (@consideRatio)
持续集成:修复文档工作流触发器,更新杂项操作版本,解除一些依赖项的版本锁定 #495 (@consideRatio)
持续集成:添加构建/推送 python 包工作流 #494 (@consideRatio)
持续集成:添加构建/推送镜像工作流 #493 (@consideRatio)
持续集成:测试工作流和 pytest-asyncio 的杂项更新 #492 (@consideRatio)
持续集成:删除不再使用的脚本 before_install.sh(travis 遗留) #491 (@consideRatio)
持续集成:添加 dependabot 配置 #490 (@consideRatio)
持续集成:移除不再使用的 (?) github repo 部署密钥(用于推送到 gh-pages 分支?) #485 (@consideRatio)
[pre-commit.ci] pre-commit 自动更新 #481 (@pre-commit-ci)
持续集成:修复持续集成失败,优化工作流触发器,文档说明 pre-commit.ci 的使用 #477 (@consideRatio)
持续集成:在 github actions 中根据需要为 pytest 添加 --color=yes #430 (@consideRatio)
持续集成:测试 GitHub Actions 进行自动发布 #339 (@fanshi118)
本次发布的贡献者¶
@aktech | @AndreaGiardini | @aravindrp | @arokem | @bolliger32 | @brews | @cdibble | @choldgraf | @consideRatio | @cslovell | @delgadom | @dgerlanc | @dhirschfeld | @douglasdavis | @droctothorpe | @erl987 | @fanshi118 | @Id2ndR | @jacobtomlinson | @JColl88 | @jcrist | @jrbourbeau | @jsignell | @martindurant | @menendes | @mmccarty | @mukhery | @pre-commit-ci | @quasiben | @raybellwaves | @rigzba21 | @rileyhun | @rsignell-usgs | @TomAugspurger | @wdhowe | @yuvipanda