Skip to content

Commit

Permalink
Drop support for .NET Standard 2.0 and Mono
Browse files Browse the repository at this point in the history
  • Loading branch information
kleisauke committed Oct 14, 2024
1 parent 9e715c8 commit 2f4f658
Show file tree
Hide file tree
Showing 26 changed files with 43 additions and 226 deletions.
5 changes: 0 additions & 5 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,6 @@ jobs:
- os: ubuntu-22.04
container: mcr.microsoft.com/dotnet/sdk:8.0-alpine3.18
script: ./build.sh
# TODO(kleisauke): Re-enable Mono CI when C# 9 features are supported.
# - os: ubuntu-22.04
# script: ./build/test-mono.sh
# allow_failures: true
- os: macos-12
script: ./build.sh
- os: windows-2022
Expand All @@ -45,5 +41,4 @@ jobs:
- name: Checkout
uses: actions/checkout@v4
- name: Test
continue-on-error: ${{ matrix.allow_failures == true }}
run: ${{ matrix.script }}
16 changes: 13 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,11 @@ All notable changes to NetVips will be documented in this file. See [here](CHANG

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).

## [3.0.0] - TBD
### Removed
- Drop support for .NET Standard 2.0 and Mono. NetVips now targets .NET 6 (`net6.0`) and .NET Framework 4.5.2 (`net452`) moving forward.
See https://devblogs.microsoft.com/dotnet/the-future-of-net-standard/ for more information.

