Skip to content

Releases: dlemstra/Magick.NET

Magick.NET 14.1.0

11 Nov 18:56
590a64a
Compare
Choose a tag to compare

What's Changed

  • Changed the implementation of how the AnyCPU implementation calls the native methods and throw an exception when an unsupported architecture is detected.
  • No longer throw an argument exception for a negative bias value in AdaptiveThreshold (#1717)
  • Added CloneArea to IMagickImage that will replace the Clone overload with a MagickGeometry.
  • Added CloneAndMutate to IMagickImage that can be used to efficiently clone and mutate an image (#1577).
  • Enabled trim analyzer for net8.0

Related changes in ImageMagick since the last release of Magick.NET:

Library updates:

  • ImageMagick 7.1.1-40 (2024-11-09)
  • cairo 1.18.2 (2024-09-01)
  • deflate 1.22.0 (2024-10-05)
  • imath 3.1.12 (2024-09-11)
  • fribidi 1.0.16 (2024-09-25)
  • harfbuzz 10.0.1 (2024-09-24)
  • heif 1.19.1 (2024-11-01)
  • jpeg-xl 0.11.0 (2024-09-13)
  • lzma 5.6.3 (2024-10-01)
  • openexr 3.3.1 (2024-10-09)
  • png 1.6.44 (2024-09-12)
  • raqm 0.10.2 (2024-09-23)
  • raw 0.21.3 (2024-09-24)
  • tiff 4.7.0 (2024-09-11)
  • xml 2.13.4 (2024-09-18)
  • zip 1.11.2 (2024-10-31)

New Contributors

Full Changelog: 14.0.0...14.1.0

Magick.NET 14.0.0

06 Sep 16:56
f815244
Compare
Choose a tag to compare

Breaking changes in Magick.NET:

  • Removed netstandard21 support and changed this to net8.0 instead.
  • IMagickImage:
    • Removed the EncodingGeometry, IsDisposed.
    • Removed the FormatInfo property (use MagickFormatInfo.Create(image.Format) instead).
    • Removed the ChromaBluePrimary, ChromaGreenPrimary, ChromaRedPrimary, ChromaWhitePoint properties (use Chromaticity instead).
    • Removed the Distort overload that had both a DistortMethod and IDistortSettings because the settings now contain a DistortMethod property.
    • Removed the Deskew overload that had IDeskewSettings and renamed it to DeskewAndCrop because that was the only setting. And this also means that IDeskewSettings and DeskewSettings have been removed from the library.
    • Renamed Map to Remap.
    • Renamed RePage to ResetPage.
    • Removed all Morphology overloads and only keep the method that uses MorphologySettings.
    • The Interlace property is now readonly and MagickSettings.Interlace should be used to set this setting.
    • The ColorType property no longer returns the value of the MagickSettings.
    • Return IMagickImage instead of double in the Compare method overloads that had an IMagickImage and changed the double return value to an out param instead.
    • Changed the default colorspaces for PerceptualHash from sRGB and HCLp to XyY and HSB.
  • IMagickImageCollection:
    • Renamed Map to Remap.
    • Renamed RePage to ResetPage.
  • IChannelPerceptualHash:
    • Removed SrgbHuPhash and HclpHuPhash (HuPhash(colorspace, index) should be used instead).
  • IEightBimValue:
    • Removed the ID property (Id should be used instead)
  • IExifProfile:
    • The CreateThumbnail method is no longer be available for the netstandard20 target.
  • IImageProfile:
    • Removed GetData (ToByteArray or ToReadOnlySpan should be used instead).
    • The ToByteArray method will no longer return null.
  • IPixelCollection:
    • Removed GetIndex (GetChannelIndex should be used instead).
  • Channels:
    • Removed Default, Grays and Sync.
  • CompareSettings:
    • Made the ErrorMetric property mandatory (through constructor) and immutable.
  • ComplexSettings:
    • Made the ComplexOperator property mandatory (through constructor) and immutable.
  • DngReadDefines
    • Removed the UseAutoWhitebalance property (UseAutoWhiteBalance should be used instead).
    • Removed the UseCameraWhitebalance property (UseCameraWhiteBalance should be used instead).
  • DdsWriteDefines:
    • Removed the Mipmaps property (MipmapCount should be used instead).
  • DrawableComposite:
    • All constructors now require specifying the CompositeOperator.
  • DrawablePushPattern:
    • Removed the ID property (Id should be used instead).
  • ExifTag:
    • Corrected type of TimeZoneOffset to short[].
  • LogEventArgs:
    • The Message property will no longer return null.
  • OpenCLKernelProfileRecord
    • Removed the AverageDuration property.
  • OrientationType:
    • Removed LeftBotom value (LeftBottom should be used instead).
  • TiffReadDefines:
    • Removed the IgnoreExifPoperties property (IgnoreExifProperties should be used instead).
  • WebPWriteDefines:
    • Removed the NearLossless property because this functionality was removed from ImageMagick.
  • Added the following namespaces and moved classes/interfaces to these namespaces:
    • ImageMagick.Colors (contains all ColorCMYK, ColorMono, etc. classes)
    • ImageMagick.Drawing (contains all Drawable and Path classes and interfaces)
    • ImageMagick.Factories (contains all Factory classes and interfaces)
  • Made all Drawable and Path classes immutable.
  • Renamed LogEvents to LogEventTypes.
  • Replaced IReadOnlyCollection with IReadOnlyList in the following classes: DrawableBezier, DrawablePath, EightBimProfile, ExifProfile, IptcProfile, MagickException, MagickImage, MagickNET, OpenCL, OpenCLDevice,
  • Reordered enum values in MagickFormat and PixelMapping.
  • Changed properties/arguments/return types that cannot be negative from int to uint and from long to ulong.

Changes in Magick.NET:

  • Added DistortMethod to the IDistortSettings.
  • Added ARGB and CMYKA to PixelMapping.
  • Corrected default channels for the Fx method.
  • Added DisplayP3, Adobe98, ProPhoto, Oklab and Oklch to ColorSpace.

Related changes in ImageMagick since the last release of Magick.NET:

Library updates:

Full Changelog: 13.10.0...14.0.0

Magick.NET 13.10.0

17 Jul 15:31
76b741d
Compare
Choose a tag to compare

What's Changed

  • Also don't write a byte order mark when converting a XDocument or IXPathNavigable to a XmpProfile (#1652)
  • Fix typos in XML documentation comments by @cordeiro-rubens (#1659)
  • Corrected casing for UseAutoWhiteBalance and UseCameraWhiteBalance in the DngReadDefines.
  • Fix ImageFormat equality comparison by @midare160 (#1668)
  • Include X and Y in ToString when it is specified in one of the constructors of MagickGeometry (#1674).
  • Added support for performing an Fx operation on a MagickImageCollection (#1616).
  • Add PngWriteDefines to Magick.NET by @cordeiro-rubens in (#1661)

Related changes in ImageMagick since the last release of Magick.NET:

  • Tweaks to improve error reporting in the webp coder.
  • Correct rounding error when setting the frame delay in the webp decoder (ImageMagick/ImageMagick#7371)
  • Fixed issue where the color profile was not copied to all the images that would cause issues when converting from PSD to PSD and changing the colorspace with a profile.
  • Correct overwriting read_info->filename to make sure we don't leave temporary files behind (ImageMagick/ImageMagick#7389).
  • Get the correct width and height when heic:preserve-orientation is set to true.
  • Set heic image orientation using transform information.
  • Also set the DNG properties when pinging the image.
  • Smooth the rendering of an ellipse (ImageMagick/ImageMagick#7465)

Library updates:

  • ImageMagick 7.1.1-35 (2024-07-14)
  • aom 3.9.1 (2024-06-10)
  • fribidi 1.0.15 (2024-06-07)
  • harfbuzz 9.0.0 (2024-06-27)
  • heif 1.18.0 (2024-07-10)
  • highway 1.2.0 (2024-05-31)
  • jpeg-xl 0.10.3 (2024-06-27)
  • lzma 5.6.2 (2024-05-29)
  • raw 0.21.2 (2024-03-29 Snapshot 202403)
  • xml 2.13.2 (2024-07-04)

New Contributors

  • @cordeiro-rubens made their first contribution in #1659
  • @midare160 made their first contribution in #1668

Full Changelog: 13.9.1...13.10.0

Magick.NET 13.9.1

07 Jun 14:30
6542195
Compare
Choose a tag to compare

Changes in Magick.NET:

  • Revert patch that disallows negative Percentage values, this is supported in some of the methods. (#1649)
  • Fixed bug where XmpProfile.FromIXPathNavigable and XmpProfile.FromXDocument would add a xml declaration (#1652).

Full Changelog: 13.9.0...13.9.1

Magick.NET 13.9.0

31 May 07:15
c1cbc4e
Compare
Choose a tag to compare

Changes in Magick.NET:

  • Added MetaChannelCount to MagickImage (#1585)
  • Added extra overload for the Clut method and and fixed bug that was found in (#1630).
  • Added channels overload to the HaldClut method of MagickImage.
  • Don't create PointD for MagickImage.Resample by @Gounlaf in (#1631)
  • Add missing interface declaration for IMagickImage.ToBase64 by @Gounlaf in (#1639)
  • Add a ToBase64 variant MagickImageCollection by @Gounlaf in (#1640)
  • Use a HashSet instead of List by @Gounlaf in (#1642)
  • Added GetChannelIndex to the IPixelCollection that will replace GetIndex in the next major release.
  • Patches to improve copying the native files with Mono (#1633)

Related changes in ImageMagick since the last release of Magick.NET:

Library updates:

  • ImageMagick 7.1.1-33 (2024-05-25)
  • harfbuzz 8.5.0 (2024-05-13)
  • jpeg-turbo 3.0.3 (2024-05-08)
  • xml 2.12.7 (2024-05-13)

Full Changelog: 13.8.0...13.9.0

Magick.NET 13.8.0

10 May 10:57
5ac3d81
Compare
Choose a tag to compare

Changes in Magick.NET:

  • fix: add guards for MagickImage.MeanShift by @Gounlaf in #1612
  • Added ChromaUpsampling to the HeicReadDefines.
  • typo: Update IMorphologySettings.cs by @Gounlaf in #1617
  • fix: add guard for MagickImage.Morphology by @Gounlaf in #1618
  • Added NoIdentifier to the PdfWriteDefines.
  • Made NearLossless of the WebPWriteDefines obsolete because this was removed from ImageMagick.
  • perf: use index access to Dictionary by @Gounlaf in #1621
  • doc: missing Exception for MagickImage.OilPaint by @Gounlaf in #1623
  • Remove typo in *PerceptualHash summaries. by @Gounlaf in #1624
  • Revert breaking changes in enum order (#1627).

Related changes in ImageMagick since the last release of Magick.NET:

Library updates:

  • ImageMagick 7.1.1-32 (2024-05-05)
  • aom 3.9.0 (2024-04-23)
  • deflate 1.20.0 (2024-03-23)
  • openexr 3.2.4 (2024-03-26)
  • fribidi 1.0.14 (2024-04-25)
  • harfbuzz 8.4.0 (2024-03-29)
  • lzma 5.4.6 (2024-01-26)
  • webp 1.4.0 (2023-04-13)
  • xml 2.12.6 (2024-03-15)

Full Changelog: 13.7.0...13.8.0

Magick.NET 13.7.0

25 Apr 13:40
32edbce
Compare
Choose a tag to compare

Changes in Magick.NET:

  • Added OffIfOpaque to AlphaOption.
  • Added AssumeAlpha to the TiffReadDefines.
  • Fixes #1563 by @christianbumann in #1564
  • Added WithInkscapeEnabled to the ConfigurationFiles that can be used to enable Inkscape in the delegates.
  • Add guards for MagickImage.HoughLine by @Gounlaf in #1566
  • Added Thumbnail to the PdfWriteDefines.
  • Add guards for MagickImage.Lower by @Gounlaf in #1569
  • Remove redundant tests before creating MagickGeometry by @Gounlaf in #1571
  • Added Version to the PdfWriteDefines.
  • Doc fix: RemoveProfile doesn't throw MagickException by @Gounlaf in #1579
  • Make Percentage only positive by @Gounlaf in #1572
  • Add guards for MagickImage.SetBitDepth by @Gounlaf in #1580
  • Add guards for MagickImage.Statistic by @Gounlaf in #1582
  • Add guards for MagickImage.Shave by @Gounlaf in #1581
  • Add Orientation to MagickImageInfo by @ruairica in #1588
  • Removed position check that helps developers to workaround incorrect implementation of Position for non-seek able streams.
  • Added ToReadOnlySpan to IImageProfile for netstandard21.
  • Mark IExifProfile.CreateThumbnail as obsolete in netstandard20.
  • Made GetData of the IImageProfile obsolete.
  • Small tweaks to improve the performance of the Histogram method (#1587)
  • Added new raw formats and updated the descriptions of the other raw formats (#1595).
  • Added MaxProfileSize to the ResourceLimits (#1607).

Related changes in ImageMagick since the last release of Magick.NET:

Library updates:

  • ImageMagick 7.1.1-32 beta (2024-04-23)
  • aom 3.8.2 (2024-03-13)
  • imath 3.1.11 (2024-02-29)
  • openexr 3.2.3 (2024-03-07)
  • ffi 3.4.6 (2024-02-18)
  • harfbuzz 8.3.1 (2024-03-17)
  • highway 1.1.0 (2024-02-18)
  • jpeg-xl 0.10.2 (2024-03-08)
  • openjpeg 2.5.2 (2024-02-28)
  • pixman 0.43.4 (2024-02-29)
  • png 1.6.43 (2024-02-23)

New Contributors

Full Changelog: 13.6.0...13.7.0

Magick.NET 13.6.0

16 Feb 20:09
d7e2e59
Compare
Choose a tag to compare

Changes in Magick.NET:

  • Make sure the current settings are using when creating new MagickReadSettings (#1495)
  • Also return IndexChannel in the Channels property (#1496).
  • Generate the code to get the description of an ExifTagValue instead of using reflection (#1499).
  • Added Time to the ResourceLimits.
  • Added support for specifying the ColorSpace with a PerceptualHash.
  • Fix: magickSettings: use backing Drawing property instead of options by @Gounlaf in #1521
  • Added Id to EightBimValue that will replace ID in the next major release.
  • Added Id to DrawablePushPattern that will replace ID in the next major release.
  • Added methods to the EightBimProfile profile to get and set the XmpProfile profile inside it (#1517).
  • Added interfaces for the Drawable classes.
  • Added MipmapCount to the DdsWriteDefines that will replace the Mipmaps property in the next major release.
  • Fix: add guards for MagickImage.AdaptiveThreshold by @Gounlaf in #1544
  • Fix: add guards for MagickImage.BilateralBlur by @Gounlaf in #1545
  • Fix: add guards for MagickImage.Clahe by @Gounlaf in #1551
  • Use Quantum.Convert for K value in MagickColor by @Gounlaf in #1512
  • Typo: TiffReadDefines.IgnoreExifPoperties -> IgnoreExifProperties by @Gounlaf in #1556

Related changes in ImageMagick since the last release of Magick.NET:

Library updates:

  • aom 3.8.1 (2024-01-17)
  • de265 1.0.15 (2023-12-20)
  • ImageMagick 7.1.1-28 (2024-02-11)
  • heif 1.17.6 (2023-12-20)
  • imath 3.1.10 (2024-01-27)
  • jasper 4.2.0 (2024-02-05)
  • jpeg-xl 0.9.0 (2023-12-22)
  • jpeg-turbo 3.0.2 (2024-01-16)
  • jpeg-xl 0.9.2 (2024-02-07)
  • lcms 2.16.0 (2023-12-03)
  • lzma 5.4.5 (2023-12-23)
  • pixman 0.43.2 (2024-01-28)
  • png 1.6.42 (2024-01-29)
  • raw 0.21.2 (2023-12-19)
  • xml 2.12.5 (2024-02-04)
  • zlib 1.3.1 (2023-01-24)

Full Changelog: 13.5.0...13.6.0

Magick.NET 13.5.0

06 Dec 06:50
57f5344
Compare
Choose a tag to compare

Changes in Magick.NET:

  • Update Channels XML comment by @kmgallahan in #1466
  • Added MagickReadSettings overloads to the Read and ReadCollection method and constructor of MagickImageInfo.
  • Added MagickReadSettings overloads to the Create method of MagickImageInfoFactory.
  • Marked EncodingGeometry, FormatInfo and IsDisposed of MagickImage as obsolete.
  • Corrected return type MagickNET.GetEnvironmentVariable to a nullable string.
  • Added Chromaticity to MagickImage that will replace the separate properties and marked those as obsolete.
  • Made Interlace public in the MagickSettings and made the setter of Interlace in MagickImage obsolete.
  • Added LeftBottom to OrientationType that will replace LeftBotom in the next major release.

Related changes in ImageMagick since the last release of Magick.NET:

  • Add the up to date "Artifex" name to Ghostscript list (ImageMagick/ImageMagick#6779)
  • Only use the recent names to do the Ghostscript registry lookup and search for the commercial version first.
  • No longer disable NVIDIA devices because we disable OpenCL by default.
  • Improved I/O exception handling
  • Fixed reading Windows 1.x icon file format (ImageMagick/ImageMagick#6670)

Library updates:

Full Changelog: 13.4.0...13.5.0

Magick.NET 13.4.0

22 Oct 16:45
bcc0063
Compare
Choose a tag to compare

Changes in Magick.NET:

  • Typo: Update DensityUnit.cs by @Gounlaf in #1441
  • Typo: Update (I)MagickGeometry.cs by @Gounlaf in #1444
  • Fix typo in ReadingImages.md by @marnicgit in #1446
  • Bump actions/checkout from 3 to 4 by @dependabot in #1433
  • Typo: fix some typos by @Gounlaf in #1460
  • Add BGRA to PixelMapping.cs by @kmgallahan in #1464
  • Update AlphaOption.cs xml docs by @kmgallahan in #1465
  • Make it more clear in the documentation how the default value for ResourceLimits.Memory is set
  • Also return meta channels in the Channels property of an image
  • Added AssumeAlpha to the Jp2ReadDefines that allows a user to assume a 2nd or 4th channel is an alpha channel (#1449)
  • Added GetReadOnlyArea to IPixelCollection (#1456)
  • Use string.format for argument exceptions instead to reduce allocations (#1436).
  • Improved performance of the ToByteArray methods (#1447)
  • Also use the path that was specified with SetTempDirectory when MagickNET needs to create temporary files.

Related changes in ImageMagick since the last release of Magick.NET:

Library updates:

New Contributors

Full Changelog: 13.3.0...13.4.0