diff --git a/demo_app/analysis_options.yaml b/demo_app/analysis_options.yaml index 1a04de2e5..b6bdcf2aa 100644 --- a/demo_app/analysis_options.yaml +++ b/demo_app/analysis_options.yaml @@ -5,6 +5,9 @@ analyzer: # TODO: remove this when it auto ignores `depend_on_referenced_packages` - lib/generated_plugin_registrant.dart +formatter: + trailing_commas: preserve + linter: rules: always_put_control_body_on_new_line: true diff --git a/demo_app/integration_test/auto_resize_test.dart b/demo_app/integration_test/auto_resize_test.dart index 0a6da89ee..76d511cc6 100644 --- a/demo_app/integration_test/auto_resize_test.dart +++ b/demo_app/integration_test/auto_resize_test.dart @@ -13,7 +13,7 @@ void main() { child: VideoPlayer( 'https://flutter-widget-from-html.github.io/pages/flower.mp4', aspectRatio: 1, - loadingBuilder: (_, __, ___) => + loadingBuilder: (_, _, _) => const Center(child: CircularProgressIndicator()), ), ); @@ -36,10 +36,11 @@ void main() { final testCase = webViewTestCases.currentValue!; final test = await testCase.run($); - for (var i = 0;; i++) { + for (var i = 0; ; i++) { await $.pump(); - await $.tester - .runAsync(() => Future.delayed(const Duration(seconds: 3))); + await $.tester.runAsync( + () => Future.delayed(const Duration(seconds: 3)), + ); await $.pump(); try { @@ -70,7 +71,8 @@ class WebViewTestCase { }); Future<_AspectRatioTest> run(PatrolIntegrationTester $) async { - final html = ''' + final html = + '''
diff --git a/demo_app/lib/main.dart b/demo_app/lib/main.dart index cd98f6f60..2d1ba112a 100644 --- a/demo_app/lib/main.dart +++ b/demo_app/lib/main.dart @@ -12,7 +12,8 @@ void main() { } void _onLogRecord(LogRecord record) { - final prefix = '${record.time.toIso8601String().substring(11)} ' + final prefix = + '${record.time.toIso8601String().substring(11)} ' '${record.loggerName}@${record.level.name} '; debugPrint('$prefix${record.message}'); @@ -28,15 +29,15 @@ class MyApp extends StatelessWidget { @override Widget build(BuildContext context) => PopupMenuStateProvider( - builder: (context) => MaterialApp( - title: 'Flutter Widget from HTML', - theme: FlexThemeData.light(scheme: FlexScheme.blueM3), - darkTheme: FlexThemeData.dark(scheme: FlexScheme.blueM3), - showPerformanceOverlay: context.showPerformanceOverlay, + builder: (context) => MaterialApp( + title: 'Flutter Widget from HTML', + theme: FlexThemeData.light(scheme: FlexScheme.blueM3), + darkTheme: FlexThemeData.dark(scheme: FlexScheme.blueM3), + showPerformanceOverlay: context.showPerformanceOverlay, - // let HomeScreen handle all the routings - initialRoute: '/', - onGenerateRoute: HomeScreen.onGenerateRoute, - ), - ); + // let HomeScreen handle all the routings + initialRoute: '/', + onGenerateRoute: HomeScreen.onGenerateRoute, + ), + ); } diff --git a/demo_app/lib/screens/audio.dart b/demo_app/lib/screens/audio.dart index db1d14dbb..2568dfc9e 100644 --- a/demo_app/lib/screens/audio.dart +++ b/demo_app/lib/screens/audio.dart @@ -24,68 +24,69 @@ class _State extends StateAlmost every developer\'s favorite ' - 'molecule is C8H10N4O2, ' - 'also known as "caffeine."
', - ), + _row(context, null, 10), + _row(context, '2em', 20), + _row(context, '200%', 20), + _row(context, '20pt', 20 * 96 / 72), + _row(context, '20px', 20), ], ), - ), - ); + const Divider(), + const HtmlWidget( + 'Almost every developer\'s favorite ' + 'molecule is C8H10N4O2, ' + 'also known as "caffeine."
', + ), + ], + ), + ), + ); TableRow _row(BuildContext context, String? data, double fontSize) => TableRow( @@ -103,19 +103,20 @@ class _SliderState extends State<_Slider> { @override Widget build(BuildContext context) => Column( - children: [ - Slider( - divisions: 3, - max: 2, - min: 0.5, - onChanged: (v) => setState(() => _textScaleFactor = v), - value: _textScaleFactor, - ), - MediaQuery( - data: MediaQuery.of(context) - .copyWith(textScaler: TextScaler.linear(_textScaleFactor)), - child: _Panel(), - ), - ], - ); + children: [ + Slider( + divisions: 3, + max: 2, + min: 0.5, + onChanged: (v) => setState(() => _textScaleFactor = v), + value: _textScaleFactor, + ), + MediaQuery( + data: MediaQuery.of( + context, + ).copyWith(textScaler: TextScaler.linear(_textScaleFactor)), + child: _Panel(), + ), + ], + ); } diff --git a/demo_app/lib/screens/golden.dart b/demo_app/lib/screens/golden.dart index 536b57a6c..df600315d 100644 --- a/demo_app/lib/screens/golden.dart +++ b/demo_app/lib/screens/golden.dart @@ -107,19 +107,21 @@ class _GoldensState extends State${const HtmlEscape().convert(html)}',
- ),
- ),
- );
+ child: Padding(
+ padding: const EdgeInsets.all(8.0),
+ child: HtmlWidget(
+ '$html${const HtmlEscape().convert(html)}',
+ ),
+ ),
+ );
String _htmlAsset() {
const icon = 'asset:logos/icon.png';
@@ -68,7 +68,8 @@ class _State extends State
Inline:
diff --git a/demo_app/lib/screens/img_file.dart b/demo_app/lib/screens/img_file.dart
index fce52e817..499c3c04c 100644
--- a/demo_app/lib/screens/img_file.dart
+++ b/demo_app/lib/screens/img_file.dart
@@ -10,31 +10,31 @@ class ImgFileScreen extends StatelessWidget {
@override
Widget build(BuildContext context) => DefaultTabController(
- length: 2,
- child: Scaffold(
- appBar: AppBar(
- bottom: const TabBar(
- tabs: [
- Tab(text: 'PNG'),
- Tab(text: 'SVG'),
- ],
- ),
- title: const Text('ImgFileScreen'),
+ length: 2,
+ child: Scaffold(
+ appBar: AppBar(
+ bottom: const TabBar(
+ tabs: [
+ Tab(text: 'PNG'),
+ Tab(text: 'SVG'),
+ ],
+ ),
+ title: const Text('ImgFileScreen'),
+ ),
+ body: const TabBarView(
+ children:
';
-
- return Padding(
- padding: const EdgeInsets.all(8.0),
- child: Column(
- mainAxisAlignment: MainAxisAlignment.center,
- children: [
- Text(html),
- HtmlWidget(html),
- ],
- ),
- );
- },
- future: file,
+ animation: status,
+ builder: (_, _) {
+ switch (status.value) {
+ case _ImgFileStatus.idle:
+ return Column(
+ mainAxisAlignment: MainAxisAlignment.center,
+ children: [
+ Padding(
+ padding: const EdgeInsets.all(8.0),
+ child: Text(
+ 'This test will write a ${widget.fileExtension} into '
+ 'the file system then try to render with an IMG tag. '
+ 'The actual file path is semi-random and it should be '
+ 'unique across tests (switch tab to re-test).',
+ ),
+ ),
+ Center(
+ child: ElevatedButton(
+ onPressed: _writeFile,
+ child: const Text('Write file'),
+ ),
+ ),
+ ],
+ );
+ case _ImgFileStatus.writeFileWriting:
+ return const Center(child: CircularProgressIndicator());
+ case _ImgFileStatus.writeFileSuccess:
+ return FutureBuilder
';
+
+ return Padding(
+ padding: const EdgeInsets.all(8.0),
+ child: Column(
+ mainAxisAlignment: MainAxisAlignment.center,
+ children: [
+ Text(html),
+ HtmlWidget(html),
+ ],
+ ),
);
- case _ImgFileStatus.writeFileError:
- return const Center(child: Text('Unable to write file'));
- }
- },
- );
+ },
+ future: file,
+ );
+ case _ImgFileStatus.writeFileError:
+ return const Center(child: Text('Unable to write file'));
+ }
+ },
+ );
Future
>(
- builder: (context, snapshot) => snapshot.hasData
- ? _build(snapshot.requireData)
- : snapshot.hasError
- ? Text(snapshot.error.toString())
- : const Center(child: CircularProgressIndicator()),
- future: posts,
- );
+ builder: (context, snapshot) => snapshot.hasData
+ ? _build(snapshot.requireData)
+ : snapshot.hasError
+ ? Text(snapshot.error.toString())
+ : const Center(child: CircularProgressIndicator()),
+ future: posts,
+ );
Widget _build(List<_Post> posts) => ListView.builder(
- itemBuilder: (context, index) => _buildItem(posts[index]),
- itemCount: posts.length,
- );
+ itemBuilder: (context, index) => _buildItem(posts[index]),
+ itemCount: posts.length,
+ );
Widget _buildItem(_Post post) {
final featuredMedia = post.featuredMedia;
@@ -195,21 +195,20 @@ class _Post {
});
static _Post? fromJson(Map json) {
- if (json
- case {
- 'content': {
- 'rendered': final String content,
- },
- 'excerpt': {
- 'rendered': final String excerpt,
- },
- 'id': final int id,
- 'link': final String link,
- 'title': {
- 'rendered': final String title,
- },
- '_embedded': final Map embedded,
- }) {
+ if (json case {
+ 'content': {
+ 'rendered': final String content,
+ },
+ 'excerpt': {
+ 'rendered': final String excerpt,
+ },
+ 'id': final int id,
+ 'link': final String link,
+ 'title': {
+ 'rendered': final String title,
+ },
+ '_embedded': final Map embedded,
+ }) {
_Media? featuredMedia;
if (embedded case {'wp:featuredmedia': [final Map featuredMediaJson]}) {
featuredMedia = _Media.fromJson(featuredMediaJson);
@@ -244,19 +243,18 @@ class _Media {
});
static _Media? fromJson(Map json) {
- if (json
- case {
- 'media_details': {
- 'height': final int height,
- 'width': final int width,
- 'sizes': {
- 'thumbnail': {
- 'source_url': final String thumbnail,
- },
- },
+ if (json case {
+ 'media_details': {
+ 'height': final int height,
+ 'width': final int width,
+ 'sizes': {
+ 'thumbnail': {
+ 'source_url': final String thumbnail,
},
- 'source_url': final String sourceUrl,
- }) {
+ },
+ },
+ 'source_url': final String sourceUrl,
+ }) {
return _Media(
height: height,
sourceUrl: sourceUrl,
diff --git a/demo_app/lib/widgets/popup_menu.dart b/demo_app/lib/widgets/popup_menu.dart
index 5f2ea8e84..3dc728716 100644
--- a/demo_app/lib/widgets/popup_menu.dart
+++ b/demo_app/lib/widgets/popup_menu.dart
@@ -135,12 +135,11 @@ class _PopupMenuState {
_PopupMenuState copyWith({
bool? isSelectable,
bool? showPerformanceOverlay,
- }) =>
- _PopupMenuState(
- isSelectable: isSelectable ?? this.isSelectable,
- showPerformanceOverlay:
- showPerformanceOverlay ?? this.showPerformanceOverlay,
- );
+ }) => _PopupMenuState(
+ isSelectable: isSelectable ?? this.isSelectable,
+ showPerformanceOverlay:
+ showPerformanceOverlay ?? this.showPerformanceOverlay,
+ );
}
enum _PopupMenuValue {
diff --git a/demo_app/pubspec.lock b/demo_app/pubspec.lock
index d61ea9cc5..86242244c 100644
--- a/demo_app/pubspec.lock
+++ b/demo_app/pubspec.lock
@@ -13,10 +13,10 @@ packages:
dependency: transitive
description:
name: analyzer
- sha256: de617bfdc64f3d8b00835ec2957441ceca0a29cdf7881f7ab231bc14f71159c0
+ sha256: "754aed101003afceca3e6637fe88150dbe9739068e0135788a62645a131867bb"
url: "https://pub.dev"
source: hosted
- version: "7.5.6"
+ version: "7.5.9"
archive:
dependency: transitive
description:
@@ -45,10 +45,10 @@ packages:
dependency: transitive
description:
name: audio_session
- sha256: "2b7fff16a552486d078bfc09a8cde19f426dc6d6329262b684182597bec5b1ac"
+ sha256: "8f96a7fecbb718cb093070f868b4cdcb8a9b1053dce342ff8ab2fde10eb9afb7"
url: "https://pub.dev"
source: hosted
- version: "0.1.25"
+ version: "0.2.2"
boolean_selector:
dependency: transitive
description:
@@ -302,14 +302,14 @@ packages:
path: "../packages/enhanced"
relative: true
source: path
- version: "0.16.0"
+ version: "0.17.0"
flutter_widget_from_html_core:
dependency: "direct main"
description:
path: "../packages/core"
relative: true
source: path
- version: "0.16.0"
+ version: "0.17.0"
frontend_server_client:
dependency: transitive
description:
@@ -324,42 +324,42 @@ packages:
path: "../packages/fwfh_cached_network_image"
relative: true
source: path
- version: "0.16.0"
+ version: "0.16.1"
fwfh_chewie:
dependency: "direct main"
description:
path: "../packages/fwfh_chewie"
relative: true
source: path
- version: "0.16.0"
+ version: "0.16.1"
fwfh_just_audio:
dependency: "direct overridden"
description:
path: "../packages/fwfh_just_audio"
relative: true
source: path
- version: "0.16.0"
+ version: "0.17.0"
fwfh_svg:
dependency: "direct overridden"
description:
path: "../packages/fwfh_svg"
relative: true
source: path
- version: "0.16.0"
+ version: "0.16.1"
fwfh_url_launcher:
dependency: "direct overridden"
description:
path: "../packages/fwfh_url_launcher"
relative: true
source: path
- version: "0.16.0"
+ version: "0.16.1"
fwfh_webview:
dependency: "direct main"
description:
path: "../packages/fwfh_webview"
relative: true
source: path
- version: "0.15.4"
+ version: "0.15.5"
glob:
dependency: transitive
description:
@@ -444,10 +444,10 @@ packages:
dependency: transitive
description:
name: just_audio
- sha256: f978d5b4ccea08f267dae0232ec5405c1b05d3f3cd63f82097ea46c015d5c09e
+ sha256: "679637a3ec5b6e00f36472f5a3663667df00ee4822cbf5dafca0f568c710960a"
url: "https://pub.dev"
source: hosted
- version: "0.9.46"
+ version: "0.10.4"
just_audio_platform_interface:
dependency: transitive
description:
diff --git a/demo_app/pubspec.yaml b/demo_app/pubspec.yaml
index a0cc528c2..aa5ca0dd3 100644
--- a/demo_app/pubspec.yaml
+++ b/demo_app/pubspec.yaml
@@ -4,8 +4,8 @@ version: 0.0.1
publish_to: "none"
environment:
- flutter: ">=3.24.0"
- sdk: ">=3.5.0 <4.0.0"
+ flutter: ">=3.32.0"
+ sdk: ">=3.8.0 <4.0.0"
dependencies:
carousel_slider: ^5.0.0
diff --git a/demo_app/test/golden_test.dart b/demo_app/test/golden_test.dart
index 94e6ce72a..025573b0c 100644
--- a/demo_app/test/golden_test.dart
+++ b/demo_app/test/golden_test.dart
@@ -16,43 +16,42 @@ import '../../packages/fwfh_webview/test/mock_webview_platform.dart';
final goldenSkipEnvVar = Platform.environment['GOLDEN_SKIP'];
final goldenSkip = goldenSkipEnvVar == null
? Platform.isLinux
- ? null
- : 'Linux only'
+ ? null
+ : 'Linux only'
: 'GOLDEN_SKIP=$goldenSkipEnvVar';
void _test(
String name,
String html, {
double textScaleSize = 1.0,
-}) =>
- testGoldens(
- name,
- (tester) async {
- const platform = TargetPlatform.android;
- debugDefaultTargetPlatformOverride = platform;
- WidgetFactory.debugDeterministicLoadingWidget = true;
- final key = UniqueKey();
+}) => testGoldens(
+ name,
+ (tester) async {
+ const platform = TargetPlatform.android;
+ debugDefaultTargetPlatformOverride = platform;
+ WidgetFactory.debugDeterministicLoadingWidget = true;
+ final key = UniqueKey();
- await tester.pumpWidgetBuilder(
- PopupMenuStateProvider(
- builder: (_) => Golden(name, html, targetKey: key),
- ),
- wrapper: materialAppWrapper(
- theme: ThemeData.light(),
- ),
- surfaceSize: const Size(400, 1200),
- textScaleSize: textScaleSize,
- );
+ await tester.pumpWidgetBuilder(
+ PopupMenuStateProvider(
+ builder: (_) => Golden(name, html, targetKey: key),
+ ),
+ wrapper: materialAppWrapper(
+ theme: ThemeData.light(),
+ ),
+ surfaceSize: const Size(400, 1200),
+ textScaleSize: textScaleSize,
+ );
- // wait for slow tags like AUDIO, VIDEO, etc.
- await tester.pumpAndSettle();
+ // wait for slow tags like AUDIO, VIDEO, etc.
+ await tester.pumpAndSettle();
- await screenMatchesGolden(tester, name, finder: find.byKey(key));
- debugDefaultTargetPlatformOverride = null;
- WidgetFactory.debugDeterministicLoadingWidget = false;
- },
- skip: goldenSkip != null,
- );
+ await screenMatchesGolden(tester, name, finder: find.byKey(key));
+ debugDefaultTargetPlatformOverride = null;
+ WidgetFactory.debugDeterministicLoadingWidget = false;
+ },
+ skip: goldenSkip != null,
+);
void main() {
TestWidgetsFlutterBinding.ensureInitialized();
diff --git a/demo_app/test/smilie_test.dart b/demo_app/test/smilie_test.dart
index 958514751..9f44587ac 100644
--- a/demo_app/test/smilie_test.dart
+++ b/demo_app/test/smilie_test.dart
@@ -8,8 +8,8 @@ void main() {
final goldenSkipEnvVar = Platform.environment['GOLDEN_SKIP'];
final goldenSkip = goldenSkipEnvVar == null
? Platform.isLinux
- ? null
- : 'Linux only'
+ ? null
+ : 'Linux only'
: 'GOLDEN_SKIP=$goldenSkipEnvVar';
testGoldens(
diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md
index fd628a459..9bfb57bec 100644
--- a/packages/core/CHANGELOG.md
+++ b/packages/core/CHANGELOG.md
@@ -1,3 +1,8 @@
+## 0.17.0
+
+- Requires Flutter 3.32 (#1475)
+- Fix `text-align: center` inside tables (#1451)
+
## 0.16.0
- Requires Flutter 3.22 (#1403)
diff --git a/packages/core/README.md b/packages/core/README.md
index 06c540730..377f01f07 100644
--- a/packages/core/README.md
+++ b/packages/core/README.md
@@ -17,7 +17,7 @@ Add this to your app's `pubspec.yaml` file:
```yaml
dependencies:
- flutter_widget_from_html_core: ^0.16.0
+ flutter_widget_from_html_core: ^0.17.0
```
## Usage
diff --git a/packages/core/pubspec.yaml b/packages/core/pubspec.yaml
index 4114e0e36..d2b60b0c3 100644
--- a/packages/core/pubspec.yaml
+++ b/packages/core/pubspec.yaml
@@ -1,5 +1,5 @@
name: flutter_widget_from_html_core
-version: 0.16.0
+version: 0.17.0
description: Flutter package to render html as widgets that focuses on correctness and extensibility.
homepage: https://github.com/daohoangson/flutter_widget_from_html/tree/master/packages/core
diff --git a/packages/enhanced/CHANGELOG.md b/packages/enhanced/CHANGELOG.md
index 187d4cd37..30486ac34 100644
--- a/packages/enhanced/CHANGELOG.md
+++ b/packages/enhanced/CHANGELOG.md
@@ -1,3 +1,12 @@
+## 0.17.0
+
+- Requires Flutter 3.32 (#1475)
+- Requires just_audio@0.10.4 (#1448)
+- Add support for video_player_platform_interface@6.3.0 (#1475)
+- Add support for webview_flutter_android@4.6.0 (#1475)
+- Add support for webview_flutter_wkwebview@3.20.0 (#1452)
+- Fix `text-align: center` inside tables (#1451)
+
## 0.16.0
- Requires Flutter 3.22 (#1403)
diff --git a/packages/enhanced/README.md b/packages/enhanced/README.md
index 6efaba4c3..b54298a84 100644
--- a/packages/enhanced/README.md
+++ b/packages/enhanced/README.md
@@ -27,7 +27,7 @@ Add this to your app's `pubspec.yaml` file:
```yaml
dependencies:
- flutter_widget_from_html: ^0.16.0
+ flutter_widget_from_html: ^0.17.0
```
### Platform specific configuration
diff --git a/packages/enhanced/pubspec.yaml b/packages/enhanced/pubspec.yaml
index 98b7fedb7..e8eb0fc3b 100644
--- a/packages/enhanced/pubspec.yaml
+++ b/packages/enhanced/pubspec.yaml
@@ -1,5 +1,5 @@
name: flutter_widget_from_html
-version: 0.16.0
+version: 0.17.0
description: Flutter package to render html as widgets that supports hyperlink, image, audio, video, iframe and many other tags.
homepage: https://github.com/daohoangson/flutter_widget_from_html
@@ -10,13 +10,13 @@ environment:
dependencies:
flutter:
sdk: flutter
- flutter_widget_from_html_core: ^0.16.0
- fwfh_cached_network_image: ^0.16.0
- fwfh_chewie: ^0.16.0
- fwfh_just_audio: ^0.16.0
- fwfh_svg: ^0.16.0
- fwfh_url_launcher: ^0.16.0
- fwfh_webview: ^0.15.4
+ flutter_widget_from_html_core: ^0.17.0
+ fwfh_cached_network_image: ^0.16.1
+ fwfh_chewie: ^0.16.1
+ fwfh_just_audio: ^0.17.0
+ fwfh_svg: ^0.16.1
+ fwfh_url_launcher: ^0.16.1
+ fwfh_webview: ^0.15.5
html: ^0.15.0
dependency_overrides:
diff --git a/packages/fwfh_cached_network_image/CHANGELOG.md b/packages/fwfh_cached_network_image/CHANGELOG.md
index f596133de..ec7442976 100644
--- a/packages/fwfh_cached_network_image/CHANGELOG.md
+++ b/packages/fwfh_cached_network_image/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 0.16.1
+
+- Add support for flutter_widget_from_html_core@0.17.0 (#1475)
+
## 0.16.0
- Requires Flutter 3.10 (#1396)
diff --git a/packages/fwfh_cached_network_image/pubspec.yaml b/packages/fwfh_cached_network_image/pubspec.yaml
index f8bd2ab7a..620986153 100644
--- a/packages/fwfh_cached_network_image/pubspec.yaml
+++ b/packages/fwfh_cached_network_image/pubspec.yaml
@@ -1,5 +1,5 @@
name: fwfh_cached_network_image
-version: 0.16.0
+version: 0.16.1
description: WidgetFactory extension to render IMG with cached_network_image plugin.
homepage: https://github.com/daohoangson/flutter_widget_from_html
@@ -12,7 +12,7 @@ dependencies:
flutter:
sdk: flutter
flutter_cache_manager: ^3.0.0
- flutter_widget_from_html_core: ">=0.8.0 <0.17.0"
+ flutter_widget_from_html_core: ">=0.8.0 <0.18.0"
dependency_overrides:
flutter_widget_from_html_core:
diff --git a/packages/fwfh_chewie/CHANGELOG.md b/packages/fwfh_chewie/CHANGELOG.md
index 10f1b2c7d..045c8d475 100644
--- a/packages/fwfh_chewie/CHANGELOG.md
+++ b/packages/fwfh_chewie/CHANGELOG.md
@@ -1,3 +1,8 @@
+## 0.16.1
+
+- Add support for flutter_widget_from_html_core@0.17.0 (#1475)
+- Add support for video_player_platform_interface@6.3.0 (#1475)
+
## 0.16.0
- Requires Flutter 3.10 (#1396)
diff --git a/packages/fwfh_chewie/pubspec.yaml b/packages/fwfh_chewie/pubspec.yaml
index 4f8ebb16f..037f99edc 100644
--- a/packages/fwfh_chewie/pubspec.yaml
+++ b/packages/fwfh_chewie/pubspec.yaml
@@ -1,5 +1,5 @@
name: fwfh_chewie
-version: 0.16.0
+version: 0.16.1
description: WidgetFactory extension to render VIDEO with the chewie plugin.
homepage: https://github.com/daohoangson/flutter_widget_from_html
@@ -11,7 +11,7 @@ dependencies:
chewie: ^1.3.0
flutter:
sdk: flutter
- flutter_widget_from_html_core: ">=0.14.2 <0.17.0"
+ flutter_widget_from_html_core: ">=0.14.2 <0.18.0"
video_player: ^2.2.9
dependency_overrides:
diff --git a/packages/fwfh_just_audio/CHANGELOG.md b/packages/fwfh_just_audio/CHANGELOG.md
index 9b23a858b..1d4245e1e 100644
--- a/packages/fwfh_just_audio/CHANGELOG.md
+++ b/packages/fwfh_just_audio/CHANGELOG.md
@@ -1,3 +1,9 @@
+## 0.17.0
+
+- Requires Flutter 3.27 (#1448)
+- Requires just_audio@0.10.4 (#1448)
+- Add support for flutter_widget_from_html_core@0.17.0 (#1475)
+
## 0.16.0
- Requires Flutter 3.10 (#1396)
diff --git a/packages/fwfh_just_audio/README.md b/packages/fwfh_just_audio/README.md
index 0f457ee79..ddc64f3e9 100644
--- a/packages/fwfh_just_audio/README.md
+++ b/packages/fwfh_just_audio/README.md
@@ -16,7 +16,7 @@ Add this to your app's `pubspec.yaml` file:
```yaml
dependencies:
flutter_widget_from_html_core: any
- fwfh_just_audio: ^0.16.0
+ fwfh_just_audio: ^0.17.0
```
### Platform specific configuration
diff --git a/packages/fwfh_just_audio/pubspec.yaml b/packages/fwfh_just_audio/pubspec.yaml
index d2e7226f1..1a5100be7 100644
--- a/packages/fwfh_just_audio/pubspec.yaml
+++ b/packages/fwfh_just_audio/pubspec.yaml
@@ -1,5 +1,5 @@
name: fwfh_just_audio
-version: 0.16.0
+version: 0.17.0
description: WidgetFactory extension to render AUDIO with the just_audio plugin.
homepage: https://github.com/daohoangson/flutter_widget_from_html
@@ -10,7 +10,7 @@ environment:
dependencies:
flutter:
sdk: flutter
- flutter_widget_from_html_core: ">=0.8.0 <0.17.0"
+ flutter_widget_from_html_core: ">=0.8.0 <0.18.0"
just_audio: ^0.10.4
dependency_overrides:
diff --git a/packages/fwfh_svg/CHANGELOG.md b/packages/fwfh_svg/CHANGELOG.md
index 4387d3789..32b606753 100644
--- a/packages/fwfh_svg/CHANGELOG.md
+++ b/packages/fwfh_svg/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 0.16.1
+
+- Add support for flutter_widget_from_html_core@0.17.0 (#1475)
+
## 0.16.0
- Requires Flutter 3.10 (#1396)
diff --git a/packages/fwfh_svg/pubspec.yaml b/packages/fwfh_svg/pubspec.yaml
index 1a29f285b..48e91d1d6 100644
--- a/packages/fwfh_svg/pubspec.yaml
+++ b/packages/fwfh_svg/pubspec.yaml
@@ -1,5 +1,5 @@
name: fwfh_svg
-version: 0.16.0
+version: 0.16.1
description: WidgetFactory extension to render SVG with flutter_svg plugin.
homepage: https://github.com/daohoangson/flutter_widget_from_html
@@ -11,7 +11,7 @@ dependencies:
flutter:
sdk: flutter
flutter_svg: ^2.0.0
- flutter_widget_from_html_core: ">=0.8.0 <0.17.0"
+ flutter_widget_from_html_core: ">=0.8.0 <0.18.0"
dependency_overrides:
flutter_widget_from_html_core:
diff --git a/packages/fwfh_url_launcher/CHANGELOG.md b/packages/fwfh_url_launcher/CHANGELOG.md
index 9f5147b76..dc1c824b2 100644
--- a/packages/fwfh_url_launcher/CHANGELOG.md
+++ b/packages/fwfh_url_launcher/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 0.16.1
+
+- Add support for flutter_widget_from_html_core@0.17.0 (#1475)
+
## 0.16.0
- Requires Flutter 3.10 (#1396)
diff --git a/packages/fwfh_url_launcher/pubspec.yaml b/packages/fwfh_url_launcher/pubspec.yaml
index 6000bd9a7..7bec041b9 100644
--- a/packages/fwfh_url_launcher/pubspec.yaml
+++ b/packages/fwfh_url_launcher/pubspec.yaml
@@ -1,5 +1,5 @@
name: fwfh_url_launcher
-version: 0.16.0
+version: 0.16.1
description: WidgetFactory extension to launch A tag via url_launcher plugin.
homepage: https://github.com/daohoangson/flutter_widget_from_html
@@ -10,7 +10,7 @@ environment:
dependencies:
flutter:
sdk: flutter
- flutter_widget_from_html_core: ">=0.8.0 <0.17.0"
+ flutter_widget_from_html_core: ">=0.8.0 <0.18.0"
url_launcher: ^6.1.0
dependency_overrides:
diff --git a/packages/fwfh_webview/CHANGELOG.md b/packages/fwfh_webview/CHANGELOG.md
index edca9039d..10c100ce7 100644
--- a/packages/fwfh_webview/CHANGELOG.md
+++ b/packages/fwfh_webview/CHANGELOG.md
@@ -1,3 +1,9 @@
+## 0.15.5
+
+- Add support for flutter_widget_from_html_core@0.17.0 (#1475)
+- Add support for webview_flutter_android@4.6.0 (#1475)
+- Add support for webview_flutter_wkwebview@3.20.0 (#1452)
+
## 0.15.4
- Add support for flutter_widget_from_html_core@0.16.0 (#1405)
diff --git a/packages/fwfh_webview/pubspec.yaml b/packages/fwfh_webview/pubspec.yaml
index c844f9d63..27ff55b2b 100644
--- a/packages/fwfh_webview/pubspec.yaml
+++ b/packages/fwfh_webview/pubspec.yaml
@@ -1,5 +1,5 @@
name: fwfh_webview
-version: 0.15.4
+version: 0.15.5
description: WidgetFactory extension to render IFRAME with the official WebView plugin.
homepage: https://github.com/daohoangson/flutter_widget_from_html
@@ -10,7 +10,7 @@ environment:
dependencies:
flutter:
sdk: flutter
- flutter_widget_from_html_core: ">=0.10.5 <0.17.0"
+ flutter_widget_from_html_core: ">=0.10.5 <0.18.0"
logging: ^1.0.0
web: ">=0.3.0 <2.0.0"
webview_flutter: ^4.0.1