贴吧接口层
新增特性
- `client.Client` 现在会检查 `BDUSS` 和 `STOKEN` 的长度是否合法
- `client.Client` 现在会使用异步上下文管理器正确执行 `aiohttp.ClientResponse` 的清理操作
变化特性
- 现在 `aiotieba` 仅会在工作目录下查找配置文件 `aiotieba.toml` 而不是在脚本同级目录下查找 `config/config.toml`
- `aiotieba` 中 `logger` 更名为 `log` , `types` 更名为 `typedefs` 。同时将 `JSON_DECODER` 拆分到 `helpers` 中
- 优化请求所需的 `protobuf` 的字段装填方式
- 删除不需要的 `protobuf` 字段定义
- 使用 `typing` 泛型支持优化类型定义
- 优化 `Client.get_image` 。现在对headers的分析会在读取body前进行
- `WebsocketResponse` 使用 `asyncio.Future` 替代 `asyncio.Event`
- `WebsocketResponse.req_id` 的生成方式得到简化
- 优化日志记录格式
bug修复
- 修复了 `Client._id2user_info` 中当用户粉丝数超过 `10,000` 时字符串 `x.x万` 无法被转换为浮点数所导致的bug
- 修复了转发来源帖的声音信息获取失败的bug
应用层
变化特性
- 使用 `pyproject.toml` 管理第三方库 `pytest` 与 `black` 的行为
- 指令管理器更名为 `cmd_handler.py` 并使用工作目录下的 `cmd_handler.toml` 作为配置文件,而不是在脚本同级目录下查找 `config/listen_config.toml`
- 改用 [`vtuber吧`](https://tieba.baidu.com/vtuber) 的云审查作为范例
- 使用 [`pytest-asyncio`](https://github.com/pytest-dev/pytest-asyncio) 重写测试