Skip to content

Latest commit

 

History

History
228 lines (208 loc) · 16.1 KB

CHANGELOG.md

File metadata and controls

228 lines (208 loc) · 16.1 KB

Change Log

v1.9.3 (06.09.2014)

  • Introduced ImageScaleType.NONE_SAFE
  • Video thumbnails support (content://...)
  • Animated drawables support (for .showImageOnLoading(), .showImageOnFail(), .showImageForEmptyUri())
  • Fixed bugs:
    • loadImageSync(...) bug (#636)
    • NPE if no free space while init disk cache
    • "Bitmap too large ..." for all ImageScaleTypes
    • contacts photo considering

v1.9.2 (24.05.2014)

  • New Disk cache API (preparing renaming disc -> disk)
  • ImageLoader can be called out of the Main thread. Callback will be delivered on separate thread.
  • Prevented broken image files (#511)
  • Interrupt non-actual tasks
  • LruDiscCache is default limited cache
  • Renaming: ImageNonViewAware -> NonViewAware. Extracted ViewAware from ImageViewAware.
  • Introduced DiskCache and MemoryCache interfaces instead of deprecated DiscCacheAware and MemoryCacheAware.
  • Removed LimitedDiscCache, TotalSizeLimitedDiscCache, FileCountLimitedDiscCache. Use LruDisckCache instead.

v1.9.1 (27.12.2013)

  • Changed API:
    • BitmapDisplayer.display(...) : Bitmap -> BitmapDisplayer.display(...) : void
  • New API:
    • Added possibility to listen image loading progress by listener - ImageLoadingProgressListener
  • Non-actual downloads are interrupted (if loaded less than 75%)
  • Re-designed RoundedBitmapDisplayer. Added RoundedVignetteBitmapDisplayer. NOTE: New RoundedBitmapDisplayer's behaviour can vary from old one. Also consider "RoundedImageView" project for usage if new RoundedBitmapDisplayer doesn't work for you.
  • Maximum GL texture size is considered while decode images (#281)
  • loadImage(...) call cancels previous task for the same image URI (#475)
  • Fixed StrictMode warning Explicit termination method 'close' not called (#482)
  • LruMemoryCache is default memory cache for Android < 2.3 too.

v1.9.0 (27.11.2013)

  • Changed API:
    • BitmapDisplayer.display(..., ImageView, ...) -> BitmapDisplayer.display(..., ImageAware, ...)
  • New API:
    • ImageAware
    • ImageLoader.displayImage(..., ImageAware, ...)
    • ImageLoader.loadImageSync(...) : Bitmap for synchronous loading of image
    • DisplayImageOptions.considerExifParams(boolean)
    • DisplayImageOptions.showImageOnLoading(...) (instead of .showStubImage(...))
  • ImageLoader can process any view (or any other object) which implements ImageAware interface. E.g. ImageViewAware is adapter of ImageView for ImageAware
  • EXIF parameters of image are not considered by default anymore. Use new API to enable it.
  • Optimized image loading (prevented double-request on image loading, reuse existing stream)
  • Fixed bugs:
    • loadImage(...) bug (frequent onLoadingCancelled()) (#356)
    • Prevented NPE if Context.getCacheDir() returns null (#392)

v1.8.6 (25.07.2013)

  • Changed API: ImageLoaderConfiguration.enableLogging() -> ImageLoaderConfiguration.writeDebugLogs()
  • Fixed memory leak (#263)
  • Added the bug of loadImage(...) method (onLoadingCancelled() is fired always) :)

v1.8.5 (30.06.2013)

  • Changed API: ImageLoaderConfiguration.discCacheExtraOptions(...) -> ImageLoaderConfiguration.discCacheExtraOptions(..., BitmapProcessor) (#314)
  • New API:
    • ImageLoaderConfiguration.memoryCacheSizePercentage(int) (#279)
    • DisplayImageOptions.cacheInMemory(boolean), .cacheOnDisc(boolean), .resetViewBeforeLoading(boolean) (#252)
  • Added LoadedFrom flag to BitmapDisplayer.display(..., LoadedFrom) about image source (#149, #239)
  • Added L.disableLogging() and L.enableLogging() to off/on logs completely (#270)
  • Prevent image decoding if image is reused (#247)
  • Not set cache dir on SD card if no appropriate permission (#311)
  • Increased buffer size for image downloads (8 KB -> 32 KB) (#249)
  • Fixed bugs:
    • Prevent recycling of cached in memory images (#259)
    • ConcurrentModificationException in LruMemoryCache (#265)
    • File counting if cached files disappeared LimitedDiscCache (#316)
    • NPE for ImageView without LayoutParams (#272)
    • NPE in LoadAndDisplayImageTask (#271)
    • NPE in ImageLoaderEngine (#301)
    • RoundedBitmapDisplayer doesn't display round corner correctly for CENTER_CROP (#315)

v1.8.4 (13.04.2013)

  • Travis CI, added Unit tests (#189)
  • New API: DisplayImageOptions.handler(Handler) (#231)
  • Fixed bugs:
    • ConcurrentModificationException in BaseMemoryCache (#229)
    • NullPointerException in LimitedDiscCache (#234)
    • NullPointerException in LruMemoryCache (#233)
  • Improved work with Strings on UI thread (#244)

v1.8.3 (31.03.2013)

  • Android 2.0+ support
  • Added EXIF orientation support (#172)
  • New API:
    • ImageLoaderConfiguration.imageDecoder(ImageDecoder)
    • DisplayImageOptions.decodingOptions(BitmapFactory.Options)
  • Handled disc cache non-availability
  • Use LruMemoryCache as default memory cache for API >= 9, LRULimitedMemoryCache - for API < 9. Default memory cache size - 1/8 of available app memory.
  • Improved LimitedDiscCache and FuzzyKeyMemoryCache performance
  • Fixed bugs:
    • .denyCacheImageMultipleSizesInMemory doesn't work if own memory cache is set
    • java.lang.NoSuchMethodError in sample app (#206)

v1.8.2 (13.03.2013)

  • Changed API:
    • ImageDownloader.getStream***(URI, ...) -> ImageDownloader.getStream***(String, ...)
    • Made FailReason as a class instead of enum. Can be used in switches: FailReason.getType()
    • Removed ImageLoader.offOutOfMemoryHandling(). ImageLoader doesn't handle OutOfMemoryError by default anymore (but still catches it for callbacks).
  • New API:
    • ImageLoader.taskExecutor(Executor) and ImageLoader.taskExecutorForCachedImages(Executor) (#187)
    • ImageLoader.destroy()
  • Handled SD card unmount (#170)
  • Added Scheme class
  • Fixed bugs:
    • problem of loading of local files with encoded symbols in path (#179)
    • minor mistake in getImageSizeScaleTo() method (#200)
    • possible concurrency issue in memory caches (#116)
    • wrong visibility of methods ImageLoader.denyNetworkDownloads(boolean) and ImageLoader.handleSlowNetworks(boolean)

v1.8.1 (08.03.2013)

  • Changed API:
    • ImageLoader.denyNetworkDownloads() -> ImageLoader.denyNetworkDownloads(true)
    • ImageLoader.allowNetworkDownloads() -> ImageLoader.denyNetworkDownloads(false)
  • New API:
    • ImageLoader.denyNetworkDownloads(boolean)
    • ImageLoader.handleSlowNetwork(boolean). FlushedInsputStream isn't used for downloads by default.
  • Handled HTTP(S) redirects
  • Added LruMemoryCache (based on Android's LruCache), uses only strong references.
  • Fixed DisplayImageOptions.cloneFrom(...) (#173)
  • Fixed ConcurrentModification issue in MemoryCacheUtil. findCacheKeysForImageUri(...) (#174)
  • Fixed issue "Disc Cache can't find image by URI with special/local UTF-8 characters"
  • Improved calculation of target image size to scale (consider measured View width and height)

v1.8.0 (10.02.2013)

  • Changed API:
    • Signatures:
      • ImageLoader.loadImage(Context, ...) -> ImageLoader.loadImage(...)
      • ImageDownloader.getStream(URI) -> ImageDownloader.getStream(URI, Object) (#150)
      • ImageLoadingListener.onLoading***(...) -> ImageLoadingListener.onLoading***(String, View, ...) (#130)
      • Constructor PauseOnScrollListener(...) -> PauseOnScrollListener(ImageLoader, ...)
    • ImageDownloader became interface, URLConnectionImageDownloader + ExtendedImageDownloader -> BaseImageDownloader
    • Renaming: FileUtil -> IoUtil
    • Removed deprecated ImageScaleType.POWER_OF_2 and ImageScaleType.EXACT
  • Support of "content://", "assets://", "drawable://" URI schemes out of the box (#162)
  • New API:
    • DisplayImageOptions.showImageOnFail(int)
    • DisplayImageOptions.preProcessor(BitmapProcessor) and DisplayImageOptions.postProcessor(BitmapProcessor) (#151)
    • DisplayImageOptions.extraForDownloader(Object), allows to pass auxiliary object which will be passed to ImageDownloader.getStream(URI, Object) (#150)
    • ImageLoader.denyNetworkDownloads() and ImageLoader.allowNetworkDownloads() (#148)
    • FailReason.UNSUPPORTED_URI_SCHEME and FailReason.NETWORK_DENIED
    • ImageScaleType.NONE
  • Added DiscCacheUtil
  • Prepared ImageLoader to be extandable for creation of multiple instances (#158)
  • Fixed bug "Images aren't loaded after "Clear Cache" in app info" (#168)
  • Switched to Apache 2.0 license

v1.7.1 (31.01.2013)

  • Avoid I/O operations on the main thread, prevented ANR (#129, #154)
  • Correctly handled every ImageView's scale type in RoundedBitmapDisplayer (#70)
  • Prevented slow precaching modified date in LimitedAgeDiscCache constructor (for large number of images in cache) (#141)
  • New API: ImageLoader.isInited() method. Throw IllegalStateException on displayImage(...), loadImage(...), getMemoryCache(), clearMemoryCache(), getDiscCache(), clearDiscCache() calls if ImageLoader isn't inited with config.
  • Closed OutputStream after Bitmap compressing (#115)
  • Sample: Refactored resources

v1.7.0 (27.11.2012)

  • Maven support
  • New API:
    • ImageLoader.pause() and ImageLoader.resume() (#106)
    • PauseOnScrollListener (instead of OnScrollSmartOptions) for convenient pause/resume ImageLoader on scroll/fling in list views (#106)
  • Prevented consuming of lot of memory by cacheKeysForImageViews (#108)

v1.6.4 (20.11.2012)

  • New API:
    • DisplayImageOptions.bitmapConfig(Bitmap.Config) (#101)
    • DisplayImageOptions.delayBeforeLoading(int) (#103)
    • OnScrollSmartOptions for convenient control of loading delay on fling in ListViews, GridViews
  • Added FadeInBitmapDisplayer
  • Prevented recycling of using Bitmap (#101)

v1.6.3 (03.11.2012)

  • New API: ImageLoaderConfiguration.tasksProcessingOrder(QueueProcessingType) (#89)
  • Added MemoryCacheUtil for work with memory cache
  • Fixed calculation of size the original image is needed scale to (#93)
  • Allowed to create multiple ImageLoader instances (#92)

v1.6.2 (28.10.2012)

  • Prevented showing wrong bitmap in reused view (#85)
  • Fixed bug "double displaying" if image is cached in memory
  • Prevented "MissingFormatWidthException" (#88)

v1.6.1 (02.10.2012)

  • Changed API: Renaming:
    • ImageScaleType.POWER_OF_2 -> IN_SAMPLE_POWER_OF_2
    • ImageScaleType.EXACT -> IN_SAMPLE_INT
  • New API: ImageScaleType.EXACTLY and ImageScaleType.EXACTLY_STRETCHED
  • Prevented ImageLoadingListener callbacks firing and displaying image in view after ImageLoader was stopped
  • Fixed bug of calculation of original image scale for decoding

v1.6.0 (29.09.2012)

  • New API: ImageLoader.loadImage(...) which loads image, decodes it to Bitmap and returns Bitmap in callback (#51)
  • Avoided unnecessary image downloads (#44)

v1.5.6 (20.09.2012)

  • Changed API: Changed FileNameGenerator to interface (instead of abstract class)
  • New API: BitmapDisplayer and DisplayImageOptions.displayer(...)
  • Multithread displaying of cached images (instead of single-thread)
  • Correctly handle UTF-8 symbols and spaces in image URL (#31)

v1.5.5 (18.08.2012)

  • Changed API:
    • Removed DisplayImageOptions.transform()
    • Changed FileNameGenerator to abstract class (instead of interface)
  • Fire ImageLoadingListener callbacks if image URI is null