Skip to content

Releases: DrewNaylor/guinget

Version 0.1.0.1 Alpha

21 Jul 05:18
Compare
Choose a tag to compare

guinget Version 0.1.0.1 Alpha Changelog

Released on 7/21/2020 (MM/DD/YYYY).

Didn't think the -e would be important when the package is passed to winget, but it turns out that there's a bug where some packages can't be installed without specifying the exact package name. This issue didn't show up until I tried to install CrystalDiskMark and it wouldn't work since there were conflicting package names. Ended up that the -e (exact) is just as important here as it is in some other situations outside winget. Since this is a major bug, I'm doing a quick bugfix update.

Some packages like CrystalDiskMark and LibreOffice may require administrative permissions to install, so you'll have to run guinget as an administrator.

Please be sure to read the Readme included with this version of guinget or online as it has important info. Also refer to the System Requirements.

If you are reading this in Notepad or another text editor, it displays best in Word Wrap view. Click on Format>Word Wrap on the top bar. Notepad++ users will find it under View>Word Wrap. Word Wrap is automatically done if viewing on GitHub or on the website.

Hashes

MD5 checksums/hashes are not used for guinget as they are weaker than SHA-256. More details, though they're not as relevant to guinget:

You can use Windows PowerShell to confirm the hash of the main guinget EXE file by running
Get-FileHash .\guinget.exe -Algorithm SHA256 in the folder you extracted the archive to and comparing the output to my sums listed below. HowToGeek has a nice article on this, but the Windows section is a bit further down on the page.

The PowerShell method can be used for all files listed below, though you'll have to switch out the filenames.

SHA-256 sum for "guinget_v0.1.0.1-alpha-quieter.exe", which is a quieter installer without the startup message:
9063573663D99ADF58397B9D7E683F437BE362E850DCECF346CF62BCE5A292E5

SHA-256 sum for "guinget_v0.1.0.1-alpha.exe", which is the installer attached to this release:
BFEFEEC74F545AE7D81FA09D2F79CDEA8FCE26A583AFAC34E6A0DE39DE26D8BA

SHA-256 sum for "guinget.exe" in the archive:
6A6954811AB858A8F078B67D74579AA2716894EDF14C18697CC775CF10C3CA8C

SHA-256 sum for "libguinget.dll" in the archive:
2FE467A29806D3B7901A39B3B2A0D54A46BBB7E586FCE59AE777D81DD3028BF0

SHA-256 sum for "update-manifests.bat" in the archive:
AFA421669D4856FB9136656B97CD2098478B1FE67AD5CB2326DA5A8BDA4BD36A

SHA-256 sum for "YamlDotNet.dll" in the archive:
632E1C37E67E5BE46766FFC9ED7790C22D1FE75A5B83AAB9EC4C0678414E5B82

Added

  • Installer scripts are now in the repository.

