Skip to content

Upgrading cached_network_image 2 to 3

Breaking2.5.1 → 3.4.1Breaking1New2Changed1Fixed1

BreakingUpgrade verdict

1 breaking change.

  • Image loading errors are now delivered through a stream rather than thrown, so code that caught thrown errors may need updating.
1 item needs code or config changes

Dart SDK requirement changed in 3.3.0: >=2.10.0 <3.0.0 → ^3.0.0.

Flutter requirement changed in 3.3.0: >=1.20.0 → >=3.10.0.

Breaking1
Changes how ImageLoader reports errors: emits them as a stream instead of re-throwing.
ImageLoader

Generated by DepDelta from published Dart source. Not mixed with prose notes.

  • removed: enum ImageRenderMethodForWeb
  • removed: get CachedNetworkImageProvider.cacheKey: String
  • removed: get CachedNetworkImageProvider.cacheManager: BaseCacheManager
  • removed: get CachedNetworkImageProvider.errorListener: ErrorListener
  • removed: get CachedNetworkImageProvider.headers: Map<String, String>
  • removed: get CachedNetworkImageProvider.maxHeight: int
  • removed: get CachedNetworkImageProvider.maxWidth: int
  • removed: get CachedNetworkImageProvider.scale: double
  • removed: get CachedNetworkImageProvider.url: String
  • removed: member ImageRenderMethodForWeb.HtmlImage
  • removed: member ImageRenderMethodForWeb.HttpGet
  • removed: method CachedNetworkImageProvider.load( CachedNetworkImageProvider key, DecoderCallback decode): ImageStreamCompleter
  • removed: typedef ErrorListener = void Function()
  • changed: class CachedNetworkImageProvider: abstract extends ImageProvider<CachedNetworkImageProvider> → class CachedNetworkImageProvider extends ImageProvider<CachedNetworkImageProvider>
  • changed: ctor CachedNetworkImage({ Key key, @required this.imageUrl, this.httpHeaders, this.imageBuilder, this.placeholder, this.progressIndicatorBuilder, this.errorWidget, this.fadeOutDuration = …, this.fadeOutCurve = …, this.fadeInDuration = …, this.fadeInCurve = …, this.width, this.height, this.fit, this.alignment = …, this.repeat = …, this.matchTextDirection = …, this.cacheManager, this.useOldImageOnU… → ctor CachedNetworkImage({ super.key, required this.imageUrl, this.httpHeaders, this.imageBuilder, this.placeholder, this.progressIndicatorBuilder, this.errorWidget, this.fadeOutDuration = …, this.fadeOutCurve = …, this.fadeInDuration = …, this.fadeInCurve = …, this.width, this.height, this.fit, this.alignment = …, this.repeat = …, this.matchTextDirection = …, this.cacheManager, this.useOldImageOn…
  • changed: ctor CachedNetworkImageProvider( String url, { int maxHeight, int maxWidth, String cacheKey, double scale, @Deprecated('ErrorListener is deprecated, use listeners on the imagestream') ErrorListener errorListener, Map<String, String> headers, BaseCacheManager cacheManager, ImageRenderMethodForWeb imageRenderMethodForWeb, }) → ctor CachedNetworkImageProvider( this.url, { this.maxHeight, this.maxWidth, this.scale = …, this.errorListener, this.headers, this.cacheManager, this.cacheKey, this.imageRenderMethodForWeb = …, })
  • changed: ctor MultiImageStreamCompleter({ @required Stream<ui.Codec> codec, @required double scale, Stream<ImageChunkEvent> chunkEvents, InformationCollector informationCollector, }) → ctor MultiImageStreamCompleter({ required Stream<ui.Codec> codec, required double scale, Stream<ImageChunkEvent>? chunkEvents, InformationCollector? informationCollector, })
  • changed: field CachedNetworkImage.alignment: final AlignmentGeometry → field CachedNetworkImage.alignment: final Alignment
  • changed: field CachedNetworkImage.cacheKey: final String → field CachedNetworkImage.cacheKey: final String?
  • changed: field CachedNetworkImage.cacheManager: final BaseCacheManager → field CachedNetworkImage.cacheManager: final BaseCacheManager?
  • changed: field CachedNetworkImage.color: final Color → field CachedNetworkImage.color: final Color?
  • changed: field CachedNetworkImage.colorBlendMode: final BlendMode → field CachedNetworkImage.colorBlendMode: final BlendMode?
  • changed: field CachedNetworkImage.errorWidget: final LoadingErrorWidgetBuilder → field CachedNetworkImage.errorWidget: final LoadingErrorWidgetBuilder?
  • changed: field CachedNetworkImage.fadeOutDuration: final Duration → field CachedNetworkImage.fadeOutDuration: final Duration?
  • changed: field CachedNetworkImage.fit: final BoxFit → field CachedNetworkImage.fit: final BoxFit?
  • changed: field CachedNetworkImage.height: final double → field CachedNetworkImage.height: final double?
  • changed: field CachedNetworkImage.httpHeaders: final Map<String, String> → field CachedNetworkImage.httpHeaders: final Map<String, String>?
  • changed: field CachedNetworkImage.imageBuilder: final ImageWidgetBuilder → field CachedNetworkImage.imageBuilder: final ImageWidgetBuilder?
  • changed: field CachedNetworkImage.maxHeightDiskCache: final int → field CachedNetworkImage.maxHeightDiskCache: final int?
  • changed: field CachedNetworkImage.maxWidthDiskCache: final int → field CachedNetworkImage.maxWidthDiskCache: final int?
  • changed: field CachedNetworkImage.memCacheHeight: final int → field CachedNetworkImage.memCacheHeight: final int?
  • changed: field CachedNetworkImage.memCacheWidth: final int → field CachedNetworkImage.memCacheWidth: final int?
  • changed: field CachedNetworkImage.placeholder: final PlaceholderWidgetBuilder → field CachedNetworkImage.placeholder: final PlaceholderWidgetBuilder?
  • changed: field CachedNetworkImage.placeholderFadeInDuration: final Duration → field CachedNetworkImage.placeholderFadeInDuration: final Duration?
  • changed: field CachedNetworkImage.progressIndicatorBuilder: final ProgressIndicatorBuilder → field CachedNetworkImage.progressIndicatorBuilder: final ProgressIndicatorBuilder?
  • changed: field CachedNetworkImage.width: final double → field CachedNetworkImage.width: final double?
  • changed: static method CachedNetworkImage.evictFromCache( String url, { String cacheKey, BaseCacheManager cacheManager, double scale = …, }): Future → static method CachedNetworkImage.evictFromCache( String url, { String? cacheKey, BaseCacheManager? cacheManager, double scale = …, }): Future<bool>
  • changed: typedef LoadingErrorWidgetBuilder = Widget Function( BuildContext context, String url, dynamic error, ) → typedef LoadingErrorWidgetBuilder = Widget Function( BuildContext context, String url, Object error, )
  • added: field CachedNetworkImage.errorListener: final ValueChanged<Object>?
  • added: field CachedNetworkImageProvider.cacheKey: final String?
  • added: field CachedNetworkImageProvider.cacheManager: final BaseCacheManager?
  • added: field CachedNetworkImageProvider.errorListener: final ErrorListener?
  • added: field CachedNetworkImageProvider.headers: final Map<String, String>?
  • added: field CachedNetworkImageProvider.imageRenderMethodForWeb: final ImageRenderMethodForWeb
  • added: field CachedNetworkImageProvider.maxHeight: final int?
  • added: field CachedNetworkImageProvider.maxWidth: final int?
  • added: field CachedNetworkImageProvider.scale: final double
  • added: field CachedNetworkImageProvider.url: final String
  • added: get CachedNetworkImageProvider.hashCode: int
  • added: method CachedNetworkImageProvider.loadBuffer( CachedNetworkImageProvider key, DecoderBufferCallback decode, ): ImageStreamCompleter
  • added: method CachedNetworkImageProvider.loadImage( CachedNetworkImageProvider key, ImageDecoderCallback decode, ): ImageStreamCompleter
  • added: method CachedNetworkImageProvider.obtainKey( ImageConfiguration configuration, ): Future<CachedNetworkImageProvider>
  • added: method CachedNetworkImageProvider.operator ==(Object other): bool
  • added: method CachedNetworkImageProvider.toString(): String
  • added: method MultiImageStreamCompleter.keepAlive(): ImageStreamCompleterHandle
  • added: static field CachedNetworkImageProvider.defaultCacheManager: BaseCacheManager
  • added: static get CachedNetworkImage.logLevel: CacheManagerLogLevel
  • added: static set CachedNetworkImage.logLevel(CacheManagerLogLevel level)