更新日志#

2.10.0 (2026-05-24)#

Minor release adding two new perception/behavior capabilities — the Social Force Model (SFM) for pedestrian-style crowd avoidance and a simplified 2D FMCW LiDAR sensor with per-beam radial velocity.

  • 新功能:

    • 新增简化的 2D FMCW 激光雷达传感器,提供距离与速度回波,并新增 22fmcw_lidar_world 使用示例。(#293) (@KevinLADLee)

    • diffomni 运动学新增社会力模型(SFM)行为(各向异性 Moussaid-Helbing 2009 变体),并提供 23sfm_world 十字走廊使用示例。(#307)

  • Performance:

    • Cache velocity_xy, rvo_neighbor_state, and rvo_line_segments per-tick on ObjectBase — ~4× faster SFM/RVO step. (#307)

  • 文档:

    • changelog.md 中的所有版本标题添加发布日期。(#288)

    • 优化 YAML 配置参考与键盘/鼠标控制文档,使其更清晰(英文 + 中文)。(#296)

    • rvo 旁边补充 sfm 行为的文档(英文 + 中文)。(#307)

  • 测试:

    • 新增 tests/test_sfm.py,覆盖 SFM 算法与行为注册。(#307)

2.9.4 (2026-04-21)#

  • 新功能:

    • 新增 omni_angular 运动学,提供 3 自由度机体坐标系控制 [forward, lateral, yaw_rate],并将 omni 重构为机体坐标系 [forward, lateral]。机体坐标系速度与物理全向平台的指令方式一致,omni_angular 为完整约束/swerve 场景提供独立偏航控制。键盘控制围绕新轴重新设计。(#270)

    • 新增 env.reset(random=True),可从缓存的 YAML 解析结果重新采样随机场景。无需重新从磁盘读取 YAML 即可快速以全新随机场景(新位置、新随机形状)重启,适用于强化学习 rollout 和批量实验。(#283)

    • 新增带成对最小间距的 random_uniform 采样器,并为 randomcircle 分布提供基于世界的默认值。成对最小间距可防止随机采样中的物体重叠,基于世界的默认值使采样范围自动适应世界尺寸/偏移,用户无需为每个场景重复指定边界。(#283)

    • 新增 env.refresh()ObjectBase.refresh(),无需推进仿真即可同步几何、传感器和碰撞树。在直接修改物体状态(如 robot.set_state(...))后很有用,可确保下一次 env.step() 前传感器和碰撞数据已更新。(#284)

  • Performance:

    • 用矢量化的 shapely.box + unary_union 替换圆形缓冲的障碍物地图几何。方格单元完美平铺栅格——linestring 减少约 3 倍、坐标减少约 24 倍、lidar 步进加快约 3.8 倍,障碍物地图碰撞查询也相应减负——并修复旧圆形缓冲中曾让 lidar 射线穿墙的对角缝隙。(#276)

  • 修复:

    • EnvBase.__init__ 时重置 ObjectBase.id_iter,使每个环境的物体 ID 从 0 开始。此前类级计数器跨环境保留,导致顺序创建多个环境时索引不匹配。(#277)

    • env.reset() 期间保留初始速度,使 set_velocity(init=True) 生效。此前 reset 内部的零动作步骤会在速度恢复后立即清除 _velocity,导致用户无法设置非零初始速度。(#284)

  • 文档:

    • 修复使用指南和 YAML 配置参考中失效的交叉引用(Markdown [Name](#irsim.path) 链接替换为 Sphinx {py:class/meth/func} role),并在 EN + zh_CN 全文将 omni 速度描述更新为机体坐标系。(#278)

2.9.3 (2026-04-06)#

  • 新功能:

    • 为路点导航行为新增循环模式。(#266)

    • 为 RVO 算法新增线段障碍物支持。(#250)

    • 新增 CBF-QP 和碰撞锥使用示例。(#258) (@Lawliet9666)

  • Performance:

    • 矢量化 lidar 距离/原点过滤并跳过 union_all,基于地图的场景中 lidar 步进加快约 48%。(#257) (@williamleong)

    • 使用 STRtree intersects 谓词进行 lidar 地图线段过滤,PNG 地图场景中 lidar 步进加快约 26%。(#255) (@williamleong)

    • 缓存几何有效性并简化 lidar 地图射线求交,PNG 地图场景中 lidar 步进加快约 18%。(#254) (@williamleong)

  • 修复:

    • 防止 WrapToPi/WrapTo2Pi 在非有限输入下出现无限循环。(#269)

  • 重构:

    • 简化 util 中的 file_checkfind_file。(#256)

2.9.2 (2026-03-16)#

  • 新功能:

    • 新增 env.create_robot()env.create_obstacle() 用于程序化创建物体,以及 env.add_object() / env.add_objects() 用于运行时添加。(#251)

    • 新增 check_arrive() 方法检查物体是否到达指定目标,并为动态添加的物体初始化绘图。(#240)

    • 新增 set_text()set_goal_text() API,用于为物体和目标设置自定义文本。(#239)

    • 为无效的 YAML 配置键新增拼写错误检测与建议。(#227)

  • 重构:

    • 将运动学元数据(默认颜色、state_dim、描述)集中到 handler 注册表,使运动学更易于添加。(#237)

  • 修复:

    • 通过逐帧读取和保存而非将所有图像载入内存,提升保存动画的健壮性。(#230) (@williamleong)

  • 文档:

    • 在 Make Environment 文档中新增“动态物体管理”章节。(#251)

    • 修复并更新中文翻译。

2.9.1 (2026-02-16)#

  • 新功能:

    • 新增 Perlin 噪声和基于图像的栅格地图生成器、新的 JPS(跳点搜索)和 Informed RRT* 路径规划器,并重构现有规划器(A*、RRT、RRT*、PRM)以使用 EnvGridMap 协议。#215 (@KevinLADLee)

    • 移除 Python 3.9 支持,新增 Python 3.14 支持。将最低 Python 版本提升至 3.10,现代化类型注解(Optional/Union 改为 X | Y 语法)。#216

    • set_random_seed() 新增可选 reload 参数,设为 True 时用新种子重新生成随机障碍物。#210

    • 未显式指定时,动画文件名默认使用世界名称。#221

  • 修复:

    • 为障碍物地图新增基于栅格的碰撞检测,使用栅格数组查找以加速检测,并在 ObstacleMap 中缓存 STRtree。#205

  • 重构:

    • 为运动学和工具函数新增输入校验装饰器(validate_shapevalidate_lengthensure_column_vectorensure_numpy)。#209

  • 文档:

    • Refine README. #222

    • 新增栅格地图配置和路径规划文档。#215

2.9.0 (2026-01-26)#

此版本新增了基于实例参数的多环境支持,允许多个独立的仿真环境同时运行。还引入了 1D ToF 传感器支持和键盘改进。

  • 新功能:

    • 通过设置 lidar2d 传感器 number: 1angle_range: 0 新增 1D ToF(飞行时间)传感器支持。(#200)

    • 新增多环境键盘切换支持。同一时刻仅一个环境响应键盘输入;通过鼠标点击或焦点事件切换。(#192)

    • 新增 y 键用于开关显示渲染窗口。(#194)

  • 重构:

    • 环境参数(env_paramworld_parampath_param)现为基于实例而非全局,从而支持正确的多环境运行。(#191)

  • 修复:

    • 修复 robot 属性,在不存在机器人时抛出带清晰信息的 IndexError。(#188)

    • 修复 save_figure 以正确处理含多个点的文件名。(#188)

    • 修复 get_group_by_nameget_obstacle_info_listget_robot_info_listrandom_obstacle_position 的类型注解。(#188)

    • 修复 set_ax_viewpoint 以处理 None 的 objects 参数。(#188)

    • 为 3D 状态生成和均匀分布(尚未实现)新增 NotImplementedError。(#188)

  • 文档:

    • 在文档中新增更新日志和贡献页面。(#203)

    • 改进自定义行为教程和示例。(#193)

    • 修复文档中的格式问题。(#190)

  • 测试:

    • 重构并将测试覆盖率从 94% 提升至 97%。(#189)

    • 为多环境键盘切换和显示开关新增测试。

2.8.2 (2026-01-05)#

  • 功能 #183:

    • 新增 group_name YAML 参数,帮助用户管理同组物体。

    • 新增 show_goal_text YAML 参数,决定是否在绘图上显示目标文本。

    • 新增 get_group_by_name 函数,按组名获取同组物体。

    • 更新相关文档

  • 修复:

    • 修复组 ID 参数冲突问题 #180 #183

    • 修复组行为警告问题 e8ca7df

2.8.1 (2025-12-13)#

热修复:修复文档中的 autoapi 扩展问题。

2.8.0 (2025-12-12)#

此版本添加了 group_behavior 功能,支持同一组内所有对象的群体级行为,这对于协调行为(如群体或人群仿真)更加高效,因为它可以在单步中计算所有成员的动作。同时支持中文版文档。

  • 新功能:

    • 新增 group_behavior YAML 参数,支持对同组所有物体的组级行为。

    • 集成 GroupBehavior 类处理组级逻辑,支持基于函数和基于类的行为。

    • 新增由 pyrvo 库实现的 ORCA(最优互惠碰撞避免)行为支持,可在 YAML 文件中配置。

    • 更新 behavior_registry,支持使用装饰器(@register_behavior_class@register_group_behavior_class)注册行为类和组行为类。

    • 新增 viewpoint YAML 参数,以物体视角渲染绘图。

  • 文档:

    • 支持中文版文档。

    • 更新 group_behavior 配置文档,包含 ORCA 参数。

  • 修复:

    • generate_polygon 函数中的 rng 随机化

    • 组索引递增问题

2.7.5 (2025-10-26)#

  • 新功能:

    • 新增在随机环境生成中设置种子以保证可复现性的功能。只需在 make 函数中添加 seed 参数(如 env = irsim.make("random_obstacle.yaml", seed=2)),或使用 env.set_random_seed 函数设置种子后调用 env.reload()。详见用法 random_obstacle_seed

    • 在 ir-sim 中新增 ORCA 示例(行为),由 PyRVO 实现——经典 ORCA 算法(C++ 版,高效)的 Python 绑定。详见 usage orca world

  • Bug fixes:

    • 修复采样时间不生效的问题。

    • 修复文档错误。

2.7.4 (2025-10-06)#

  • 新功能:

    • 新增状态归一化和输入检查装饰器函数。

    • 新增 F5 键调试环境。调试模式下环境暂停并等待下一次 F5 继续;按空格退出调试模式。

    • 新增 v 键保存当前图像。

    • 新增 reload、debug 和 quit 标志。

  • Bug fixes:

    • Fix keyboard issues.

    • Fix goal plot issues.

  • Style:

    • 整理 patch 绘图的绘图函数。

    • Organize logger info.

2.7.3 (2025-09-20)#

  • 新功能:

    • 将默认键盘后端切换为 pynput(全局键盘钩子),pynput 不可用时自动回退到 Matplotlib(mpl)。注意:mpl 在绘制大量物体时可能引入延迟。

    • 使 pynput 键盘后端与 mpl 功能对齐:

      1. 仅当图形窗口获得焦点时处理键盘输入。

      2. 在键盘配置中新增 global_hook 选项,允许图形窗口失焦时输入。

      3. pynput 后端实现 reloadquit

    • 新增环境级 quit 函数。

    • 重命名 keyboard_control.py 中的键盘处理器:_on_release_on_pynput_release_on_press_on_pynput_press

  • Bug fixes:

    • 修正目标绘图的 alpha 处理。

    • 将默认采样时间设置为与步进时间一致。

    • 修复随机障碍物绘图。

    • 修复用法文档中的 GUI YAML 示例。

    • 解决动态物体的 LiDAR 步进时序问题(LiDAR 在所有物体位姿更新后再更新)。

    • 修复 macOS 上的键盘问题。

  • 文档:

    • 明确传感器更新顺序。

    • 补充使用 pynput 后端的键盘控制文档。

2.7.2 (2025-08-31)#

  • 新功能:

    • 在 YAML 配置中新增 gui 部分用于键盘和鼠标控制。参见 gui 配置

    • 将默认键盘后端改为 Matplotlib(mpl),其使用图形窗口按键事件。mpl 后端在 Matplotlib 图形窗口获得焦点时生效。提供全局键盘钩子的 pynput 后端仍受支持,可在 YAML 中选择。

    • 新增 env.reload() 可即时重载环境,使 YAML 更改无需关闭 Matplotlib 图形窗口即可应用。

    • 新增热键以配置和更新环境设置,在 autokeyboard 控制模式下均可用:

      • r:重置环境

      • space:暂停/恢复环境

      • esc:退出环境

      • x:在键盘和自动控制模式间切换

      • l:重载环境并应用更新的 YAML,无需关闭 Matplotlib 图形窗口

    • 更新相应的文档和用法。

2.7.1 (2025-08-25)#

  • 新功能:

    • 为物体新增 name 属性,可在 yaml 文件中配置。新增重名检查以确保无重复名称。

    • 明确 env.step 动作顺序:1. 键盘控制;2. 输入动作;3. 行为控制。

    • 新增 env.get_object_by_nameenv.get_object_by_id 函数,按名称和 id 获取物体。

  • Bug Fixes:

    • 修复文档和函数注释中的错误。

ir-sim 2.7.0 (2025-08-10)#

此版本改进了 CI 流水线、GitHub Actions 工作流、代码检查和格式化,以确保一致的代码风格和更快的检查速度,无 API 变更。

  • Workflow improvements:

    • 采用 uv 管理项目和依赖;pyproject.toml 现由 uv 管理。

    • 使用 uv.lock 锁定依赖。

    • 使用 Ruff 进行 lint 和格式化(替代 Black)。

    • 新增类型提示并使用 ty 进行类型检查。

    • 新增 pre-commit 配置(.pre-commit-config.yaml),在提交前运行 lint 和格式化。

    • 重组 GitHub Actions 工作流以测试 API 并强制代码风格。

    • 新增 issue 模板、dependabot.yml、贡献指南。

  • Bug fixes:

    • 修复文档错误。

    • Fixed 3D plot title.

  • Folder structure:

    • doc/ 重命名为 docs/

    • irsim/usage/ 移动到仓库根目录的 usage/

ir-sim 2.6.1 (2025-07-28)#

  • Bug Fixes:

    • Fix documentation error.

  • 新功能:

    • Add WrapTo2Pi function.

    • 对 lidar 和 fov 角度范围应用 WrapTo2Pi。

ir-sim 2.6.0 (2025-07-21)#

此版本是文档网站的重大更新。新网站更加用户友好,更容易浏览参数用法和 API。

  • 主要功能

    • 为文档新增版本切换器。

    • 优化文档样式。

    • 优化注释和代码风格。

  • Bug Fixes:

    • 从 ndarray 提取元素

    • 修复目标朝向和轨迹保留长度

    • Fix gif generation bug

  • API Changes:

    • global_param 文件夹重命名为 config。所有对 global_param 的调用都应替换为 config

    • keep_length 重命名为 keep_traj_lengthkeep_trail_length

ir-sim 2.5.5 (2025-06-29)#

  • 新功能:

    • 新增环境暂停和恢复功能。在键盘控制中按 space 键可暂停/恢复环境。详见 键盘控制文档

    • 新增环境标题以显示当前仿真时间和机器人状态。也可通过 env.set_title 函数自定义标题。详见 make env 文档

    • 将默认图像像素(尺寸)改为 1000x800。

  • Enhancements:

    • 优化代码风格、日志警告输出和网站文档。

ir-sim 2.5.4 (2025-06-16)#

  • Bug Fixes:

    • 修复 pynput 导入错误

ir-sim 2.5.3 (2025-06-15)#

  • 新功能:

    • 新增 GUI 模块,包含键盘和鼠标控制。

    • 新增鼠标控制文档。

    • 将物体默认目标设为 None。

  • Bug Fixes:

    • 修复 macOS 系统的后端错误。

    • 修复物体绘图的 zorder 问题。

    • 修复物体碰撞检查问题。

  • API Changes:

    • 为环境新增 mouse_left_posmouse_right_posmouse_pos 属性用于鼠标控制。

    • 将 keyboard_control.py 移至 gui 文件夹。因此键盘 API 改变,如从 env.alt_flag 改为 env.keyboard.alt_flag

ir-sim 2.5.2 (2025-06-02)#

  • Bug Fixes:

    • 修复清除组件的 bug。

ir-sim 2.5.1 (2025-06-02)#

  • Bug Fixes:

    • 修复目标绘图坐标 bug。

    • 修复文档和注释中的语法、格式和拼写错误。

    • 将加速度参数名 accer 统一为 acce

    • 移除障碍物的状态检查警告。

  • 新功能:

    • 为圆形物体新增 center

ir-sim 2.5.0 (2025-05-26)#

此版本通过重构对象绘图函数和大型环境的几何变换操作,提升了性能(约 40% 的速度提升)。

  • 新功能:

    • 使用 Matplotlib patch transforms 重构物体绘图函数。

    • 新增物体绘图功能和 API。

    • 重构几何变换操作。

    • Improve test coverage.

    • 新增设置激光颜色的函数。

    • 优化文档和待办列表。

    • 为项目新增 UV 锁文件。

  • Bug Fixes:

    • Fix bugs in object plot.

    • init_vertices 重命名为 original_vertices

    • init_geometry 重命名为 original_geometry

    • Fix warning messages.

ir-sim 2.4.4 (2025-05-06)#

  • Bug Fixes:

    • Fix geometry tree bug

    • Fix 3D plot bug

  • 新功能:

    • 新增 RRT* 路径规划器

    • 为 rvo 行为新增 neighbor_threshold 参数

  • Enhancements:

    • 更新距离函数以加速 rvo 算法

    • Update the robot image

ir-sim 2.4.3 (2025-04-30)#

  • Bug Fixes:

    • 修复 lidar 偏移绘图 bug。

  • 新功能:

    • 实现若干经典路径规划器(A*、RRT、PRM),改编自 python robotics 仓库。

    • 新增绘制 quiver 的函数

    • 在 yaml 文件中新增世界绘图参数。

    • Update requirements.

ir-sim 2.4.2 (2025-04-19)#

  • Bug Fixes:

    • 将 omni 机器人默认状态维度改为 3。

    • 移除 env_base 中的 check_collision 和 arrive 属性。

    • 修复测试用例中的 bug;移除部分旧功能 (#50)。

  • 新功能:

    • 重组 logger 函数。

    • 新增物体航向和朝向 (#48)。

    • 为碰撞检查构建几何树

    • 提升此代码的测试覆盖率 (#50)。

ir-sim 2.4.1 (2025-04-02)#

  • Bug Fixes:

    • 修复多边形轨迹类型 bug。

  • 新功能:

    • 确保障碍物为有效多边形。

    • 新增设置激光颜色的函数。

    • 环境可在无 yaml 文件时初始化。

    • 新增渲染 mode 以选择要渲染的物体:staticdynamicall

    • 增强 readme 和文档。

ir-sim 2.4.0 (2025-03-20)#

  • 新功能:

    • 新增由 3D 场景数据集(Hm3d)生成的二值地图。

    • 加速大型二值地图的碰撞检查。

    • 支持多目标设置。

    • 新增 requirement 文件。

    • 为物体新增设置随机目标的调用。

  • Bug Fixes:

    • 修复碰撞模式 bug,无阻挡障碍物将不计入碰撞检查。

    • 修复 readme 和文档中的拼写错误。

    • 修复日志消息中的错误。

    • 修复多物体键盘控制错误。

ir-sim 2.3.6 (2025-03-12)#

  • Bug Fixes:

    • Lidar2d 传感器现在会穿过无阻挡物体,详见用法:05lidar_world

    • 修复在无头服务器运行时的 matplotlib 后端错误。

    • 修复物体顶点错误。

    • 修复绘图参数名:edgecolor -> trail_edgecolor;linewidth -> trail_linewidth;

  • 新功能:

    • 为物体新增 obj_linestyle 参数以设置物体边缘线型,详见用法:05lidar_world

    • 更新物体属性注释和 API 文档。

ir-sim 2.3.5 (2025-02-27)#

  • Bug Fixes:

    • 多边形物体初始顶点的维度

  • 新功能:

    • 完善物体的 show_text 功能并为物体新增缩写名,运行用法:06multi_objects_world 查看详情。

    • 为 set_goal 函数新增 init 参数。

    • 为环境新增 add_object、add_objects、delete_object、delete_objects 函数以支持添加或移除障碍物。

    • 为物体新增 get_Gh 函数。

    • 更新函数的类型提示并用 black 格式化代码。

ir-sim 2.3.4 (2025-02-18)#

  • Bug Fixes:

    • omni robot dynamics

    • rvo zero division

    • Python 版本兼容性

  • 新功能:

    • 更新 random_obstacle_position 函数以支持障碍物选择和不重叠特性。

    • 支持将动画保存为视频。

ir-sim 2.3.2 (2025-01-28)#

ir-sim 2.3.2 是一个错误修复版本,与 2.3.1 相比没有新功能。

ir-sim 2.3.1 (2025-01-26)#

  • 更新相关文档。

  • Fix some bugs

  • 新功能:

    • 为物体新增 FOV,详见用法 15fov_world。

    • 为 WrapToPi 函数新增参数。

    • 为行为新增角色选择。

ir-sim 2.3.0 (2024-12-22)#

主要版本更新:

  • 发布项目文档。

  • 为项目新增覆盖率测试。

  • 重构运动学 handler 和几何 handler 以配置机器人和障碍物。

  • 重组 lidar2d 步进函数以提升性能。

  • 更新函数注释。

  • 修复项目中的若干 bug。

  • 新增 3D 绘图环境。

ir-sim 2.2.6 (2024-11-22)#

  • 重构行为库并新增自定义行为接口。详见用法:13custom_behavior。

  • 为 YAML 文件新增默认名称,与 Python 脚本名匹配。详见用法:12dynamic_obstacle。

  • 更改轨迹可视化样式。详见用法:02robot_world。

  • 重构 save_figure 函数。详见用法:07renderw_world。

  • 修复 env.end() 函数中的 'display' bug。

ir-sim 2.2.5 (2024-10-17)#

  • 将 GIF 文件转为 readme 链接以减小仓库体积

  • 修改机器人箭头的可视化

  • 按像素调整图像尺寸

  • Add reset for world time

  • 将 matplotlib 后端改为 TkAgg

  • 修复可视化的若干 bug

ir-sim 2.2.4 (2024-09-17)#

  • 修复障碍物的碰撞避免 bug

  • 整理运动学函数

  • 为 object_base 新增 state_shape 和 vel_shape

  • 用 black 格式化所有 Python 代码

  • 完善函数注释并生成 API 文档

ir-sim 2.2.3 (2024-09-01)#

  • 将模块名从 ir_sim 重命名为 irsim,将包名从 ir_sim 重命名为 ir-sim

  • 为项目新增引用信息

  • 优化函数注释

  • 为文档配置 readthedocs 和 sphinx

  • 为物体新增 unobstructed 属性,详见用法:obstace_world

  • Fix the state_dim bug

ir-sim 2.2.0 (2024-08-30)#

  • 将模块从 ir_sim 重命名为 irsim,将包名从 ir_sim 重命名为 ir-sim

  • 为项目新增引用信息

  • 优化函数注释

ir-sim 2.1.4 (2024-08-19)#

  • Update function comments

  • Update the readme

  • 新增更改环境中物体分布的接口

  • 新增环境中障碍物随机化功能

ir-sim 2.1.3 (2024-08-11)#

  • Fix errors in usages

  • delete some old files

  • Fix some bugs

ir-sim 2.1.2 (2024-08-04)#

  • 修复 omni 动力学机器人的 bug

  • Fix bug for rvo behavior

  • 替换 object_base 的 diff 描述

ir-sim 2.1.1 (2024-07-15)#

  • Update the YAML API

  • 增强 object_base 中的功能 (G, h)

  • 扩展项目开发工具

  • Fix some bugs

ir-sim 2.1.0 (2024-03-29)#

大版本更新

  • 重构整个项目框架,所有物体均基于 object base 开发

  • 使用 shapely 构建机器人和障碍物的几何

  • 重构 YAML 接口

  • 为物体新增行为库

  • 新增物体工厂用于创建物体

  • 新增 env logger 用于记录和打印环境状态

ir-sim 1.1.12 (2023-11-02)#

更新 show_trail 的刷新;新增设置机器人目标的方法;修复若干 bug

ir-sim 1.1.11 (2023-04-28)#

新增更改 edgecolor 的函数;新增重复 mkdirs;修复若干 bug

ir-sim 1.1.10 (2023-04-12)#

  • Fix some bugs

  • 新增碰撞模式 'unobstructed'

  • Add draw box function

  • Add radius for obstacle

ir-sim 1.1.9 (2023-03-20)#

  • Fix some bugs

  • 为障碍物新增功能。

ir-sim 1.1.8 (2023-02-27)#

  • Add map obstacles

  • Fix bugs of reset robot

  • Add different car models

ir-sim-v1.1.7 (2023-01-16)#

  • 修复 pyproject.toml 的 bug