Skip to content

1.0.0-rc.5 (Release Candidate)

Pre-release
Pre-release

Choose a tag to compare

@zengbin93 zengbin93 released this 18 May 03:20
· 48 commits to master since this release

1.0.0 候选预发布版本(Release Candidate)。

缠论核心算法(分型、笔、中枢、信号体系)从 Python 迁移到 Rust,通过 PyO3 扩展 czsc._native 暴露给 Python 用户;Rust 用户可直接 cargo add czsc(或子 crate)使用。本版本含大量 breaking changes,从 0.9.X / 0.10.X 升级请阅读 CHANGELOG 的「迁移指引」。

安装

# Python(PyPI 主页默认隐藏 prerelease,要加 --pre 或显式版本号)
pip install --pre czsc
# 或精确版本:
pip install czsc==1.0.0rc5

# Rust
cargo add czsc@1.0.0-rc.5

发布产物

Registry 内容
PyPI czsc 1.0.0rc5 6 平台 abi3 wheel:macOS x86_64/arm64、Linux x86_64/aarch64 manylinux2014、Linux x86_64 musllinux_1_2、Windows x64
crates.io 8 个 crate 1.0.0-rc.5czsc / czsc-core / czsc-trader / czsc-signals / czsc-ta / czsc-utils / czsc-derive / czsc-signal-macros

主要变更

完整 release notes(含 breaking changes、迁移指引、所有 PR-A 至 PR-G 的细节)见 CHANGELOG.md

  • Python 端缠论核心整体下沉 RustCZSC / FX / BI / ZS / RawBar / BarGenerator / CzscTrader / CzscSignals / Event / Position / Signal 等全部由 Rust 实现,通过 czsc._native 暴露。Python 回退路径(CZSC_USE_PYTHON env)已退役。
  • 220+ 信号函数全部由 Rust 实现(13+ 子模块),通过 czsc._native.signals.*czsc.traders.generate_czsc_signals 调用;不再使用 V<yyMMdd> 版本后缀,改用 #[signal] 宏自动注册到 SIGNAL_REGISTRY
  • 删除 czsc.svc Streamlit 组件子包czsc.utils.ta / czsc.utils.echarts_plot / czsc.utils.pdf_report 等 60+ 个非缠论核心 API(详见 CHANGELOG);可视化全面收敛到 plotly + lightweight-charts HTML。
  • 删除 streamlit / scikit-learn / cryptography / TA-Lib (C) 等运行时依赖
  • 最低 Python 版本提升到 3.10,wheel 改用 abi3(一个 wheel 覆盖 Python 3.10 / 3.11 / 3.12 / 3.13)。
  • Rust workspace 同步发布到 crates.io:单一版本源 Cargo.toml [workspace.package].version,pyproject.toml 走 dynamic = ["version"] 由 maturin 注入。

已知 issues(不阻塞使用)

  • PyPI sdist 缺失:本 RC 因 pyproject.toml 未声明 PEP 639 license-files 字段,sdist 上传被 PyPI 校验拒绝(400 License-File LICENSE does not exist);wheel 已全部上传,pip install 不受影响。修复已 commit 到 master(2f2fc5f),final 1.0.0 会带 sdist。
  • GitHub Release sigstore 签名缺失:因 publish-to-pypi job 标 failure(sdist 引起),release-and-sign workflow 被 skip;本 release 由手动 gh release create 创建,不含 sigstore bundle。final 1.0.0 会自动签名。

RC 之路(5 轮迭代修了 6 个 CI bug)

Tag 失败原因 修复
v1.0.0-rc.1 awk gsub /.../, "\1" backreference gawk 不支持 awk -F'"' '{print $2}'
v1.0.0-rc.2 strategy.rs test 仍调 load_position (PR-G 删 import 漏看) + build.rs 强检 PATH python3=3.9 + ring 0.17.x aarch64 ASM __ARM_ARCH use 恢复 + PYO3_CONFIG_FILE 跳检 + CFLAGS_aarch64_unknown_linux_gnu
v1.0.0-rc.3 macos-13 Intel runner pool 排队 1h+ 卡死 publish macOS wheel 改 macos-latest + cross-compile
v1.0.0-rc.4 wheel verify SemVer 1.0.0-rc.4 vs PEP 440 1.0.0rc4 直接字符串比对 sed normalize -rc.NrcN
v1.0.0-rc.5 ✅ 成功发布

后续

  • final 1.0.0:等社区试用 rc.5 反馈,bump Cargo.toml [workspace.package].version 后 push tag v1.0.0 真发。下一轮 release 流水线已端到端验证可用。
  • 报 bug:https://github.com/waditu/czsc/issues