## [2.4.2] - 2024-10-13
### Fixed
- Fix incorrect progress reporting on Linux ([#237](https://github.com/kleisauke/net-vips/issues/237)).
Expand Down Expand Up @@ -31,7 +36,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)

### Changed
- Update methods/enums for libvips 8.14.
- The [NetVips.Extensions](https://www.nuget.org/packages/NetVips.Extensions/) package is now only supported on Windows when targeting .NET 6.0 or higher. See https://aka.ms/systemdrawingnonwindows for more information.
- The [NetVips.Extensions](https://www.nuget.org/packages/NetVips.Extensions/) package is now only supported on Windows when targeting .NET 6.0 or higher.
See https://aka.ms/systemdrawingnonwindows for more information.

### Fixed
- Ensure compatibility with FreeBSD and variants.
Expand All @@ -45,13 +51,15 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)

### Changed
- Update methods/enums for libvips 8.13.
- Remove internal `VipsSaveable` enum.
- Avoid throwing general exceptions.
- Ensure debug and unit tests functions are internal.

### Fixed
- Use the correct type for signal handler IDs.

### Removed
- Remove internal `VipsSaveable` enum.

## [2.1.0] - 2021-12-02
### Added
- Add `image.SignalHandlerDisconnect()` for disconnecting a signal handler.
Expand All @@ -61,7 +69,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
- Drop internal `ModuleInit.Fody` dependency in favor of the `[ModuleInitializer]` attribute.
- `image.WriteToBuffer()` tries to use the new target API first.
- Bump minimum required .NET Framework version to v4.5.2.
- The [NetVips.Extensions](https://www.nuget.org/packages/NetVips.Extensions/) package is now attributed as a Windows-specific library when targeting .NET 6.0 or higher. See https://aka.ms/systemdrawingnonwindows for more information.
- The [NetVips.Extensions](https://www.nuget.org/packages/NetVips.Extensions/) package is now attributed as a Windows-specific library when targeting .NET 6.0 or higher.
See https://aka.ms/systemdrawingnonwindows for more information.

### Fixed
- Ensure recorded delegates are not released too early ([#141](https://github.com/kleisauke/net-vips/issues/141)).
Expand Down Expand Up @@ -228,6 +237,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
### Added
- First release!

[3.0.0]: https://github.com/kleisauke/net-vips/compare/v2.4.2...v3.0.0
[2.4.2]: https://github.com/kleisauke/net-vips/compare/v2.4.1...v2.4.2
[2.4.1]: https://github.com/kleisauke/net-vips/compare/v2.4.0...v2.4.1
[2.4.0]: https://github.com/kleisauke/net-vips/compare/v2.3.1...v2.4.0
Expand Down
8 changes: 3 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,7 @@ which gives some more background.
## Supported platforms

- .NET Framework 4.5.2 and higher
- .NET Standard 2.0 and higher
- Mono
- .NET 6.0 and higher

## Install

Expand All @@ -58,7 +57,7 @@ libvips binaries for the most common platforms (see
| **Linux ARM64v8 musl**<sup>3</sup> | [![NetVips.Native.linux-musl-arm64-badge]][NetVips.Native.linux-musl-arm64-nuget] |
| **Linux ARMv7** | [![NetVips.Native.linux-arm-badge]][NetVips.Native.linux-arm-nuget] |
| **macOS x64** | [![NetVips.Native.osx-x64-badge]][NetVips.Native.osx-x64-nuget] |
| **macOS ARM64**<sup>4</sup> | [![NetVips.Native.osx-arm64-badge]][NetVips.Native.osx-arm64-nuget] |
| **macOS ARM64** | [![NetVips.Native.osx-arm64-badge]][NetVips.Native.osx-arm64-nuget] |

[NetVips.Native.win-x64-badge]: https://img.shields.io/nuget/v/NetVips.Native.win-x64.svg
[NetVips.Native.win-x64-nuget]: https://www.nuget.org/packages/NetVips.Native.win-x64
Expand All @@ -83,8 +82,7 @@ libvips binaries for the most common platforms (see

<sup>1</sup> The version number of these NuGet packages is in sync with libvips' version number.
<sup>2</sup> Uses glibc as the standard C library (Ubuntu, Debian, etc).
<sup>3</sup> Uses musl as the standard C library (Alpine, Gentoo Linux, etc).
<sup>4</sup> Requires .NET 6.0 or higher.
<sup>3</sup> Uses musl as the standard C library (Alpine, Gentoo Linux, etc).

Then just install this package, perhaps:

Expand Down
5 changes: 1 addition & 4 deletions build/native/NetVips.Native.linux-arm.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,6 @@
</metadata>
<files>

<!-- The .NET Framework >= 4.6.1 build bits for Mono runtime -->
<file src="targets\NetVips.Native.linux-arm.targets" target="build/net461" />

<!-- Include libvips Linux ARM64v8 binaries -->
<file src="pack\linux-arm\*.so*" target="runtimes/linux-arm/native" />

Expand All @@ -35,7 +32,7 @@
<file src="pack\linux-arm\versions.json" />

<!-- A dummy reference which prevents NuGet from adding any compilation references when this package is imported -->
<file src="_._" target="lib/netstandard1.0" />
<file src="_._" target="lib/net6.0" />

</files>
</package>
5 changes: 1 addition & 4 deletions build/native/NetVips.Native.linux-arm64.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,6 @@
</metadata>
<files>

<!-- The .NET Framework >= 4.6.1 build bits for Mono runtime -->
<file src="targets\NetVips.Native.linux-arm64.targets" target="build/net461" />

<!-- Include libvips Linux ARM64v8 binaries -->
<file src="pack\linux-arm64\*.so*" target="runtimes/linux-arm64/native" />

Expand All @@ -35,7 +32,7 @@
<file src="pack\linux-arm64\versions.json" />

<!-- A dummy reference which prevents NuGet from adding any compilation references when this package is imported -->
<file src="_._" target="lib/netstandard1.0" />
<file src="_._" target="lib/net6.0" />

</files>
</package>
3 changes: 1 addition & 2 deletions build/native/NetVips.Native.linux-musl-arm64.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,7 @@
<file src="pack\linux-musl-arm64\versions.json" />

<!-- A dummy reference which prevents NuGet from adding any compilation references when this package is imported -->
<!-- Note: Linux musl ARM64v8 is supported since .NET Core 3.0 (.NET Standard 2.1) -->
<file src="_._" target="lib/netstandard2.1" />
<file src="_._" target="lib/net6.0" />

</files>
</package>
5 changes: 1 addition & 4 deletions build/native/NetVips.Native.linux-musl-x64.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,6 @@
</metadata>
<files>

<!-- The .NET Framework >= 4.6.1 build bits for Mono runtime -->
<file src="targets\NetVips.Native.linux-musl-x64.targets" target="build/net461" />

<!-- Include libvips Linux musl x64 binaries -->
<file src="pack\linux-musl-x64\*.so*" target="runtimes/linux-musl-x64/native" />

Expand All @@ -35,7 +32,7 @@
<file src="pack\linux-musl-x64\versions.json" />

<!-- A dummy reference which prevents NuGet from adding any compilation references when this package is imported -->
<file src="_._" target="lib/netstandard1.0" />
<file src="_._" target="lib/net6.0" />

</files>
</package>
5 changes: 1 addition & 4 deletions build/native/NetVips.Native.linux-x64.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,6 @@
</metadata>
<files>

<!-- The .NET Framework >= 4.6.1 build bits for Mono runtime -->
<file src="targets\NetVips.Native.linux-x64.targets" target="build/net461" />

<!-- Include libvips Linux x64 binaries -->
<file src="pack\linux-x64\*.so*" target="runtimes/linux-x64/native" />

Expand All @@ -35,7 +32,7 @@
<file src="pack\linux-x64\versions.json" />

<!-- A dummy reference which prevents NuGet from adding any compilation references when this package is imported -->
<file src="_._" target="lib/netstandard1.0" />
<file src="_._" target="lib/net6.0" />

</files>
</package>
17 changes: 2 additions & 15 deletions build/native/NetVips.Native.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -21,33 +21,20 @@

<!-- dependencies -->
<dependencies>
<!-- In-sync with netstandard2.0 below except for NetVips.Native.win-arm64, NetVips.Native.linux-musl-arm64 and NetVips.Native.osx-arm64 -->
<group targetFramework="netstandard2.1">
<group targetFramework="net6.0">
<dependency id="NetVips.Native.linux-x64" version="$version$" include="native" />
<dependency id="NetVips.Native.linux-musl-x64" version="$version$" include="native" />
<!-- Linux musl ARM64v8 is supported since .NET Core 3.0 (.NET Standard 2.1) -->
<dependency id="NetVips.Native.linux-musl-arm64" version="$version$" include="native" />
<dependency id="NetVips.Native.linux-arm" version="$version$" include="native" />
<dependency id="NetVips.Native.linux-arm64" version="$version$" include="native" />
<dependency id="NetVips.Native.osx-x64" version="$version$" include="native" />
<!-- macOS ARM64 (Apple Silicon) is supported on .NET 6.0, but Mono has back-ported this to .NET Standard 2.1 -->
<dependency id="NetVips.Native.osx-arm64" version="$version$" include="native" />
<dependency id="NetVips.Native.win-x64" version="$version$" include="native" />
<dependency id="NetVips.Native.win-x86" version="$version$" include="native" />
<!-- Windows ARM64 is supported since .NET 5.0 and back-ported to .NET Core 3.1 (.NET Standard 2.1) -->
<dependency id="NetVips.Native.win-arm64" version="$version$" include="native" />
</group>
<group targetFramework="netstandard2.0">
<dependency id="NetVips.Native.linux-x64" version="$version$" include="native" />
<dependency id="NetVips.Native.linux-musl-x64" version="$version$" include="native" />
<dependency id="NetVips.Native.linux-arm" version="$version$" include="native" />
<dependency id="NetVips.Native.linux-arm64" version="$version$" include="native" />
<dependency id="NetVips.Native.osx-x64" version="$version$" include="native" />
<dependency id="NetVips.Native.win-x64" version="$version$" include="native" />
<dependency id="NetVips.Native.win-x86" version="$version$" include="native" />
</group>
<group targetFramework="net452">
<!-- Only .NET Framework/Mono needs to include the build directory containing the .targets file -->
<!-- Only .NET Framework needs to include the build directory containing the .targets file -->
<dependency id="NetVips.Native.win-x64" version="$version$" include="native, build" />
<dependency id="NetVips.Native.win-x86" version="$version$" include="native, build" />
</group>
Expand Down
3 changes: 1 addition & 2 deletions build/native/NetVips.Native.osx-arm64.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,7 @@
<file src="pack\osx-arm64\versions.json" />

<!-- A dummy reference which prevents NuGet from adding any compilation references when this package is imported -->
<!-- Note: macOS ARM64 (Apple Silicon) is supported on .NET 6.0, but Mono has back-ported this to .NET Standard 2.1 -->
<file src="_._" target="lib/netstandard2.1" />
<file src="_._" target="lib/net6.0" />

</files>
</package>
5 changes: 1 addition & 4 deletions build/native/NetVips.Native.osx-x64.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,6 @@
</metadata>
<files>

<!-- The .NET Framework >= 4.6.1 build bits for Mono runtime -->
<file src="targets\NetVips.Native.osx-x64.targets" target="build/net461" />

<!-- Include libvips macOS x64 binaries -->
<file src="pack\osx-x64\*.dylib" target="runtimes/osx-x64/native" />

Expand All @@ -35,7 +32,7 @@
<file src="pack\osx-x64\versions.json" />

<!-- A dummy reference which prevents NuGet from adding any compilation references when this package is imported -->
<file src="_._" target="lib/netstandard1.0" />
<file src="_._" target="lib/net6.0" />

</files>
</package>
3 changes: 1 addition & 2 deletions build/native/NetVips.Native.win-arm64.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,7 @@
<file src="pack\win-arm64\versions.json" />

<!-- A dummy reference which prevents NuGet from adding any compilation references when this package is imported -->
<!-- Note: Windows ARM64 is supported since .NET 5.0 and back-ported to .NET Core 3.1 (.NET Standard 2.1) -->
<file src="_._" target="lib/netstandard2.1" />
<file src="_._" target="lib/net6.0" />

</files>
</package>
4 changes: 2 additions & 2 deletions build/native/NetVips.Native.win-x64.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@
</metadata>
<files>

<!-- The .NET Framework >= 4.5 build bits -->
<file src="targets\NetVips.Native.win-x64.targets" target="build/net45" />
<!-- The .NET Framework >= 4.5.2 build bits -->
<file src="targets\NetVips.Native.win-x64.targets" target="build/net452" />

<!-- Include libvips Windows x64 binaries -->
<file src="pack\win-x64\*.dll" target="runtimes/win-x64/native" />
Expand Down
4 changes: 2 additions & 2 deletions build/native/NetVips.Native.win-x86.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@
</metadata>
<files>

<!-- The .NET Framework >= 4.5 build bits -->
<file src="targets\NetVips.Native.win-x86.targets" target="build/net45" />
<!-- The .NET Framework >= 4.5.2 build bits -->
<file src="targets\NetVips.Native.win-x86.targets" target="build/net452" />

<!-- Include libvips Windows x86 binaries -->
<file src="pack\win-x86\*.dll" target="runtimes/win-x86/native" />
Expand Down
18 changes: 0 additions & 18 deletions build/native/targets/NetVips.Native.linux-arm.targets

This file was deleted.

18 changes: 0 additions & 18 deletions build/native/targets/NetVips.Native.linux-arm64.targets

This file was deleted.

18 changes: 0 additions & 18 deletions build/native/targets/NetVips.Native.linux-musl-x64.targets

This file was deleted.

18 changes: 0 additions & 18 deletions build/native/targets/NetVips.Native.linux-x64.targets

This file was deleted.

18 changes: 0 additions & 18 deletions build/native/targets/NetVips.Native.osx-x64.targets

This file was deleted.

Loading

0 comments on commit 2f4f658

Please sign in to comment.