Skip to content

Releases: StuartMeeks/NextIteration.SpectreConsole.SelfUpdate

v0.1.9

01 Jun 12:30
2c327e1

Choose a tag to compare

Fixed

  • Prerelease versions with multi-digit numeric identifiers compared as strings, so rc.10 looked older than rc.9. ComparePrerelease used string.CompareOrdinal, which orders "rc.9" after "rc.10" character-by-character ('9' > '1'). A CLI on 0.5.0-rc.9 running update --prerelease against a 0.5.0-rc.10 release therefore reported "Already up to date." Comparison now follows Semantic Versioning §11: dot-separated prerelease identifiers compare left to right, numeric identifiers compare numerically, numeric ranks below alphanumeric, and a longer identifier set outranks a shorter one with an equal prefix.

Changed

  • Bumped NuGet dependencies to their latest versions: Microsoft.Extensions.DependencyInjection.Abstractions and Microsoft.Extensions.Http 10.0.5 → 10.0.8, Microsoft.SourceLink.GitHub 8.0.0 → 10.0.300, and the test stack (Microsoft.NET.Test.Sdk 17.11.1 → 18.6.0, xunit 2.9.2 → 2.9.3, xunit.runner.visualstudio 2.8.2 → 3.1.5, coverlet.collector 6.0.2 → 10.0.1).

Full changelog: https://github.com/StuartMeeks/NextIteration.SpectreConsole.SelfUpdate/blob/main/CHANGELOG.md

v0.1.8

27 May 02:20
529b7b9

Choose a tag to compare

Added

  • UpdateCleanup.Run(...) startup-cleanup helper. Startup CleanupOldInstall() is synchronous and, under OneDrive / antivirus / Windows Search contention, the DeleteDirectoryRobustly retry/backoff path can take several seconds — with no output the app looks hung. The new static UpdateCleanup helper (mirrors UpdateBanner) wraps the cleanup and shows a Cleaning up previous update… status spinner only when there is leftover state to remove; the common no-leftovers case stays completely silent. Run(IServiceProvider, IAnsiConsole?) is the drop-in startup entry point; a Run(IUpdateInstaller, IAnsiConsole) overload is provided for explicit/headless callers.
  • IUpdateInstaller.HasPendingCleanup. Cheap, side-effect-free check that returns true when a .old/ or .update/ directory left by a previous update still exists.

Changed

  • The demo Program.cs and the README quick start now call UpdateCleanup.Run(serviceProvider) instead of IUpdateInstaller.CleanupOldInstall() directly. Purely additiveCleanupOldInstall() is unchanged, so existing consumers keep compiling; switching the one startup line opts into the message.

Full changelog: https://github.com/StuartMeeks/NextIteration.SpectreConsole.SelfUpdate/blob/main/CHANGELOG.md