Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
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
10 changes: 5 additions & 5 deletions src/Hub/Hub.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="GeneralUpdate.Core" Version="10.5.0-beta.2" />
<PackageReference Include="GeneralUpdate.Differential" Version="10.5.0-beta.2" />
<PackageReference Include="GeneralUpdate.Drivelution" Version="10.5.0-beta.2" />
<PackageReference Include="GeneralUpdate.Extension" Version="10.5.0-beta.2" />
<PackageReference Include="GeneralUpdate.Bowl" Version="10.5.0-beta.2" />
<PackageReference Include="GeneralUpdate.Core" Version="10.5.0-beta.6" />
<PackageReference Include="GeneralUpdate.Differential" Version="10.5.0-beta.6" />
<PackageReference Include="GeneralUpdate.Drivelution" Version="10.5.0-beta.6" />
<PackageReference Include="GeneralUpdate.Extension" Version="10.5.0-beta.6" />
<PackageReference Include="GeneralUpdate.Bowl" Version="10.5.0-beta.6" />
Comment on lines +10 to +14
</ItemGroup>

<!-- Push 示例需要自托管 SignalR Hub -->
Expand Down
22 changes: 11 additions & 11 deletions website/docs/agent-skills/generalupdate-migration.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ title: 🔄 generalupdate-migration — 迁移指南

# 🔄 GeneralUpdate 迁移指南

帮助开发者从旧版本 GeneralUpdate 迁移到最新稳定版 API(v10.5.0-beta.4)。
帮助开发者从旧版本 GeneralUpdate 迁移到最新稳定版 API(v10.5.0-beta.6)。

> ⚠️ **目标版本:NuGet v10.5.0-beta.4**
> 开发分支(v10.5.0-beta.2)API 与稳定版有根本性差异。
> ⚠️ **目标版本:NuGet v10.5.0-beta.6**
> 开发分支(v10.5.0-beta.6)API 与稳定版有根本性差异。
Comment thread
Copilot marked this conversation as resolved.
Outdated

---

Expand All @@ -24,15 +24,15 @@ title: 🔄 generalupdate-migration — 迁移指南
- 是否使用了 Differential: ______(是/否)

### 迁移后目标
- 目标版本: ______(v10.5.0-beta.4 / 继续用开发分支)
- 目标版本: ______(v10.5.0-beta.6 / 继续用开发分支)
- 是否需要新的功能(Bowl/IPC 替换/AOT): ______
```

---

## 迁移路径

### 路径 A:v9.x → v10.5.0-beta.4
### 路径 A:v9.x → v10.5.0-beta.6

这是最大的跳跃。v9.x 和 v10 的架构完全不同。

Expand All @@ -46,7 +46,7 @@ v9.x (单进程, HttpClient 直连)
├── 无 manifest.json → 必须携带 manifest
└── API 命名空间全部重命名
v10.5.0-beta.4 (双进程, UpdateRequest + Bootstrap)
v10.5.0-beta.6 (双进程, UpdateRequest + Bootstrap)
```

**迁移步骤:**
Expand All @@ -56,7 +56,7 @@ v10.5.0-beta.4 (双进程, UpdateRequest + Bootstrap)
// var updater = new GeneralUpdater("https://api/method");
// updater.Start();

