Onova v2.0 Release Notes
-
- ➕ Added
NugetPackageResolver
which resolves packages from a NuGet feed. - ➕ Added
NugetPackageExtractor
which extracts NuGet packages. - ➕ Added
WebPackageResolver
which resolves packages using a manifest provided over HTTP. - ➕ Added
AggregatePackageResolver
which can be used to combine multiple otherIPackageResolver
instances. - 📦 Asset names are now matched using a wildcard pattern in
GithubPackageResolver
, instead of a strictly predefined name. - 🏁
LocalPackageResolver
now uses its own wildcard pattern matching for files, to avoid some inconsistent behavior provided by native Windows methods. - 📇 Renamed most public API members to improve naming.
- ➕ Added
IUpdateManager
to aid in testing. - ⚡️ Updates can no longer be applied more than once during a single runtime. Trying to launch the updater a second time will throw an exception.
- 📦 Implemented progress reporting for downloading and extracting packages.
- ⚡️
CheckForUpdatesResult
now also contains the list of all available package versions, returned by the resolver. - ⚡️
CheckForUpdatesResult.LastVersion
is nownull
if the resolver does not provide packages of any version. - ⚡️
Onova.Updater
will now prompt for elevated privileges if it doesn't have write permissions to updatee's directory. - ⚡️
Onova.Updater
executable is now renamed according to updatee's name to be more recognizable when prompting user for elevated privileges, e.g.MyProject.Updater.exe
. - 🛠 Fixed
Onova.Updater
not copying files that don't have extensions. - ➕ Added logging to
Onova.Updater
. Log file is saved next to the executable. HttpService.GetStreamAsync
extension method will now try to resolve content length from response headers.
- ➕ Added