版本与发布说明
你正在读的版本
项目跟踪三个版本域,且它们刻意分开:
域 |
所在位置 |
当前值 |
|---|---|---|
原生库 |
|
|
Python 参考固定版本 |
|
|
文档站点 |
|
|
fincore::version_string 是原生版本常量。注意 fincore::version() 刻意返回固定的 Python 版本,而不是原生版本 —— 它存在是为了让消费者元数据检查能对照冻结的 oracle。若要在运行时取库版本,请读 fincore::version_string。
当前状态
0.1.0 已于 2026-10-26 打上 v0.1.0 标签,取自 CI 在 Windows、macOS 与 Ubuntu 上全部通过的提交;说明见 GitHub Release。master 是发布分支,每次推送都会重建文档站点,因此站点上的“latest”与仓库 master 是同一棵树。
可以放心构建的部分:
include/fincore下的公共头文件,在 API 清单中逐符号记录。CMake 包契约(
fincore::fincore,可选implot组件)。报表文档模式与 artifact bundle 形状。
错误分类及其结构化字段。
仍可能在没有弃用周期的情况下变化的部分,因为 0.x 不承诺兼容:
内部的
fincore::detail辅助函数,它们在公共接口之外。可选的扩展与绘图适配器。
diagnostics映射里的诊断字段名。
本周期的变更记录
按领域记录而不是按提交;链接的记录携带证据。
库与正确性
覆盖核心数据、指标、风险、组合、因子、归因、优化、报表、运行时与模拟模块的原生 C++23 接口。
1092 个 C++ 测试,包括 oracle 对比与消费者构建检查。
已记录的失败模型:结构性问题抛异常,无定义的统计量返回
NaN,拟合报告状态而不是一个看似合理的数字。
文档
一套双语文档站点(英文与简体中文),每页都有语言切换;中文构建是完整翻译,不是占位。
每个公共符号都有说明;少数经审阅的豁免(三条
Subclassed by列表、两个多行字符串常量、缺少@param的函数)记录在迭代 10 的豁免文件里,而不是藏在构建中。教程、配方集、任务指南、迁移映射与故障排查,都基于生成参考的同一批头文件。
工具与证据
check_comment_only.py证明注释轮只改了注释。check_built_site.py检查两种语言构建的断链、机器路径与未翻译目录,并在缺少一种构建时拒绝运行。write_sitemap.py从部署的产物推导 sitemap。成对基准框架,正确性由摘要门控,并记录 INCONCLUSIVE 结果。
线上状态见发布说明,有日期的验收证据见 docs/iterations/ 下的迭代记录。
下一个发布如何切出
同时更新
version.hpp与docs/site/conf.py,然后运行完整门禁(ctest、两种严格 Sphinx 构建、站点检查器)。在通过的那个提交上打
v<version>标签并推送标签。确认文档站点已从该标签的树重建,并把部署地址记录到发布页。
依据迭代记录撰写发布说明,而不是凭记忆。
v0.1.0 正是按这个顺序完成的;标签指向 ci 在三个平台全绿的那个提交。