内容

更新日志

内容

更新日志

备注

分布式的变更日志现在包含在 Dask 变更日志 中。

2023年9月3日

发布于2023年9月29日

亮点

在合并和洗牌图优化期间减少内存消耗

之前,在优化用于洗牌和合并操作的任务图时,会出现一个大的内存峰值(参见 GH#8196 的例子)。此版本消除了该内存峰值。

更多详情请参见 Patrick HoeflerGH#8197

安静的 JupyterLab 关闭

以前在使用调度器运行 Jupyter 时(例如 --jupyter CLI 标志),当从 Web 应用程序关闭笔记本服务器时,会引发错误。此版本确保不会引发错误,并且关闭过程是干净的。

详情请参见 Thomas GraingerGH#8220

其他更改

2023年9月2日

发布于2023年9月15日

亮点

减少P2P混洗的内存占用

显著减少了P2P洗牌使用的峰值和平均内存(最多减少2倍)。此更改还将P2P支持的``pyarrow``最低版本提高到``pyarrow=12``。

详情请参见 Hendrik MakaitGH#8157

改进的插件API

为了提供更一致和便捷的插件用户体验,引入了两个插件变更:

  1. 插件现在必须继承自 WorkerPluginSchedulerPluginNannyPlugin 基类。不继承自基类的旧式插件仍将工作,但会有弃用警告。

  2. 新引入了一个 Client.register_plugin() 方法,以替代之前的 Client.register_worker_plugin()Client.register_scheduler_plugin() 方法。现在所有插件都应该使用集中的 Client.register_plugin() 方法进行注册。

from dask.distributed import WorkerPlugin, SchedulerPlugin

class MySchedulerPlugin(SchedulerPlugin):      # Inherits from SchedulerPlugin
    def start(self, scheduler):
        print("Hello from the scheduler!")

class MyWorkerPlugin(WorkerPlugin):            # Inherits from WorkerPlugin
    def setup(self, worker):
        print(f"Hello from Worker {worker}!")

client.register_plugin(MySchedulerPlugin())    # Single method to register both types of plugins
client.register_plugin(MyWorkerPlugin())

详情请参见 Hendrik MakaitGH#8169GH#8150

为配置选项的重命名发出弃用警告

当使用已被重命名的 Dask 配置选项时,用户现在会收到一个指向新名称的弃用警告。

详情请参见 crusaderkyGH#8179

其他更改

2023年9月1日

发布于2023年9月6日

增强功能

弃用

维护

2023.9.0

发布于2023年9月1日

增强功能

Bug 修复

文档

维护

2023年8月1日

发布于2023年8月18日

新功能

增强功能

Bug 修复

文档

维护

2023.8.0

发布于2023年8月4日

增强功能

Bug 修复

文档

维护

2023年7月1日

发布于2023年7月20日

增强功能

Bug 修复

文档

维护

2023.7.0

发布于2023年7月7日

增强功能

Bug 修复

文档

维护

2023.6.1

发布于2023年6月26日

增强功能

Bug 修复

维护

2023.6.0

发布于2023年6月9日

增强功能

Bug 修复

维护

2023年5月1日

发布于2023年5月26日

备注

此版本放弃了对 Python 3.8 的支持。自此版本起,Dask 支持 Python 3.9、3.10 和 3.11。更多详情请参见 此社区问题

增强功能

Bug 修复

维护

2023.5.0

发布于2023年5月12日

增强功能

  • Client.upload_file 发送给 Workers 和 Scheduler 并重命名临时目录 (GH#7802) Miles

  • 允许仪表板与 bokeh 预发布版本一起使用 (GH#7814) James Bourbeau

Bug 修复

维护

2023年4月1日

发布于2023年4月28日

增强功能

Bug 修复

维护

2023.4.0

发布于2023年4月14日

备注

通过此次发布,我们进行了一项更改,这将要求 Dask 调度器与客户端和工作节点具有一致的软件和硬件能力。

一直建议您的客户端和工作程序具有一致的软件和硬件环境,以便数据结构和依赖项可以在它们之间进行序列化和传递。然而,Dask调度程序最近的更改意味着我们现在还要求您的调度程序具有与其他所有内容相同的一致环境。

增强功能

Bug 修复

维护

2023.3.2.1

发布于2023年4月5日

Bug 修复

2023年3月2日

发布于2023年3月24日

增强功能

Bug 修复

文档

维护

2023年3月1日

发布于2023年3月10日

增强功能

Bug 修复

文档

  • Client.submitClient.mapClient.scatter 中添加注释,描述当前任务图解析算法的限制 (GH#7588) Eugene Druzhynin

维护

2023.3.0

发布于2023年3月1日

Bug 修复

维护

2023年2月1日

发布于2023年2月24日

增强功能

Bug 修复

维护

2023.2.0

发布于2023年2月10日

增强功能

维护

2023年1月1日

发布于2023年1月27日

增强功能

Bug 修复

文档

维护

2023.1.0

发布于2023年1月13日

新功能

增强功能

Bug 修复

文档

维护

2022.12.1

发布于2022年12月16日

增强功能

Bug 修复

维护

2022.12.0

于2022年12月2日发布

增强功能

Bug 修复

文档

维护

2022.11.1

发布于2022年11月18日

增强功能

文档

维护

2022.11.0

发布于2022年11月15日

备注

此版本将默认调度模式更改为使用 排队 。这将在大多数情况下显著减少集群内存使用,并通常提高稳定性和性能。了解更多请点击这里 ,并请在 此讨论 中提供任何反馈。

在极少数情况下,这可能会使某些工作负载变慢。有关更多信息以及如何切换回旧模式,请参阅 文档

新功能

增强功能

文档

Bug 修复

维护

2022.10.2

发布于2022年10月31日

这是一个热修复版本

2022.10.1

发布于2022年10月28日

新功能

增强功能

文档

Bug 修复

维护

2022.10.0

发布于2022年10月14日

备注

此版本弃用了 dask-schedulerdask-workerdask-ssh 命令行接口,取而代之的是 dask schedulerdask workerdask ssh。旧风格的命令行接口将继续工作一段时间,但在未来的版本中将被移除。

作为此次迁移的一部分,旧式和新式CLI的``–reconnect``、--nprocs--bokeh--bokeh-port CLI选项也已被移除。这些选项之前已经被弃用。

增强功能

Bug 修复

维护

2022年9月2日

发布于2022年9月30日

增强功能

Bug 修复

文档

维护

2022.9.1

发布于2022年9月16日

增强功能

Bug 修复

维护

2022.9.0

发布于2022年9月2日

增强功能

Bug 修复

弃用

文档

维护

2022年8月1日

发布于2022年8月19日

新功能

增强功能

Bug 修复

文档

维护

2022.8.0

发布于2022年8月5日

新功能

增强功能

Bug 修复

弃用

文档

维护

2022年7月1日

发布于2022年7月22日

新功能

增强功能

Bug 修复

维护

2022.7.0

发布于2022年7月8日

增强功能

Bug 修复

维护

2022年6月1日

发布于2022年6月24日

亮点

此版本包括了 Worker 状态机重构。预期应该是 Worker 状态是其自身的同步子类。将所有状态提取到其自己的类中,使我们能够在不调用任何并发或异步代码的情况下编写有针对性的单元测试。

更多信息请参见 GH#5736

增强功能

Bug 修复

弃用

维护

2022.6.0

发布于2022年6月10日

增强功能

Bug 修复

弃用

文档

维护

2022.05.2

发布于2022年5月26日

增强功能

Bug 修复

维护

2022.05.1

发布于2022年5月24日

新功能

增强功能

Bug 修复

弃用

文档

维护

2022.05.0

发布于2022年5月2日

亮点

这是针对 此问题 的修复版本。

增强功能

Bug 修复

2022.04.2

发布于2022年4月29日

增强功能

Bug 修复

弃用

文档

维护

2022.04.1

发布于2022年4月15日

新功能

增强功能

Bug 修复

维护

2022.04.0

发布于2022年4月1日

备注

这是第一个支持 Python 3.10 的版本

新功能

增强功能

Bug 修复

弃用

文档

维护

2022.03.0

发布于2022年3月18日

新功能

增强功能

Bug 修复

文档

维护

2022.02.1

发布于2022年2月25日

新功能

增强功能

Bug 修复

弃用

文档

维护

2022.02.0

发布于2022年2月11日

备注

这是支持 Python 3.7 的最后一个版本

增强功能

Bug 修复

弃用

文档

维护

2022.01.1

发布于2022年1月28日

新功能

增强功能

Bug 修复

文档

维护

2022.01.0

发布于 2022 年 1 月 14 日

新功能

增强功能

Bug 修复

文档

维护

2021.12.0

发布于2021年12月10日

增强功能

错误修复

文档

维护

2021.11.2

发布于2021年11月19日

2021.11.1

发布于2021年11月8日

2021.11.0

发布于2021年11月5日

2021.10.0

发布于2021年10月22日

备注

此版本修复了一个与单机Dask集群相关的潜在安全漏洞。使用 dask.distributed.LocalClusterdask.distributed.Client() (默认使用 LocalCluster )启动的集群会错误地将其各自的Dask工作节点配置为监听外部接口(通常使用随机选择的高端口),而不是仅监听 localhost 。使用此方法创建的Dask集群,并且在具有这些端口暴露的机器上运行,可能会被高级攻击者利用来实现远程代码执行。在具有标准防火墙的机器上运行的用户不应受到影响。此漏洞记录在 CVE-2021-42343 中,并在本版本中修复(GH#5427)。感谢Jean-Pierre van Riel发现并报告此问题。

2021.09.1

发布于2021年9月21日

2021.09.0

发布于2021年9月3日

2021.08.1

发布于2021年8月20日

2021年8月

发布于2021年8月13日

2021年7月2日

发布于2021年7月30日

2021.07.1

发布于2021年7月23日

2021年7月

发布于2021年7月9日

2021.06.2

发布于2021年6月22日

2021.06.1

发布于2021年6月18日

2021.06.0

发布于2021年6月4日

2021.05.1

发布于2021年5月28日

2021.05.0

发布于2021年5月14日

2021.04.1

发布于2021年4月23日

2021.04.0

发布于2021年4月2日

2021.03.1

发布于2021年3月26日

2021.03.0

发布于2021年3月5日

备注

这是第一个支持 Python 3.9 的版本,也是最后一个支持 Python 3.6 的版本。

2021年2月

发布于2021年2月5日

2021.01.1

发布于2021年1月22日

2021.01.0

发布于2021年1月15日

2020.12.0

发布于2020年12月10日

亮点

  • 切换到 CalVer 版本控制方案。

  • 调度器现在可以接收 Dask 的 HighLevelGraph 而不是原始的字典任务图。这使得从客户端到调度器的任务图通信更加高效。

  • 添加了对使用自定义 Layer 级注释(如 priorityretries 等)的支持,这些注释可以通过 dask.annotations 上下文管理器使用。

  • 将 Dask 的最低支持版本更新至 2020.12.0。

  • 添加了许多类型注解和更新,以逐步允许对调度器进行Cython化。

所有更改

2.30.1 - 2020-11-03

2.30.0 - 2020-10-06

2.29.0 - 2020-10-02

2.28.0 - 2020-09-25

2.27.0 - 2020-09-18

2.26.0 - 2020-09-11

2.25.0 - 2020-08-28

2.24.0 - 2020-08-22

2.23.0 - 2020-08-14

2.22.0 - 2020-07-31

2.21.0 - 2020-07-17

2.20.0 - 2020-07-02

2.19.0 - 2020-06-19

2.18.0 - 2020-06-05

2.17.0 - 2020-05-26

2.16.0 - 2020-05-08

2.15.2 - 2020-05-01

2.15.1 - 2020-04-28

2.15.0 - 2020-04-24

2.14.0 - 2020-04-03

2.13.0 - 2020-03-25

2.12.0 - 2020-03-06

2.11.0 - 2020-02-19

2.10.0 - 2020-01-28

2.9.3 - 2020-01-17

2.9.2 - 2020-01-16

2.9.1 - 2019-12-27

2.9.0 - 2019-12-06

2.8.1 - 2019-11-22

2.8.0 - 2019-11-14

2.7.0 - 2019-11-08

此版本放弃了对 Python 3.5 的支持

2.6.0 - 2019-10-15

2.5.2 - 2019-10-04

2.5.1 - 2019-09-27

2.5.0 - 2019-09-27

2.4.0 - 2019-09-13

2.3.2 - 2019-08-23

2.3.1 - 2019-08-22

2.3.0 - 2019-08-16

2.2.0 - 2019-07-31

2.1.0 - 2019-07-08

2.0.1 - 2019-06-26

我们忽略了在 setup.py 文件中包含 python_requires=,导致 Python 2 用户错误地获取了 2.0.0 版本的包,造成了混淆。这个问题在 2.0.1 版本中得到了修复,并且我们已经从 PyPI 中移除了 2.0.0 版本的文件。

2.0.0 - 2019-06-25

1.28.1 - 2019-05-13

这是一个由于上游配置更改引起的小型修复版本。

1.28.0 - 2019-05-08

1.27.1 - 2019-04-29

1.27.0 - 2019-04-12

1.26.1 - 2019-03-29

1.26.0 - 2019-02-25

1.25.3 - 2019-01-31

1.25.2 - 2019-01-04

1.25.1 - 2018-12-15

1.25.0 - 2018-11-28

1.24.2 - 2018-11-15

1.24.1 - 2018-11-09

1.24.0 - 2018-10-26

1.23.3 - 2018-10-05

1.23.2 - 2018-09-17

1.23.1 - 2018-09-06

1.23.0 - 2018-08-30

1.22.1 - 2018-08-03

1.22.0 - 2018-06-14

1.21.8 - 2018-05-03

1.21.7 - 2018-05-02

1.21.6 - 2018-04-06

1.21.5 - 2018-03-31

1.21.4 - 2018-03-21

1.21.3 - 2018-03-08

1.21.2 - 2018-03-05

1.21.1 - 2018-02-22

1.21.0 - 2018-02-09

1.20.2 - 2017-12-07

1.20.1 - 2017-11-26

1.20.0 - 2017-11-17

1.19.3 - 2017-10-16

  • 在 profile.identity 中处理 None 情况 (GH#1456)

  • Asyncio 重写 (GH#1458)

  • 添加重新加入功能伙伴以退出 (GH#1462)

  • 嵌套计算 (GH#1465)

  • 在比较 Bokeh 版本时使用 LooseVersion (GH#1470)

1.19.2 - 2017-10-06

  • as_completed 不会阻塞已取消的 futures (GH#1436)

  • 在取消时通知等待的线程/协程 (GH#1438)

  • 将 Future(inform=True) 设为默认值 (GH#1437)

  • 将 Scheduler.transition_story 重命名为 story (GH#1445)

  • 未来默认使用默认客户端 (GH#1449)

  • 在 Client.call_stack 中添加 keys= 关键字 (GH#1446)

  • 向worker添加get_current_task (GH#1444)

  • 在 ioloop 启动前确保 Client 保持异步 (GH#1452)

  • 在bokeh图中移除“点击查看工人页面” (GH#1453)

  • 添加 Client.current() (GH#1450)

  • 重启超时的干净处理 (GH#1442)

1.19.1 - 2017-09-25

  • 修复 TaskStream 图表的工具问题 (GH#1425)

  • 将配置文件模块移动到顶层 (GH#1423)

1.19.0 - 2017-09-24

  • 避免在消息日志中存储消息(GH#1361

  • fileConfig 不会禁用现有的记录器 (GH#1380)

  • 将 upload_file 磁盘 I/O 卸载到单独的线程 (GH#1383)

  • 添加缺失的 SSLContext (GH#1385)

  • 从 sys._curent_frames 收集工作线程信息 (GH#1387)

  • 添加保姆超时 (GH#1395)

  • 如果内存使用超过95%,则重启工作进程(GH#1397

  • 使用 psutil 跟踪工人的内存使用情况 (GH#1398)

  • 在工作者中跟踪调度器延迟时间 (GH#1400)

  • 在配置文件图中添加时间滑块 (GH#1403)

  • 将 memory-limit 关键字改为指代最大字节数 (GH#1405)

  • 添加 cancel(force=) 关键字 (GH#1408)

1.18.2 - 2017-09-02

  • 在 as_completed 中静默传递已取消的 futures (GH#1366)

  • 修复 Python 2 中的 Unicode 键错误 (GH#1370)

  • 支持数字工作名称

  • 添加 dask-mpi 可执行文件 (GH#1367)

1.18.1 - 2017-08-25

  • 清理在“发射后不管”工作负载中被遗忘的键 (GH#1250)

  • 处理缺失的扩展 (GH#1263)

  • 允许在持久化集合上重新创建异常 (GH#1253)

  • 向阻塞客户端方法添加异步=关键字 (GH#1272)

  • 限制在bokeh图表中的水平平移 (GH#1274)

  • 将 client.shutdown 重命名为 client.close (GH#1275)

  • 避免阻塞事件循环 (GH#1270)

  • 避免 Client.get_versions 的 cloudpickle 错误 (GH#1279)

  • 在 Tornado IOStream.write 未来对象上产生 (GH#1289)

  • 如果在同步语句内,则假设异步行为(GH#1284

  • 避免关闭时的错误信息 (GH#1297), (GH#1296) (GH#1318) (GH#1319)

  • 为 get_client 添加 timeout= 关键字 (GH#1290)

  • 重启时尊重超时设置 (GH#1304)

  • 测试中的文件描述符和内存泄漏清理 (GH#1317)

  • 弃用执行器 (GH#1302)

  • 为 ThreadPoolExecutor.shutdown 添加超时 (GH#1330)

  • 清理 AsyncProcess 处理 (GH#1324)

  • 在Python 2调度器中允许使用Unicode键 (GH#1328)

  • 避免泄露被盗数据 (GH#1326)

  • 改进保姆启动失败的错误处理 (GH#1337), (GH#1331)

  • 使自适应更加灵活

  • 在worker中支持 --contact-address--listen-address (GH#1278)

  • 移除旧的 dworker, dscheduler 可执行文件 (GH#1355)

  • 如果保姆进程失败,则退出工作进程(GH#1345

  • 自动 pep8 和 flake (GH#1353)

1.18.0 - 2017-07-08

1.17.1 - 2017-06-14

  • 从 travis-ci 中移除 Python 3.4 测试 (GH#1157)

  • 移除 ZMQ 支持 (GH#1160)

  • 修复 Python 2.7 中的 memoryview nbytes 问题 (GH#1165)

  • 重新启用计数器 (GH#1168)

  • 改进 scheduler.restart (GH#1175)

1.17.0 - 2017-06-09

  • 在调度器停机期间定期重新评估工作者的占用情况(GH#1038)(GH#1101

  • 添加 AioClient 异步兼容客户端 API (GH#1029) (GH#1092) (GH#1099)

  • 更新 Keras 序列化器 (GH#1067)

  • 支持 TLS/SSL 连接以确保安全 (GH#866) (GH#1034)

  • 当传递 --local-directory 时,始终创建新的工作目录 (GH#1079)

  • 在使用 joblib 前端时支持预散布数据 (GH#1022)

  • 使工作者对 sizeof 函数 (GH#1108) 和写入磁盘 (GH#1096) 的失败更具鲁棒性

  • as_completed 添加 is_emptyupdate 方法 (GH#1113)

  • 移除 _get 协程并用 get(..., sync=False) 替换 (GH#1109)

  • 改进与 async/await 语法的 API 兼容性 (GH#1115) (GH#1124)

  • 添加分布式队列(GH#1117)和共享变量(GH#1128)以实现客户端间的协调

  • 支持直接客户端到工作者的分散和收集(GH#1130),以及在分散数据时的性能增强

  • bokeh 网页仪表板的样式改进 (GH#1126) (GH#1141) 以及外部 bokeh 进程的移除

  • Future 和 Client 对象的 HTML reprs (GH#1136)

  • 在 client.compute 中支持嵌套集合 (GH#1144)

  • 在异步模式下使用普通客户端API (GH#1152)

  • 移除旧的 distributed.collections 子模块 (GH#1153)

1.16.3 - 2017-05-05

  • 将 bokeh 模板文件添加到 MANIFEST (GH#1063)

  • 不要将 worker_client.get 设置为默认的 get (GH#1061)

  • 在 Client().shutdown() 中清理日志 (GH#1055)

1.16.2 - 2017-05-03

  • 支持 async with Client 语法 (GH#1053)

  • 使用内部 bokeh 服务器作为默认诊断服务器 (GH#1047)

  • 改进空bokeh图的样式 (GH#1046) (GH#1037)

  • 支持稀疏数组的高效序列化 (GH#1040)

  • 在工作者中优先处理新到达的工作 (GH#1035)

  • 使用joblib后端预分散数据 (GH#1022)

  • 使 client.restart 对 worker 故障更具鲁棒性 (GH#1018)

  • 支持在 dask-worker 或 dask-scheduler 进程中预加载模块或脚本 (GH#1016)

  • 在命令行界面中指定网络接口 (GH#1007)

  • Client.scatter 支持单个元素 (GH#1003)

  • 在所有通过通讯的内存视图上使用blosc压缩(GH#998

  • 添加兼容 concurrent.futures 的 Executor (GH#997)

  • 添加 as_completed.batches 方法并返回结果 (GH#994) (GH#971)

  • 允许 worker_clients 选择性地保持在线程池中 (GH#993)

  • 添加字节存储和任务处理诊断直方图 (GH#990)

  • Run 支持非 msgpack 可序列化的结果 (GH#965)

1.16.1 - 2017-03-22

  • 在 LocalCluster 中使用 inproc 传输 (GH#919)

  • 添加结构化和可查询的集群事件日志 (GH#922)

  • 使用连接池进行工作进程间通信(GH#935

  • 在关闭时稳健地关闭生成的工人进程 (GH#928)

  • 工作线程死亡超时 (GH#940)

  • 在进度条中更直观地报告异常 (GH#941)

  • 将磁盘和序列化事件渲染到任务流可视化中 (GH#943)

  • 支持 async for / await 协议 (GH#952)

  • 确保在工作进程中重新播种随机生成器 (GH#953)

  • 上传源代码作为zip模块 (GH#886)

  • 在本地进程中重放远程异常 (GH#894)

1.16.0 - 2017-02-24

  • 先到先得的服务优先级在客户提交中 (GH#840)

  • 可以指定 Bokeh 内部端口 (GH#850)

  • 允许从任一工作者返回被窃取的任务(GH#853),(GH#875

  • 在执行过程中添加工作资源约束 (GH#857)

  • 通过通道发送小数据 (GH#858)

  • SciPy 稀疏矩阵内存成本的更好估计 (GH#863)

  • 避免窃取长时间运行的任务 (GH#873)

  • 保持NumPy数组的Fortran顺序(GH#876

  • --scheduler-file 关键字添加到 dask-scheduler (GH#877)

  • 为 Keras 模型添加序列化器 (GH#878)

  • 支持从zip文件上传模块 (GH#886)

  • 改进 Bokeh 仪表板的标题 (GH#895)

1.15.2 - 2017-01-27

  • 修复了一个错误,该错误导致具有较大数据类型或形状的数组被不正确地压缩(GH#830 GH#832 GH#833

  • 扩展 as_completed 以在迭代期间接受新的 futures (GH#829)

  • dask-ssh 启动工具中添加 --nohost 关键字 (GH#827)

  • 支持远程工作者的调度器关闭,适用于自适应集群 (:pr: 811 GH#816 GH#821)

  • 添加 Client.run_on_scheduler 方法以在调度器上运行调试函数 (GH#808)

1.15.1 - 2017-01-11

  • 使与 Bokeh 0.12.4 兼容 (GH#803)

  • 如果无益,避免压缩数组 (GH#777)

  • 优化工作者之间的数据传输 (GH#770) (GH#790)

  • 为 worker 添加 –local-directory 关键字 (GH#788)

  • 允许工作者带着自己的数据到达集群。如果一个工作者离开后又回来,这很有用(GH#785

  • 在使用 local_client 时解决线程安全错误 (GH#802)

  • 解决工作线程中的调度问题 (GH#804)

1.15.0 - 2017-01-02

  • 主要 Worker 重构 (GH#704)

  • 主要调度器重构 (GH#717) (GH#722) (GH#724) (GH#742) (GH#743)

  • Client.get_versions 中添加 check 选项(默认值为 False),以在客户端、调度器和工作者版本不匹配时引发异常 (GH#664)

  • Future.add_done_callback 在单独的线程中执行 (GH#656)

  • 清理 numpy 序列化 (GH#670)

  • 支持Tornado v4.5协程的序列化 (GH#673)

  • 在 Python 2 中使用 CPickle 而不是 Pickle (GH#684)

  • 在Python 3中使用Forkserver而不是Fork在Unix上 (GH#687)

  • 支持每个任务约束的抽象资源 (GH#694) (GH#720) (GH#737)

  • 添加TCP超时 (GH#697)

  • 将嵌入式 Bokeh 服务器添加到工作节点 (GH#709) (GH#713) (GH#738)

  • 将嵌入式 Bokeh 服务器添加到调度器 (GH#724) (GH#736) (GH#738)

  • 为Windows添加更精确的计时器 (GH#713)

  • 添加 Versioneer (GH#715)

  • 支持客户端间通道 (GH#729) (GH#749)

  • 调度器性能改进 (GH#740) (GH#760)

  • 改进负载均衡和工作窃取 (GH#747) (GH#754) (GH#757)

  • 在工作者上运行 Tornado 协程

  • 避免在 Pandas 数据帧上进行缓慢的 sizeof 调用 (GH#758)

1.14.3 - 2016-11-13

  • 移除依赖于 nodejs 的 Bokeh 自定义导出工具 (GH#655)

  • 清理调度器日志 (GH#657)

1.14.2 - 2016-11-11

  • 在自定义序列化中支持更多 numpy 数据类型,(GH#627),(GH#630),(GH#636)

  • 更新 Bokeh 图表 (GH#628)

  • 改进溢出到磁盘的启发式算法 (GH#633)

  • 将导出工具添加到任务流图

  • 在加载大量帧时反转帧顺序 (GH#651)

  • 在等待写入时添加超时 (GH#653)

1.14.0 - 2016-11-03

  • 添加 Client.get_versions() 函数以从调度器、工作节点和客户端返回软件和包信息 (GH#595)

  • 改进的Windows支持 (GH#577) (GH#590) (GH#583) (GH#597)

  • 显式清理rpc对象(GH#584

  • 对已知的未来进行集合归一化 (GH#587)

  • 添加 key= 关键字到 map 以指定键名 (GH#589)

  • 自定义数据序列化 (GH#606)

  • 重构Web界面 (GH#608) (GH#615) (GH#621)

  • 在Worker中允许用户提供的Executor (GH#609)

  • 通过 LocalCluster 传递 Worker 关键字参数

1.13.3 - 2016-10-15

  • 调度器可以干净地退役工作线程

  • concurrent.futures 兼容性添加 Future.add_done_callback

  • 更新网页界面以与 Bokeh 0.12.3 保持一致

  • 显式关闭流,避免竞争条件,并在Windows上支持更强大的重启。

  • 改进了 dask.dataframe 的洗牌性能

  • 添加自适应分配集群管理器

  • 在处理大量工人时减少行政开销

  • dask-ssh --log-directory . 不再报错

  • 调度器的微性能调优

1.13.2

  • 将 dask_worker 默认改为使用 fork 而不是 subprocess

  • Scatter 保留类型信息

  • Bokeh 总是使用子进程而不是 spawn

1.13.1

  • 修复 dask_worker 可执行文件的严重 Windows 错误

1.13.0

  • 将 Executor 重命名为 Client (GH#492)

  • dask-worker 添加 --memory-limit 选项,当内存不足时启用溢出到磁盘的行为 (GH#485)

  • 为 dask-worker 添加 --pid-file 选项,并为 --dask-scheduler 添加 (GH#496)

  • 添加 upload_environment 函数以分发 conda 环境。这是实验性的,未记录,并且可能会在没有通知的情况下更改。 (GH#494)

  • Client.computeClient.persist 中添加 workers= 关键字参数,支持使用 Dask 集合的受位置限制的工作负载 (GH#484)

  • 添加 upload_environment 函数以分发 conda 环境。这是实验性的,未记录,并且可能会在没有通知的情况下更改。 (GH#494)

    • client.run 函数添加可选的 dask_worker= 关键字,该关键字将提供 worker 或 nanny 对象

    • Client.run 添加 nanny=False 关键字,允许在保姆进程以及普通工作进程上执行任意函数。

1.12.2

此版本添加了一些新功能并移除了无用代码

  • 在调度器上发布和共享数据集给多个客户端(GH#453)。参见 发布数据集

  • 从其他任务启动任务(实验性)(GH#471)。参见 任务启动

  • 移除未使用的代码,特别是 Center 对象和旧的客户端函数 (GH#478)

  • Executor()LocalCluster() 现在在没有 Bokeh 的情况下也能稳健运行 (GH#481)

  • 从依赖项中移除了 s3fs 和 boto3。这些已移至 Dask。

1.12.1

此次发布主要是修复错误,恢复之前的重大重构。

  • 来自之前重构的修复
    • 确保客户端间的幂等性

    • 压力测试永久丢失分散数据

  • IPython 修复
    • 向 Executor 添加 start_ipython_scheduler 方法

    • 为工作者添加 %remote 魔法

    • 清理代码和测试

  • 池连接以保持重用并减少打开的文件句柄数量

  • 重新实现工作窃取算法

  • 支持取消元组键,例如在 dask.arrays 中出现的情况

  • 开始同步可能多余的工作者数据

  • 改进 bokeh 图表样式
    • 添加内存图表跟踪字节数

    • 使进度条更紧凑并调整颜色

    • 添加 workers/ 页面,包含 workers 表格、stacks/processing 图表和内存

  • 添加此发布说明文档

1.12.0

此版本主要是一个重构版本。内部结构发生了显著变化,但新增功能不多。

  • 对调度器进行了重大重构,以使用过渡系统

  • 调整协议以遍历复杂消息,搜索大型字节串

  • 添加 dask-submit 和 dask-remote

  • 重构 HDFS 写入以适应 dask 库的更改

  • 执行器在连接中断或调度器失败时重新连接到调度器

  • 支持 sklearn.external.joblib 以及普通的 joblib