Skip to content

Commit 3f20c19

Browse files
committed
chore(release): prepare mcpp 0.0.37
1 parent 99bce6a commit 3f20c19

4 files changed

Lines changed: 26 additions & 4 deletions

File tree

CHANGELOG.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,21 @@
33
> 本文件追踪 `mcpp-community/mcpp` 公开仓的版本演进。
44
> 格式参考 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.1.0/)
55
6+
## [0.0.37] — 2026-05-31
7+
8+
### 修复
9+
10+
- 修复 xlings 项目构建时自动索引刷新泄漏 xlings 内部 `[N/M] index::path`
11+
输出的问题。mcpp 仍保留 `Updating package index (auto-refresh)` 状态行,
12+
且该状态行走统一彩色 UI 输出;内部 `xlings update` 现在在自动刷新路径中
13+
静默执行。
14+
- 修复自动索引 freshness 依赖不稳定目录 mtime 的问题,改用 mcpp-owned
15+
`.mcpp-index-updated` marker,避免 full prepare 时重复刷新索引。
16+
- 修复命名空间依赖命中 BMI cache 后仍显示 `Compiling mcpplibs.*` 的问题,
17+
cache key 与 UI 状态现在使用解析得到的 canonical dependency identity。
18+
- 修复 `xim:` 工具链自动安装时官方索引/目标包文件/`.xlings-index-cache.json`
19+
可能陈旧或指向临时 sandbox 路径导致 `package not found` 的问题。
20+
621
## [0.0.36] — 2026-05-31
722

823
### 修复

mcpp.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "mcpp"
3-
version = "0.0.36"
3+
version = "0.0.37"
44
description = "Modern C++ build & package management tool"
55
license = "Apache-2.0"
66
authors = ["mcpp-community"]

src/cli.cppm

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1459,7 +1459,11 @@ prepare_build(bool print_fingerprint,
14591459
auto cfg2 = get_cfg();
14601460
if (cfg2) {
14611461
auto xlEnv = mcpp::config::make_xlings_env(**cfg2);
1462-
mcpp::xlings::ensure_index_fresh(xlEnv, (*cfg2)->searchTtlSeconds);
1462+
if (!mcpp::xlings::is_index_fresh(xlEnv, (*cfg2)->searchTtlSeconds)) {
1463+
mcpp::ui::status("Updating", "package index (auto-refresh)");
1464+
mcpp::xlings::ensure_index_fresh(
1465+
xlEnv, (*cfg2)->searchTtlSeconds, /*quiet=*/true);
1466+
}
14631467
}
14641468
}
14651469
}
@@ -2995,7 +2999,10 @@ int cmd_search(const mcpplibs::cmdline::ParsedArgs& parsed) {
29952999
if (!cfg) { mcpp::ui::error(cfg.error().message); return 4; }
29963000

29973001
auto xlEnv = mcpp::config::make_xlings_env(*cfg);
2998-
mcpp::xlings::ensure_index_fresh(xlEnv, cfg->searchTtlSeconds);
3002+
if (!mcpp::xlings::is_index_fresh(xlEnv, cfg->searchTtlSeconds)) {
3003+
mcpp::ui::status("Updating", "package index (auto-refresh)");
3004+
mcpp::xlings::ensure_index_fresh(xlEnv, cfg->searchTtlSeconds, /*quiet=*/true);
3005+
}
29993006

30003007
mcpp::fetcher::Fetcher f(*cfg);
30013008
auto hits = f.search(keyword);

src/toolchain/fingerprint.cppm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import mcpp.toolchain.detect;
1818

1919
export namespace mcpp::toolchain {
2020

21-
inline constexpr std::string_view MCPP_VERSION = "0.0.36";
21+
inline constexpr std::string_view MCPP_VERSION = "0.0.37";
2222

2323
struct FingerprintInputs {
2424
Toolchain toolchain;

0 commit comments

Comments
 (0)