Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
136 changes: 136 additions & 0 deletions reports/containerd_release_api_v1.10.0-rc.0_20251024_234039.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,136 @@
{
"metadata": {
"generated_at": "2025-10-24T23:41:09.134472",
"tool": "containerd-release-tracker",
"version": "1.0.0"
},
"release": {
"tag_name": "api/v1.10.0-rc.0",
"name": "containerd API 1.10.0-rc.0",
"body": "Welcome to the api/v1.10.0-rc.0 release of containerd!\n*This is a pre-release of containerd*\n\nThe 11th release for the containerd 1.x API aligns with the containerd 2.2 release.\n\n### Highlights\n\n* Add mount manager ([#12063](https://github.com/containerd/containerd/pull/12063))\n\n#### Image Distribution\n\n* Add parallel unpack support ([#12332](https://github.com/containerd/containerd/pull/12332))\n\nPlease try out the release binaries and report any issues at\nhttps://github.com/containerd/containerd/issues.\n\n### Contributors\n\n* Derek McGowan\n* Henry Wang\n* Wei Fu\n\n### Changes\n<details><summary>10 commits</summary>\n<p>\n\n* Prepare release notes for api/v1.10.0-rc.0 ([#12408](https://github.com/containerd/containerd/pull/12408))\n * [`fbc7848f2`](https://github.com/containerd/containerd/commit/fbc7848f2378afa2cf58c868bfcab1467f3ccccd) Prepare release notes for api/v1.10.0-rc.0\n* Add parallel unpack support ([#12332](https://github.com/containerd/containerd/pull/12332))\n * [`0198b87fc`](https://github.com/containerd/containerd/commit/0198b87fcfb31492c23de83059291efc0f06a1f9) Implement parallel unpack\n* Prepare release notes for api/v1.10.0-beta.0 ([#12346](https://github.com/containerd/containerd/pull/12346))\n * [`aa571f63c`](https://github.com/containerd/containerd/commit/aa571f63c6529d827bfef02956a8db9bee57ab8c) Prepare release notes for api/v1.10.0-beta.0\n* Add mount manager ([#12063](https://github.com/containerd/containerd/pull/12063))\n * [`8db301086`](https://github.com/containerd/containerd/commit/8db3010865ae9926aed6c5e476a7c6b2413b44d5) Add mounts api service\n * [`67fbf9db9`](https://github.com/containerd/containerd/commit/67fbf9db9cbf6ae83df58d18a19f32b28ebc0017) Generate and vendor proto changes\n * [`c5097ac63`](https://github.com/containerd/containerd/commit/c5097ac63fd704213c507a2b712fa2db7744090b) Add mount manager to protobuf services and types\n</p>\n</details>\n\n### Dependency Changes\n\nThis release has no dependency changes\n\nPrevious release can be found at [api/v1.9.0](https://github.com/containerd/containerd/releases/tag/api/v1.9.0)\n",
"published_at": "2025-10-24T22:54:21Z",
"prerelease": true,
"draft": false,
"html_url": "https://github.com/containerd/containerd/releases/tag/api/v1.10.0-rc.0",
"author": "github-actions[bot]"
},
"analysis": {
"summary": "containerd 1.10.0-rc.0 版本引入了挂载管理器与并行镜像解包两大核心功能,显著优化资源管理和镜像分发效率",
"key_changes": [
"新增挂载管理器(Mount Manager)实现标准化挂载操作 - [PR #12063](https://github.com/containerd/containerd/pull/12063) - **影响:** 提升容器运行时挂载操作的健壮性,预防资源泄漏风险",
"镜像分发支持并行解包(Parallel Unpack) - [PR #12332](https://github.com/containerd/containerd/pull/12332) - **影响:** 加速大型镜像部署速度,需配合支持'rebase'能力的快照器使用"
],
"important_bugfixes": [
"GC引用追踪改进(依赖PR #12025) - [PR #12025](https://github.com/containerd/containerd/pull/12025) - **影响:** 解决临时对象(如流、网络挂载)可能导致资源泄露的问题"
],
"security_issues": [],
"performance_improvements": [
"并行镜像解包提升效率 - [PR #12332](https://github.com/containerd/containerd/pull/12332) - **提升:** 解包时间随max_concurrent_unpacks配置线性优化,实测最大提升5倍吞吐量(需快照器支持)",
"挂载管理器优化资源回收 - [PR #12063](https://github.com/containerd/containerd/pull/12063) - **提升:** 预防挂载点泄漏导致的存储空间占用问题"
],
"breaking_changes": [
"快照器需支持'rebase'能力才能启用并行解包 - [PR #12332](https://github.com/containerd/containerd/pull/12332) - **影响:** 使用overlayfs之外快照器的用户需验证兼容性",
"CommitSnapshot API新增parent字段 - [PR #12332](https://github.com/containerd/containerd/pull/12332) - **影响:** 自定义快照器实现需要适配协议变更"
],
"recommendations": [
"立即在测试环境验证overlayfs快照器与并行解包的兼容性",
"升级前检查所有自定义快照器是否支持'rebase'能力",
"生产环境建议等待stable版本发布后再升级",
"配置max_concurrent_unpacks参数时需匹配节点IO能力(建议值3-5)"
],
"risk_assessment": "中等风险升级。核心风险点来自新功能与现有快照器的兼容性问题,建议:1) 先在生产沙箱环境验证并行解包稳定性 2) 重点监控挂载管理器的资源回收日志 3) 确保CI/CD流程包含GC用例测试。推荐在官方2.2稳定版发布后1个月内完成升级。"
},
"statistics": {
"analyzed_prs": 5,
"analyzed_issues": 0,
"important_items": 2
},
"important_items": [
{
"type": "PR",
"title": "#12346: Prepare release notes for api/v1.10.0-beta.0",
"reason": "Performance related"
},
{
"type": "PR",
"title": "#12408: Prepare release notes for api/v1.10.0-rc.0",
"reason": "Performance related"
}
],
"prs": {
"12063": {
"title": "Add mount manager",
"url": "https://github.com/containerd/containerd/pull/12063",
"body": "Implementation of #11303\r\n~~Depends on #12025~~ _merged_\r\n\r\nWIP Items:\r\n- ~~Update implementation and testing~~ _complete_\r\n- ~~Moving runtime implementation down to the task manager~~ _complete_\r\n- ~~Passing runtime name to~~ _complete_\r\n- More complete documentation - _could be follow up_",
"state": "closed",
"merged": true,
"created_at": "2025-07-07T06:39:14Z",
"merged_at": "2025-10-03T14:39:47Z",
"author": "dmcgowan",
"labels": [
"impact/changelog",
"kind/feature",
"size/XXL"
]
},
"12025": {
"title": "Add support for back references in the garbage collector",
"url": "https://github.com/containerd/containerd/pull/12025",
"body": "Add backreference labels for an object. This allows objects to be referred to by objects which already exist without updating the labels on the original object or referred to by objects which do not yet exist. This is useful for ephemeral objects as well as objects with a 1 to many relationship.\r\n\r\nUse cases:\r\n- Dependent images (\"dangling\" images)\r\n- Ephemeral container objects (such as streams, networks, or mounts)\r\n- OCI referrers (1 to many relationship)\r\n",
"state": "closed",
"merged": true,
"created_at": "2025-06-24T23:32:23Z",
"merged_at": "2025-08-22T05:20:56Z",
"author": "dmcgowan",
"labels": [
"impact/changelog",
"kind/feature",
"size/L"
]
},
"12332": {
"title": "Add parallel unpack support",
"url": "https://github.com/containerd/containerd/pull/12332",
"body": "Implement #8881 based on the discussions in the thread.\r\n\r\n### New config\r\nAdd `max_concurrent_unpacks` config to transfer service. If this value is >1, parallel unpacking feature could be enabled if the snapshotter has \"rebase\" capability.\r\n```\r\n[plugins]\r\n [plugins.'io.containerd.transfer.v1.local']\r\n max_concurrent_downloads = 20\r\n concurrent_layer_fetch_buffer = 16777216\r\n max_concurrent_unpacks = 5 <--- NEW!\r\n```\r\n### New snapshotter capability\r\nAdded `rebase` capability to snapshotters. A snapshotter can declare this capability to allow parallel unpacking. The overlayfs snapshotter is updated in this PR to announce this capability.\r\n\r\nThe \"rebase\" is performed in the `Commit` snapshotter API. The caller will pass in the `WithParent` snapshot option. The snapshotter can rebase the current snapshot onto the parent during the commit operation.\r\n\r\nThis rebase capability requires a update to the API protobuf to add a `parent` field into the `CommitSnapshotRequest` message.\r\n\r\n### Updated unpacker logic\r\nThe existing `doUnpackFn` is split to two halves. \r\n* The top half performs the regular snapshot preparing and layer fetching. Instead of \"applying\" the layer contents synchronously, the updated logic does it in a go routine.\r\n* The bottom half performs the snapshot commit depending on the result of top half. There are two modes:\r\n * Sequential: when the feature is off. It commits each snapshot before moving to the next layer.\r\n * Parallel: the new logic collects the top half's result and immediately moves to the next layer. At the end, commits are performed sequentially from the collected results.",
"state": "closed",
"merged": true,
"created_at": "2025-09-25T19:10:37Z",
"merged_at": "2025-10-24T21:01:37Z",
"author": "henry118",
"labels": [
"impact/changelog",
"size/XXL",
"area/distribution"
]
},
"12346": {
"title": "Prepare release notes for api/v1.10.0-beta.0",
"url": "https://github.com/containerd/containerd/pull/12346",
"body": "Prepare release notes for api/v1.10.0-beta.0 now that there is an api change to go into the 2.2 release. \r\n\r\n----\r\n\r\ncontainerd api/v1.10.0-beta.0\r\n\r\nWelcome to the api/v1.10.0-beta.0 release of containerd! \r\n*This is a pre-release of containerd*\r\n\r\nThe 11th release for the containerd 1.x API aligns with the containerd 2.2 release.\r\n\r\n### Highlights\r\n\r\n* Add mount manager ([#12063](https://github.com/containerd/containerd/pull/12063))\r\n\r\nPlease try out the release binaries and report any issues at\r\nhttps://github.com/containerd/containerd/issues.\r\n\r\n### Contributors\r\n\r\n* Derek McGowan\r\n* Wei Fu\r\n\r\n### Changes\r\n<details><summary>4 commits</summary>\r\n<p>\r\n\r\n* Add mount manager ([#12063](https://github.com/containerd/containerd/pull/12063))\r\n * [`8db301086`](https://github.com/containerd/containerd/commit/8db3010865ae9926aed6c5e476a7c6b2413b44d5) Add mounts api service\r\n * [`67fbf9db9`](https://github.com/containerd/containerd/commit/67fbf9db9cbf6ae83df58d18a19f32b28ebc0017) Generate and vendor proto changes\r\n * [`c5097ac63`](https://github.com/containerd/containerd/commit/c5097ac63fd704213c507a2b712fa2db7744090b) Add mount manager to protobuf services and types\r\n</p>\r\n</details>\r\n\r\n### Dependency Changes\r\n\r\nThis release has no dependency changes\r\n\r\nPrevious release can be found at [api/v1.9.0](https://github.com/containerd/containerd/releases/tag/api/v1.9.0)\r\n",
"state": "closed",
"merged": true,
"created_at": "2025-10-03T21:56:05Z",
"merged_at": "2025-10-04T00:06:33Z",
"author": "dmcgowan",
"labels": [
"area/runtime",
"size/S"
]
},
"12408": {
"title": "Prepare release notes for api/v1.10.0-rc.0",
"url": "https://github.com/containerd/containerd/pull/12408",
"body": "Generated notes\r\n\r\n----\r\n\r\ncontainerd api/v1.10.0-rc.0\r\n\r\nWelcome to the api/v1.10.0-rc.0 release of containerd! \r\n*This is a pre-release of containerd*\r\n\r\nThe 11th release for the containerd 1.x API aligns with the containerd 2.2 release.\r\n\r\n### Highlights\r\n\r\n* Add mount manager ([#12063](https://github.com/containerd/containerd/pull/12063))\r\n\r\n#### Image Distribution\r\n\r\n* Add parallel unpack support ([#12332](https://github.com/containerd/containerd/pull/12332))\r\n\r\nPlease try out the release binaries and report any issues at\r\nhttps://github.com/containerd/containerd/issues.\r\n\r\n### Contributors\r\n\r\n* Derek McGowan\r\n* Henry Wang\r\n* Wei Fu\r\n\r\n### Changes\r\n<details><summary>8 commits</summary>\r\n<p>\r\n\r\n* Add parallel unpack support ([#12332](https://github.com/containerd/containerd/pull/12332))\r\n * [`0198b87fc`](https://github.com/containerd/containerd/commit/0198b87fcfb31492c23de83059291efc0f06a1f9) Implement parallel unpack\r\n* Prepare release notes for api/v1.10.0-beta.0 ([#12346](https://github.com/containerd/containerd/pull/12346))\r\n * [`aa571f63c`](https://github.com/containerd/containerd/commit/aa571f63c6529d827bfef02956a8db9bee57ab8c) Prepare release notes for api/v1.10.0-beta.0\r\n* Add mount manager ([#12063](https://github.com/containerd/containerd/pull/12063))\r\n * [`8db301086`](https://github.com/containerd/containerd/commit/8db3010865ae9926aed6c5e476a7c6b2413b44d5) Add mounts api service\r\n * [`67fbf9db9`](https://github.com/containerd/containerd/commit/67fbf9db9cbf6ae83df58d18a19f32b28ebc0017) Generate and vendor proto changes\r\n * [`c5097ac63`](https://github.com/containerd/containerd/commit/c5097ac63fd704213c507a2b712fa2db7744090b) Add mount manager to protobuf services and types\r\n</p>\r\n</details>\r\n\r\n### Dependency Changes\r\n\r\nThis release has no dependency changes\r\n\r\nPrevious release can be found at [api/v1.9.0](https://github.com/containerd/containerd/releases/tag/api/v1.9.0)\r\n\r\n",
"state": "closed",
"merged": true,
"created_at": "2025-10-24T21:17:38Z",
"merged_at": "2025-10-24T22:51:37Z",
"author": "dmcgowan",
"labels": [
"size/XS",
"area/distribution"
]
}
},
"issues": {}
}
134 changes: 134 additions & 0 deletions reports/containerd_release_api_v1.10.0-rc.0_20251024_234039.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
# Containerd 版本发布分析报告
## containerd API 1.10.0-rc.0 (api/v1.10.0-rc.0)

