Update WinSparkle to 0.8.1

Signed-off-by: Rafael Kitover <rkitover@gmail.com>
This commit is contained in:
Rafael Kitover
2024-09-09 10:38:05 +00:00
parent e8ce758a98
commit 0a1cdd9c04
19 changed files with 729 additions and 554 deletions

Binary file not shown.

View File

@@ -1,4 +1,4 @@
Copyright (c) 2009-2018 Vaclav Slavik
Copyright (c) 2009-2023 Vaclav Slavik
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in

View File

@@ -1,3 +1,33 @@
Version 0.8.1
-------------
- Fixed release notes not shown if <sparkle:releaseNotesLink> is malformed
and has whitespace around the URL.
Version 0.8.0
-------------
- Added support for modern Edge/WebView2 browser for release notes.
- Added win_sparkle_set_update_dismissed_callback() and
win_sparkle_set_update_postponed_callback() callbacks.
- Added partiaul support for <sparkle:criticalUpdate> tag.
- Links in release notes now open in user's default browser as they should.
- Added support for Visual Studio 2019 and 2022.
- Added official NuGet package.
- Added support for ARM64 architecture.
- This version drops official support for Windows XP. It may still be possible
to target it with vs*_xp toolsets, but would probably require at least
disabling WebView2. Prebuilt binaries and NuGet package don't support XP.
Version 0.7.0
-------------
- Added support for providing custom HTTP headers when fetch appcast feeds.
- Added support for overriding WinSparkle config functions.
- Reduced size of WinSparkle.dll.
Version 0.6.0
-------------

View File

