Skip to content
This repository has been archived by the owner on Jul 5, 2024. It is now read-only.

Releases: clowd/Clowd.Squirrel

2.8.28-pre

09 Mar 09:49
Compare
Choose a tag to compare
2.8.28-pre Pre-release
Pre-release

Changes

2.8.24-pre

08 Mar 15:51
Compare
Choose a tag to compare
2.8.24-pre Pre-release
Pre-release

This is a minor update, including a small performance improvement and minor fixes - as well as some added warnings and changes to the help text.

Changes

  • 6821659 Fix for recursive stub generation
  • 5c1d1a2 Only print full log text after error if the error was argument-related
  • 02323d9 Add warning if the version of Squirrel.exe and SquirrelLib.dll are different
  • cd2ee15 Setup.exe extracts embedded package instead of Update.exe, saving a binary scan.
  • 11e471f Pass WiX msi version via template instead of via a file binding

2.8.15-pre

27 Feb 13:38
Compare
Choose a tag to compare
2.8.15-pre Pre-release
Pre-release

This release has improvements / optimization to the setup bundle architecture, as well as more robust handling of errors when creating stubs. Also I've added a basic dialog to show install/download progress if you do not provide a splash image.

Changes

  • 2c01e19 Better dialog rendering in Setup.exe
  • 8bdf6c3 Bug fix for writing nupkg metadata
  • 061904d Cache package files when ZipPackage first loads so the zip only needs to be read once
  • 01aab4d Use dotnet style exe bundling (using a bundle marker) instead of using windows PE resources. This allows us to write Setup.exe bundles without loading everything in memory, meaning we can support much larger bundles, it is much faster, and is also more cross-platform compatible
  • 1fc9760 Don't try to delete the running process (closes #40)
  • 43fded6 1e3ddb9 430da60 Show fallback progress dialog if no splash image provided
  • 07b486f Optimize enumerable extension
  • f17f0d8 Show error if trying to bundle a ClickOnce application with Squirrel
  • 5535487 More aggressive retries in general
  • dfc5b53 Do not fail the build if we fail to create a stub executable. Also log the failed exe path to the console.

2.8.1-pre

18 Feb 12:51
Compare
Choose a tag to compare
2.8.1-pre Pre-release
Pre-release

Breaking Changes

To address #41 there has been a significant change in how Squirrel deals with dotnet runtime installing. Rather than having hard-coded versions such as net5 or net6 for the --framework argument, we now accept net{ver}-{arch} where {ver} can be any valid version from https://dotnet.microsoft.com/en-us/download/dotnet. We also allow more specificity, for example, net6.0.2-x64 would ensure that 6.0.2 or higher is installed. I have also added a bunch of warnings which will try to detect if you are using the wrong framework version and give hints about what might be better. See the linked issue for more info.

If you are already using a compatible string (eg. net6) with your --framework argument you will not need to change anything, as this will get resolved automatically to net6.0.0-x64. If you are using something like netcoreapp31 you will now need to update your command line to use netcoreapp3.1.

Other Changes

  • b64d85d f91c58c Removed OctoKit dependency, github-down now uses same code as GithubUpdateManager and added the --pre argument to allow downloading prereleases.
  • d09b853 Update PENet and NLog.
  • b85b886 Add support for downloading/uploading packages to any S3 compatible server.
  • 7273039 Improved log messages if a package is malformed, bug fix for packages without SquirrelAware binaries.
  • bec63ab Increase hook timeout from 15s to 30s.

2.7.98-pre

02 Feb 22:08
Compare
Choose a tag to compare
2.7.98-pre Pre-release
Pre-release

Changes

  • 217d2fb better command line help text
  • 8915747 detect the current machine architecture
  • 9d05773 store required machine architecture in nupkg
  • 644861a show error message when trying to install x64 package on x86 machine
  • 88e1cc8 remove duplicate UpdateManager constructors

2.7.89-pre

24 Jan 23:16
299c67f
Compare
Choose a tag to compare
2.7.89-pre Pre-release
Pre-release

Just a minor bug fix and a new command allowing custom sign-tool's to be used.