// ✅ v10.5.0-beta.4 写法
// ✅ v10.5.0-beta.6 写法
await new GeneralUpdateBootstrap()
.SetConfig(new UpdateRequest
{
Expand All @@ -70,17 +70,17 @@ await new GeneralUpdateBootstrap()
.LaunchAsync();
```

| v9.x API | v10.5.0-beta.4 对应 | 说明 |
| v9.x API | v10.5.0-beta.6 对应 | 说明 |
|----------|---------------------|------|
| `GeneralUpdater` | `GeneralUpdateBootstrap` | 完全重命名 |
| `SetApiUrl()` / `SetMethod()` | `UpdateRequest.UpdateUrl` | 统一到 UpdateRequest |
| `CheckUpdateAsync()` | `.LaunchAsync()` | 异步改为返回 Bootstrap 实例 |
| 单进程直接更新 | Client + Upgrade 双进程 | 必须创建独立 Upgrade 项目 |
| N/A | `generalupdate.manifest.json` | 必须随首发版本发布 |

### 路径 B:v10.5.0-beta.x (开发分支) → v10.5.0-beta.4
### 路径 B:v10.5.0-beta.x (开发分支) → v10.5.0-beta.6

| 开发分支 API (v10.5.0-beta.x) | 稳定版替代 (v10.5.0-beta.4) | 处理方式 |
| 开发分支 API (v10.5.0-beta.x) | 稳定版替代 (v10.5.0-beta.6) | 处理方式 |
|-------------------------------|---------------------------|---------|
| `new Option()` / `SetOption()` | 存在且兼容 | 直接使用,命名空间有调整 |
| `.Hooks<T>()` / `IUpdateHooks` | 存在且兼容 | 直接使用 |
Expand All @@ -98,7 +98,7 @@ await new GeneralUpdateBootstrap()
### 编译验证
- [ ] `dotnet build` 无错误
- [ ] 无 `MissingMethodException` 的风险
- [ ] 无 `CS0433` 类型冲突(v10.5.0-beta.4 中 Core + Bowl 无冲突,可同时引用)
- [ ] 无 `CS0433` 类型冲突(v10.5.0-beta.6 中 Core + Bowl 无冲突,可同时引用)

### 架构验证
- [ ] 项目已拆分为 Client + Upgrade 两个独立项目
Expand Down
2 changes: 1 addition & 1 deletion website/docs/doc/GeneralUpdate.Bowl.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ Bowl **不负责**下载、解压或替换升级包。它的唯一职责是:

| 项目 | 说明 |
| --- | --- |
| **版本** | `10.5.0-beta.2` |
| **版本** | `10.5.0-beta.6` |
| **目标框架** | `netstandard2.0`(兼容 .NET Framework 4.6.1+ / .NET Core 2.0+ / .NET 5+) |
| **依赖包** | `System.Collections.Immutable`, `System.Text.Json` |
| **内置工具** | Windows: `procdump.exe` / `procdump64.exe` / `procdump64a.exe`;Linux: `procdump` deb/rpm 包 + `install.sh`;macOS: `/usr/bin/lldb` |
Expand Down
2 changes: 1 addition & 1 deletion website/docs/doc/GeneralUpdate.Core.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ GeneralUpdate.Core 是整个生态的**核心引擎**。它不负责生成补丁

| 项目 | 说明 |
| --- | --- |
| **版本** | `10.5.0-beta.2` |
| **版本** | `10.5.0-beta.6` |
| **目标框架** | `netstandard2.0`; `net8.0`; `net10.0`(兼容 .NET Framework 4.6.1+ / .NET Core 2.0+ / .NET 5+;`net8.0`+ 支持 AOT/Trim) |
| **依赖包** | `GeneralUpdate.Differential`(差分算法)、`System.Text.Json`、`Microsoft.AspNetCore.SignalR.Client` |
| **兼容性** | Windows / Linux / macOS;支持 x86 / x64 / ARM64 |
Expand Down
2 changes: 1 addition & 1 deletion website/docs/doc/GeneralUpdate.Differential.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ sidebar_position: 6

| 项目 | 说明 |
| --- | --- |
| **版本** | `10.5.0-beta.2` |
| **版本** | `10.5.0-beta.6` |
| **目标框架** | `netstandard2.0`(兼容 .NET Framework 4.6.1+ / .NET Core 2.0+ / .NET 5+) |
| **依赖包** | 无外部依赖(纯 .NET BCL) |
| **兼容性** | 所有支持 .NET Standard 2.0 的平台 |
Expand Down
2 changes: 1 addition & 1 deletion website/docs/doc/GeneralUpdate.Drivelution.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ sidebar_position: 8

| 项目 | 说明 |
| --- | --- |
| **版本** | `10.5.0-beta.2` |
| **版本** | `10.5.0-beta.6` |
| **目标框架** | `net8.0` / `net10.0`(多目标) |
| **依赖包** | `Microsoft.Extensions.DependencyInjection`、`Microsoft.Extensions.Logging.Abstractions`、`Microsoft.Extensions.Options` |
| **兼容性** | Windows(完整支持,需管理员权限)/ Linux(需 root/sudo)/ macOS(受 SIP 和系统扩展策略影响) |
Expand Down
2 changes: 1 addition & 1 deletion website/docs/doc/GeneralUpdate.Extension.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ sidebar_position: 7

| 项目 | 说明 |
| --- | --- |
| **版本** | `10.5.0-beta.2` |
| **版本** | `10.5.0-beta.6` |
| **目标框架** | `netstandard2.0`(兼容 .NET Framework 4.6.1+ / .NET Core 2.0+ / .NET 5+) |
| **依赖包** | `Microsoft.Extensions.DependencyInjection`、`Microsoft.Extensions.Logging.Abstractions`、`Microsoft.Extensions.Options`、`Newtonsoft.Json`、`System.Net.Http`、`System.IO.Compression`、`System.IO.Compression.ZipFile` |
| **兼容性** | 所有支持 .NET Standard 2.0 的平台 |
Expand Down
11 changes: 11 additions & 0 deletions website/docs/releaselog/GeneralUpdateReleaselog.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,17 @@ tags: [log]

# 📒Release log

### 📍2026-06-20 — v10.5.0-beta.6

- fix(core): resolve 16 audit findings — race conditions, design flaws, glue code, and performance issues
- feat(core): PackageType enum migration + chain/full fallback mechanism
- feat(core): unified HTTP auth provider + custom headers + CVP fix
- fix(core): skip redundant chain packages after full fallback
- fix(core): eliminate all AOT-incompatible patterns for Native AOT support
- fix: resolve CI failures and address Copilot review comments
- feat: align all components to SemVer 2.0 for version comparison (#521)
- chore: bump version to v10.5.0-beta.6 and fix CI pipeline

### 📍2026-06-14

- **GeneralUpdate.Core**: 修复代码审计发现的 BSDIFF 溢出、Zip 路径遍历、ProcessExit 死锁、IPC 密钥硬编码等严重/高危安全问题;修复下载管道失败后继续启动 Upgrade 的错误行为;备份功能默认关闭(不再默认备份);移除 UpgradeMode 透传字段;新增跨版本优先更新(CVP-first)策略,自动降级为链式更新
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ title: 🔄 generalupdate-migration — Migration Guide

# 🔄 GeneralUpdate Migration Guide

Guide developers through migrating GeneralUpdate from older versions to the latest API (v10.5.0-beta.4).
Guide developers through migrating GeneralUpdate from older versions to the latest API (v10.5.0-beta.6).

> ⚠️ **Target Version: NuGet v10.5.0-beta.4**
> Dev branch (v10.5.0-beta.2) APIs differ fundamentally from stable.
> ⚠️ **Target Version: NuGet v10.5.0-beta.6**
> Dev branch (v10.5.0-beta.6) APIs differ fundamentally from stable.

---

Expand All @@ -24,15 +24,15 @@ Guide developers through migrating GeneralUpdate from older versions to the late
- Using Differential: ______ (Yes/No)

### Target State
- Target version: ______ (v10.5.0-beta.4 / Stay on dev branch)
- Target version: ______ (v10.5.0-beta.6 / Stay on dev branch)
- Need new features (Bowl/IPC replacement/AOT): ______
```

---

## Migration Paths

### Path A: v9.x → v10.5.0-beta.4
### Path A: v9.x → v10.5.0-beta.6

This is the biggest jump. v9.x and v10 architectures are completely different.

Expand All @@ -46,7 +46,7 @@ v9.x (single process, HttpClient direct)
├── No manifest.json → manifest required
└── All API namespaces renamed
v10.5.0-beta.4 (dual-process, UpdateRequest + Bootstrap)
v10.5.0-beta.6 (dual-process, UpdateRequest + Bootstrap)
```

**Migration steps:**
Expand All @@ -56,7 +56,7 @@ v10.5.0-beta.4 (dual-process, UpdateRequest + Bootstrap)
// var updater = new GeneralUpdater("https://api/method");
// updater.Start();

// ✅ v10.5.0-beta.4 syntax
// ✅ v10.5.0-beta.6 syntax
await new GeneralUpdateBootstrap()
.SetConfig(new UpdateRequest
{
Expand All @@ -70,17 +70,17 @@ await new GeneralUpdateBootstrap()
.LaunchAsync();
```

| v9.x API | v10.5.0-beta.4 Equivalent | Notes |
| v9.x API | v10.5.0-beta.6 Equivalent | Notes |
|----------|---------------------------|-------|
| `GeneralUpdater` | `GeneralUpdateBootstrap` | Completely renamed |
| `SetApiUrl()` / `SetMethod()` | `UpdateRequest.UpdateUrl` | Unified into UpdateRequest |
| `CheckUpdateAsync()` | `.LaunchAsync()` | Returns Bootstrap instance |
| Single-process update | Client + Upgrade dual-process | Must create separate Upgrade project |
| N/A | `generalupdate.manifest.json` | Must ship with first release |

### Path B: v10.5.0-beta.x (dev branch) → v10.5.0-beta.4
### Path B: v10.5.0-beta.x (dev branch) → v10.5.0-beta.6

| Dev Branch API (v10.5.0-beta.x) | Stable Replacement (v10.5.0-beta.4) | Handling |
| Dev Branch API (v10.5.0-beta.x) | Stable Replacement (v10.5.0-beta.6) | Handling |
|--------------------------------|-----------------------------------|----------|
| `new Option()` / `SetOption()` | Exists and compatible | Use directly, namespace adjusted |
| `.Hooks<T>()` / `IUpdateHooks` | Exists and compatible | Use directly |
Expand All @@ -98,7 +98,7 @@ await new GeneralUpdateBootstrap()
### Build Verification
- [ ] `dotnet build` with no errors
- [ ] No risk of `MissingMethodException`
- [ ] No `CS0433` type conflicts (no conflict between Core + Bowl in v10.5.0-beta.4)
- [ ] No `CS0433` type conflicts (no conflict between Core + Bowl in v10.5.0-beta.6)

### Architecture Verification
- [ ] Project split into Client + Upgrade independent projects
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ sidebar_position: 3

| Item | Description |
| --- | --- |
| **Version** | `10.5.0-beta.2` |
| **Version** | `10.5.0-beta.6` |
| **Target Framework** | `netstandard2.0` (.NET Framework 4.6.1+ / .NET Core 2.0+ / .NET 5+) |
| **Dependencies** | `System.Collections.Immutable`, `System.Text.Json` |
| **Bundled Tools** | Windows: `procdump.exe` / `procdump64.exe` / `procdump64a.exe`; Linux: `procdump` deb/rpm + `install.sh`; macOS: `/usr/bin/lldb` |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ GeneralUpdate.Core is the **core engine** of the ecosystem. It doesn't generate

| Item | Description |
| --- | --- |
| **Version** | `10.5.0-beta.2` |
| **Version** | `10.5.0-beta.6` |
| **Target Framework** | `netstandard2.0` (.NET Framework 4.6.1+ / .NET Core 2.0+ / .NET 5+) |
| **Dependencies** | `GeneralUpdate.Differential`, `System.Text.Json`, `Microsoft.Extensions.Logging.Abstractions` |
| **Compatibility** | Windows (primary) / Linux / macOS; x86 / x64 / ARM64 |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ Directory-level comparison, batch patch generation, parallel scheduling, deleted

| Item | Description |
| --- | --- |
| **Version** | `10.5.0-beta.2` |
| **Version** | `10.5.0-beta.6` |
| **Target Framework** | `netstandard2.0` (.NET Framework 4.6.1+ / .NET Core 2.0+ / .NET 5+) |
| **Dependencies** | None (pure .NET BCL) |
| **Compatibility** | All .NET Standard 2.0 platforms |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ Driver updates differ fundamentally from application file replacement. Drivers a

| Item | Description |
| --- | --- |
| **Version** | `10.5.0-beta.2` |
| **Version** | `10.5.0-beta.6` |
| **Target Frameworks** | `net8.0` / `net10.0` (multi-target) |
| **Dependencies** | `Microsoft.Extensions.DependencyInjection`, `Microsoft.Extensions.Logging.Abstractions`, `Microsoft.Extensions.Options` |
| **Compatibility** | Windows (full, admin required) / Linux (root/sudo) / macOS (SIP & system extension policies apply) |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ It's suited for scenarios where the main app and optional capabilities are distr

| Item | Description |
| --- | --- |
| **Version** | `10.5.0-beta.2` |
| **Version** | `10.5.0-beta.6` |
| **Target Framework** | `netstandard2.0` (.NET Framework 4.6.1+ / .NET Core 2.0+ / .NET 5+) |
| **Dependencies** | `Microsoft.Extensions.DependencyInjection`, `Microsoft.Extensions.Logging.Abstractions`, `Microsoft.Extensions.Options`, `Newtonsoft.Json`, `System.Net.Http`, `System.IO.Compression`, `System.IO.Compression.ZipFile` |
| **Compatibility** | All .NET Standard 2.0 platforms |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,17 @@ tags: [log]

# 📒Release log

### 📍2026-06-20 — v10.5.0-beta.6

- fix(core): resolve 16 audit findings — race conditions, design flaws, glue code, and performance issues
- feat(core): PackageType enum migration + chain/full fallback mechanism
- feat(core): unified HTTP auth provider + custom headers + CVP fix
- fix(core): skip redundant chain packages after full fallback
- fix(core): eliminate all AOT-incompatible patterns for Native AOT support
- fix: resolve CI failures and address Copilot review comments
- feat: align all components to SemVer 2.0 for version comparison (#521)
- chore: bump version to v10.5.0-beta.6 and fix CI pipeline

### 📍2026-06-14

- **GeneralUpdate.Core**: Fixed critical/high security issues found in code audit — BSDIFF overflow, Zip path traversal, ProcessExit deadlock, hardcoded IPC key, etc.; fixed download pipeline failure not aborting Upgrade launch; backup feature disabled by default; removed UpgradeMode pass-through field; added CVP-first upgrade strategy with automatic chain fallback
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ Bowl **不负责**下载、解压或替换升级包。它的唯一职责是:

| 项目 | 说明 |
| --- | --- |
| **版本** | `10.5.0-beta.2` |
| **版本** | `10.5.0-beta.6` |
| **目标框架** | `netstandard2.0`(兼容 .NET Framework 4.6.1+ / .NET Core 2.0+ / .NET 5+) |
| **依赖包** | `System.Collections.Immutable`, `System.Text.Json` |
| **内置工具** | Windows: `procdump.exe` / `procdump64.exe` / `procdump64a.exe`;Linux: `procdump` deb/rpm 包 + `install.sh`;macOS: `/usr/bin/lldb` |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ sidebar_position: 8

| 项目 | 说明 |
| --- | --- |
| **版本** | `10.5.0-beta.2` |
| **版本** | `10.5.0-beta.6` |
| **目标框架** | `net8.0` / `net10.0`(多目标) |
| **依赖包** | `Microsoft.Extensions.DependencyInjection`、`Microsoft.Extensions.Logging.Abstractions`、`Microsoft.Extensions.Options` |
| **兼容性** | Windows(完整支持,需管理员权限)/ Linux(需 root/sudo)/ macOS(受 SIP 和系统扩展策略影响) |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ sidebar_position: 7

| 项目 | 说明 |
| --- | --- |
| **版本** | `10.5.0-beta.2` |
| **版本** | `10.5.0-beta.6` |
| **目标框架** | `netstandard2.0`(兼容 .NET Framework 4.6.1+ / .NET Core 2.0+ / .NET 5+) |
| **依赖包** | `Microsoft.Extensions.DependencyInjection`、`Microsoft.Extensions.Logging.Abstractions`、`Microsoft.Extensions.Options`、`Newtonsoft.Json`、`System.Net.Http`、`System.IO.Compression`、`System.IO.Compression.ZipFile` |
| **兼容性** | 所有支持 .NET Standard 2.0 的平台 |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,17 @@ tags: [log]

# 📒Release log

### 📍2026-06-20 — v10.5.0-beta.6

- fix(core): resolve 16 audit findings — race conditions, design flaws, glue code, and performance issues
- feat(core): PackageType enum migration + chain/full fallback mechanism
- feat(core): unified HTTP auth provider + custom headers + CVP fix
- fix(core): skip redundant chain packages after full fallback
- fix(core): eliminate all AOT-incompatible patterns for Native AOT support
- fix: resolve CI failures and address Copilot review comments
- feat: align all components to SemVer 2.0 for version comparison (#521)
- chore: bump version to v10.5.0-beta.6 and fix CI pipeline

### 📍2026-06-14

- **GeneralUpdate.Core**: 修复代码审计发现的 BSDIFF 溢出、Zip 路径遍历、ProcessExit 死锁、IPC 密钥硬编码等严重/高危安全问题;修复下载管道失败后继续启动 Upgrade 的错误行为;备份功能默认关闭(不再默认备份);移除 UpgradeMode 透传字段;新增跨版本优先更新(CVP-first)策略,自动降级为链式更新
Expand Down
Loading