From 12684fdb6bb50bbe816e35bd02f5ceeea6a620a0 Mon Sep 17 00:00:00 2001 From: Dirk Lemstra Date: Sat, 28 Mar 2026 09:46:02 +0100 Subject: [PATCH 01/22] Run dependabot daily instead. --- .github/dependabot.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 91af562ab5..7fcc061bcb 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -5,10 +5,10 @@ updates: cooldown: default-days: 7 schedule: - interval: "weekly" + interval: "daily" - package-ecosystem: "nuget" directory: "/" cooldown: default-days: 7 schedule: - interval: "weekly" + interval: "daily" From 6cb611476797835042155a206fbf296d0db8d4cb Mon Sep 17 00:00:00 2001 From: Dirk Lemstra Date: Sat, 28 Mar 2026 09:47:34 +0100 Subject: [PATCH 02/22] Set permissions at job level instead. --- .github/workflows/codeql-analysis.yml | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index d0643ed80d..6d6386b376 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -8,16 +8,19 @@ on: paths: - .github/workflows/codeql-analysis.yml +permissions: {} + name: codeql analysis -permissions: - contents: read - packages: read - security-events: write jobs: csharp: name: CodeQL analysis (C#) runs-on: windows-2022 + permissions: + contents: read + packages: read + security-events: write + steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #v6.0.2 with: @@ -51,6 +54,10 @@ jobs: name: CodeQL analysis (GitHub Actions) runs-on: ubuntu-24.04 + permissions: + contents: read + security-events: write + steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #v6.0.2 with: From 339700d3cc11795e1c8c75222d91f065046749f8 Mon Sep 17 00:00:00 2001 From: Dirk Lemstra Date: Sat, 28 Mar 2026 10:08:56 +0100 Subject: [PATCH 03/22] Document which option will be set. --- src/Magick.NET/Formats/Dcm/DcmReadDefines.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Magick.NET/Formats/Dcm/DcmReadDefines.cs b/src/Magick.NET/Formats/Dcm/DcmReadDefines.cs index b1e9c203df..eeb464ef9a 100644 --- a/src/Magick.NET/Formats/Dcm/DcmReadDefines.cs +++ b/src/Magick.NET/Formats/Dcm/DcmReadDefines.cs @@ -17,23 +17,23 @@ public MagickFormat Format => MagickFormat.Dcm; /// - /// Gets or sets a value indicating whether the interpretation of the rescale slope should be set. + /// Gets or sets a value indicating whether the interpretation of the rescale slope should be set (dcm:rescale). /// public bool? Rescale { get; set; } /// /// Gets or sets a value indicating whether the display range should be set to the - /// minimum and maximum pixel values. + /// minimum and maximum pixel values (dcm:display-range=reset). /// public bool? ResetDisplayRange { get; set; } /// - /// Gets or sets the window center. + /// Gets or sets the window center (dcm:window). /// public double? WindowCenter { get; set; } /// - /// Gets or sets the window center. + /// Gets or sets the window center (dcm:window). /// public double? WindowWidth { get; set; } From 74b31247ac6511ea02c9c8bfb5ca74c04d250619 Mon Sep 17 00:00:00 2001 From: Dirk Lemstra Date: Sat, 28 Mar 2026 10:11:18 +0100 Subject: [PATCH 04/22] Added FixByteOrder to the DcmReadDefines (#1976) --- src/Magick.NET/Formats/Dcm/DcmReadDefines.cs | 8 ++++ .../Dcm/DcmReadDefinesTests/TheConstructor.cs | 1 + .../TheFixByteOrderProperty.cs | 42 +++++++++++++++++++ 3 files changed, 51 insertions(+) create mode 100644 tests/Magick.NET.Tests/Formats/Dcm/DcmReadDefinesTests/TheFixByteOrderProperty.cs diff --git a/src/Magick.NET/Formats/Dcm/DcmReadDefines.cs b/src/Magick.NET/Formats/Dcm/DcmReadDefines.cs index eeb464ef9a..082cc687f5 100644 --- a/src/Magick.NET/Formats/Dcm/DcmReadDefines.cs +++ b/src/Magick.NET/Formats/Dcm/DcmReadDefines.cs @@ -10,6 +10,11 @@ namespace ImageMagick.Formats; /// public sealed class DcmReadDefines : IReadDefines { + /// + /// Gets or sets a value indicating whether the byte order of the pixels should be fixed (dcm:fix-byte-order). + /// + public bool? FixByteOrder { get; set; } + /// /// Gets the format where the defines are for. /// @@ -44,6 +49,9 @@ public IEnumerable Defines { get { + if (FixByteOrder.HasValue) + yield return new MagickDefine(Format, "fix-byte-order", FixByteOrder.Value); + if (Rescale.HasValue) yield return new MagickDefine(Format, "rescale", Rescale.Value); diff --git a/tests/Magick.NET.Tests/Formats/Dcm/DcmReadDefinesTests/TheConstructor.cs b/tests/Magick.NET.Tests/Formats/Dcm/DcmReadDefinesTests/TheConstructor.cs index 9d4945bbe9..b1908e22f6 100644 --- a/tests/Magick.NET.Tests/Formats/Dcm/DcmReadDefinesTests/TheConstructor.cs +++ b/tests/Magick.NET.Tests/Formats/Dcm/DcmReadDefinesTests/TheConstructor.cs @@ -17,6 +17,7 @@ public void ShouldNotSetAnyDefines() using var image = new MagickImage(); image.Settings.SetDefines(new DcmReadDefines()); + Assert.Null(image.Settings.GetDefine(MagickFormat.Dcm, "fix-byte-order")); Assert.Null(image.Settings.GetDefine(MagickFormat.Dcm, "display-range")); Assert.Null(image.Settings.GetDefine(MagickFormat.Dcm, "rescale")); Assert.Null(image.Settings.GetDefine(MagickFormat.Dcm, "window")); diff --git a/tests/Magick.NET.Tests/Formats/Dcm/DcmReadDefinesTests/TheFixByteOrderProperty.cs b/tests/Magick.NET.Tests/Formats/Dcm/DcmReadDefinesTests/TheFixByteOrderProperty.cs new file mode 100644 index 0000000000..fe74ccca8f --- /dev/null +++ b/tests/Magick.NET.Tests/Formats/Dcm/DcmReadDefinesTests/TheFixByteOrderProperty.cs @@ -0,0 +1,42 @@ +// Copyright Dirk Lemstra https://github.com/dlemstra/Magick.NET. +// Licensed under the Apache License, Version 2.0. + +using ImageMagick; +using ImageMagick.Formats; +using Xunit; + +namespace Magick.NET.Tests; + +public partial class DcmReadDefinesTests +{ + public class TheFixByteOrderProperty + { + [Fact] + public void ShoulBeSetWhenTheValueIsFalse() + { + var defines = new DcmReadDefines() + { + FixByteOrder = false, + }; + + using var image = new MagickImage(); + image.Settings.SetDefines(defines); + + Assert.Equal("false", image.Settings.GetDefine(MagickFormat.Dcm, "fix-byte-order")); + } + + [Fact] + public void ShouldBeSetWhenTheValueIsTrue() + { + var defines = new DcmReadDefines() + { + FixByteOrder = true, + }; + + using var image = new MagickImage(); + image.Settings.SetDefines(defines); + + Assert.Equal("true", image.Settings.GetDefine(MagickFormat.Dcm, "fix-byte-order")); + } + } +} From 478c8189710c7ab84b098688511bb704b28c3810 Mon Sep 17 00:00:00 2001 From: Dirk Lemstra Date: Thu, 2 Apr 2026 21:45:35 +0200 Subject: [PATCH 05/22] Switch to FakeItEasy. --- Directory.Packages.props | 1 + tests/Magick.NET.Tests/Magick.NET.Tests.csproj | 2 +- tests/Magick.NET.Tests/MagickImageTests/TheCompareMethod.cs | 1 - .../PerceptualHashTests/TheSumSquaredDistanceMethod.cs | 6 +++--- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Directory.Packages.props b/Directory.Packages.props index 0dd73f65b9..c2f0cc6b4f 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -5,6 +5,7 @@ + diff --git a/tests/Magick.NET.Tests/Magick.NET.Tests.csproj b/tests/Magick.NET.Tests/Magick.NET.Tests.csproj index bd3916a3ee..8538ab9174 100644 --- a/tests/Magick.NET.Tests/Magick.NET.Tests.csproj +++ b/tests/Magick.NET.Tests/Magick.NET.Tests.csproj @@ -46,8 +46,8 @@ + - all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/tests/Magick.NET.Tests/MagickImageTests/TheCompareMethod.cs b/tests/Magick.NET.Tests/MagickImageTests/TheCompareMethod.cs index fdfbf03716..44e02c35b4 100644 --- a/tests/Magick.NET.Tests/MagickImageTests/TheCompareMethod.cs +++ b/tests/Magick.NET.Tests/MagickImageTests/TheCompareMethod.cs @@ -3,7 +3,6 @@ using System; using ImageMagick; -using NSubstitute; using Xunit; #if Q8 diff --git a/tests/Magick.NET.Tests/Statistics/PerceptualHashTests/TheSumSquaredDistanceMethod.cs b/tests/Magick.NET.Tests/Statistics/PerceptualHashTests/TheSumSquaredDistanceMethod.cs index da7272c0c3..7d40bb9fff 100644 --- a/tests/Magick.NET.Tests/Statistics/PerceptualHashTests/TheSumSquaredDistanceMethod.cs +++ b/tests/Magick.NET.Tests/Statistics/PerceptualHashTests/TheSumSquaredDistanceMethod.cs @@ -2,8 +2,8 @@ // Licensed under the Apache License, Version 2.0. using System; +using FakeItEasy; using ImageMagick; -using NSubstitute; using Xunit; namespace Magick.NET.Tests; @@ -19,8 +19,8 @@ public void ShouldThrowExceptionWhenCustomImplementationDoesNotHaveExpectedChann var phash = image.PerceptualHash(); Assert.NotNull(phash); - var perceptualHash = Substitute.For(); - perceptualHash.GetChannel(PixelChannel.Blue).Returns((IChannelPerceptualHash?)null); + var perceptualHash = A.Fake(); + A.CallTo(() => perceptualHash.GetChannel(PixelChannel.Red)).Returns(null); var exception = Assert.Throws(() => phash.SumSquaredDistance(perceptualHash)); Assert.Equal("The other perceptual hash should contain a red, green and blue channel.", exception.Message); From e1076f9ac7a3e3e1584606baeaab61fc960565ef Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 3 Apr 2026 16:42:37 +0200 Subject: [PATCH 06/22] Bump ImageMagick/code-signing-action from 1.0.0 to 1.0.1 (#1987) Bumps [ImageMagick/code-signing-action](https://github.com/imagemagick/code-signing-action) from 1.0.0 to 1.0.1. - [Commits](https://github.com/imagemagick/code-signing-action/compare/4d19869732e1cd97bb823ad21ebffb26ad10836c...11c51f7659405bee4dd3529748e1501a0d388911) --- updated-dependencies: - dependency-name: ImageMagick/code-signing-action dependency-version: 1.0.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 444c3fb316..dfde554848 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -411,7 +411,7 @@ jobs: merge-multiple: true - name: Sign executables and libraries - uses: ImageMagick/code-signing-action@4d19869732e1cd97bb823ad21ebffb26ad10836c #v1.0.0 + uses: ImageMagick/code-signing-action@11c51f7659405bee4dd3529748e1501a0d388911 #v1.0.1 with: client-id: ${{ secrets.AZURE_CLIENT_ID }} tenant-id: ${{ secrets.AZURE_TENANT_ID }} From d8ecaa2ba141df71bda79db52227fe49f6dfa1cd Mon Sep 17 00:00:00 2001 From: Dirk Lemstra Date: Mon, 6 Apr 2026 12:39:35 +0200 Subject: [PATCH 07/22] Test the whole ImageMagick version. --- .../TheImageMagickVersionProperty.cs | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/tests/Magick.NET.Tests/MagickNETTests/TheImageMagickVersionProperty.cs b/tests/Magick.NET.Tests/MagickNETTests/TheImageMagickVersionProperty.cs index 517b9bd960..3af1797ea4 100644 --- a/tests/Magick.NET.Tests/MagickNETTests/TheImageMagickVersionProperty.cs +++ b/tests/Magick.NET.Tests/MagickNETTests/TheImageMagickVersionProperty.cs @@ -1,6 +1,7 @@ // Copyright Dirk Lemstra https://github.com/dlemstra/Magick.NET. // Licensed under the Apache License, Version 2.0. +using System.Runtime.InteropServices; using ImageMagick; using Xunit; @@ -11,21 +12,20 @@ public partial class MagickNETTests public partial class TheImageMagickVersionProperty { [Fact] - public void ShouldContainCorrectQuantum() + public void ShoudlReturnTheCorrectValue() { + var version = "7.1.2-18"; + var architecture = Runtime.IsWindows + ? Runtime.Is64Bit ? Runtime.Architecture == Architecture.Arm64 ? "arm64" : "x64" : "x86" + : Runtime.Architecture == Architecture.Arm64 ? "aarch64" : "amd64"; #if Q8 - Assert.Contains("Q8", MagickNET.ImageMagickVersion); + var quantum = "Q8"; #elif Q16 - Assert.Contains("Q16", MagickNET.ImageMagickVersion); + var quantum = "Q16"; #else - Assert.Contains("Q16-HDRI", MagickNET.ImageMagickVersion); + var quantum = "Q16-HDRI"; #endif - } - - [Fact] - public void ShouldContainTheCorrectVersion() - { - Assert.Contains(" 7.", MagickNET.ImageMagickVersion); + Assert.Equal($"ImageMagick {version} {quantum} {architecture} d4e4b2b35:20260322 https://imagemagick.org", MagickNET.ImageMagickVersion); } } } From 8a02ac93e83ce156a9e464daa9ba9df9ed8aa02b Mon Sep 17 00:00:00 2001 From: Dirk Lemstra Date: Mon, 6 Apr 2026 12:48:25 +0200 Subject: [PATCH 08/22] Corrected non Windows architecture. --- .../MagickNETTests/TheImageMagickVersionProperty.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/Magick.NET.Tests/MagickNETTests/TheImageMagickVersionProperty.cs b/tests/Magick.NET.Tests/MagickNETTests/TheImageMagickVersionProperty.cs index 3af1797ea4..62711287b2 100644 --- a/tests/Magick.NET.Tests/MagickNETTests/TheImageMagickVersionProperty.cs +++ b/tests/Magick.NET.Tests/MagickNETTests/TheImageMagickVersionProperty.cs @@ -17,7 +17,7 @@ public void ShoudlReturnTheCorrectValue() var version = "7.1.2-18"; var architecture = Runtime.IsWindows ? Runtime.Is64Bit ? Runtime.Architecture == Architecture.Arm64 ? "arm64" : "x64" : "x86" - : Runtime.Architecture == Architecture.Arm64 ? "aarch64" : "amd64"; + : Runtime.Architecture == Architecture.Arm64 ? "aarch64" : "x86_64"; #if Q8 var quantum = "Q8"; #elif Q16 From 8526fd232ff6847a514f665b5845e51b67b41e0d Mon Sep 17 00:00:00 2001 From: Dirk Lemstra Date: Tue, 7 Apr 2026 21:17:29 +0200 Subject: [PATCH 09/22] Code cleanup. --- tests/Magick.NET.Tests/TestHelpers/TemporaryDirectory.cs | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/tests/Magick.NET.Tests/TestHelpers/TemporaryDirectory.cs b/tests/Magick.NET.Tests/TestHelpers/TemporaryDirectory.cs index b69d28c279..bc924eccae 100644 --- a/tests/Magick.NET.Tests/TestHelpers/TemporaryDirectory.cs +++ b/tests/Magick.NET.Tests/TestHelpers/TemporaryDirectory.cs @@ -8,9 +8,9 @@ namespace Magick.NET.Tests; -public class TemporaryDirectory : IDisposable +public sealed class TemporaryDirectory : IDisposable { - private DirectoryInfo _tempDirectory; + private readonly DirectoryInfo _tempDirectory; public TemporaryDirectory() : this(string.Empty) @@ -30,8 +30,7 @@ public void Dispose() => Cleanup.DeleteDirectory(_tempDirectory); public IReadOnlyList GetFileNames() - => _tempDirectory + => [.. _tempDirectory .GetFiles() - .Select(f => f.Name) - .ToList(); + .Select(f => f.Name)]; } From 55c764e94e9152d272472f8580a5e8c76bf8cb3c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 9 Apr 2026 10:42:00 +0200 Subject: [PATCH 10/22] Bump github/codeql-action from 4.32.2 to 4.35.1 (#1988) Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.32.2 to 4.35.1. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/45cbd0c69e560cd9e7cd7f8c32362050c9b7ded2...c10b8064de6f491fea524254123dbe5e09572f13) --- updated-dependencies: - dependency-name: github/codeql-action dependency-version: 4.35.1 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/codeql-analysis.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 6d6386b376..ee1ac12af4 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -39,7 +39,7 @@ jobs: working-directory: src/Magick.Native - name: Initialize CodeQL - uses: github/codeql-action/init@45cbd0c69e560cd9e7cd7f8c32362050c9b7ded2 #4.32.2 + uses: github/codeql-action/init@c10b8064de6f491fea524254123dbe5e09572f13 #4.35.1 with: languages: csharp @@ -48,7 +48,7 @@ jobs: working-directory: build/windows - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@45cbd0c69e560cd9e7cd7f8c32362050c9b7ded2 #4.32.2 + uses: github/codeql-action/analyze@c10b8064de6f491fea524254123dbe5e09572f13 #4.35.1 actions: name: CodeQL analysis (GitHub Actions) @@ -64,9 +64,9 @@ jobs: persist-credentials: false - name: Initialize CodeQL - uses: github/codeql-action/init@45cbd0c69e560cd9e7cd7f8c32362050c9b7ded2 #4.32.2 + uses: github/codeql-action/init@c10b8064de6f491fea524254123dbe5e09572f13 #4.35.1 with: languages: actions - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@45cbd0c69e560cd9e7cd7f8c32362050c9b7ded2 #4.32.2 + uses: github/codeql-action/analyze@c10b8064de6f491fea524254123dbe5e09572f13 #4.35.1 From 53379828a1d0af54d0b759ace913751c7f8f1612 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 9 Apr 2026 10:42:26 +0200 Subject: [PATCH 11/22] Bump Avalonia from 11.3.12 to 11.3.13 (#1989) --- updated-dependencies: - dependency-name: Avalonia dependency-version: 11.3.13 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Directory.Packages.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Directory.Packages.props b/Directory.Packages.props index c2f0cc6b4f..4b77aa4db3 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -16,7 +16,7 @@ - + \ No newline at end of file From c7503a7cee5a2dfa8abaece602434d982c98db24 Mon Sep 17 00:00:00 2001 From: Dirk Lemstra Date: Thu, 9 Apr 2026 10:44:43 +0200 Subject: [PATCH 12/22] Added IconWriteDefines. --- .../Formats/Icon/IconWriteDefines.cs | 35 ++++++++++++++++ .../TheAutoResizeProperty.cs | 42 +++++++++++++++++++ .../IconWriteDefinesTests/TheConstructor.cs | 23 ++++++++++ 3 files changed, 100 insertions(+) create mode 100644 src/Magick.NET/Formats/Icon/IconWriteDefines.cs create mode 100644 tests/Magick.NET.Tests/Formats/Icon/IconWriteDefinesTests/TheAutoResizeProperty.cs create mode 100644 tests/Magick.NET.Tests/Formats/Icon/IconWriteDefinesTests/TheConstructor.cs diff --git a/src/Magick.NET/Formats/Icon/IconWriteDefines.cs b/src/Magick.NET/Formats/Icon/IconWriteDefines.cs new file mode 100644 index 0000000000..12a263096e --- /dev/null +++ b/src/Magick.NET/Formats/Icon/IconWriteDefines.cs @@ -0,0 +1,35 @@ +// Copyright Dirk Lemstra https://github.com/dlemstra/Magick.NET. +// Licensed under the Apache License, Version 2.0. + +using System.Collections.Generic; + +namespace ImageMagick.Formats; + +/// +/// Class for defines that are used when a image is written. +/// +public sealed class IconWriteDefines : IWriteDefines +{ + /// + /// Gets or sets a value indicating whether automatic resizing is enabled. + /// + public bool? AutoResize { get; set; } + + /// + /// Gets the format where the defines are for. + /// + public MagickFormat Format + => MagickFormat.Icon; + + /// + /// Gets the defines that should be set as a define on an image. + /// + public IEnumerable Defines + { + get + { + if (AutoResize.HasValue) + yield return new MagickDefine(Format, "auto-resize", AutoResize.Value); + } + } +} diff --git a/tests/Magick.NET.Tests/Formats/Icon/IconWriteDefinesTests/TheAutoResizeProperty.cs b/tests/Magick.NET.Tests/Formats/Icon/IconWriteDefinesTests/TheAutoResizeProperty.cs new file mode 100644 index 0000000000..9f3d314525 --- /dev/null +++ b/tests/Magick.NET.Tests/Formats/Icon/IconWriteDefinesTests/TheAutoResizeProperty.cs @@ -0,0 +1,42 @@ +// Copyright Dirk Lemstra https://github.com/dlemstra/Magick.NET. +// Licensed under the Apache License, Version 2.0. + +using ImageMagick; +using ImageMagick.Formats; +using Xunit; + +namespace Magick.NET.Tests; + +public partial class IconWriteDefinesTests +{ + public class TheAutoResizeProperty + { + [Fact] + public void ShouldSetTheDefine() + { + var defines = new IconWriteDefines + { + AutoResize = true, + }; + + using var image = new MagickImage(); + image.Settings.SetDefines(defines); + + Assert.Equal("true", image.Settings.GetDefine(MagickFormat.Icon, "auto-resize")); + } + + [Fact] + public void ShouldEncodeTheImageIn8bitWhenNotSet() + { + var defines = new IconWriteDefines + { + AutoResize = false, + }; + + using var image = new MagickImage(); + image.Settings.SetDefines(defines); + + Assert.Equal("false", image.Settings.GetDefine(MagickFormat.Icon, "auto-resize")); + } + } +} diff --git a/tests/Magick.NET.Tests/Formats/Icon/IconWriteDefinesTests/TheConstructor.cs b/tests/Magick.NET.Tests/Formats/Icon/IconWriteDefinesTests/TheConstructor.cs new file mode 100644 index 0000000000..27e3a06bc8 --- /dev/null +++ b/tests/Magick.NET.Tests/Formats/Icon/IconWriteDefinesTests/TheConstructor.cs @@ -0,0 +1,23 @@ +// Copyright Dirk Lemstra https://github.com/dlemstra/Magick.NET. +// Licensed under the Apache License, Version 2.0. + +using ImageMagick; +using ImageMagick.Formats; +using Xunit; + +namespace Magick.NET.Tests; + +public partial class IconWriteDefinesTests +{ + public class TheConstructor + { + [Fact] + public void ShouldNotSetAnyDefines() + { + using var image = new MagickImage(); + image.Settings.SetDefines(new IconWriteDefines()); + + Assert.Null(image.Settings.GetDefine(MagickFormat.Icon, "auto-resize")); + } + } +} From cb1251b7e16e94f0852af23a7c0c9fce7ecfdd62 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 9 Apr 2026 15:39:33 +0200 Subject: [PATCH 13/22] Bump Avalonia.Desktop from 11.3.12 to 11.3.13 (#1992) --- updated-dependencies: - dependency-name: Avalonia.Desktop dependency-version: 11.3.13 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Directory.Packages.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Directory.Packages.props b/Directory.Packages.props index 4b77aa4db3..e52880af5a 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -4,7 +4,7 @@ true - + From 819088a8880a8d9c6661205bac0848c1324493af Mon Sep 17 00:00:00 2001 From: Dirk Lemstra Date: Sat, 11 Apr 2026 21:30:25 +0200 Subject: [PATCH 14/22] Updated Magick.Native. --- src/Magick.Native/Magick.Native.version | 2 +- src/Magick.Native/TrademarkAttribute.cs | 2 +- src/Magick.Native/libraries.md | 18 +++++++++--------- .../TheImageMagickVersionProperty.cs | 4 ++-- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/Magick.Native/Magick.Native.version b/src/Magick.Native/Magick.Native.version index 6edc478239..79fe56440b 100644 --- a/src/Magick.Native/Magick.Native.version +++ b/src/Magick.Native/Magick.Native.version @@ -1 +1 @@ -2026.323.723 \ No newline at end of file +2026.411.1301 \ No newline at end of file diff --git a/src/Magick.Native/TrademarkAttribute.cs b/src/Magick.Native/TrademarkAttribute.cs index 0740bd03a3..8d9471d5b1 100644 --- a/src/Magick.Native/TrademarkAttribute.cs +++ b/src/Magick.Native/TrademarkAttribute.cs @@ -1,2 +1,2 @@ // -[assembly: System.Reflection.AssemblyTrademark("ImageMagick 7.1.2-18")] \ No newline at end of file +[assembly: System.Reflection.AssemblyTrademark("ImageMagick 7.1.2-19 (Beta)")] \ No newline at end of file diff --git a/src/Magick.Native/libraries.md b/src/Magick.Native/libraries.md index 24c5ef2a8a..e8f9908609 100644 --- a/src/Magick.Native/libraries.md +++ b/src/Magick.Native/libraries.md @@ -1,21 +1,21 @@ # Libraries -Magick.Native [ae41b2c1a5909a7e99d8cb499798fa50eb1a0275](https://github.com/dlemstra/Magick.Native/commit/ae41b2c1a5909a7e99d8cb499798fa50eb1a0275) is build with the following libraries: +Magick.Native [e7f58eebf9d87c9637d4c6db41a10c0bad132fad](https://github.com/dlemstra/Magick.Native/commit/e7f58eebf9d87c9637d4c6db41a10c0bad132fad) is build with the following libraries: -- ImageMagick 7.1.2-18 (2026-03-23) -- aom 3.13.2 (2026-03-19) +- ImageMagick 7.1.2-19 (Beta) (2026-04-11) +- aom 3.13.3 (2026-04-02) - brotli 1.2.0 (2025-10-27) - libbzip2 1.0.8 (2019-07-13) - cairo 1.18.4 (2025-03-08) - libcroco 0.6.13 (2019-04-06) - libde265 1.0.16 (2025-05-04) -- openexr 3.4.7 (2026-03-15) +- openexr 3.4.9 (2026-04-03) - libffi 3.5.2 (2025-08-02) - fontconfig 2.17.1 (2025-07-02) -- freetype 2.14.2 (2026-03-01) +- freetype 2.14.3 (2026-03-22) - fribidi 1.0.16 (2024-09-25) -- gdk-pixbuf 2.44.5 (2026-01-29) +- gdk-pixbuf 2.44.6 (2026-03-31) - glib 2.64.3 (2020-05-20) -- harfbuzz 13.2.1 (2026-03-19) +- harfbuzz 14.0.0 (2026-04-01) - libheif 1.21.2 (2026-01-16) - libhwy 1.3.0 (2025-08-14) - imath 3.2.2 (2025-10-08) @@ -23,13 +23,13 @@ Magick.Native [ae41b2c1a5909a7e99d8cb499798fa50eb1a0275](https://github.com/dlem - libjxl 0.11.2 (2026-02-10) - lcms 2.18.0 (2026-01-09) - liblqr 0.4.2 (2012-12-04) -- liblzma 5.8.2 (2025-12-17) +- liblzma 5.8.3 (2026-04-31) - openh264 2.6.0 (2025-02-12) - openjpeg 2.5.4 (2025-09-20) - openjph 0.26.3 (2026-02-17) - pango 1.45.3 (2020-06-22) - pixman 0.46.4 (2025-07-20) -- libpng 1.6.55 (2026-02-09) +- libpng 1.6.56 (2026-03-25) - libraqm 0.10.4 (2026-02-05) - libraw 0.22.0 (2026-01-13) - librsvg 2.40.20 (2017-12-15) diff --git a/tests/Magick.NET.Tests/MagickNETTests/TheImageMagickVersionProperty.cs b/tests/Magick.NET.Tests/MagickNETTests/TheImageMagickVersionProperty.cs index 62711287b2..dc00feca24 100644 --- a/tests/Magick.NET.Tests/MagickNETTests/TheImageMagickVersionProperty.cs +++ b/tests/Magick.NET.Tests/MagickNETTests/TheImageMagickVersionProperty.cs @@ -14,7 +14,7 @@ public partial class TheImageMagickVersionProperty [Fact] public void ShoudlReturnTheCorrectValue() { - var version = "7.1.2-18"; + var version = "7.1.2-19 (Beta)"; var architecture = Runtime.IsWindows ? Runtime.Is64Bit ? Runtime.Architecture == Architecture.Arm64 ? "arm64" : "x64" : "x86" : Runtime.Architecture == Architecture.Arm64 ? "aarch64" : "x86_64"; @@ -25,7 +25,7 @@ public void ShoudlReturnTheCorrectValue() #else var quantum = "Q16-HDRI"; #endif - Assert.Equal($"ImageMagick {version} {quantum} {architecture} d4e4b2b35:20260322 https://imagemagick.org", MagickNET.ImageMagickVersion); + Assert.Equal($"ImageMagick {version} {quantum} {architecture} 603a915c0:20260411 https://imagemagick.org", MagickNET.ImageMagickVersion); } } } From dba032ba60900f4cc0fb7f9d244affc53de6b92b Mon Sep 17 00:00:00 2001 From: Dirk Lemstra Date: Sat, 11 Apr 2026 21:35:15 +0200 Subject: [PATCH 15/22] Added unit tests for Composite with CopyAlpha. --- .../Drawing/DrawablesTests/TheCompositeMethod.cs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/tests/Magick.NET.Tests/Drawing/DrawablesTests/TheCompositeMethod.cs b/tests/Magick.NET.Tests/Drawing/DrawablesTests/TheCompositeMethod.cs index 4a76836737..e14d333711 100644 --- a/tests/Magick.NET.Tests/Drawing/DrawablesTests/TheCompositeMethod.cs +++ b/tests/Magick.NET.Tests/Drawing/DrawablesTests/TheCompositeMethod.cs @@ -36,6 +36,20 @@ public void ShouldCopyPixelsOfTheImage() ColorAssert.Equal(MagickColors.Purple, image, 1, 0); ColorAssert.Equal(MagickColors.Green, image, 2, 0); } + + [Fact] + public void ShouldCorrectlyCopyTheAlphaChannel() + { + using var image = new MagickImage(Files.RedPNG); + using var other = image.Clone(); + image.Resize(0, 150); + other.Resize(0, 150); + other.Alpha(AlphaOption.Off); + other.Composite(image, CompositeOperator.CopyAlpha); + + var diference = other.Compare(image, ErrorMetric.RootMeanSquared); + Assert.Equal(0, diference); + } } public class WithGeometryOffsetAndCompositeOperatorAndImage From 18c97dd62c8c11899b1ab7630c478f9c6a6ef9fd Mon Sep 17 00:00:00 2001 From: Dirk Lemstra Date: Sat, 11 Apr 2026 21:50:45 +0200 Subject: [PATCH 16/22] Allow a small difference for the HDRI build. --- .../Drawing/DrawablesTests/TheCompositeMethod.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/Magick.NET.Tests/Drawing/DrawablesTests/TheCompositeMethod.cs b/tests/Magick.NET.Tests/Drawing/DrawablesTests/TheCompositeMethod.cs index e14d333711..ca8c9ce3df 100644 --- a/tests/Magick.NET.Tests/Drawing/DrawablesTests/TheCompositeMethod.cs +++ b/tests/Magick.NET.Tests/Drawing/DrawablesTests/TheCompositeMethod.cs @@ -48,7 +48,7 @@ public void ShouldCorrectlyCopyTheAlphaChannel() other.Composite(image, CompositeOperator.CopyAlpha); var diference = other.Compare(image, ErrorMetric.RootMeanSquared); - Assert.Equal(0, diference); + Assert.Equal(0, diference, 0.00178); } } From 82b9d6a38634aa276098616dc731e83df8b6f6c8 Mon Sep 17 00:00:00 2001 From: Dirk Lemstra Date: Sun, 12 Apr 2026 12:33:28 +0200 Subject: [PATCH 17/22] Updated Magick.Native --- src/Magick.Native/Magick.Native.version | 2 +- src/Magick.Native/libraries.md | 4 ++-- .../MagickNETTests/TheImageMagickVersionProperty.cs | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Magick.Native/Magick.Native.version b/src/Magick.Native/Magick.Native.version index 79fe56440b..0533af8de3 100644 --- a/src/Magick.Native/Magick.Native.version +++ b/src/Magick.Native/Magick.Native.version @@ -1 +1 @@ -2026.411.1301 \ No newline at end of file +2026.412.1026 \ No newline at end of file diff --git a/src/Magick.Native/libraries.md b/src/Magick.Native/libraries.md index e8f9908609..a3d1708e67 100644 --- a/src/Magick.Native/libraries.md +++ b/src/Magick.Native/libraries.md @@ -1,7 +1,7 @@ # Libraries -Magick.Native [e7f58eebf9d87c9637d4c6db41a10c0bad132fad](https://github.com/dlemstra/Magick.Native/commit/e7f58eebf9d87c9637d4c6db41a10c0bad132fad) is build with the following libraries: +Magick.Native [3cf0f92d99bfabeee722054f68828fcda1a90f55](https://github.com/dlemstra/Magick.Native/commit/3cf0f92d99bfabeee722054f68828fcda1a90f55) is build with the following libraries: -- ImageMagick 7.1.2-19 (Beta) (2026-04-11) +- ImageMagick 7.1.2-19 (Beta) (2026-04-12) - aom 3.13.3 (2026-04-02) - brotli 1.2.0 (2025-10-27) - libbzip2 1.0.8 (2019-07-13) diff --git a/tests/Magick.NET.Tests/MagickNETTests/TheImageMagickVersionProperty.cs b/tests/Magick.NET.Tests/MagickNETTests/TheImageMagickVersionProperty.cs index dc00feca24..f988a61419 100644 --- a/tests/Magick.NET.Tests/MagickNETTests/TheImageMagickVersionProperty.cs +++ b/tests/Magick.NET.Tests/MagickNETTests/TheImageMagickVersionProperty.cs @@ -25,7 +25,7 @@ public void ShoudlReturnTheCorrectValue() #else var quantum = "Q16-HDRI"; #endif - Assert.Equal($"ImageMagick {version} {quantum} {architecture} 603a915c0:20260411 https://imagemagick.org", MagickNET.ImageMagickVersion); + Assert.Equal($"ImageMagick {version} {quantum} {architecture} cc503c04c:20260412 https://imagemagick.org", MagickNET.ImageMagickVersion); } } } From 321ffb19d8415e0bff4216df15cfef62e5e1a8ef Mon Sep 17 00:00:00 2001 From: Dirk Lemstra Date: Sun, 12 Apr 2026 12:37:24 +0200 Subject: [PATCH 18/22] Corrected method names. --- .../Icon/IconWriteDefinesTests/TheAutoResizeProperty.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/Magick.NET.Tests/Formats/Icon/IconWriteDefinesTests/TheAutoResizeProperty.cs b/tests/Magick.NET.Tests/Formats/Icon/IconWriteDefinesTests/TheAutoResizeProperty.cs index 9f3d314525..f63071ecb1 100644 --- a/tests/Magick.NET.Tests/Formats/Icon/IconWriteDefinesTests/TheAutoResizeProperty.cs +++ b/tests/Magick.NET.Tests/Formats/Icon/IconWriteDefinesTests/TheAutoResizeProperty.cs @@ -12,7 +12,7 @@ public partial class IconWriteDefinesTests public class TheAutoResizeProperty { [Fact] - public void ShouldSetTheDefine() + public void ShouldSetTheDefineWhenSetToTrue() { var defines = new IconWriteDefines { @@ -26,7 +26,7 @@ public void ShouldSetTheDefine() } [Fact] - public void ShouldEncodeTheImageIn8bitWhenNotSet() + public void ShouldSetTheDefineWhenSetToFalse() { var defines = new IconWriteDefines { From f2be0502b79e1d2a7e36d4c70387b99c7c1d92f3 Mon Sep 17 00:00:00 2001 From: Dirk Lemstra Date: Sun, 12 Apr 2026 12:39:24 +0200 Subject: [PATCH 19/22] Added PngCompressionSize to the IconWriteDefines. --- .../Formats/Icon/IconWriteDefines.cs | 10 ++++++- .../IconWriteDefinesTests/TheConstructor.cs | 1 + .../ThePngCompressionSizeProperty.cs | 28 +++++++++++++++++++ 3 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 tests/Magick.NET.Tests/Formats/Icon/IconWriteDefinesTests/ThePngCompressionSizeProperty.cs diff --git a/src/Magick.NET/Formats/Icon/IconWriteDefines.cs b/src/Magick.NET/Formats/Icon/IconWriteDefines.cs index 12a263096e..b613284e04 100644 --- a/src/Magick.NET/Formats/Icon/IconWriteDefines.cs +++ b/src/Magick.NET/Formats/Icon/IconWriteDefines.cs @@ -11,7 +11,7 @@ namespace ImageMagick.Formats; public sealed class IconWriteDefines : IWriteDefines { /// - /// Gets or sets a value indicating whether automatic resizing is enabled. + /// Gets or sets a value indicating whether automatic resizing is enabled (icon:auto-resize). /// public bool? AutoResize { get; set; } @@ -21,6 +21,11 @@ public sealed class IconWriteDefines : IWriteDefines public MagickFormat Format => MagickFormat.Icon; + /// + /// Gets or sets the minimum image size threshold above which a PNG image is stored instead of a BMP image (icon:png-compression-size). + /// + public uint? PngCompressionSize { get; set; } + /// /// Gets the defines that should be set as a define on an image. /// @@ -30,6 +35,9 @@ public IEnumerable Defines { if (AutoResize.HasValue) yield return new MagickDefine(Format, "auto-resize", AutoResize.Value); + + if (PngCompressionSize.HasValue) + yield return new MagickDefine(Format, "png-compression-size", PngCompressionSize.Value); } } } diff --git a/tests/Magick.NET.Tests/Formats/Icon/IconWriteDefinesTests/TheConstructor.cs b/tests/Magick.NET.Tests/Formats/Icon/IconWriteDefinesTests/TheConstructor.cs index 27e3a06bc8..57583abdc2 100644 --- a/tests/Magick.NET.Tests/Formats/Icon/IconWriteDefinesTests/TheConstructor.cs +++ b/tests/Magick.NET.Tests/Formats/Icon/IconWriteDefinesTests/TheConstructor.cs @@ -18,6 +18,7 @@ public void ShouldNotSetAnyDefines() image.Settings.SetDefines(new IconWriteDefines()); Assert.Null(image.Settings.GetDefine(MagickFormat.Icon, "auto-resize")); + Assert.Null(image.Settings.GetDefine(MagickFormat.Icon, "png-compression-size")); } } } diff --git a/tests/Magick.NET.Tests/Formats/Icon/IconWriteDefinesTests/ThePngCompressionSizeProperty.cs b/tests/Magick.NET.Tests/Formats/Icon/IconWriteDefinesTests/ThePngCompressionSizeProperty.cs new file mode 100644 index 0000000000..0a63d2e5eb --- /dev/null +++ b/tests/Magick.NET.Tests/Formats/Icon/IconWriteDefinesTests/ThePngCompressionSizeProperty.cs @@ -0,0 +1,28 @@ +// Copyright Dirk Lemstra https://github.com/dlemstra/Magick.NET. +// Licensed under the Apache License, Version 2.0. + +using ImageMagick; +using ImageMagick.Formats; +using Xunit; + +namespace Magick.NET.Tests; + +public partial class IconWriteDefinesTests +{ + public class PngCompressionSize + { + [Fact] + public void ShouldSetTheDefine() + { + var defines = new IconWriteDefines + { + PngCompressionSize = 64, + }; + + using var image = new MagickImage(); + image.Settings.SetDefines(defines); + + Assert.Equal("64", image.Settings.GetDefine(MagickFormat.Icon, "png-compression-size")); + } + } +} From 6b4cefb8f741e47ad30bf62b8156c21838bf90cd Mon Sep 17 00:00:00 2001 From: Dirk Lemstra Date: Sun, 12 Apr 2026 12:41:12 +0200 Subject: [PATCH 20/22] Consistent titles. --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index dfde554848..ae497153cf 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -149,7 +149,7 @@ jobs: run: build/shared/test.Magick.NET.sh arm64 OpenMP macos_x64: - name: MacOS (Q8/Q16/Q16-HDRI) + name: MacOS (Q8/Q16/Q16-HDRI, x64) runs-on: macos-15-intel steps: From 6cc30f103d51ef3d889bc06be1251fd8d6c46853 Mon Sep 17 00:00:00 2001 From: Dirk Lemstra Date: Sun, 12 Apr 2026 20:12:23 +0200 Subject: [PATCH 21/22] Updated Magick.Native. --- src/Magick.Native/Magick.Native.version | 2 +- src/Magick.Native/TrademarkAttribute.cs | 2 +- src/Magick.Native/libraries.md | 4 ++-- .../MagickNETTests/TheImageMagickVersionProperty.cs | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/Magick.Native/Magick.Native.version b/src/Magick.Native/Magick.Native.version index 0533af8de3..94ce4a064e 100644 --- a/src/Magick.Native/Magick.Native.version +++ b/src/Magick.Native/Magick.Native.version @@ -1 +1 @@ -2026.412.1026 \ No newline at end of file +2026.412.1708 \ No newline at end of file diff --git a/src/Magick.Native/TrademarkAttribute.cs b/src/Magick.Native/TrademarkAttribute.cs index 8d9471d5b1..393037dda3 100644 --- a/src/Magick.Native/TrademarkAttribute.cs +++ b/src/Magick.Native/TrademarkAttribute.cs @@ -1,2 +1,2 @@ // -[assembly: System.Reflection.AssemblyTrademark("ImageMagick 7.1.2-19 (Beta)")] \ No newline at end of file +[assembly: System.Reflection.AssemblyTrademark("ImageMagick 7.1.2-19")] \ No newline at end of file diff --git a/src/Magick.Native/libraries.md b/src/Magick.Native/libraries.md index a3d1708e67..903e823962 100644 --- a/src/Magick.Native/libraries.md +++ b/src/Magick.Native/libraries.md @@ -1,7 +1,7 @@ # Libraries -Magick.Native [3cf0f92d99bfabeee722054f68828fcda1a90f55](https://github.com/dlemstra/Magick.Native/commit/3cf0f92d99bfabeee722054f68828fcda1a90f55) is build with the following libraries: +Magick.Native [060d50e4599638206074e02c5ff76ad6cdcaa066](https://github.com/dlemstra/Magick.Native/commit/060d50e4599638206074e02c5ff76ad6cdcaa066) is build with the following libraries: -- ImageMagick 7.1.2-19 (Beta) (2026-04-12) +- ImageMagick 7.1.2-19 (2026-04-12) - aom 3.13.3 (2026-04-02) - brotli 1.2.0 (2025-10-27) - libbzip2 1.0.8 (2019-07-13) diff --git a/tests/Magick.NET.Tests/MagickNETTests/TheImageMagickVersionProperty.cs b/tests/Magick.NET.Tests/MagickNETTests/TheImageMagickVersionProperty.cs index f988a61419..b5f2ce2f44 100644 --- a/tests/Magick.NET.Tests/MagickNETTests/TheImageMagickVersionProperty.cs +++ b/tests/Magick.NET.Tests/MagickNETTests/TheImageMagickVersionProperty.cs @@ -14,7 +14,7 @@ public partial class TheImageMagickVersionProperty [Fact] public void ShoudlReturnTheCorrectValue() { - var version = "7.1.2-19 (Beta)"; + var version = "7.1.2-19"; var architecture = Runtime.IsWindows ? Runtime.Is64Bit ? Runtime.Architecture == Architecture.Arm64 ? "arm64" : "x64" : "x86" : Runtime.Architecture == Architecture.Arm64 ? "aarch64" : "x86_64"; @@ -25,7 +25,7 @@ public void ShoudlReturnTheCorrectValue() #else var quantum = "Q16-HDRI"; #endif - Assert.Equal($"ImageMagick {version} {quantum} {architecture} cc503c04c:20260412 https://imagemagick.org", MagickNET.ImageMagickVersion); + Assert.Equal($"ImageMagick {version} {quantum} {architecture} 9fbd2b794:20260412 https://imagemagick.org", MagickNET.ImageMagickVersion); } } } From 158db3ad7f38ab3023f5dce59fb17a0f27a8cd43 Mon Sep 17 00:00:00 2001 From: Dirk Lemstra Date: Mon, 13 Apr 2026 18:53:49 +0200 Subject: [PATCH 22/22] Published Magick.NET 14.12.0 --- publish/Magick.NET.AvaloniaMediaImaging.nuspec | 6 +++--- publish/Magick.NET.Core.nuspec | 4 ++-- publish/Magick.NET.SystemDrawing.nuspec | 10 +++++----- publish/Magick.NET.SystemWindowsMedia.nuspec | 8 ++++---- publish/Magick.NET.nuspec | 8 ++++---- publish/update.version.cmd | 10 +++++----- .../Magick.NET.AvaloniaMediaImaging.csproj | 4 ++-- src/Magick.NET.Core/Magick.NET.Core.csproj | 6 +++--- .../Magick.NET.SystemDrawing.csproj | 4 ++-- .../Magick.NET.SystemWindowsMedia.csproj | 4 ++-- src/Magick.NET/Magick.NET.csproj | 6 +++--- .../MagickNETTests/TheVersionProperty.cs | 2 +- 12 files changed, 36 insertions(+), 36 deletions(-) diff --git a/publish/Magick.NET.AvaloniaMediaImaging.nuspec b/publish/Magick.NET.AvaloniaMediaImaging.nuspec index 20faf9f911..f3b10e9194 100644 --- a/publish/Magick.NET.AvaloniaMediaImaging.nuspec +++ b/publish/Magick.NET.AvaloniaMediaImaging.nuspec @@ -2,7 +2,7 @@ Magick.NET.AvaloniaMediaImaging - 1.1.6 + 1.1.7 Magick.NET.AvaloniaMediaImaging Dirk Lemstra Dirk Lemstra @@ -14,12 +14,12 @@ ImageMagick is a powerful image manipulation library that supports over 100 major file formats (not including sub-formats). With Magick.NET you can use ImageMagick without having to install ImageMagick on your server or desktop. Visit https://github.com/dlemstra/Magick.NET/tree/main/docs before installing to help you decide the best version. A .NET API to the ImageMagick image-processing library for Desktop and Web. docs\Readme.md - https://github.com/dlemstra/Magick.NET/releases/tag/14.11.1 + https://github.com/dlemstra/Magick.NET/releases/tag/14.12.0 Copyright 2013-2026 Dirk Lemstra ImageMagick Magick.NET Image Convert Resize Draw Effects - + diff --git a/publish/Magick.NET.Core.nuspec b/publish/Magick.NET.Core.nuspec index 380dcfab71..4715134a5d 100644 --- a/publish/Magick.NET.Core.nuspec +++ b/publish/Magick.NET.Core.nuspec @@ -2,7 +2,7 @@ Magick.NET.Core - 14.11.1 + 14.12.0 Magick.NET.Core Dirk Lemstra Dirk Lemstra @@ -14,7 +14,7 @@ ImageMagick is a powerful image manipulation library that supports over 100 major file formats (not including sub-formats). With Magick.NET you can use ImageMagick without having to install ImageMagick on your server or desktop. Visit https://github.com/dlemstra/Magick.NET/tree/main/docs before installing to help you decide the best version. A .NET API to the ImageMagick image-processing library for Desktop and Web. docs\Readme.md - https://github.com/dlemstra/Magick.NET/releases/tag/14.11.1 + https://github.com/dlemstra/Magick.NET/releases/tag/14.12.0 Copyright 2013-2026 Dirk Lemstra ImageMagick Magick.NET Image Convert Resize Draw Effects diff --git a/publish/Magick.NET.SystemDrawing.nuspec b/publish/Magick.NET.SystemDrawing.nuspec index 5cf6536dea..eaeb03d185 100644 --- a/publish/Magick.NET.SystemDrawing.nuspec +++ b/publish/Magick.NET.SystemDrawing.nuspec @@ -2,7 +2,7 @@ Magick.NET.SystemDrawing - 8.0.19 + 8.0.20 Magick.NET.SystemDrawing Dirk Lemstra Dirk Lemstra @@ -14,19 +14,19 @@ ImageMagick is a powerful image manipulation library that supports over 100 major file formats (not including sub-formats). With Magick.NET you can use ImageMagick without having to install ImageMagick on your server or desktop. Visit https://github.com/dlemstra/Magick.NET/tree/main/docs before installing to help you decide the best version. A .NET API to the ImageMagick image-processing library for Desktop and Web. docs\Readme.md - https://github.com/dlemstra/Magick.NET/releases/tag/14.11.1 + https://github.com/dlemstra/Magick.NET/releases/tag/14.12.0 Copyright 2013-2026 Dirk Lemstra ImageMagick Magick.NET Image Convert Resize Draw Effects - + - + - + diff --git a/publish/Magick.NET.SystemWindowsMedia.nuspec b/publish/Magick.NET.SystemWindowsMedia.nuspec index fe2722960c..d87ef884e5 100644 --- a/publish/Magick.NET.SystemWindowsMedia.nuspec +++ b/publish/Magick.NET.SystemWindowsMedia.nuspec @@ -2,7 +2,7 @@ Magick.NET.SystemWindowsMedia - 8.0.19 + 8.0.20 Magick.NET.SystemWindowsMedia Dirk Lemstra Dirk Lemstra @@ -14,15 +14,15 @@ ImageMagick is a powerful image manipulation library that supports over 100 major file formats (not including sub-formats). With Magick.NET you can use ImageMagick without having to install ImageMagick on your server or desktop. Visit https://github.com/dlemstra/Magick.NET/tree/main/docs before installing to help you decide the best version. A .NET API to the ImageMagick image-processing library for Desktop and Web. docs\Readme.md - https://github.com/dlemstra/Magick.NET/releases/tag/14.11.1 + https://github.com/dlemstra/Magick.NET/releases/tag/14.12.0 Copyright 2013-2026 Dirk Lemstra ImageMagick Magick.NET Image Convert Resize Draw Effects - + - + diff --git a/publish/Magick.NET.nuspec b/publish/Magick.NET.nuspec index 5e74181dc4..c2ca891070 100644 --- a/publish/Magick.NET.nuspec +++ b/publish/Magick.NET.nuspec @@ -2,7 +2,7 @@ - 14.11.1 + 14.12.0 <authors>Dirk Lemstra</authors> <owners>Dirk Lemstra</owners> @@ -14,15 +14,15 @@ <description>ImageMagick is a powerful image manipulation library that supports over 100 major file formats (not including sub-formats). With Magick.NET you can use ImageMagick without having to install ImageMagick on your server or desktop. Visit https://github.com/dlemstra/Magick.NET/tree/main/docs before installing to help you decide the best version.</description> <summary>A .NET API to the ImageMagick image-processing library for Desktop and Web.</summary> <readme>docs\Readme.md</readme> - <releaseNotes>https://github.com/dlemstra/Magick.NET/releases/tag/14.11.1</releaseNotes> + <releaseNotes>https://github.com/dlemstra/Magick.NET/releases/tag/14.12.0</releaseNotes> <copyright>Copyright 2013-2026 Dirk Lemstra</copyright> <tags>ImageMagick Magick.NET Image Convert Resize Draw Effects</tags> <dependencies> <group targetFramework=".NETStandard2.0"> - <dependency id="Magick.NET.Core" version="14.11.1" /> + <dependency id="Magick.NET.Core" version="14.12.0" /> </group> <group targetFramework="net8.0"> - <dependency id="Magick.NET.Core" version="14.11.1" /> + <dependency id="Magick.NET.Core" version="14.12.0" /> </group> </dependencies> </metadata> diff --git a/publish/update.version.cmd b/publish/update.version.cmd index 082f45733b..dcfa02b4cb 100644 --- a/publish/update.version.cmd +++ b/publish/update.version.cmd @@ -1,10 +1,10 @@ @echo off -powershell .\update.version.ps1 -library "Magick.NET" -version "14.11.1" -powershell .\update.version.ps1 -library "Magick.NET.Core" -version "14.11.1" -powershell .\update.version.ps1 -library "Magick.NET.AvaloniaMediaImaging" -version "1.1.6" -powershell .\update.version.ps1 -library "Magick.NET.SystemDrawing" -version "8.0.19" -powershell .\update.version.ps1 -library "Magick.NET.SystemWindowsMedia" -version "8.0.19" +powershell .\update.version.ps1 -library "Magick.NET" -version "14.12.0" +powershell .\update.version.ps1 -library "Magick.NET.Core" -version "14.12.0" +powershell .\update.version.ps1 -library "Magick.NET.AvaloniaMediaImaging" -version "1.1.7" +powershell .\update.version.ps1 -library "Magick.NET.SystemDrawing" -version "8.0.20" +powershell .\update.version.ps1 -library "Magick.NET.SystemWindowsMedia" -version "8.0.20" powershell .\update.version.ps1 echo Also update the TheVersionProperty.ShouldContainTheCorrectVersion unit test diff --git a/src/Magick.NET.AvaloniaMediaImaging/Magick.NET.AvaloniaMediaImaging.csproj b/src/Magick.NET.AvaloniaMediaImaging/Magick.NET.AvaloniaMediaImaging.csproj index 145a5e31c1..322f7e5371 100644 --- a/src/Magick.NET.AvaloniaMediaImaging/Magick.NET.AvaloniaMediaImaging.csproj +++ b/src/Magick.NET.AvaloniaMediaImaging/Magick.NET.AvaloniaMediaImaging.csproj @@ -3,8 +3,8 @@ <TargetFrameworks>net8.0</TargetFrameworks> <Platforms>AnyCPU</Platforms> <AssemblyVersion>1.1.0</AssemblyVersion> - <FileVersion>1.1.6</FileVersion> - <Version>1.1.6</Version> + <FileVersion>1.1.7</FileVersion> + <Version>1.1.7</Version> <Configurations>Debug;Test;Release</Configurations> </PropertyGroup> diff --git a/src/Magick.NET.Core/Magick.NET.Core.csproj b/src/Magick.NET.Core/Magick.NET.Core.csproj index 6c105d68aa..b33ea16568 100644 --- a/src/Magick.NET.Core/Magick.NET.Core.csproj +++ b/src/Magick.NET.Core/Magick.NET.Core.csproj @@ -2,9 +2,9 @@ <PropertyGroup> <TargetFrameworks>net8.0;netstandard20</TargetFrameworks> <Platforms>AnyCPU</Platforms> - <AssemblyVersion>14.11.0</AssemblyVersion> - <FileVersion>14.11.1</FileVersion> - <Version>14.11.1</Version> + <AssemblyVersion>14.12.0</AssemblyVersion> + <FileVersion>14.12.0</FileVersion> + <Version>14.12.0</Version> <Configurations>Debug;Test;Release</Configurations> </PropertyGroup> diff --git a/src/Magick.NET.SystemDrawing/Magick.NET.SystemDrawing.csproj b/src/Magick.NET.SystemDrawing/Magick.NET.SystemDrawing.csproj index 81651b2b41..ee1d776b5d 100644 --- a/src/Magick.NET.SystemDrawing/Magick.NET.SystemDrawing.csproj +++ b/src/Magick.NET.SystemDrawing/Magick.NET.SystemDrawing.csproj @@ -4,8 +4,8 @@ <TargetPlatformIdentifier>Windows</TargetPlatformIdentifier> <Platforms>AnyCPU</Platforms> <AssemblyVersion>8.0.0</AssemblyVersion> - <FileVersion>8.0.19</FileVersion> - <Version>8.0.19</Version> + <FileVersion>8.0.20</FileVersion> + <Version>8.0.20</Version> <Configurations>Debug;Test;Release</Configurations> </PropertyGroup> diff --git a/src/Magick.NET.SystemWindowsMedia/Magick.NET.SystemWindowsMedia.csproj b/src/Magick.NET.SystemWindowsMedia/Magick.NET.SystemWindowsMedia.csproj index 9200e3ab20..721d06ca0f 100644 --- a/src/Magick.NET.SystemWindowsMedia/Magick.NET.SystemWindowsMedia.csproj +++ b/src/Magick.NET.SystemWindowsMedia/Magick.NET.SystemWindowsMedia.csproj @@ -4,8 +4,8 @@ <TargetPlatformIdentifier>Windows</TargetPlatformIdentifier> <Platforms>AnyCPU</Platforms> <AssemblyVersion>8.0.0</AssemblyVersion> - <FileVersion>8.0.19</FileVersion> - <Version>8.0.19</Version> + <FileVersion>8.0.20</FileVersion> + <Version>8.0.20</Version> <Configurations>Debug;Test;Release</Configurations> <UseWPF>true</UseWPF> </PropertyGroup> diff --git a/src/Magick.NET/Magick.NET.csproj b/src/Magick.NET/Magick.NET.csproj index 1389cce7b4..2214ca7f81 100644 --- a/src/Magick.NET/Magick.NET.csproj +++ b/src/Magick.NET/Magick.NET.csproj @@ -2,9 +2,9 @@ <PropertyGroup> <TargetFrameworks>net8.0;netstandard20</TargetFrameworks> <Platforms>x86;x64;arm64;AnyCPU</Platforms> - <AssemblyVersion>14.11.0</AssemblyVersion> - <FileVersion>14.11.1</FileVersion> - <Version>14.11.1</Version> + <AssemblyVersion>14.12.0</AssemblyVersion> + <FileVersion>14.12.0</FileVersion> + <Version>14.12.0</Version> <Configurations>DebugQ8;DebugQ16;DebugQ16-HDRI;TestQ8;TestQ16;TestQ16-HDRI;TestQ8-OpenMP;TestQ16-OpenMP;TestQ16-HDRI-OpenMP;ReleaseQ8;ReleaseQ8-OpenMP;ReleaseQ16;ReleaseQ16-OpenMP;ReleaseQ16-HDRI;ReleaseQ16-HDRI-OpenMP</Configurations> </PropertyGroup> diff --git a/tests/Magick.NET.Tests/MagickNETTests/TheVersionProperty.cs b/tests/Magick.NET.Tests/MagickNETTests/TheVersionProperty.cs index 96c5fc70c8..20cd52b477 100644 --- a/tests/Magick.NET.Tests/MagickNETTests/TheVersionProperty.cs +++ b/tests/Magick.NET.Tests/MagickNETTests/TheVersionProperty.cs @@ -49,7 +49,7 @@ public void ShouldContainTheCorrectFramework() [Fact] public void ShouldContainTheCorrectVersion() { - Assert.Contains("14.11.1", MagickNET.Version); + Assert.Contains("14.12.0", MagickNET.Version); } } }