Update_Checker 0.2.11-SR

This is a prerelease version of Update_Checker.
There is a newer version of this package available.
See the version list below for details.
dotnet add package Update_Checker --version 0.2.11-SR
NuGet\Install-Package Update_Checker -Version 0.2.11-SR
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Update_Checker" Version="0.2.11-SR" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Update_Checker --version 0.2.11-SR
#r "nuget: Update_Checker, 0.2.11-SR"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Update_Checker as a Cake Addin
#addin nuget:?package=Update_Checker&version=0.2.11-SR&prerelease

// Install Update_Checker as a Cake Tool
#tool nuget:?package=Update_Checker&version=0.2.11-SR&prerelease

Update-Checker

ChobbyCode Update Checker is a free open source tool designed to make checking for updates on github easier. UC has features such as getting the latest version, seeing if a update is available and more. UC has native Chill support. However, even though Chill is my own software, it does get flagged by AntiViruses for been dangerous which may deter anyone from using YOUR software.

I usually abbreviate the app name to just UC, so don't get confused.

Why use this

  • ✅ - Makes code tidier
  • ✅ - Simple & Easy
  • ✅ - 4 Click Install

Features

  • ✅ - Checking for updates
  • ✅ - Data caching to reduce API calls
  • ✅ - Automatic Downloads (via Chill)

Planned Features

  • ❌ - Access private repos using auth key
  • ❌ - Log Files
  • ❌ - Multiple repo support
  • ❌ - Add support for not github stuff 😃

If you want to contribute fork the repository then create a push request and I will review your code and add or decline it.

Installation

NuGet

To install with NuGet, create a new c# project and click on your solution or project, then click "Manage NuGet Packages", under Browse make sure "Show Pre-releases" is checked and then last of all search for Update_Checker and add the one ChobbyCode.

Usage

Setup

Update-Checker requires its own function to run all the operations in. You can have as many of these functions as you want but they cannot be called the same thing for clear reasons.

At the top of you class file include the Update-Checker.

using Update_Checker;

Create a new method which can run the Update Checker methods. In the method create a instance of the UpdateChecker class. This method cannot return any information and must be ran async from the main program. Change the method's name to something more appropriate for what the class is doing.

public static async void doStuff()
{
    // Create a instance of the UpdateChecker class
    UpdateChecker checker = new UpdateChecker();
}

Checking for updates

In the UpdateChecker function we can call the different functions.

First we need to setup the repo which UpdateChecker will be accessing. Change the OWNERNAME to your github username, then set REPONAME to the name of repo you are trying to get the current version of

checker.OWNERNAME = "ChobbyCode";
checker.REPONAME = "Update-Checker";

We can quickly get to see if there is a update by using the method CheckForUpdates and passing in the current version. The CheckForUpdates method returns a bool which returns true if there is an update and false if there is not

IMPORTANT: When calling a UpdateChecker method make sure it is awaited. i.e "await checker.LatestUpdateTag".

// Checks for updates
string currentVersion = "v0.1.0"
bool isUpdate = await checker.CheckForUpdates(currentVersion); // Checks for update with current version and stores in variable

if(isUpdate){
    // Do update stuff here
}

If you want to reduce the amount of lines you can do as below. Both of the code snippets do the same thing.

if(await checker.CheckForUpdates("v0.1.0")){
    // Do update stuff here
}

Simple Demo

public static async void checkForUpdate()
{
    UpdateChecker checker = new UpdateChecker();

    checker.OWNERNAME = "ChobbyCode";
    checker.REPONAME = "Update-Checker";

    string currentVersion = "v0.1.0";
    string latestVersion = await checker.LatestVersionTag();

    if(await checker.CheckForUpdates(currentVersion))
    {
        Console.WriteLine("There is an update available. Update " + latestVersion + " is available.");
    }
}

Sees if there is a new update available. If there is a new update available it prints there is a new update available to the console and the latest version.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp1.0 was computed.  netcoreapp1.1 was computed.  netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard1.0 is compatible.  netstandard1.1 was computed.  netstandard1.2 was computed.  netstandard1.3 was computed.  netstandard1.4 was computed.  netstandard1.5 was computed.  netstandard1.6 was computed.  netstandard2.0 was computed.  netstandard2.1 was computed. 
.NET Framework net45 was computed.  net451 was computed.  net452 was computed.  net46 was computed.  net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen30 was computed.  tizen40 was computed.  tizen60 was computed. 
Universal Windows Platform uap was computed.  uap10.0 was computed. 
Windows Phone wp8 was computed.  wp81 was computed.  wpa81 was computed. 
Windows Store netcore was computed.  netcore45 was computed.  netcore451 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
0.3.0 91 1/27/2024
0.3.0-SR2 88 9/9/2023
0.2.11-SR 83 9/7/2023
0.2.0-beta 82 9/3/2023
0.1.0-beta 105 9/1/2023

Update Log

✅ - App Refactoring
✅ - Less CPU & RAM Usage
✅ - Minor Bug Fixes