Skip to content

Releases: mcpp-community/mcpp

v0.0.55

18 Jun 16:24
c2f0cc0

Choose a tag to compare

新增

  • [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

10 Jun 04:17
e9ed0e9

Choose a tag to compare

修复

  • 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_managementmcpp.bmi_cache.maintenance
    mcpp.scaffold.createmcpp.publish.pipelinemcpp.pack.pipeline
    mcpp.doctormcpp.projectmcpp.fetcher.progress
    设计与迁移记录见 .agents/docs/2026-06-10-cli-modularization.md

v0.0.53

08 Jun 18:31
84dd1b5

Choose a tag to compare

新增

  • 库 / 组件下载现在与工具链下载一样显示实时进度条、字节进度与速度。自定义 /
    项目索引依赖改经 xlings NDJSON interface install_packages 安装(仍落在项目
    本地数据根,不改变安装位置与 install hook 顺序),不再静默卡住。

修复

  • 下载连接 / 预取大小阶段(totalBytes 尚未知)进度行不再"冻结"无反馈:
    新增不确定态渲染,显示 connecting… + 已用时,流式无 Content-Length
    时显示已下载字节,直到拿到总大小再切换为百分比进度条。

其他

  • 内置 xlings 版本上调至 0.4.51
  • 下载进度的状态机与渲染集中到 mcpp.ui(DownloadProgress),工具链 /
    内置索引 / 自定义索引三条路径共用同一套 UI。

v0.0.52

05 Jun 17:07
ee5fffc

Choose a tag to compare

(no CHANGELOG entry found for 0.0.52)

v0.0.51

05 Jun 15:11
70c89cc

Choose a tag to compare

(no CHANGELOG entry found for 0.0.51)

v0.0.50

05 Jun 01:10

Choose a tag to compare

(no CHANGELOG entry found for 0.0.50)

v0.0.49

04 Jun 02:29

Choose a tag to compare

(no CHANGELOG entry found for 0.0.49)

v0.0.48

04 Jun 00:13

Choose a tag to compare

(no CHANGELOG entry found for 0.0.48)

v0.0.47

03 Jun 20:32

Choose a tag to compare

(no CHANGELOG entry found for 0.0.47)

v0.0.46

02 Jun 23:47
93398f4

Choose a tag to compare

新增

  • 共享库 target 支持声明 soname,Linux 构建会传递 -Wl,-soname,...,
    并在运行产物目录生成 ABI 名称 alias,供下游 DT_NEEDED / dlopen()
    以标准 SONAME 加载。

修复

  • mcpp run / mcpp test 会把工具链 runtime 目录加入进程库搜索环境。
    这修复了 GLX/OpenGL driver 这类经由 dlopen() 加载的库无法找到自身
    DT_NEEDED 闭包的问题。