Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ version

# Flutter/Dart/Pub related
**/doc/api/
**/pubspec_overrides.yaml
.dart_tool/
.flutter-plugins
.packages
Expand Down
12 changes: 12 additions & 0 deletions cached_network_image/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,15 @@
## [4.0.0] - 2026-08-25

### Breaking changes

* Requires Flutter `>=3.44.0` and Dart `^3.12.0` (via `material_ui` dependency)
* Replaces `flutter/material.dart` with `material_ui` across all packages for Wasm compatibility

### Other changes

* Exclude platform folders from analyzer configuration
* Fix `FakeTicker` test helper for newer Flutter versions

## [3.4.1] - 2024-08-13

* Target js_interop for Wasm support
Expand Down
9 changes: 9 additions & 0 deletions cached_network_image/analysis_options.yaml
Original file line number Diff line number Diff line change
@@ -1 +1,10 @@
analyzer:
exclude:
- build/**
- android/**
- ios/**
- web/**
- windows/**
- macos/**
- linux/**
include: package:flutter_lints/flutter.yaml
9 changes: 9 additions & 0 deletions cached_network_image/example/analysis_options.yaml
Original file line number Diff line number Diff line change
@@ -1 +1,10 @@
analyzer:
exclude:
- build/**
- android/**
- ios/**
- web/**
- windows/**
- macos/**
- linux/**
include: package:flutter_lints/flutter.yaml
2 changes: 1 addition & 1 deletion cached_network_image/example/lib/main.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import 'dart:io';

import 'package:baseflow_plugin_template/baseflow_plugin_template.dart';
import 'package:cached_network_image/cached_network_image.dart';
import 'package:flutter/material.dart';
import 'package:material_ui/material_ui.dart';
import 'package:flutter_blurhash/flutter_blurhash.dart';

void main() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ list(APPEND FLUTTER_PLUGIN_LIST
)

list(APPEND FLUTTER_FFI_PLUGIN_LIST
jni
)

set(PLUGIN_BUNDLED_LIBRARIES)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,10 @@
import FlutterMacOS
import Foundation

import path_provider_foundation
import sqflite
import sqflite_darwin
import url_launcher_macos

func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin"))
SqflitePlugin.register(with: registry.registrar(forPlugin: "SqflitePlugin"))
UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin"))
}
1 change: 1 addition & 0 deletions cached_network_image/example/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ dependencies:
sdk: flutter
flutter_blurhash: ^0.8.2

material_ui: ^1.0.0
dev_dependencies:
flutter_test:
sdk: flutter
Expand Down
7 changes: 0 additions & 7 deletions cached_network_image/example/pubspec_overrides.yaml

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ list(APPEND FLUTTER_PLUGIN_LIST
)

list(APPEND FLUTTER_FFI_PLUGIN_LIST
jni
)

set(PLUGIN_BUNDLED_LIBRARIES)
Expand Down
2 changes: 1 addition & 1 deletion cached_network_image/lib/src/cached_image_widget.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import 'package:cached_network_image/cached_network_image.dart';
import 'package:cached_network_image_platform_interface/cached_network_image_platform_interface.dart';
import 'package:flutter/material.dart';
import 'package:material_ui/material_ui.dart';
import 'package:flutter/widgets.dart';
import 'package:flutter_cache_manager/flutter_cache_manager.dart';
import 'package:octo_image/octo_image.dart';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import 'package:cached_network_image_platform_interface/cached_network_image_pla
import 'package:cached_network_image_platform_interface'
'/cached_network_image_platform_interface.dart' as platform
show ImageLoader;
import 'package:flutter/material.dart';
import 'package:material_ui/material_ui.dart';
import 'package:flutter_cache_manager/flutter_cache_manager.dart';

/// ImageLoader class to load images on IO platforms.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import 'package:cached_network_image_platform_interface/cached_network_image_pla
if (dart.library.js_interop) 'package:cached_network_image_web/cached_network_image_web.dart'
show ImageLoader;
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:material_ui/material_ui.dart';
import 'package:flutter_cache_manager/flutter_cache_manager.dart';

/// IO implementation of the CachedNetworkImageProvider; the ImageProvider to
Expand Down
11 changes: 6 additions & 5 deletions cached_network_image/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,20 +6,21 @@ topics:
- cache
- image
- network-image
version: 3.4.1
version: 4.0.0

environment:
sdk: ^3.0.0
flutter: '>=3.10.0'
sdk: ^3.12.0
flutter: '>=3.44.0'

dependencies:
cached_network_image_platform_interface: ^4.1.1
cached_network_image_web: ^1.3.1
cached_network_image_platform_interface: ^5.0.0
cached_network_image_web: ^2.0.0
flutter:
sdk: flutter
flutter_cache_manager: ^3.4.1
octo_image: ^2.1.0

material_ui: ^1.0.0
dev_dependencies:
file: '>=7.0.0 <8.0.0'
flutter_lints: ^4.0.0
Expand Down
2 changes: 1 addition & 1 deletion cached_network_image/test/image_widget_test.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import 'package:cached_network_image/cached_network_image.dart';
import 'package:flutter/material.dart';
import 'package:material_ui/material_ui.dart';
import 'package:flutter_test/flutter_test.dart';

import 'fake_cache_manager.dart';
Expand Down
3 changes: 3 additions & 0 deletions cached_network_image/test/rendering_tester.dart
Original file line number Diff line number Diff line change
Expand Up @@ -311,6 +311,9 @@ class FakeTicker implements Ticker {
style: DiagnosticsTreeStyle.errorProperty,
);
}

@override
bool forceFrames = false;
}

class TestClipPaintingContext extends PaintingContext {
Expand Down
11 changes: 11 additions & 0 deletions cached_network_image_platform_interface/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,14 @@
## [5.0.0] - 2026-08-25

### Breaking changes

* Requires Flutter `>=3.44.0` and Dart `^3.12.0` (via `material_ui` dependency)
* Replaces `flutter/material.dart` with `material_ui` for Wasm compatibility

### Other changes

* Exclude platform folders from analyzer configuration

## [4.1.1] - 2024-08-13

* Target js_interop for Wasm support
Expand Down
9 changes: 9 additions & 0 deletions cached_network_image_platform_interface/analysis_options.yaml
Original file line number Diff line number Diff line change
@@ -1 +1,10 @@
analyzer:
exclude:
- build/**
- android/**
- ios/**
- web/**
- windows/**
- macos/**
- linux/**
include: package:flutter_lints/flutter.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ library cached_network_image_platform_interface;
import 'dart:async';
import 'dart:ui' as ui;

import 'package:flutter/material.dart';
import 'package:material_ui/material_ui.dart';
import 'package:flutter_cache_manager/flutter_cache_manager.dart';

/// Listener for errors
Expand Down
7 changes: 4 additions & 3 deletions cached_network_image_platform_interface/pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,17 +1,18 @@
name: cached_network_image_platform_interface
description: Platform interface for CachedNetworkImage
version: 4.1.1
version: 5.0.0
homepage: https://github.com/Baseflow/flutter_cached_network_image

environment:
sdk: ^3.0.0
flutter: '>=3.10.0'
sdk: ^3.12.0
flutter: '>=3.44.0'

dependencies:
flutter:
sdk: flutter
flutter_cache_manager: ^3.4.1

material_ui: ^1.0.0
dev_dependencies:
file: '>=7.0.0 <8.0.0'
flutter_lints: ^4.0.0
Expand Down
12 changes: 12 additions & 0 deletions cached_network_image_web/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,15 @@
## [2.0.0] - 2026-08-25

### Breaking changes

* Requires Flutter `>=3.44.0` and Dart `^3.12.0` (via `material_ui` dependency)
* Replaces `flutter/material.dart` with `material_ui` for Wasm compatibility
* Use conditional imports for `createImageCodecFromUrl` so VM tests can compile

### Other changes

* Exclude platform folders from analyzer configuration

## [1.3.1] - 2024-08-13

* Target js_interop for Wasm support
Expand Down
9 changes: 9 additions & 0 deletions cached_network_image_web/analysis_options.yaml
Original file line number Diff line number Diff line change
@@ -1 +1,10 @@
analyzer:
exclude:
- build/**
- android/**
- ios/**
- web/**
- windows/**
- macos/**
- linux/**
include: package:flutter_lints/flutter.yaml
7 changes: 4 additions & 3 deletions cached_network_image_web/lib/cached_network_image_web.dart
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,16 @@ library cached_network_image_web;
import 'dart:async';
import 'dart:typed_data';
import 'dart:ui' as ui;
import 'dart:ui_web';

import 'package:cached_network_image_platform_interface'
'/cached_network_image_platform_interface.dart' as platform
show ImageLoader, ImageRenderMethodForWeb;
import 'package:flutter/material.dart';
import 'package:material_ui/material_ui.dart';
import 'package:flutter_cache_manager/flutter_cache_manager.dart';

import 'src/create_image_codec_from_url_stub.dart'
if (dart.library.ui_web) 'src/create_image_codec_from_url_web.dart';

enum _State { open, waitingForData, closing }

/// ImageLoader class to load images on the web platform.
Expand Down Expand Up @@ -188,7 +190,6 @@ class ImageLoader implements platform.ImageLoader {
StreamController<ImageChunkEvent> chunkEvents,
) {
final resolved = Uri.base.resolve(url);
// ignore: undefined_function
return createImageCodecFromUrl(
resolved,
chunkCallback: (int bytes, int total) {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import 'dart:ui' as ui;

Future<ui.Codec> createImageCodecFromUrl(
Uri url, {
void Function(int cumulativeBytesLoaded, int expectedTotalBytes)?
chunkCallback,
}) {
throw UnsupportedError(
'createImageCodecFromUrl is only available on web',
);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import 'dart:ui' as ui;
import 'dart:ui_web' as ui_web;

Future<ui.Codec> createImageCodecFromUrl(
Uri url, {
void Function(int cumulativeBytesLoaded, int expectedTotalBytes)?
chunkCallback,
}) {
return ui_web.createImageCodecFromUrl(
url,
chunkCallback: chunkCallback,
);
}
9 changes: 5 additions & 4 deletions cached_network_image_web/pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,19 +1,20 @@
name: cached_network_image_web
description: Web implementation of CachedNetworkImage
version: 1.3.1
version: 2.0.0
homepage: https://github.com/Baseflow/flutter_cached_network_image

environment:
sdk: ^3.0.0
flutter: '>=3.10.0'
sdk: ^3.12.0
flutter: '>=3.44.0'

dependencies:
cached_network_image_platform_interface: ^4.1.1
cached_network_image_platform_interface: ^5.0.0
flutter:
sdk: flutter
flutter_cache_manager: ^3.4.1
web: ^1.0.0

material_ui: ^1.0.0
dev_dependencies:
file: '>=7.0.0 <8.0.0'
flutter_lints: ^4.0.0
Expand Down
Loading