Releases: dlemstra/Magick.NET
Releases · dlemstra/Magick.NET
Magick.NET 14.1.0
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 inAdaptiveThreshold
(#1717) - Added
CloneArea
toIMagickImage
that will replace theClone
overload with aMagickGeometry
. - Added
CloneAndMutate
toIMagickImage
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:
- Also treat the group and element being zero as the end of data in a dicom file (ImageMagick/ImageMagick#7610).
- Make sure we read the last xmp profile inside the pdf file.
- Support ICON size of 512 (ImageMagick/ImageMagick#7684)
- Restored support for reading tiled images with the new openexr api (#1732).
- Corrected check for indexed channels in PSD files (#1735).
- Respect alpha Update trait (#ImageMagick/ImageMagick#7709)
- Lab translation not required for HDRI support (ImageMagick/ImageMagick#7724)
- .cut (Dr Halo) reading when run count in header (ImageMagick/ImageMagick#7734)
- Patch that ignores the layer and/or view of an exr channel name when all channels start with that prefix (ImageMagick/ImageMagick#7751).
- Don't write the null terminator in pdf values to fix the bug reported in ImageMagick/ImageMagick#7756.
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
- @aleksvujic made their first contribution in #1707
Full Changelog: 14.0.0...14.1.0
Magick.NET 14.0.0
Breaking changes in Magick.NET:
- Removed
netstandard21
support and changed this tonet8.0
instead. IMagickImage
:- Removed the
EncodingGeometry
,IsDisposed
. - Removed the
FormatInfo
property (useMagickFormatInfo.Create(image.Format)
instead). - Removed the
ChromaBluePrimary
,ChromaGreenPrimary
,ChromaRedPrimary
,ChromaWhitePoint
properties (useChromaticity
instead). - Removed the
Distort
overload that had both aDistortMethod
andIDistortSettings
because the settings now contain aDistortMethod
property. - Removed the
Deskew
overload that hadIDeskewSettings
and renamed it toDeskewAndCrop
because that was the only setting. And this also means thatIDeskewSettings
andDeskewSettings
have been removed from the library. - Renamed
Map
toRemap
. - Renamed
RePage
toResetPage
. - Removed all
Morphology
overloads and only keep the method that usesMorphologySettings
. - The
Interlace
property is now readonly andMagickSettings.Interlace
should be used to set this setting. - The
ColorType
property no longer returns the value of theMagickSettings
. - Return
IMagickImage
instead ofdouble
in theCompare
method overloads that had anIMagickImage
and changed thedouble
return value to anout
param instead. - Changed the default colorspaces for
PerceptualHash
fromsRGB
andHCLp
toXyY
andHSB
.
- Removed the
IMagickImageCollection
:- Renamed
Map
toRemap
. - Renamed
RePage
toResetPage
.
- Renamed
IChannelPerceptualHash
:- Removed
SrgbHuPhash
andHclpHuPhash
(HuPhash(colorspace, index)
should be used instead).
- Removed
IEightBimValue
:- Removed the
ID
property (Id
should be used instead)
- Removed the
IExifProfile
:- The
CreateThumbnail
method is no longer be available for thenetstandard20
target.
- The
IImageProfile
:- Removed
GetData
(ToByteArray
orToReadOnlySpan
should be used instead). - The
ToByteArray
method will no longer returnnull
.
- Removed
IPixelCollection
:- Removed
GetIndex
(GetChannelIndex
should be used instead).
- Removed
Channels
:- Removed
Default
,Grays
andSync
.
- Removed
CompareSettings
:- Made the
ErrorMetric
property mandatory (through constructor) and immutable.
- Made the
ComplexSettings
:- Made the
ComplexOperator
property mandatory (through constructor) and immutable.
- Made the
DngReadDefines
- Removed the
UseAutoWhitebalance
property (UseAutoWhiteBalance
should be used instead). - Removed the
UseCameraWhitebalance
property (UseCameraWhiteBalance
should be used instead).
- Removed the
DdsWriteDefines
:- Removed the
Mipmaps
property (MipmapCount
should be used instead).
- Removed the
DrawableComposite
:- All constructors now require specifying the
CompositeOperator
.
- All constructors now require specifying the
DrawablePushPattern
:- Removed the
ID
property (Id
should be used instead).
- Removed the
ExifTag
:- Corrected type of
TimeZoneOffset
toshort[]
.
- Corrected type of
LogEventArgs
:- The
Message
property will no longer returnnull
.
- The
OpenCLKernelProfileRecord
- Removed the
AverageDuration
property.
- Removed the
OrientationType
:- Removed
LeftBotom
value (LeftBottom
should be used instead).
- Removed
TiffReadDefines
:- Removed the
IgnoreExifPoperties
property (IgnoreExifProperties
should be used instead).
- Removed the
WebPWriteDefines
:- Removed the
NearLossless
property because this functionality was removed from ImageMagick.
- Removed the
- Added the following namespaces and moved classes/interfaces to these namespaces:
ImageMagick.Colors
(contains allColorCMYK
,ColorMono
, etc. classes)ImageMagick.Drawing
(contains allDrawable
andPath
classes and interfaces)ImageMagick.Factories
(contains allFactory
classes and interfaces)
- Made all
Drawable
andPath
classes immutable. - Renamed
LogEvents
toLogEventTypes
. - Replaced
IReadOnlyCollection
withIReadOnlyList
in the following classes:DrawableBezier
,DrawablePath
,EightBimProfile
,ExifProfile
,IptcProfile
,MagickException
,MagickImage
,MagickNET
,OpenCL
,OpenCLDevice
, - Reordered enum values in
MagickFormat
andPixelMapping
. - Changed properties/arguments/return types that cannot be negative from
int
touint
and fromlong
toulong
.
Changes in Magick.NET:
- Added
DistortMethod
to theIDistortSettings
. - Added
ARGB
andCMYKA
toPixelMapping
. - Corrected default channels for the
Fx
method. - Added
DisplayP3
,Adobe98
,ProPhoto
,Oklab
andOklch
toColorSpace
.
Related changes in ImageMagick since the last release of Magick.NET:
- support 12 & 16 bit JPEG images
- persist app1 jpeg profile (ImageMagick/ImageMagick#4713)
Library updates:
- Magick.NET.Core 14.0.0
- Magick.NET.SystemDrawing 8.0.0
- Magick.NET.SystemWindowsMedia 8.0.0
- ImageMagick 7.1.1-38 (2024-09-01)
- aom 3.10.0 (2024-08-27)
- deflate 1.21.0 (2024-08-04)
- freetype 2.13.3 (2024-08-12)
- heif 1.18.2 (2024-08-07)
- xml 2.13.3 (2024-07-24)
Full Changelog: 13.10.0...14.0.0
Magick.NET 13.10.0
What's Changed
- Also don't write a byte order mark when converting a
XDocument
orIXPathNavigable
to aXmpProfile
(#1652) - Fix typos in XML documentation comments by @cordeiro-rubens (#1659)
- Corrected casing for
UseAutoWhiteBalance
andUseCameraWhiteBalance
in theDngReadDefines
. - Fix
ImageFormat
equality comparison by @midare160 (#1668) - Include
X
andY
in ToString when it is specified in one of the constructors ofMagickGeometry
(#1674). - Added support for performing an
Fx
operation on aMagickImageCollection
(#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
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
Changes in Magick.NET:
- Added
MetaChannelCount
toMagickImage
(#1585) - Added extra overload for the
Clut
method and and fixed bug that was found in (#1630). - Added channels overload to the
HaldClut
method ofMagickImage
. - Don't create
PointD
forMagickImage.Resample
by @Gounlaf in (#1631) - Add missing interface declaration for
IMagickImage.ToBase64
by @Gounlaf in (#1639) - Add a
ToBase64
variantMagickImageCollection
by @Gounlaf in (#1640) - Use a
HashSet
instead of List by @Gounlaf in (#1642) - Added
GetChannelIndex
to theIPixelCollection
that will replaceGetIndex
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:
- Fixed method that determines the width and height of an icon (ImageMagick/ImageMagick#7341)
- Added Apple ProRAW header.
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
Changes in Magick.NET:
- fix: add guards for
MagickImage.MeanShift
by @Gounlaf in #1612 - Added
ChromaUpsampling
to theHeicReadDefines
. - typo: Update
IMorphologySettings.cs
by @Gounlaf in #1617 - fix: add guard for
MagickImage.Morphology
by @Gounlaf in #1618 - Added
NoIdentifier
to thePdfWriteDefines
. - Made
NearLossless
of theWebPWriteDefines
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:
- protect backslash write writing properties to MIFF (ImageMagick/ImageMagick#7270)
- Use the new OpenEXRCore api that allows meta channel support when reading exr files (only when OpenEXR is version 3.1.0 or higher)
- Fix GIF ICC profile reading. (ImageMagick/ImageMagick#7281)
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
Changes in Magick.NET:
- Added
OffIfOpaque
toAlphaOption
. - Added
AssumeAlpha
to theTiffReadDefines
. - Fixes #1563 by @christianbumann in #1564
- Added
WithInkscapeEnabled
to theConfigurationFiles
that can be used to enableInkscape
in the delegates. - Add guards for
MagickImage.HoughLine
by @Gounlaf in #1566 - Added
Thumbnail
to thePdfWriteDefines
. - Add guards for
MagickImage.Lower
by @Gounlaf in #1569 - Remove redundant tests before creating
MagickGeometry
by @Gounlaf in #1571 - Added
Version
to thePdfWriteDefines
. - Doc fix:
RemoveProfile
doesn't throwMagickException
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
toMagickImageInfo
by @ruairica in #1588 - Removed position check that helps developers to workaround incorrect implementation of Position for non-seek able streams.
- Added
ToReadOnlySpan
toIImageProfile
fornetstandard21
. - Mark
IExifProfile.CreateThumbnail
as obsolete innetstandard20
. - Made
GetData
of theIImageProfile
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 theResourceLimits
(#1607).
Related changes in ImageMagick since the last release of Magick.NET:
- Enable new libheif chroma subsampling options. (ImageMagick/ImageMagick#7095)
- Call CoalesceImages inside the webp coder when the image dimensions are not the same to improve the patch that was made for (ImageMagick/ImageMagick#5542).
- Only write density values higher than zero in a jpeg file (ImageMagick/ImageMagick#7120).
- Respect gradient:bounding-box define (ImageMagick/ImageMagick#7143)
- Threading issue with identifying grayscale (ImageMagick/ImageMagick#7152)
- No longer redirect the output with inkscape because this causes issues on Windows.
- Possible temporary pixel cache leak if resources exhausted (ImageMagick/ImageMagick#7167)
- Fix bmp option to bypass file size check (ImageMagick/ImageMagick#7194)
- Do not round off density (ImageMagick/ImageMagick#7203)
- Corrected bug mentioned in (ImageMagick/ImageMagick#7208)
- Corrected check for warning when png:compression-filter is invalid (ImageMagick/ImageMagick#7236).
- Call heif_context_set_maximum_image_size_limit to limit high dimensions earlier.
- Also allow tiff:assume-alpha when there is more than one meta channel (ImageMagick/ImageMagick#7247).
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
- @christianbumann made their first contribution in #1564
- @ruairica made their first contribution in #1588
Full Changelog: 13.6.0...13.7.0
Magick.NET 13.6.0
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:
- Normalize pixel sum to reduce numerical instability (ImageMagick/ImageMagick#6924)
- Fix zstd not being listed under GetMagickDelegates() (ImageMagick/ImageMagick#6934)
- Support dng:max-raw-memory define (ImageMagick/ImageMagick#6922)
- Properly export YUV JP2 images (ImageMagick/ImageMagick#6943)
- Support UTF-8 comments (ImageMagick/ImageMagick#6949)
- Improve accuracy of image statistics (ImageMagick/ImageMagick#6924)
- Add Canon Raw v2 (CR2) as mime type (ImageMagick/ImageMagick#6968)
- Add Panasonic Raw v2 (RW2) as mime type (ImageMagick/ImageMagick#6967)
- When writing BMP to v3 or lower, ignore the ICC profile. (ImageMagick/ImageMagick#6979)
- Fix caption sizing issue (ImageMagick/ImageMagick#7004)
- Fix scaling of {display-p3,pro-photo,adobe-98} colorspace (ImageMagick/ImageMagick#7038)
- Modify posterize algorithm (ImageMagick/ImageMagick#7079)
- Raise warning instead of error when xmp profile can not be validated.
- Fix incorrect stroke opacity (ImageMagick/ImageMagick#7097)
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
Changes in Magick.NET:
- Update Channels XML comment by @kmgallahan in #1466
- Added
MagickReadSettings
overloads to theRead
andReadCollection
method and constructor ofMagickImageInfo
. - Added
MagickReadSettings
overloads to the Create method ofMagickImageInfoFactory
. - Marked
EncodingGeometry
,FormatInfo
andIsDisposed
ofMagickImage
as obsolete. - Corrected return type
MagickNET.GetEnvironmentVariable
to a nullablestring
. - Added
Chromaticity
toMagickImage
that will replace the separate properties and marked those as obsolete. - Made
Interlace
public in theMagickSettings
and made the setter ofInterlace
inMagickImage
obsolete. - Added
LeftBottom
toOrientationType
that will replaceLeftBotom
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:
- Magick.NET.Core 13.5.0
- Magick.NET.SystemDrawing 7.2.1
- Magick.NET.SystemWindowsMedia 7.2.1
- ImageMagick 7.1.1-22 (2023-12-03)
- aom 3.7.1 (2023-11-17)
- de265 1.0.14 (2023-11-21)
- harfbuzz 8.3.0 (2023-11-11)
- heif 1.17.5 (2023-11-21)
- jasper 4.1.0 (2023-11-05)
- jpeg-turbo 3.0.1 (2023-10-16)
- xml 2.12.1 (2023-11-23)
Full Changelog: 13.4.0...13.5.0
Magick.NET 13.4.0
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:
- Don't trust XMP profile if its not validated
- Fix compose dissolve issue (ImageMagick/ImageMagick#6738)
- Support Windows 1.0 Icon format (ImageMagick/ImageMagick#6670)
Library updates:
- Magick.NET.Core 13.4.0
- Magick.NET.SystemDrawing 7.2.0
- Magick.NET.SystemWindowsMedia 7.2.0
- ImageMagick 7.1.1-20 (2023-10-08)
- cairo 1.18.0 (2023-09-20)
- deflate 1.19.0 (2023-09-17)
- openexr 3.2.1 (2023-09-27)
- harfbuzz 8.2.1 (2023-09-18)
- lzma 5.4.4 (2023-09-23)
- tiff 4.6.0 (2023-09-08)
New Contributors
- @Gounlaf made their first contribution in #1441
- @marnicgit made their first contribution in #1446
- @kmgallahan made their first contribution in #1464
Full Changelog: 13.3.0...13.4.0