Releases: GeneralLibrary/GeneralUpdate
Release v10.5.0-beta.7
🚀 Features
- feat(core): replace 80% size threshold with count-first chain-to-full fallback — 优化全量/链式更新切换策略,用数量阈值替代体积阈值
🐛 Bug Fixes
- fix(core): deduplicate switch-to-full logic, add missing mapper, mixed-AppType tests — 修复全量切换重复逻辑、补充缺失映射器
- fix(ci): filter out snupkg files from push to avoid 400 error — CI 推送过滤 sniupkg 避免 400 错误
- fix(test): replace Progress<T> with SyncProgress<T> in OssDownloadExecutorTests — 修复 Ubuntu CI 偶发失败(SynchronizationContext 竞争)
- fix(ci): skip flaky Bowl SimulatedCrash test on CI runners — CI 跳过需要 dump 权限的 Bowl 测试
- fix(test): opt all EventManager tests into NonParallel collection — 修复 EventManager.Reset() 多线程竞争导致偶发失败
- fix(ci): normalize version input in publish workflow to strip optional v prefix — 修复 NuGet 发布时 v 前缀导致打包失败
🔧 Chores
- chore: bump version to v10.5.0-beta.7
Full Changelog: v10.5.0-beta.6...v10.5.0-beta.7
Release v10.5.0-beta.6
🚀 Features
- feat(core): PackageType enum migration + chain/full fallback mechanism
- feat(core): unified HTTP auth provider + custom headers + CVP fix
- feat: align all components to SemVer 2.0 for version comparison (#521)
🐛 Bug Fixes
- fix(core): resolve 16 audit findings — race conditions, design flaws, glue code, and performance issues
- 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
- fix: quote version variables in dotnet pack step to prevent MSB1008
- fix CI: add missing using System.Collections.Generic for netstandard2.0
🧹 Chores & CI
- fix(ci): add NuGet/login@v1 for OIDC trusted publishing to nuget.org
- fix(ci): make pack/push steps resilient
- fix(ci): remove --no-build from pack step
- chore(drivelution): skip flaky timeout test
- chore: add .NET Foundation prerequisite files
📝 Documentation
- docs: add Discord badge to README
- docs: add generalupdate-skill-codegen section and GitCode star badge (#519)
📦 NuGet Packages (v10.5.0-beta.6)
| Package | Version |
|---|---|
| GeneralUpdate.Bowl | 10.5.0-beta.6 |
| GeneralUpdate.Core | 10.5.0-beta.6 |
| GeneralUpdate.Differential | 10.5.0-beta.6 |
| GeneralUpdate.Drivelution | 10.5.0-beta.6 |
| GeneralUpdate.Extension | 10.5.0-beta.6 |
Published via Trusted Publishing (OIDC) — no API keys required.
Release v10.5.0-beta.4
Release v10.5.0-beta.4
19 commits since v10.5.0-beta.2 — focus on security hardening and update flow reliability.
🔒 Security & Reliability
Security audit fixes — BSDIFF overflow, Zip path traversal, ProcessExit deadlock, Trace listener leak, IPC key validation, and Strategy lifecycle hardening (#515)
Path traversal and process launch safety improvements (#516)
Pipeline failure now aborts IPC and application launch (#518)
Cross-version field mapping alignment between client SDK and server API (#505)
🚀 Features
CVP-first upgrade with automatic chain fallback (#500)
Backups disabled by default for reduced I/O overhead (#511)
BasicAuthProvider and refined authentication scheme system (#495)
Zero-config SetSource() with manifest.json auto-discovery (merged from prior cycle)
♻️ Refactoring
Removed UpgradeMode pass-through field from Core (#509)
Streamlined integration test projects (ClientTest/UpgradeTest) (#507)
🐛 Fixes
Backup recursive nesting and timestamp-based naming (#501/#502/#503)
14 code-review issues across Core/Differential/Bowl/Drivelution/Extension (#513)
📦 NuGet Packages
GeneralUpdate.Bowl · GeneralUpdate.ClientCore · GeneralUpdate.Common · GeneralUpdate.Core · GeneralUpdate.Differential · GeneralUpdate.Drivelution · GeneralUpdate.Extension
Release v10.5.0-beta.2
Between the previous stable release v10.4.6 and v10.5.0-beta.2, there are 150+ commits spanning major changes:
| Category | Highlights |
|---|---|
| Architecture refactor | Strategy pattern rewrite, Pipeline FIFO ordering, Core↔Differential dependency reversal, unified OSS path |
| New features | Zero-config SetSource() API, manifest auto-discovery, DiffPipeline parallel processing, StreamingHdiffDiffer, Brotli compression |
| Bug fixes | SSL policy coverage, HttpClient lifecycle, OSS update crash/infinite loop, silent update identity fields, async anti-patterns, Bsdiff thread safety |
| New projects | GeneralUpdate.Firmware (USB DFU, XMODEM/YMODEM, firmware formats), Vela OTA (Rust workspace) |
| Drivelution | Batch driver updates, cross-platform BaseDriverUpdater, DI integration, retry/rollback pipeline |
| Bowl refactor | Removed IPC dependency, simplified API, dropped macOS |
| Tests | 1000+ unit tests added across Core, Differential, Bowl, Drivelution |
| Docs | All XML documentation rewritten in English, BENCHMARK.md |
| Infrastructure | net8.0+net10.0 upgrade, slnx migration, centralized package versions |
Release v10.4.6
Fix: orphaned temp files in BinaryHandler.Dirty cause patch failures …
Release v10.2.1
Add NuGet package metadata to Drivelution and Extension components (#…
Release v10.0.0
Support nullable download timeout option (#98) Changed DownloadTimeOut option type to nullable int and updated usage to handle null values, allowing more flexible configuration of download timeout settings.
Release v9.5.10
修改配置