Download source, binaries, plugins, and sample code (15MB) or Download core binary only (170K)
Changes since alpha 8 (Jun 2)
Fixed bugs
- Content-type "image/jpeg" would be sent for PNG and GIF images when 'format' was not specified.
- Visiting the resizer.debug page would result in a NullReferenceException when the DiskCache was installed and autoClean=false or enabled=false was configured.
- ResizeSettings: Setting CropTopLeft and CropTopRight had no effect, the values weren't saved. (Setting ["crop"] always worked).
- Incorrect behavior when invalid (non-numeric) values were used for width, height, maxwidth, maxheight, shadowWidth, andgle, and rotate. The intended behavior was to interpret invalid values as 'unspecified'. Instead, they were interpreted as '0'.
- Fixed potential NullReferenceException masking an ImageCorruptedException in LoadImage (wrong exception thrown).
- ResizeSettings: Rotate no longer rounds values to the nearest integer.
- ResizeSettings: Setting the BackgroundColor, PaddingColor, or BorderColor properties would cause the alpha portion of the assigned color to be ignored. Reading these properties when the underlying string values were invalid (like "ghhaggee") could have caused an Exception to be thrown instead of returning Color.Transparent.
- ClientCache.Uninstall() returned false, despite uninstalling correctly.
New features
- Added support for image margins (outside the border and drop-shadow or other effect). Added ResizeSettings.Margin.
- Added support for independent, separate control over caching and processing. (&cache=no/default/always, &process=no/default/always). This allows the DiskCache to be used for non-image data. For URLs without image extensions, however, you'll still need to add a PostAuthorizeRequestStart handler.
- Added Pipeline.SkipFileTypeCheck, Pipeline.ModifiedQueryString, Pipeline.PreRewritePath so PostAuthorizeRequestStart can customize the processing and caching behavior.
- Added ResizeSettings.ToString(). Better debugging!
- Added ResizeSettings.Process property.
- Added PathUtils.GetExtension().
Potentially breaking API changes
- ResizeSettings.get and .set are now protected instead of public, as they should have been originally.
- protected variable ImageBuilder.encoderProvider is now _encoderProvider for CLS compliance.
New features in SqlReader
- Now supports char, nchar, varchar, and nvarchar identifiers for images.
- Now supports loading and caching non-image files from SQL binary columns.
- SqlReaderSample: Added support for uploading and listing regular files. Added "Remove all images" button.
- Now supports named connection strings so you don't have to duplicate configuration. Uses the "ConnectionStrings:namedKey" syntax like the ASP.NET declarative data source controls.
- Now provides better diagnostics
- SqlReaderSettings: Added VirtualPathPrefix readonly property, StripFileExtension boolean property, and IsIntType, IsStringType methods.
Tests
The bug fixes of this release were primarily driven by unit test discoveries. Code coverage doubled with this release, and I'm aggressively adding regression tests for everything I fix.
Remaining known bugs
None. Isn't this when most people mark a product as stable?
All releases
- Resizer 4.1.9 - Jun-22-2017 - Important fix for constant CPU use
- Resizer 4.1.8 - Jun-17-2017 - 2 bug fixes
- Resizer 4.1.7 - Jun-6-2017 - 166 commits
- Resizer 4.0.5 - Jan-31-2016 - 3 bug fixes
- Resizer 4.0.4 - Oct 25 2015 - Major release with security and massive performance improvements
- Resizer 3.4.3 - May 8 2014 - New release adds metadata copy support, fixes 4 bugs.
- Resizer 3.4.2 - November 26 2013 - New Release adds support for AWSSDK 2
- Resizer 3.4.1 - October 30 2013 - New release features 1 bug fix and 1 enhancement.
- Resizer 3.4.0 - October 17 2013 - New release comes with 4 new plugins and 11 bug fixes.
- Resizer 3.3.3 - March 2 2013 - 2 bug fixes, one in S3Reader, one in WicDecoder
- Resizer 3.3.2 - Jan 24 2013 - 2 bug fixes
- Resizer 3.3.1 - Dec 19 2012 - 8 bug fixes, 1 new plugin
- Resizer 3.3.0 - Dec 3 2012 - 10 bug fixes, 2 new filters, 2 new alpha plugins
- Resizer 3.2.4 - Aug 6 2012 - 7 bug fixes, S3Reader changes, 2 new alpha plugins
- Resizer 3.2 beta 3 - June 30 2012 - 4 bug fixes
- Resizer 3.2 beta 2 - June 20 2012 - 3 bug fixes
- Resizer 3.2 alpha 1 - June 4 2012 - 1 bug fix
- Resizer 3.2 alpha 0 - June 3 2012 - 11 bug fixes (reliability improvements in WicBuilder, Watermark, WhitespaceTrimmer, SqlReader), heavy refactoring, 5 new draft plugins
- Resizer 3.1.5 - Feb 22 2012 - 19 bug fixes, 8 new features, 2 potentially breaking changes
- Resizer 3.1.4 - Jan 22 2012 - 5 bug fixes, 2 minor new features
- Resizer 3.1.3 - Jan 14 2012 - 2 new free plugins, 7 bug fixes
- Resizer 3.1 alpha 2 - Dec 7 2011 - 5 new free plugins, 6 new bundle plugins, 5 rewritten plugins, and innumerable bug fixes
- Resizer 3.0.13 - Oct 12 2011 - 6 bug fixes, raw support, and 1 breaking change (renaming the FriendlyUrls plugin)
- Resizer 3.0.12 - Aug 15 2011 - 12 bug fixes, 10 new features, 3 new plugins since 3.0.11
- Resizer 3.0.11 - July 29 2011 - 5 bug fixes and 2 new plugins since alpha 10
- Resizer 3 alpha 10 - Jun 16 2011 -
- Resizer 3 alpha 9 - Jun 8 2011 - 8 bug fixes and 8 new features
- Resizer 3 alpha 8 - Jun 2 2011 - 4 core bug fixes, 2 new sample projects, and the important fixes to the DiskCache, SqlReader, and AnimatedGifs plugins
- Resizer 2.8 - May 27 2011 - The last build of the version 2 line.
- Resizer 3 alpha 7 - May 26 2011 - 3 stability fixes, jCrop support, COM support, better diagnostics.
- Resizer 3 alpha 5 - May 15 2011 - 7 bug fixes, 5 API changes, and 3 new plugins
- Resizer 3 alpha 3 - May 2 2011 -
- Resizer 3 alpha 2 - Apr 24 2011 -