Fixed

  • Can't install packages like crystaldiskmark as "-e" isn't passed to winget. (issue #24)

Changed

  • Some wording here and there.

Deprecation notices

  • update-manifests.bat is deprecated. Its removal will be done in stages to slowly transition to a world that no longer relies on update-manifests.bat for any scenario:
    • For now it'll stay in the package, but be unused by default. <-- You Are Here
    • Eventually the version in the package will be changed to be a simple script that tells you where to download the main script.
    • After a while it'll be fully removed from the package.
    • A while after that support for it will be fully removed from guinget. It's expected that support will be fully removed by the time guinget (and winget, but it may take longer for guinget to gain that feature) supports multiple sources, if not in the same version.
    • It may be possible that it'll go from being supported in a way that requires it to be enabled manually to being removed from the package, or having support be removed completely, all at once.
  • Since the code to get details from winget is deprecated, it was commented out in version 0.1 alpha. This code may continue to exist in this state as an example for how to get info from winget.

Version 0.1 Alpha

08 Jul 01:15
Compare
Choose a tag to compare

guinget Version 0.1 Alpha Changelog

Released on 7/7/2020 (MM/DD/YYYY).

One month after guinget's second pre-alpha version, the first real alpha version is now available! Although there are few overall changes in this version, the few changes that are there make a major difference in terms of usability, including one change that makes updating the package list much faster. Please be sure to read the Readme included with this version of guinget or online as it has important info. Also refer to the System Requirements.

As of July 17, 2020, there's an installer available as well.

If you are reading this in Notepad or another text editor, it displays best in Word Wrap view. Click on Format>Word Wrap on the top bar. Notepad++ users will find it under View>Word Wrap. Word Wrap is automatically done if viewing on GitHub or on the website.

Hashes

MD5 checksums/hashes are not used for guinget as they are weaker than SHA-256. More details, though they're not as relevant to guinget:

You can use Windows PowerShell to confirm the hash of the main guinget EXE file by running
Get-FileHash .\guinget.exe -Algorithm SHA256 in the folder you extracted the archive to and comparing the output to my sums listed below. HowToGeek has a nice article on this, but the Windows section is a bit further down on the page.

The PowerShell method can be used for all files listed below, though you'll have to switch out the filenames.

SHA-256 sum for "guinget_v0.1-alpha.exe", which is the installer attached to this release:
AFB4E6D91DA3BAA92655F70052D1E91667234D5EC7252181ECF182F26A6D5BA7

SHA-256 sum for "guinget.exe" in the archive:
41013DC21A36FF348AD9B2727059D2AFA10F3D7098042A154DE4D3E90A35F3C4

SHA-256 sum for "libguinget.dll" in the archive:
826B675C6666489B0F3D53D05502E3CD79B7E78AE04852E9808D9E473EEBC936

SHA-256 sum for "update-manifests.bat" in the archive:
AFA421669D4856FB9136656B97CD2098478B1FE67AD5CB2326DA5A8BDA4BD36A

SHA-256 sum for "YamlDotNet.dll" in the archive:
632E1C37E67E5BE46766FFC9ED7790C22D1FE75A5B83AAB9EC4C0678414E5B82

Added

  • libguinget is now in charge of updating the package list instead of update-manifests.bat. Benefits and implications:
    • Much faster package list zip file downloads and extractions (sadly the copying is a bit slower, but it doesn't matter much)
    • A pretty GUI to look at while it does its thing (unfortunately, with indeterminate progress bars for now since I don't know how to actually get the progress numbers to increment the progress bar)
    • Cancel buttons in the download and extract phases if you wish to stop the update and just load the package list from what's currently in the folder that's loaded into the package list data grid view
      • You can press the Esc key instead of clicking Cancel if that's easier or faster.
      • Please be aware that the cancel button is only available during the download and extract phases, and isn't available when copying. This is due to the package manifest folder being deleted before copying begins.
      • Additionally, canceling currently requires the current phase to complete before fully stopping the update.
      • Closing the progress windows doesn't cancel the task at the moment; clicking the cancel button is required.
    • update-manifests.bat is still available for now if you wish to use it, but it's deprecated and may be removed without warning. See here for instructions on re-enabling update-manifests.bat. This manual change will not persist guinget updates.

Fixed

  • Double-clicking on the column separators displays the package context menu. (issue #16)

Changed

  • When focusing the Search box with Ctrl+F, the text in it is now selected so it's easier to type something else.
  • The Apply changes window no longer displays in the taskbar, and it also no longer has a minimize button.
  • Controls that could interfere with the update process are blocked from being used, though some are still available such as File>Exit, Help>About, and the package details textbox (if people get bored and want to read something while it updates). This really only impacts the built-in update system provided by libguinget.
  • update-manifests.bat's message box now talks about how it's deprecated and that it's being used instead of the built-in updater.
  • About window text updates:
    • Separators to make it a bit easier to visualize where text starts and stops for the license parts
    • libguinget is now mentioned here: "Apache License 2.0 summary as it applies to guinget and libguinget:" (new text in bold)
  • Code for getting package details from winget has been commented out to save space in libguinget.dll's PackageTools class. This code is for example purposes and is deprecated.
  • libguinget's assembly info now has "Package and package list tools for guinget and other programs that want to use them." (new text in bold)
  • Documentation updates:
    • Project roadmap had some things moved around a bit.
    • System requirements are now a bit more detailed, especially with regards to minimum and recommended hardware requirements based on my testing.
    • Usage instructions now talk about how to use the new, built-in package list updater.

Deprecated

  • update-manifests.bat is deprecated as mentioned above. Its removal will be done in stages to slowly transition to a world that no longer relies on update-manifests.bat for any scenario:
    • For now it'll stay in the package, but be unused by default. <-- You Are Here
    • Eventually the version in the package will be changed to be a simple script that tells you where to download the main script.
    • After a while it'll be fully removed from the package.
    • A while after that support for it will be fully removed from guinget. It's expected that support will be fully removed by the time guinget (and winget, but it may take longer for guinget to gain that feature) supports multiple sources, if not in the same version.
    • It may be possible that it'll go from being supported in a way that requires it to be enabled manually to being removed from the package, or having support be removed completely, all at once.
  • Since the code to get details from winget is deprecated, it's been commented out as mentioned above. This code may continue to exist in this state as an example for how to get info from winget.

Version 0.1 Pre-Alpha 2

08 Jun 18:09
Compare
Choose a tag to compare
Pre-release

guinget Version 0.1 Pre-Alpha 2 Changelog

Released on 6/8/2020 (MM/DD/YYYY).

Only three days after the first pre-release, a new pre-release version is ready! Even though there aren't many changes in this version, what has been changed has made a major difference for usability in my opinion. Please be sure to read the Readme included with this version of guinget or online as it has important info. Also refer to the System Requirements.

If you are reading this in Notepad or another text editor, it displays best in Word Wrap view. Click on Format>Word Wrap on the top bar. Notepad++ users will find it under View>Word Wrap. Word Wrap is automatically done if viewing on GitHub or on the website.

Hashes

MD5 checksums/hashes are not used for guinget as they are weaker than SHA-256. More details, though they're not as relevant to guinget:

You can use Windows PowerShell to confirm the hash of the main guinget EXE file by running
Get-FileHash .\guinget.exe -Algorithm SHA256 in the folder you extracted the archive to and comparing the output to my sums listed below. HowToGeek has a nice article on this, but the Windows section is a bit further down on the page.

The PowerShell method can be used for all files listed below, though you'll have to switch out the filenames.

SHA-256 sum for "guinget.exe" in the archive:
9E93D482550551BF0529BF1CB26AF0B9562622760ECCD9BE30F0293031F414BF

SHA-256 sum for "libguinget.dll" in the archive:
7886890B0BC4168FDFFB853ACAB6313B77CDBF4E7905006FA64186F522496AC5

SHA-256 sum for "update-manifests.bat" in the archive:
AFA421669D4856FB9136656B97CD2098478B1FE67AD5CB2326DA5A8BDA4BD36A

SHA-256 sum for "YamlDotNet.dll" in the archive:
632E1C37E67E5BE46766FFC9ED7790C22D1FE75A5B83AAB9EC4C0678414E5B82

Added

  • You can now search for packages using the search bar available in the toolbar.
    • For now, this only searches in the Package column, but searching in other columns is planned.
    • Activating the search box is done in multiple ways:
      • Simply clicking the search box
      • Pressing Ctrl+F
      • Choosing Package list>Search from the menubar
    • Starting a search can be done in a few ways:
      • Pressing Enter once you're done typing
      • Clicking the Search toolbar button
    • If there are no packages loaded, searching won't do anything.
    • Please be aware that using Ctrl+A to select all packages in the search results currently selects even non-filtered packages.
    • At the moment, you'll have to manually clear the search box and search again to get back to the non-filtered package list.

Changed

  • Marking many packages at once is now almost instant as column auto-sizing is turned off while marking packages if more than 25 are selected to be marked.
    • The threshold of selected packages that determines whether we should disable column auto-sizing while marking selected packages could change in the future, and it may eventually be a setting the user can change.
    • Previously, column auto-sizing wasn't disabled, and marking an excessive number of packages would take way too long. Now the entire list can be marked in what feels like less than a second or two (even though that's not recommended), while before it would take an extremely long amount of time. It was awful, just awful.
  • Instead of saying "# packages listed", we're now saying "# packages loaded" as we don't yet have a way to show the current number of visible rows. Once we do have that available, it'll be changed back so that the number of packages listed updates as the list is filtered.
  • The project roadmap has been thinned out a bit to spread features and changes across more versions to get newer versions out faster.

Version 0.1 Pre-Alpha 1

05 Jun 18:29
Compare
Choose a tag to compare
Pre-release

guinget Version 0.1 Pre-Alpha 1 Changelog

Released on 6/5/2020 (MM/DD/YYYY).

guinget is now ready for its first pre-release at Version 0.1 Pre-Alpha 1, and it only took about two weeks from starting the project until now! Couldn't have done it without both Microsoft's winget/Windows Package Manager and YamlDotNet. guinget takes heavy inspiration from Synaptic Package Manager as well, so I need to give credit there. Please be sure to read the Readme included with guinget or online as it has important info. Also refer to the System Requirements.

If you are reading this in Notepad or another text editor, it displays best in Word Wrap view. Click on Format>Word Wrap on the top bar. Notepad++ users will find it under View>Word Wrap. Word Wrap is automatically done if viewing on GitHub or on the website.

Hashes

MD5 checksums/hashes are not used for guinget as they are weaker than SHA-256. More details, though they're not as relevant to guinget:

You can use Windows PowerShell to confirm the hash of the main guinget EXE file by running
Get-FileHash .\guinget.exe -Algorithm SHA256 in the folder you extracted the archive to and comparing the output to my sums listed below. HowToGeek has a nice article on this, but the Windows section is a bit further down on the page.

The PowerShell method can be used for all files listed below.

SHA-256 sum for "guinget.exe" in the archive:
D54E9A09F9FD2DF783ABFEBC0C7B40240F46EBEE6CEDF2548E1F85D79F6FB14D

SHA-256 sum for "libguinget.dll" in the archive:
09284FABF19CE274F4DFE8C0CB74E5440CAD49100CEBF72AF19F740A51AE1BBD

SHA-256 sum for "update-manifests.bat" in the archive:
AFA421669D4856FB9136656B97CD2098478B1FE67AD5CB2326DA5A8BDA4BD36A

SHA-256 sum for "YamlDotNet.dll" in the archive:
632E1C37E67E5BE46766FFC9ED7790C22D1FE75A5B83AAB9EC4C0678414E5B82

Features

Instead of a standard changelog, I'm going to list some features of guinget.

  • One or multiple packages can be marked to be "Installed" or "Do nothing" (ignored, basically)
    • Package selection can be done multiple ways:
      • Through the package context menu's Action submenu (double-click and right-click both work to open the menu, though only right-click allows multiple packages to be selected and marked at once)
      • From the Package list>Selected package>Action submenu
      • By changing the combobox dropdown's value in the Action column. Changing the value in the dropdown may take a few clicks to open it, so it may be easier to use the context menu or simply use the arrow keys to move over to it and press spacebar to activate it, allowing the up and down arrow keys to mark as desired.
    • Multiple packages can be selected by using Ctrl+Click, Shift-Click, or Shift+arrow keys.
    • At the moment, marking a lot of packages at once (say, over 50 packages) may take a long time and you won't be able to interact with the window while it's marking them. I want to make this async so that the window can be moved around and stuff, but that's not something I've figured out how to do well yet.
  • Package list can be sorted by different columns, and these columns can be resized and moved. These columns include:
    • Action ("do nothing" or "install" for now)
    • Status ("unknown" for now, since guinget doesn't track whether a package is installed or not yet)
    • Package (displays the ID for each package; copied into the Apply changes dialog)
    • Name (the common name for a package as opposed to its ID)
    • Version (for now it shows all the versions available, but I'd like it to show only the latest version in the column so it's cleaner and put the rest in another window, just like what Synaptic does; copied into the Apply changes dialog)
    • Description
  • Details for each package are shown in the package details textbox below the package list. If you want to, you can resize this textbox since it uses a split view control.
  • Package list cache is stored in %AppData%\winget-frontends\source\winget-pkgs\pkglist\manifests and can be refreshed using any of the following methods:
    • Clicking the Refresh cache button on the toolbar.
    • Using Package list>Refresh cache from the menubar.
    • Pressing Ctrl+R.
    • Running update-manifests.bat directly. Please note that guinget still opens this script every time you refresh the cache, so you'll have to type no or close the script if you don't want it updating again if you just ran it manually.
  • The package list cache as mentioned above is used to fill the package list once you're ready and you've dismissed the last message box before the package list loads.
  • Other sources can have their manifests placed into %AppData%\winget-frontends\source\(source name)\pkglist\manifests, but only Microsoft/winget-pkgs is supported by guinget and update-manifests.bat for now.
  • That package cache location can be used by other winget frontends if they wish to use it, but there's no way to check yet if something is using the folder like APT with its lock file. This feature is planned.
  • Package selections are applied using the Apply changes dialog, which you can access from either its toolbar button, or from Package list>Apply changes...
    • For now, this dialog doesn't support batch installs (or uninstalls, whenever winget [and guinget, by extension] gets that feature), so you'll have to install packages either by double-clicking on each one in the list, or by pressing Enter on each one, when you're ready to start each package's install.
    • The Confirm changes button currently just shows a message box displaying something similar to the item above this one.
  • Any controls that don't have their features fully implemented are hidden by default, but you can show them in one of two ways:
    • Temporarily (until closing and restarting guinget) by clicking a hidden label in the bottom-left corner of the About window.
    • Semi-permanently (until the next guinget update) by opening the config file and changing the value for HideUnfinishedControls from True to False.