Releases: mcpp-community/mcpp
Releases · mcpp-community/mcpp
v0.0.56
修复
mcpp run/test/build不再把目标的捆绑 glibcLD_LIBRARY_PATH注入到
mcpp 自身进程,因而泄漏进它启动的宿主/bin/sh。在 glibc 比捆绑版(2.39)更新的
发行版上,sh会被强制加载捆绑的旧 libc,无法满足宿主libtinfo的GLIBC_2.42
符号而在目标运行前崩溃(报错形如sh: ... version 'GLIBC_2.42' not found)。新增
platform::process::run_exec/capture_exec:直接 exec(不经 shell),额外环境
只作用于子进程;run / test / 快速路径 ninja / 整次构建 ninja 四个启动点全部改走它。
变更
mcpp pack --mode模式更名,语义更清晰(旧名保留为永久别名,tarball 后缀冻结不变):
bundle-project→vendored(默认)、bundle-all→self-contained;新增
system模式(完全依赖宿主提供所有共享库,用于发行版打包 / 同发行版部署)。
static不变。两轴模型:libc 由--target选(gnu/musl),--mode只选打包深度。
v0.0.55
新增
[targets.<name>]新增按目标的键defines/cxxflags/cflags,作用于该目标
独占的入口源(它的main)。用于二进制入口私有的标志(如-DBUILD_SERVER=1、
局部告警抑制),不影响共享模块/实现对象(compile-once 模型不变)。需要穿透共享代码的
差异请用 workspace member 或[features](#131)。[targets.<name>]新增required_features:仅当列出的 feature 全部激活时才构建该目标,
否则静默跳过。是构建选择门禁,不激活 feature。mcpp test现在接受--profile/--features/--strict,让被测代码与测试二进制
在所选 profile/feature 下编译(适合 sanitizer、契约求值语义等整次构建模式)。
变更
[targets.<name>]下的不支持键不再被静默丢弃,而是产生 warning(--strict下为 error),
并指引到正确的机制(workspace / features / profile)。- 文档
docs/05-mcpp-toml.md(及docs/zh)新增"构建配置该放哪"的决策指引。
设计记录见.agents/docs/2026-06-18-per-target-build-config-design.md。
v0.0.54
修复
mcpp new <name> --template <pkg>:对声明了命名空间的模板包(如
mcpplibs.llmapi以裸名llmapi引用)现在能从描述符派生出
(namespace, shortName) 坐标,正确完成 semver 解析与安装(#130)。
其他
- 架构重构(零行为变更):
cli.cppm从 6192 行精简为约 480 行的纯命令
分发层;src/cli/cmd_*仅保留参数解析与路由,全部领域实现下沉到属主
子系统 ——mcpp.build.{prepare,execute}、mcpp.toolchain.{post_install, lifecycle}、mcpp.pm.index_management、mcpp.bmi_cache.maintenance、
mcpp.scaffold.create、mcpp.publish.pipeline、mcpp.pack.pipeline、
mcpp.doctor、mcpp.project、mcpp.fetcher.progress。
设计与迁移记录见.agents/docs/2026-06-10-cli-modularization.md。
v0.0.53
新增
- 库 / 组件下载现在与工具链下载一样显示实时进度条、字节进度与速度。自定义 /
项目索引依赖改经 xlings NDJSONinterface install_packages安装(仍落在项目
本地数据根,不改变安装位置与 install hook 顺序),不再静默卡住。
修复
- 下载连接 / 预取大小阶段(
totalBytes尚未知)进度行不再"冻结"无反馈:
新增不确定态渲染,显示connecting…+ 已用时,流式无Content-Length
时显示已下载字节,直到拿到总大小再切换为百分比进度条。
其他
- 内置 xlings 版本上调至
0.4.51。 - 下载进度的状态机与渲染集中到
mcpp.ui(DownloadProgress),工具链 /
内置索引 / 自定义索引三条路径共用同一套 UI。
v0.0.52
(no CHANGELOG entry found for 0.0.52)
v0.0.51
(no CHANGELOG entry found for 0.0.51)
v0.0.50
(no CHANGELOG entry found for 0.0.50)
v0.0.49
(no CHANGELOG entry found for 0.0.49)
v0.0.48
(no CHANGELOG entry found for 0.0.48)
v0.0.47
(no CHANGELOG entry found for 0.0.47)