MagicScaler 0.13.0.0
MagicScaler v0.13
Notice: This release contains breaking API changes. See the list below or the detailed change log #62 for more information.
Breaking Changes
- Codec discovery is now internal to MagicScaler. The pipeline will find WIC codecs automatically, but the codec set and priority order may be different than seen in previous MagicScaler versions. See the change log for details and customization options.
- The
FileFormat
enum has been deprecated in favor of MIME types in all APIs where it was previously used. - A few
ProcessImageSettings
properties have been deprecated in favor of codec-specific option types. - All
MagicImageProcessor
static properties that controlled global settings have been moved to eitherAppContext
values or codec options - The
IImageContainer
andIImageFrame
interfaces have changed, with some of the properties moving to the new codec integration interfaces. - Dropped support for
netcoreapp2.1
, which is now out of support by Microsoft, andnet5.0
which goes out of support next month.
New APIs
CodecManager
allows explicit configuration of encoders and decoders, along with their default codec-specific configurations.- Many new codec-specific option types have been added, based on the
IDecoderOptions
andIEncoderOptions
interfaces. - Multiple new interfaces have been added to allow codec authors to define image decoders, encoders, metadata sources, and metadata items. #22
- Added a new zone plate test pattern generator --
ZonePlatePixelSource
.
Native Codec Previews
- Added a
libheif
wrapper capable of decoding Apple HEIC images. - Added a
libjxl
wrapper to preview JPEG XL support. The underlying native library is quite unstable in this release, so use with extreme care.
Performance Improvements
- Added new internal buffered
Stream
implementation to improve on the the buffering inFileStream
. - Improved speed of palette selection and mapping for indexed color formats.
- Improved speed of conversion from YCbCr to BGR formats.
- Improved hybrid scaling quality and speed on BGRA images.
- Changed buffer pool settings to match the new .NET 6 defaults.
Image Quality Improvements
- Improved palette selection when converting high-color images to indexed formats. The new algorithm performs better on gradients by weighting color population more heavily, while the old algorithm preferred greater distance between colors, with the expectation that dithering would benefit from wider color choice.
Non-behavioral Changes
- IL Trimming for self-contained apps is now enabled for all libraries.
WebRSize v0.6.5
- Updated to use MagicScaler v0.13
Some default settings have changed and may result in duplicate cache images for source/size combinations. It is recommended you clear your cache when deploying the new release.