Changes

  • 05ec119 bug fix for command line help text
  • a67ae3e warning when using deprecated parameters
  • edda9c8 Support custom signing commands (see #29)

2.7.79-pre

17 Jan 15:45
Compare
Choose a tag to compare
2.7.79-pre Pre-release
Pre-release

Previous releases have had a heavy focus on improving the setup/bundling infrastructure. This release is mostly just polishing of the last release and to the C# API. Some older functions have been [Obsolete]'d in favor of newer ones that make a little more sense. All remaining undocumented functions have been documented in this release.

Breaking Changes

  • 995dd63 9df6882 ad72617 Squirrel.exe CLI changes allowing app ID and Name to be passed separately
  • 5f1cb66 cb61eda New HandleEvents overload which gives you a SemanticVersion and a helper class meaning you no longer need to instantiate UpdateManager just to create a shortcut.
  • 014d583 Github factory has been replaced by a new GithubUpdateManager class
  • 0346ddc Second argument for UpdateManager is optional again, reverted from previous release.

Notable Changes / Fixes

  • aebeb24 Add support for vcredist 2010-2013 (see #30)
  • aeb9f2e Can supply release notes with the pack command
  • 689b7ec cf740c5 Bug fixes for packages with dots and dashes in the Id
  • ecea6e1 Replace all usages of WebClient with HttpClient (closes #20)
  • b8a0d84 59f151a 8b68a7b 717922a Bug fixes / improvements for detecting SquirrelAware apps
  • 9df6882 Can now pass signtool location via command line argument (eg. 'AzureSignTool.exe')

Other changes

  • 1a6e796 f92e4eb 73d633c Symbols are now embedded in lib and exe's
  • 762d008 Add $(SquirrelToolsPath) back to msbuild props
  • 15c72b4 ReleasePackage and DeltaPackage are now internal
  • 91d83c0 RuntimeInfo classes are now nested in Runtimes class
  • 6c9421a Update NLog, Vanara, and GitVersioning to latest
  • 1c096bc 0f7c155 Cross-platform improvements (see #17)
  • b160e99 4cb937b Removed the last bit of NuGet code, aside from the SemanticVersion class

2.7.34-pre

01 Jan 23:50
Compare
Choose a tag to compare
2.7.34-pre Pre-release
Pre-release

See what's new

This release adds multi-targeting to the core library (net461, net5, net6, netstandard2), and along with other improvments, means that users on net6 only need to add a single extra dependency (SharpCompress) on top of Squirrel.

XML docs are also now shipping with the library, so say hello to intellisense remarks!

I have also spent a significant amount of time working on the tests; updating the old ones - writing new ones, and remedying any code problems causing failures in the core library. All the tests are now passing 🎉🎉🎉

Breaking changes

  • 8f8530f UpdateManager constructor's second parameter is no longer optional

Bug fixes

  • c8927f2, b328456 Shortcuts not being updated if target is in sub-direcftory
  • efe4c75 UpdateManager no longer throws in it's finalizer, which can cause crashes for exiting apps.
  • c3fd1c5 Decode special path characters when extracting packages
  • 7824298 Set working directory when running Squirrel hooks

Notable features

  • 53d3846 Add lots of XML comments and turn on xml doc gen
  • e70686d, cd3135d, b564861 Add framework multi-targeting
  • 08ec93b Add SupportedOSPlatform annotations for > net5
  • 0b8bcc1 Add ConfigureAwait(false) to every await (see #18)
  • 7cd9d73 Remove all Unsafe code
  • 377fac4 Remove dependency on System.IO.Packaging

Other

  • eaf7029 Embed symbols in SquirrelLib.dll
  • f45e944 bsdiff helper types are now internal

2.7.1-pre

28 Dec 18:34
Compare
Choose a tag to compare
2.7.1-pre Pre-release
Pre-release

See what's new

You can now bootstrap net5/6, either x64, x86, or both. You can also bootstrap vcredist - and this code is now in the Squirrel library, so can be done in your app via the C# API instead of only at install time. If looking to update your app from the full framework to net6, and want Squirrel to install net6 before your update, this is now possible.

Additionally, the Setup.exe binary has been completely re-written from scratch. The logic there was a bit convoluted to start with, and the logging / error messages was sub-optimal. As it stands in this release, Setup.exe is now just a tiny launcher that extracts Update.exe to a temporary file and runs it. Update.exe is the executable that now that does all the heavy lifting: will install any required frameworks, run the splash screen, etc. This also means download or install progress can be shown in the splash window, and it's the reason why bootstrapping new runtimes can be done in an installed app.

Breaking Changes:

  • Removed dependency on System.Drawing and Mono.Cecil from Squirrel.
  • Reading SquirrelAwareVersion from assembly attribute is no longer supported.
  • Releasify build will fail by default if there are no SquirrelAware app's in the supplied package to avoid people accidentally shipping an app that is not aware. This can be bypassed with a new command line argument.

Non-Breaking Improvements

  • Better size estimate for installed apps in "Add or Remove Programs" page. (see 517aaed)
  • App icon can be supplied in command line instead of being specified in the iconUrl attribute of nuspec.
  • Setup.exe has been re-written, it's functionality has been entirely moved into Update.exe which is available to your installed app on the command line or via the C# API.
  • Splash window now shows progress while downloading runtimes and is properly adaptive to per-multi-monitor-dpi setups. Splash screen also supports images with built-in dpi, so if you embed an image with a dpi of >192, it will remain sharp at all resolutions, and get downscaled on lower dpi's (instead of upscaled on everything > 96)
  • A log retention policy to ensure that log files never grow larger than 2mb if apps are checking for updates often. (see 2299ecd)
  • Uses a different temporary directory (SquirrelClowdTemp) to the regular Squirrel (SquirrelTemp) (see d06238f)
  • Add TLS1.3 to ServicePointManager (see d53c4da)
  • Fix for installs that share app directory prefixes (see Squirrel#1719 and edf346e)

2.6.34-pre

13 Dec 22:43
Compare
Choose a tag to compare
2.6.34-pre Pre-release
Pre-release

Changes

  • 9d15b52 Remove "latestver" junction in app folder. This has the potential to break apps that rely on being run from the "app-{ver}" folder, and there also appears to be some issues with the DeleteDirectory command and junctions
  • bb05c33 Delete the "WriteZipToSetup.exe" project, this code has been migrated to C#
  • 8643b0b Enable built-in COM, as it was disabled by trimming (see #16)
  • e9cfaa5 Fix typo in the SquirrelCli.csproj preventing Squirrel.exe from being compressed.