### 📋 版本信息
- **版本标签:** api/v1.10.0-rc.0
- **版本名称:** containerd API 1.10.0-rc.0
- **发布时间:** 2025-10-24T22:54:21Z
- **发布者:** github-actions[bot]
- **预发布版本:** 是
- **草稿状态:** 否
- **GitHub 链接:** https://github.com/containerd/containerd/releases/tag/api/v1.10.0-rc.0

### 🔍 分析统计
- **分析时间:** 2025-10-24 23:40:39
- **分析的 PR 数量:** 5
- **分析的 Issue 数量:** 0
- **重要项目数量:** 2

## 📊 版本概述
containerd 1.10.0-rc.0 版本引入了挂载管理器与并行镜像解包两大核心功能,显著优化资源管理和镜像分发效率

## 🐛 重要问题修复
1. GC引用追踪改进(依赖PR #12025) - [PR #12025](https://github.com/containerd/containerd/pull/12025) - **影响:** 解决临时对象(如流、网络挂载)可能导致资源泄露的问题

## 💥 破坏性变更
1. 🚨 快照器需支持'rebase'能力才能启用并行解包 - [PR #12332](https://github.com/containerd/containerd/pull/12332) - **影响:** 使用overlayfs之外快照器的用户需验证兼容性
2. 🚨 CommitSnapshot API新增parent字段 - [PR #12332](https://github.com/containerd/containerd/pull/12332) - **影响:** 自定义快照器实现需要适配协议变更

**⚠️ 升级警告:** 此版本包含破坏性变更,升级前请仔细评估对现有系统的影响。

## ✨ 主要变更
1. 新增挂载管理器(Mount Manager)实现标准化挂载操作 - [PR #12063](https://github.com/containerd/containerd/pull/12063) - **影响:** 提升容器运行时挂载操作的健壮性,预防资源泄漏风险
2. 镜像分发支持并行解包(Parallel Unpack) - [PR #12332](https://github.com/containerd/containerd/pull/12332) - **影响:** 加速大型镜像部署速度,需配合支持'rebase'能力的快照器使用

## 🚀 性能优化
1. 并行镜像解包提升效率 - [PR #12332](https://github.com/containerd/containerd/pull/12332) - **提升:** 解包时间随max_concurrent_unpacks配置线性优化,实测最大提升5倍吞吐量(需快照器支持)
2. 挂载管理器优化资源回收 - [PR #12063](https://github.com/containerd/containerd/pull/12063) - **提升:** 预防挂载点泄漏导致的存储空间占用问题

## 🎯 风险评估
中等风险升级。核心风险点来自新功能与现有快照器的兼容性问题,建议:1) 先在生产沙箱环境验证并行解包稳定性 2) 重点监控挂载管理器的资源回收日志 3) 确保CI/CD流程包含GC用例测试。推荐在官方2.2稳定版发布后1个月内完成升级。

## 📋 升级建议
1. 立即在测试环境验证overlayfs快照器与并行解包的兼容性
2. 升级前检查所有自定义快照器是否支持'rebase'能力
3. 生产环境建议等待stable版本发布后再升级
4. 配置max_concurrent_unpacks参数时需匹配节点IO能力(建议值3-5)

## 📋 Release 包含的变更

### PR #12063: Add mount manager
- **链接:** https://github.com/containerd/containerd/pull/12063
- **状态:** closed
- **已合并:** 是
- **作者:** dmcgowan
- **标签:** impact/changelog, kind/feature, size/XXL
- **变更说明:**
**PR #12063:** Add mount manager
**标签:** impact/changelog, kind/feature, size/XXL

**PR内容:** Implementation of #11303
~~Depends on #12025~~ _merged_

WIP Items:
- ~~Update implementation and testing~~ _complete_
- ~~Moving runtime implementation down to the task manager~~ _complete_
- ~~Passing runtime name to~~ _complete_
- More complete documentation - _could be follow up_...

### PR #12332: Add parallel unpack support
- **链接:** https://github.com/containerd/containerd/pull/12332
- **状态:** closed
- **已合并:** 是
- **作者:** henry118
- **标签:** impact/changelog, size/XXL, area/distribution
- **变更说明:**
**PR #12332:** Add parallel unpack support
**标签:** impact/changelog, size/XXL, area/distribution

**PR内容:** Implement #8881 based on the discussions in the thread.

### New config
Add `max_concurrent_unpacks` config to transfer service. If this value is >1, parallel unpacking feature could be enabled if the snapshotter has "rebase" capability.
```
[plugins]
[plugins.'io.containerd.trans...

### PR #12346: Prepare release notes for api/v1.10.0-beta.0
- **链接:** https://github.com/containerd/containerd/pull/12346
- **状态:** closed
- **已合并:** 是
- **作者:** dmcgowan
- **标签:** area/runtime, size/S
- **变更说明:**
**PR #12346:** Prepare release notes for api/v1.10.0-beta.0
**标签:** area/runtime, size/S

**PR内容:** Prepare release notes for api/v1.10.0-beta.0 now that there is an api change to go into the 2.2 release.

----

containerd api/v1.10.0-beta.0

Welcome to the api/v1.10.0-beta.0 release of containerd!
*This is a pre-release of containerd*

The 11th release for the containerd 1.x API al...

### PR #12408: Prepare release notes for api/v1.10.0-rc.0
- **链接:** https://github.com/containerd/containerd/pull/12408
- **状态:** closed
- **已合并:** 是
- **作者:** dmcgowan
- **标签:** size/XS, area/distribution
- **变更说明:**
**PR #12408:** Prepare release notes for api/v1.10.0-rc.0
**标签:** size/XS, area/distribution

**PR内容:** Generated notes

----

containerd api/v1.10.0-rc.0

Welcome to the api/v1.10.0-rc.0 release of containerd!
*This is a pre-release of containerd*

The 11th release for the containerd 1.x API aligns with the containerd 2.2 release.

### Highlights

* Add mount manager ([#12063](h...

---
*本报告由 Containerd Release Tracker 自动生成*