Releases: luberda-molinet/FFImageLoading
FFImageLoading 2.2.14
Complete history of changes available here: v2.2.13...v2.2.14
Xamarin.Forms - Important
FFImageLoading has a regression since 2.2.4 which caused CachedImage
to always to fill entire space available (different behaviour than Image
. It's now fixed, but as it was included in many versions it may be a breaking change for some. That's why I didn't enable that fix by default. You can do it manually with:
CachedImage.FixedOnMeasureBehavior = true;
I'll include it as a default in next major version.
Read more here: #545
Changes
- Xamarin.Forms There's a new error log when Added log warning for
DownsampleToViewSize
failed scenario:DownsampleToViewSize failed - view is expandable in both dimensions, so it doesn't have a size. Please use DownsampleWidth or DownsampleHeight property.
. Read more here: link - DelayInMs set to 14 - Task.Delay resolution is around 15ms
Fixes
- iOS Gif framerate fix
- Xamarin.Forms renderers refactorings & improvements
- Windows nuspec fixes
FFImageLoading 2.2.13
Complete history of changes available here: v2.2.11...v2.2.13
Xamarin.Forms - Important
FFImageLoading has a regression since 2.2.4 which caused CachedImage
to always to fill entire space available (different behaviour than Image
. It's now fixed, but as it was included in many versions it may be a breaking change for some. That's why I didn't enable that fix by default. You can do it manually with:
CachedImage.FixedOnMeasureBehavior = true;
I'll include it as a default in next major version.
Read more here: #545
Features
- Performance: A lot less tasks created due to moved DelayInMs logic, default Delay value is now 15ms (configurable)
- Prerelease OSX support thanks to @Sevenish (native only as I didn't have time to implement Xamarin.Forms renderers)
- Switched to portable PDB files
Fixes
- GIF support fixes
- #727 - System.Xml.XmlException: For security reasons DTD is prohibited in this XML document
- iOS: More informative exceptions when file is corrupted or can't read file size properties #725
- Additional stream validity checks
- Windows samples build fixes
- Windows SVG: Fixes Could not load file or assembly System.Xml.ReaderWriter
- Fixed global config property DelayInMs not working
- iOS ColorSpaceTransformation minor fix
- ImageLoaderTask ShowPlaceholder deadlock fixes
- Fixed task custom retry delay parameter not working
FFImageLoading 2.2.12
Complete history of changes available here: v2.2.11...v2.2.12
Xamarin.Forms - Important
FFImageLoading has a regression since 2.2.4 which caused CachedImage
to always to fill entire space available (different behaviour than Image
. It's now fixed, but as it was included in many versions it may be a breaking change for some. That's why I didn't enable that fix by default. You can do it manually with:
CachedImage.FixedOnMeasureBehavior = true;
I'll include it as a default in next major version.
Read more here: #545
Features
- Performance: A lot less tasks created due to moved DelayInMs logic, default Delay value is now 20ms (configurable)
- Prerelease OSX support thanks to @Sevenish (native only as I didn't have time to implement Xamarin.Forms renderers)
- Switched to portable PDB files
Fixes
- GIF support fixes
- #727 - System.Xml.XmlException: For security reasons DTD is prohibited in this XML document
- iOS: More informative exceptions when file is corrupted or can't read file size properties #725
- Additional stream validity checks
- Windows samples build fixes
- Windows SVG: Fixes Could not load file or assembly System.Xml.ReaderWriter
- Fixed global config property DelayInMs not working
- iOS ColorSpaceTransformation minor fix
- ImageLoaderTask ShowPlaceholder deadlock fixes
- Fixed task custom retry delay parameter not working
FFImageLoading 2.2.11
Complete history of changes available here: v2.2.10...v2.2.11
Xamarin.Forms - Important
FFImageLoading has a regression since 2.2.4 which caused CachedImage
to always to fill entire space available (different behaviour than Image
. It's now fixed, but as it was included in many versions it may be a breaking change for some. That's why I didn't enable that fix by default. You can do it manually with:
CachedImage.FixedOnMeasureBehavior = true;
I'll include it as a default in next major version.
Read more here: #545
Features
- Http read buffer size is now configurable
- Windows - default memory cache size set to 64MB (phones) / 256MB (desktop)
Fixes
- Windows TintTransformation - DivideByZeroException
- Windows TintTransformation minor fix
- Acces to path is denied on Android fixes
- #682 - WebP on iOS - vp8 status error for some files
- Task cancellation fixes
- DownloadCache timeout fix
- Deadlock using both LoadingPlaceholder and ErrorPlaceholder as gif
- Windows The application called an interface that was marshalled for a different thread
- iOS - Issue with ru and ua cultures
FFImageLoading 2.2.10
Complete history of changes available here: v2.2.9...v2.2.10
Features
- .Net Standard 1.0 support
- Android & iOS GIF support
- Many SVG support enhancements, docs here
Xamarin.Forms
: NewSvgCachedImage
view.- MvvmCross: New
MvxCachedImageView
/MvxSvgCachedImageView
views. (MvxImageLoadingView
is now obsolete) - Data URL (including base64) support + SVG as text loading support, more here
- Now compiled with VS2017
- Added
ReplaceStringMap
for SVG parsing (eg. changing colors) - Implemented AllowUpscale for downsampling feature
- ScaleHelper is now only initialized once
ITransformation
interface refactorings to allow more advanced scenarios- Added
SetupOnBeforeImageLoading
virtual method toCachedImage
/MvxCachedImageView
for advanced use-cases - Linking: Added some additional Preserve attributes
- Memory cache changes
- Allow for specifying root of cache folder on Windows
- Xamarin.Forms
EmbeddedResourceImageSource
for a better performance resource files loading - Identify Webp & Gif with file first bytes magic bytes instead relying on a file extension
- Placeholder loading optimizations
Fixes
This release contains many issues fixes (bugs, deadlocks, etc). Some of them:
- Avoid race conditions fixes
- Correctly http GZip / Deflate decompression
MD5CryptoServiceProvider
is not thread safeTaskCanceledException
will crash the application- iOS fixed asset catalog loading issues
- Android BlurredTransformation not working correctly sometimes
ErrorPlaceHolder
ErrorCommand
not working on Android- Crashing on Xamarin Designer
- Images don't show up in UWP release build
- ErrorPlaceholder not shown when url is not valid
- Deadlock when scrolling in GridView on Windows 10
FFImageLoading 2.2.9
Complete history of changes available here: v2.2.8...v2.2.9
FFImageLoading 2.2.8
Complete history of changes available here: v2.2.7...v2.2.8
Features
- Stream handling optimizations, introduced
StreamChecksumsAsKeys
configuration property. - Implemented
AsPNGStreamAsync
,AsJPGStreamAsync
methods for loading images toStream
insteadViews
var outputStream = await ImageService.Instance
.LoadUrl("http://domain.com/image.jpg")
.Transform(new SomeTransformation())
.AsJPGStreamAsync(quality: 80);
Fixes
- Fixed occasional null exception
- Tuned SchedulerMaxParallelTasks default value
- Download cache - Use ReadAsByteArrayAsync when no ProgressDownload is needed #449
- Fixed #466
- SVG: Windows UAP nuspec dependencies fixes
- #463 Android BlurredTransformation fixes
- Modified initial image loading task TaskCreationOptions #439
FFImageLoading 2.2.7
Complete history of changes available here: v2.2.6...v2.2.7
Optimizations
- [Performance] Scheduler optimizations
- [Performance] Prevent UI thread overuse by allowing ThreadPool optimization when loading from cache
- [Windows] Improved image loading due to file info caching
- [Xamarin.Forms performance] ImageSourceBinding optimization - reduce File.Exists calls
- Updated SkSvg class, SvgDataResolver improvements
Fixes
- Images not loading sometimes (scheduler issue)
- Tuned SchedulerMaxParallelTasks default value
- Download cache - Use ReadAsByteArrayAsync when no ProgressDownload is needed #449
FFImageLoading 2.2.6
Complete history of changes available here: v2.2.5...v2.2.6
New features
- SVG support using SkiaSharp library. It's super fast as it uses all FFImageLoading caching capabilities. More here: Wiki.
- Windows BIG performance improvement - implemented LRU memory cache. Default cache size is 32MB for phones / 128MB for desktops (configurable)
WorkScheduler
- always run image loading on thread pool- Added
DownloadProgress
andFileWriteFinished
events / commands - Bump up the priority on pending tasks if similar tasks have a higher priority
- Windows projects reconfigured, added UWP Forms sample
Fixes
- Do not break image loading when placeholder failed
- Fixed image loading delayed twice when using delay option
- Fixed
CacheType.Disk
not working correctly FadeAnimationEnabledForCached
is now independent ofFadeAnimationEnabled
- [Xamarin.Forms] Fixed #396 DiskCacheDuration is always Zero
- [Xamarin.Forms iOS] Fixed file image source not loading in some cases
- [Android] MemoryCache fixes, replaced LRU cache implementation
- [Android] Fixed #416
NetworkOnMainThreadException
- [Android] Fixed #408
ConcurrentModificationException
duringInvalidateCacheAsync
- [Android] Android/Compatibility:
ImageViewAsync
- Disabled custom fit logic whenAlignMode/ScaleToFit properties
not used - [Android]
CanUseForInBitmap
- Round up to power of 2 (added back) - [iOS] Fixed Scale helper deadlock
- [iOS] Fixed bug when omitting file extensions for bundled resources
- [iOS] Fixed #415 iOS
Configuration.MaxMemoryCacheSize
not working correctly - some others fixes
FFImageLoading 2.2.5
Complete history of changes available here: v2.2.4...v2.2.5
- [Config] Added DiskCachePath property
- Work scheduler optimization when preloading or downloading #373
- HttpHeadersTimeout set to 10s
- DownloadCache fixes
- Preload & DownloadOnly now return a task which can be cancelled etc
- Ensure correct TTL part format in cached file
- Fixed some IsCompleted and OnSuccess callback issues
- [iOS] Fixed images from asset catalogs (json) not loading
- [Android] Placeholder handling fixes #361