@@ -1,4 +1,3 @@
[![Build status](https://ci.appveyor.com/api/projects/status/acsuqjheafef29m1?svg=true)](https://ci.appveyor.com/project/vslavik/winsparkle)
[![Crowdin](https://d322cqt584bo4o.cloudfront.net/winsparkle/localized.png)](https://crowdin.com/project/winsparkle)
About
@@ -18,8 +17,21 @@ the [winsparkle.h header](https://github.com/vslavik/winsparkle/blob/master/incl
Using prebuilt binaries
-------------------------
The easiest way to use WinSparkle is to download the prebuilt `WinSparkle.dll`
binary.
The easiest way to use WinSparkle is to either download the prebuilt `WinSparkle.dll`
binary from releases or use the `WinSparkle` [NuGet package](https://www.nuget.org/packages/WinSparkle/).
Prebuilt binaries are available for x86, x64 and arm64 platforms.
Bindings
----------
WinSparkle has a C API that makes it easy to use from many modern languages in addition to C/C++. In addition to that, several bindings for popular languages exist:
* [How to use with C#/.NET](https://github.com/vslavik/winsparkle/wiki/Basic-Setup#managed-code--net--c-applications)
* [Python](https://pypi.org/project/pywinsparkle/)
* [Go](https://github.com/abemedia/go-winsparkle)
* [Pascal](https://github.com/vslavik/winsparkle/tree/master/pascal) binding bundled with WinSparkle
Building from sources
-----------------------
@@ -30,7 +42,7 @@ submodules.
Check the sources out and initialize the submodules:
$ git clone git://github.com/vslavik/winsparkle.git
$ git clone https://github.com/vslavik/winsparkle.git
$ cd winsparkle
$ git submodule init
$ git submodule update
@@ -38,7 +50,7 @@ Check the sources out and initialize the submodules:
To compile the library, just open `WinSparkle.sln` (or the one corresponding to
your compiler version) solution and build it.
At the moment, projects for Visual C++ (2008 and up) are provided, so you'll
At the moment, projects for Visual C++ (2010 and up) are provided, so you'll
need that (Express/Community edition suffices). In principle, there's nothing
in the code preventing it from being compiled by other compilers.
@@ -60,7 +72,7 @@ WinSparkle provides tools to generate keys and sign the update using OpenSSL.
You need `openssl.exe` available on Windows to use those tools (available as
[precompiled binary][OpenSSL binaries]).
Alternatively, you can generate keys and sing your updates even on macOS or Linux,
Alternatively, you can generate keys and sign your updates even on macOS or Linux,
using [tools provided by Sparkle project](https://github.com/sparkle-project/Sparkle/tree/master/bin).
#### Prepare signing with DSA signatures:
@@ -79,7 +91,7 @@ When your update is ready (e.g. `Updater.exe`), sign it and include signature
to your appcast file:
- Sign: `bin\sign_update.bat Updater.exe dsa_priv.pem`
- Add standard output of previos command as `sparkle:dsaSignature` attribute
- Add standard output of previous command as `sparkle:dsaSignature` attribute
of `enclosure` node of your appcast file.
Alternatively `sparkle:dsaSignature` can be a child node of `enclosure`.
@@ -102,7 +114,7 @@ https://github.com/vslavik/winsparkle
WinSparkle uses submodules for some dependencies, so you have to initialize
them after checking the tree out:
$ git clone git://github.com/vslavik/winsparkle.git
$ git clone https://github.com/vslavik/winsparkle.git
$ cd winsparkle
$ git submodule init
$ git submodule update

Binary file not shown.

View File

@@ -9,7 +9,7 @@ FOR %%i IN ("dsaparam.pem" "dsa_priv.pem" "dsa_pub.pem") DO (
openssl dsaparam 4096 > dsaparam.pem
openssl gendsa dsaparam.pem -out dsa_priv.pem
openssl gendsa -out dsa_priv.pem dsaparam.pem
del /F /Q dsaparam.pem
openssl dsa -in dsa_priv.pem -pubout -out dsa_pub.pem

View File

@@ -1,64 +1,64 @@
/*
* This file is part of WinSparkle (https://winsparkle.org)
*
* Copyright (C) 2009-2018 Vaclav Slavik
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
*
*/
#ifndef _winsparkle_version_h_
#define _winsparkle_version_h_
/*--------------------------------------------------------------------------*
Version information
*--------------------------------------------------------------------------*/
#define WIN_SPARKLE_VERSION_MAJOR 0
#define WIN_SPARKLE_VERSION_MINOR 6
#define WIN_SPARKLE_VERSION_MICRO 0
/**
Checks if WinSparkle version is at least @a major.@a minor.@a micro.
*/
#define WIN_SPARKLE_CHECK_VERSION(major, minor, micro) \
( \
WIN_SPARKLE_VERSION_MAJOR > (major) \
|| \
(WIN_SPARKLE_VERSION_MAJOR == (major) && \
WIN_SPARKLE_VERSION_MINOR >= (minor)) \
|| \
(WIN_SPARKLE_VERSION_MAJOR == (major) && \
WIN_SPARKLE_VERSION_MINOR == (minor) && \
WIN_SPARKLE_VERSION_MICRO >= (micro)) \
)
#define _WIN_SPARKLE_MAKE_STR(x) #x
#define _WIN_SPARKLE_MAKE_VERSION_STR(a,b,c) \
_WIN_SPARKLE_MAKE_STR(a) "." _WIN_SPARKLE_MAKE_STR(b) "." _WIN_SPARKLE_MAKE_STR(c)
/**
WinSparkle version as a string in the form of e.g. "0.1.3".
*/
#define WIN_SPARKLE_VERSION_STRING \
_WIN_SPARKLE_MAKE_VERSION_STR(WIN_SPARKLE_VERSION_MAJOR, \
WIN_SPARKLE_VERSION_MINOR, \
WIN_SPARKLE_VERSION_MICRO)
#endif // _winsparkle_version_h_
/*
* This file is part of WinSparkle (https://winsparkle.org)
*
* Copyright (C) 2009-2023 Vaclav Slavik
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
*
*/
#ifndef _winsparkle_version_h_
#define _winsparkle_version_h_
/*--------------------------------------------------------------------------*
Version information
*--------------------------------------------------------------------------*/
#define WIN_SPARKLE_VERSION_MAJOR 0
#define WIN_SPARKLE_VERSION_MINOR 8
#define WIN_SPARKLE_VERSION_MICRO 1
/**
Checks if WinSparkle version is at least @a major.@a minor.@a micro.
*/
#define WIN_SPARKLE_CHECK_VERSION(major, minor, micro) \
( \
WIN_SPARKLE_VERSION_MAJOR > (major) \
|| \
(WIN_SPARKLE_VERSION_MAJOR == (major) && \
WIN_SPARKLE_VERSION_MINOR >= (minor)) \
|| \
(WIN_SPARKLE_VERSION_MAJOR == (major) && \
WIN_SPARKLE_VERSION_MINOR == (minor) && \
WIN_SPARKLE_VERSION_MICRO >= (micro)) \
)
#define _WIN_SPARKLE_MAKE_STR(x) #x
#define _WIN_SPARKLE_MAKE_VERSION_STR(a,b,c) \
_WIN_SPARKLE_MAKE_STR(a) "." _WIN_SPARKLE_MAKE_STR(b) "." _WIN_SPARKLE_MAKE_STR(c)
/**
WinSparkle version as a string in the form of e.g. "0.1.3".
*/
#define WIN_SPARKLE_VERSION_STRING \
_WIN_SPARKLE_MAKE_VERSION_STR(WIN_SPARKLE_VERSION_MAJOR, \
WIN_SPARKLE_VERSION_MINOR, \
WIN_SPARKLE_VERSION_MICRO)
#endif // _winsparkle_version_h_

Binary file not shown.

Binary file not shown.