- Fix downloading from private repo is not possible #7
- Add
EventSynchronizationContextproperty to allow configuring the synchronization context where events are raised (Default to:SynchronizationContext.Current) - Add
AppContextBaseDirectoryproperty as a wrapper forAppContext.BaseDirectory - Add
ProcessPathproperty as a wrapper forEnvironment.ProcessPath
- Add
AllowPreReleasesproperty to allow updating to pre-release versions
- Add
InstallUpdateSingleFileExecutableNameStrategyproperty to define how to name the single file executable when installing updates (#6) - Fix possible path bug when using
InstallUpdateSingleFileExecutableNamewith{0}when required and trying to create base directory - Remove the current single-file application before moving the new file into place
- Set and flag the auto updater script for single file applications on Linux as executable
- Improve the upgrade script for deleting files, now using functions for better code reuse
- Improve process start for the upgrade scripts
- Add
InstallUpdateWindowsExeTypeproperty to strict indicate the type of .exe (Auto, Installer, SingleFileApp) (#6) - Only remove the self upgrade script on Release builds
- Fix unable to remove the self upgrade script under windows
- Fix and encode the raw strings of setup signatures to not show under single-file apps
- Add
GetApplicationInfoStringandGetApplicationInfoDictmethods toEntryApplication - Add
ProcessIdproperty toEntryApplication - Add disposal pattern to
UpdatumManagerto properly dispose the internal timer - Add
CheckForUpdatesAsync(Version)overload to check for updates against a specific version - Add
ConfigureAwait(false)to all awaited calls - Improvements and rewrites on upgrade script (#6)
- Improvements on better detection of .exe installer types on Windows to avoid false positives as single app file executables (#6)
- Changed
EntryApplicationto lazy cache all valeus instead of querying every time - Fix the windows batch script when attempt to move directory (fail) because of space in argument
/ Y - Fix macOS
EntryApplication.MacOSAppBundlePathdue inverted if condition - Fix the
EntryApplication.LaunchNewInstancemethod for macOS, which was failing to launch in case of a App Bundle
- Fixes the auto upgrade for single file executables contained on the zip files, which was replacing the program with the downloaded zip file instead of the extracted executable
- Add NET 10 support
- Improves the regex for extracting the version from file name to support more complex version formats, such as
1.2.3-alpha5,1.2.3-beta, supported terms: dev|alpha|beta|preview|rc|nightly|canary - Fixes the rename of single file executable and directories when containing the version in the name, it was keeping the last version digit appended to the new version
- Improves the
InstallUpdatefor windows installers, by generating and run a upgrade batch script, which in the end calls the installer with the provided arguments (same as before), but also provides more validation checks, better process termination, custom script injection and clean up - Improve the documentation for the
InstallUpdateCompletedevent - Fixes the
InstallUpdateCompletedevent being triggered after executing the installer on Windows, when it should trigger before executing the installer - Fixes the auto upgrade bat script for windows which had a leftover
pausein the end of the script, which was causing the script to wait for user input before closing and then leaving the process open
- Changes the
DownloadProgressUpdateFrequencySecondsdefault from0.5sto0.1sto a more fluid progress update - Improve the accuracy of download progress frequency check by using
StopWatch.GetElapsedTime()instead ofDateTime - Improve the
GetCompatibleReleaseAssetmethod when found multiple matching assets, instead of return the very first, it will now try to infer based onEntryApplicationbundle type, which now searches and defaults to:- Windows:
.exeif running under single-file (PublishSingleFile)- Otherwise, defaults to
.msi
- Linux:
AppImageif running under AppImageFlatpakif running under Flatpak- Otherwise, defaults to
.zip
- If none of the above matches, it will fallback to the first matching asset
- Windows:
- Fixes the
AssemblyAuthorsto use the correct entry assembly reference
- Add
AssemblyAuthorsproperty - Sets the progress of
DownloadedBytesto 0 when operation is cancelled (Fixes #4)
- Improve the macOS codesign to add the
--deepflag - Add
AssemblyVersionStringproperty - Transform all
EntryApplicationmembers into properties
- Rename the
Updatumclass toUpdatumManagerto simplify the name and avoid the requirement for fully qualifying name (#2) - Add a new constructor to pass the repository url, if null or empty it will try to infer from the RepositoryUrl attribute (#3)
- Add more useful properties to the
EntryApplicationclass - Add Linux flatpak support
- Fixes the lack of regex pattern when using full constructor
- Fixes the ForceTriggerUpdateFromRelease not triggering the UpdateFound event
- Improve AutoUpdateCheckTimer by only initialize it when accessed
- First release of the project.