# 更新日志 (v0.6.0)

## 概览

作为一个重要版本发布，Crawlab v0.6.0 由一些重大的功能升级组成，包括性能、稳定性、健壮性、易用性方面的大量优化。本次 beta 版本理论上会比老版本更加健壮，特别是任务执行、文件同步、节点通信上面。但是，我们还是推荐用户在 Crawlab 新版本上更全面的测试不同的爬虫任务。

## 升级优化

#### 后端

- **文件同步**. 将文件同步从原先的 MongoDB GridFS 迁移到分布式文件系统 SeaweedFS，以提升文件同步和爬虫部署的稳定性和健壮性。
- **节点通信**. 将节点通信从原先基于 Redis 套壳的 RPC 迁移到 gRPC。工作节点通过向主节点发起 gRPC 请求来与 MongoDB 数据库间接交互。
- **任务队列**. 将任务队列从 Redis 列表迁移到 MongoDB 集合，以提高灵活性，例如优先级队列。
- **日志**. 将日志储存迁移到 SeaweedFS，以解决 MongoDB 数据库中的性能问题。
- **SDK 集成**. 将结果数据储存从原生 SDK 迁移到了任务处理器集中导入到数据库。
- **任务相关**. 将任务相关逻辑抽象为了任务调度器、任务处理器以及任务执行器，以减少系统耦合度，提升可扩展性和可维护性。
- **组件化**. 引入依赖注入框架，将模块、服务以及子系统进行模块化。
- **插件框架**. **Crawlab 插件框架 (CPF)** 已发布. 详情请参考 [这里](https://docs.crawlab.cn/zh/guide/plugin/).
- **Git 集成**. Git 集成被作为内置功能.
- **Scrapy 集成**. Scrapy 集成以插件形式存在，插件为 [spider-assistant](https://docs.crawlab.cn/zh/guide/plugin/plugin-spider-assistant.html).
- **依赖集成**. Dependency 集成以插件形式存在，插件为 [dependency](https://docs.crawlab.cn/zh/guide/plugin/plugin-dependency).
- **消息通知**. 消息通知功能以插件形式存在，插件为 [notification](https://docs.crawlab.cn/zh/guide/plugin/plugin-notification).

#### 前端

- **Vue 3**. 迁移到了最新的前端框架 Vue 3，以支持更高级的功能，例如组合式 API 和 TypeScript。
- **UI 框架**. 从之前的 Vue-Element-Admin 迁移到了基于 Vue 3 的 UI 框架 Element-Plus，更多灵活性和功能性。
- **高级文件编辑器**. 支持更高级的文件编辑器功能，包括拖砖操作、复制、移动、重命名、删除、文件编辑、代码高亮、导航标签等。
- **可自定义表格**. 内置更多高级功能，包括自定义列、批量操作、搜索、过滤、排序等。
- **导航标签**. 支持多导航标签查看不同的页面。
- **批量创建**. 支持批量创建对象，包括爬虫、项目、定时任务等。
- **详情导航**. 详情页里的侧边栏导航。
- **更优化的仪表盘**. 主页仪表盘中更多的数据图表。

#### 其他

- **文档网站**. 升级 [文档网站](https://docs-next.crawlab.cn).
- **官方插件**. 允许用户在 Crawlab 用户界面上安装 [官方插件](https://docs.crawlab.cn/zh/guide/plugin/).