Skip to main content

最佳实践:发布与版本

支持的 Python 版本

motorbridge SDK 支持以下 Python 版本:

版本号规则

SDK 遵循 语义化版本 当前源码对齐:

版本类别


安装渠道

PyPI(生产)

TestPyPI(预发布)

预发布版本可能有破坏性变更,不推荐用于生产环境。

Git 安装


检查已安装版本

命令行

代码中检查


升级策略

保守升级

保持在稳定版本,只升级修复 Bug:

早期采用者

在开发环境测试预发布版本:

固定版本

用于可复现部署:
或使用版本约束:

API 稳定性

版本 0.x(当前)

  • 次版本之间 API 可能变更
  • 破坏性变更在发布说明中记录
  • 建议固定版本

版本 1.0+(未来)

  • 语义化版本保证
  • 破坏性变更只在主版本中
  • 移除前有弃用警告

变更日志

v0.5.0

  • ABI controller 和 motor handle 增加 per-handle 锁,公共符号和函数签名保持兼容
  • Python binding 增加关闭后调用守卫,close() 后继续调用会抛 CallError,不会把空指针传入 ABI
  • CoreController 增加 drop-time 轮询清理,用户忘记 shutdown()close_bus() 时后台接收线程也会停止
  • Python CLI 拆成 motorbridge.cli 包结构,同时保留 motorbridge-clipython -m motorbridge 和旧式 flat run 参数
  • 优化 RobStride 扫描效率,补充 RobStride pos-vel 有效参数说明,并用回归测试锁定 MIT 参数编码

v0.3.4

  • RobStride 保存参数时接受有效设备回复作为保存命令响应,不再只接受 status ack
  • 修复 Damiao in-process ensure_mode() 超时行为
  • 修复 WS Gateway id_set 传输选择,--transport dm-serial 在 macOS 下不会再尝试加载 PEAK/PCAN
  • 增加更严格的 fmt、clippy 和测试发布验证

v0.3.3

  • 新增统一版本查询:Python motorbridge.__version__motorbridge.get_version()motorbridge-cli -v 和 Rust motor_cli -v
  • Python CLI 关闭长选项缩写,robstride-write-param --mode save 这类错误参数会直接报错,不会误解析成 --model save
  • Python robstride-write-paramdamiao-write-param 新增统一 --store 1
  • Rust CLI 对齐 RobStride/Damiao 写参保存语义
  • RobStride type 22 保存会发送官方 payload 并等待状态 ACK

v0.3.2

  • RobStride 故障帧只更新故障缓存,不再污染最新运动状态
  • Python binding/CLI 可查询最近一次厂商故障码,同时保留最后一帧真实状态

v0.3.1

  • 新增 ABI/Python 详细故障状态访问接口
  • 改进 RobStride 过温/故障诊断链路

v0.2.9

  • 新增 RobStride host_id 精确 ABI:motor_handle_robstride_ping_host_idmotor_handle_robstride_get_param_f32_host_id
  • 新增 Python 包装方法:robstride_ping_host_id(...)robstride_get_param_f32_host_id(...)
  • 统一校验 RobStride motor_id / device_id1..255feedback_id / host_id0..255
  • Rust 与 Python 的 RobStride 扫描现在会精确探测每个 --feedback-ids host_id
  • Canonical Mintlify 文档迁移到同级 motorbridge-docs 仓库

v0.2.5

  • Python CLI 新增 id-set --vendor robstride,支持 RobStride device_id 更新
  • Rust/Python RobStride 扫描默认 host_id 候选统一为 0xFD,0xFF,0xFE,0x00,0xAA

v0.2.3

  • 重构 ABI FFI 层,减少 controller/motor 分发重复代码
  • 合并厂商参数 FFI 入口
  • 对齐 core、厂商控制器、Python binding 和 websocket gateway 的运行时/控制路径稳健性修复

弃用政策

  1. 公告: 功能在发布说明中标记为弃用
  2. 警告: 添加运行时弃用警告
  3. 宽限期: 至少一个次版本
  4. 移除: 在下一个主版本/次版本中移除

发布检查清单

维护者发布新版本:

1. 更新版本号

2. 更新变更日志

  • 记录所有变更
  • 注明破坏性变更

3. 打标签

4. 构建包

5. 上传到 TestPyPI

6. 验证安装

7. 上传到 PyPI


重要规则

切勿重复上传同一包版本。一旦版本上传到 PyPI,就无法覆盖。新上传必须增加版本号。

上传失败处理


CI/CD 集成

GitHub Actions 示例


版本兼容性表


下一步