diff --git a/CHANGELOG.native.md b/CHANGELOG.native.md
index 68f2f90c..0136ff06 100644
--- a/CHANGELOG.native.md
+++ b/CHANGELOG.native.md
@@ -4,6 +4,17 @@ The changes of libvips are documented [here](https://github.com/libvips/libvips/
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+## [8.16.0-rc1] - 2024-10-14
+### Note
+If you would like to see what's changed, please visit the release notes of libvips:
+https://www.libvips.org/2024/10/10/What's-new-in-8.16.html
+
+### Added
+- Add `NetVips.Native.win-x64.net452` and `NetVips.Native.win-x86.net452` compat packages.
+
+### Changed
+- A single shared libvips binary is build for Windows ([#211](https://github.com/kleisauke/net-vips/issues/211)).
+
## [8.15.3] - 2024-08-14
### Note
If you would like to see what's changed, please visit the release notes of libvips:
@@ -261,6 +272,7 @@ https://www.libvips.org/2019/04/22/What's-new-in-8.8.html
### Changed
- A statically linked libvips binary is build for Windows. This reduces the number of DLLs from 37 to 3 ([libvips/build-win64#21](https://github.com/libvips/build-win64/issues/21#issuecomment-458112440)).
+[8.16.0-rc1]: https://github.com/kleisauke/libvips-packaging/compare/v8.15.3...v8.16.0-rc1
[8.15.3]: https://github.com/kleisauke/libvips-packaging/compare/v8.15.2...v8.15.3
[8.15.2]: https://github.com/kleisauke/libvips-packaging/compare/v8.15.1...v8.15.2
[8.15.1]: https://github.com/kleisauke/libvips-packaging/compare/v8.15.0...v8.15.1
diff --git a/appveyor.yml b/appveyor.yml
index bdf42c9a..b041fa59 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -8,7 +8,7 @@ init:
# Environment
environment:
- VIPS_VERSION: "8.15.3"
+ VIPS_VERSION: "8.16.0-rc1"
VIPS_WARNING: 0
# Build script
diff --git a/build/Build.cs b/build/Build.cs
index 286a3356..2d3885c0 100644
--- a/build/Build.cs
+++ b/build/Build.cs
@@ -41,7 +41,9 @@ partial class Build : NukeBuild
string[] NuGetArchitectures =>
[
"win-x64",
+ "win-x64.net452",
"win-x86",
+ "win-x86.net452",
"win-arm64",
"linux-x64",
"linux-musl-x64",
diff --git a/build/native/NetVips.Native.nuspec b/build/native/NetVips.Native.nuspec
index b655f72b..2c89beea 100644
--- a/build/native/NetVips.Native.nuspec
+++ b/build/native/NetVips.Native.nuspec
@@ -35,8 +35,8 @@
-
-
+
+
diff --git a/build/native/NetVips.Native.win-x64.net452.nuspec b/build/native/NetVips.Native.win-x64.net452.nuspec
new file mode 100644
index 00000000..797f9649
--- /dev/null
+++ b/build/native/NetVips.Native.win-x64.net452.nuspec
@@ -0,0 +1,41 @@
+
+
+
+
+
+ NetVips.Native.win-x64.net452
+ NetVips - Native binaries for Windows x64
+ $version$
+ This package complements the NetVips package and contains native binaries of libvips for Windows (x64)
+ Native binaries of libvips for Windows (x64)
+ https://kleisauke.github.io/net-vips
+
+ libvips binaries image-processing
+
+
+ MIT
+ Kleis Auke Wolthuizen
+ Kleis Auke Wolthuizen
+ false
+ Kleis Auke Wolthuizen
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/build/native/NetVips.Native.win-x64.nuspec b/build/native/NetVips.Native.win-x64.nuspec
index 3ff799a0..83e169b4 100644
--- a/build/native/NetVips.Native.win-x64.nuspec
+++ b/build/native/NetVips.Native.win-x64.nuspec
@@ -22,9 +22,6 @@
-
-
-
@@ -35,7 +32,7 @@
-
+
\ No newline at end of file
diff --git a/build/native/NetVips.Native.win-x86.net452.nuspec b/build/native/NetVips.Native.win-x86.net452.nuspec
new file mode 100644
index 00000000..45458461
--- /dev/null
+++ b/build/native/NetVips.Native.win-x86.net452.nuspec
@@ -0,0 +1,41 @@
+
+
+
+
+
+ NetVips.Native.win-x86.net452
+ NetVips - Native binaries for Windows x86
+ $version$
+ This package complements the NetVips package and contains native binaries of libvips for Windows (x86)
+ Native binaries of libvips for Windows (x86)
+ https://kleisauke.github.io/net-vips
+
+ libvips binaries image-processing
+
+
+ MIT
+ Kleis Auke Wolthuizen
+ Kleis Auke Wolthuizen
+ false
+ Kleis Auke Wolthuizen
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/build/native/NetVips.Native.win-x86.nuspec b/build/native/NetVips.Native.win-x86.nuspec
index 3d53872a..58cd142f 100644
--- a/build/native/NetVips.Native.win-x86.nuspec
+++ b/build/native/NetVips.Native.win-x86.nuspec
@@ -22,9 +22,6 @@
-
-
-
@@ -35,7 +32,7 @@
-
+
\ No newline at end of file
diff --git a/build/native/targets/NetVips.Native.win-x64.targets b/build/native/targets/NetVips.Native.win-x64.net452.targets
similarity index 80%
rename from build/native/targets/NetVips.Native.win-x64.targets
rename to build/native/targets/NetVips.Native.win-x64.net452.targets
index 79b381e7..a8df1dac 100644
--- a/build/native/targets/NetVips.Native.win-x64.targets
+++ b/build/native/targets/NetVips.Native.win-x64.net452.targets
@@ -7,8 +7,8 @@
$(LibvipsOutputBase)\
-
-
+
+
$(LibvipsOutputBase)%(Filename)%(Extension)
PreserveNewest
diff --git a/build/native/targets/NetVips.Native.win-x86.targets b/build/native/targets/NetVips.Native.win-x86.net452.targets
similarity index 80%
rename from build/native/targets/NetVips.Native.win-x86.targets
rename to build/native/targets/NetVips.Native.win-x86.net452.targets
index f834b743..93f652a2 100644
--- a/build/native/targets/NetVips.Native.win-x86.targets
+++ b/build/native/targets/NetVips.Native.win-x86.net452.targets
@@ -7,8 +7,8 @@
$(LibvipsOutputBase)\
-
-
+
+
$(LibvipsOutputBase)%(Filename)%(Extension)
PreserveNewest
diff --git a/src/NetVips/ModuleInitializer.cs b/src/NetVips/ModuleInitializer.cs
index d2aa2ca4..dac54d60 100644
--- a/src/NetVips/ModuleInitializer.cs
+++ b/src/NetVips/ModuleInitializer.cs
@@ -43,9 +43,9 @@ internal static string RemapLibraryName(string libraryName)
// For Windows, we try to locate the GLib symbols within
// `libvips-42.dll` first. If these symbols cannot be found there,
// we proceed to locate them within `libglib-2.0-0.dll` and
- // `libgobject-2.0-0.dll`. Note that distributing a single shared
- // library is only possible when we drop support for .NET Framework.
- // Therefore, we always ship at least 3 DLLs for now.
+ // `libgobject-2.0-0.dll`. Note that this is only possible when
+ // targeting .NET 6 or higher. As a result, we always ship at least
+ // 3 DLLs in a separate package for .NET Framework.
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
{
return _gLibStaticallyLinked ? Libraries.Vips : libraryName;
diff --git a/tests/NetVips.Tests/NetVips.Tests.csproj b/tests/NetVips.Tests/NetVips.Tests.csproj
index d6cd2e3a..99fedc38 100644
--- a/tests/NetVips.Tests/NetVips.Tests.csproj
+++ b/tests/NetVips.Tests/NetVips.Tests.csproj
@@ -16,7 +16,7 @@
-
+ all