Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Releases: GeneralLibrary/GeneralUpdate

Release v10.5.0-rc.1

Choose a tag to compare

@github-actions github-actions released this 25 Jun 06:25

🚀 Features

  • Chain-count fallback threshold (#531) — Replace the single 80%-of-full-size heuristic with a two-condition strategy: (1) chain count exceeds MaxChainBeforeFallback (default 8) → full package, (2) combined chain size ≥ full size → full package. The new MaxChainBeforeFallback property is plumbed through UpdateConfigurationDownloadPlanBuilderClientStrategy. This prevents unnecessary switch-to-full when the chain total is only marginally below the full size, since the runtime fallback (FallbackFull) already handles chain application failures.

🐛 Bug Fixes

  • HttpDownloadExecutor missing auth headers (#533) — Download requests were missing the global auth provider and ExtraHeaders (e.g. X-Tenant-Id) from HttpClientProvider. Version validation and status reporting already applied them, but file downloads did not. This caused tenant-scoped file downloads to fail when the server requires X-Tenant-Id.

  • IPC test isolation on LinuxEncryptedFileIpcTests and EncryptedFileProcessContractProviderTests shared a single default IPC file path (/tmp/GeneralUpdate/ipc/process_info.enc). Cross-test filesystem interactions caused Async_Api_Delegates_To_Sync to return null on Linux. Each test instance now creates its own isolated temp directory.

  • SyncProgress<T> in OSS download tests — Replaced Progress\<T\> with SyncProgress\<T\> in OssDownloadExecutorTests to avoid flaky failures on Linux CI runners where async progress callbacks raced with test assertions.

  • Skip flaky Bowl SimulatedCrash test on CISimulatedCrashTest in Bowl is inherently non-deterministic in CI environments; marked to skip on CI runners.

  • EventManager test thread safety — All EventManager tests opted into the NonParallel xUnit collection to prevent thread-safety races between concurrent test runs.

  • CI publish workflow fixes — Added fetch-depth: 0 to checkout for changelog generation; normalized version input to strip optional v prefix before SemVer validation.

  • Bowl → BowlBootstrap test updatesd755b704 renamed Bowl.csBowlBootstrap.cs but missed updating 3 test files (BowlTests.cs, BowlCrashPipelineTests.cs, BowlAsyncTests.cs). Fixed references in all affected tests.

  • Package icon/README paths after src/c#/ → src/ refactor — The 923a7cd6 restructuring moved projects one level up but left ../../../imgs/ relative paths in all 5 .csproj files. dotnet pack failed across the board because ../../../imgs/ resolved above the repo root. Fixed to ../../imgs/.

♻️ Refactoring

  • Flatten directory structure — Move all projects from src/c#/ to src/ for a cleaner, more conventional layout. Drop Firmware from the solution file.

  • Bowl → BowlBootstrap rename — Rename Bowl.cs to BowlBootstrap.cs with corresponding class name change to clarify the bootstrap role.

  • Remove GeneralUpdate.Firmware — Deprecated OTA firmware update project removed entirely (~1,700 lines: GeneralFirmwareBootstrap, FirmwareConfig, FirmwareInfo, OTA decoders, etc.).


NuGet packages: GeneralUpdate.Core · GeneralUpdate.Differential · GeneralUpdate.Bowl · GeneralUpdate.Extension · GeneralUpdate.Drivelution

Release v10.5.0-beta.7

Choose a tag to compare

@github-actions github-actions released this 21 Jun 16:14

🚀 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

Choose a tag to compare

@github-actions github-actions released this 20 Jun 16:26

🚀 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

Choose a tag to compare

@github-actions github-actions released this 12 Jun 10:15
031ace0

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

Choose a tag to compare

@github-actions github-actions released this 03 Jun 08:50

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

Choose a tag to compare

@github-actions github-actions released this 11 Apr 06:58
95b0114
Fix: orphaned temp files in BinaryHandler.Dirty cause patch failures …

Release v10.2.1

Choose a tag to compare

@github-actions github-actions released this 12 Feb 11:46
ef203ab
Add NuGet package metadata to Drivelution and Extension components (#…

Release v10.0.0

Choose a tag to compare

@github-actions github-actions released this 10 Jan 04:01
e6c7c0b
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

Choose a tag to compare

@github-actions github-actions released this 26 Dec 12:54
修改配置
Morty Proxy This is a proxified and sanitized view of the page, visit original site.