Skip to main content

flutterx_application 3.0.0 copy "flutterx_application: ^3.0.0" to clipboard
flutterx_application: ^3.0.0 copied to clipboard

PlatformiOSweb

Application foundation for Flutter apps: fragment navigation with optional go_router sync, view models, token handling and common widgets.

3.0.0 #

Major release on Dart 3.11 / Flutter 3.41 and flutterx_live_data, flutterx_preferences, flutterx_utils 2.0: a fragment navigation that survives rebuilds, resizes and concurrent navigations, go_router sync made optional, view models with keys, widgets that release what they create. Public names are unchanged except where listed.

  • Breaking: requires Dart ^3.11.0 and Flutter >=3.41.0; depends on flutterx_live_data, flutterx_preferences and flutterx_utils ^2.0.0 and go_router ^17.5.0; flutter_localizations and flutter_web_plugins removed.
  • Breaking: the spacing constants m4…m80 and lib/m.dart are removed: define them in the app theme.
  • Breaking: only package:flutterx_application/flutterx_application.dart can be imported (ui/... and flutterx_ui.dart paths do not exist).
  • Breaking: FragmentKey is a LocalKey equal by name (it was a GlobalKey): currentState, currentContext and currentWidget are gone; const FragmentKey('name') and its type parameter are unchanged. Two hosts with fragments of the same name are now independent.
  • Breaking: FragmentState.onResume runs at the first didChangeDependencies, after the whole initState of the subclass (it ran inside super.initState()).
  • Breaking: FragmentStack.history is no longer public: use length and index. History and index are saved at every change, push included.
  • Breaking: ActionButton is disabled while onAction runs; an error of onAction goes to FlutterError.reportError and onActionResult is not called. Passing more than one of builder, child and label fails an assert.
  • Breaking: FloatingMenuController and deepEq are no longer exported; ViewModelProvider is an interface.
  • ViewModelProvider.provide and context.viewModel accept a key: two view models of the same type with different keys coexist.
  • go_router sync is active only with syncLocationFragment and a router above the host (it threw without one).
  • Initializer starts outside build, shows synchronous errors, retries when initialize changes after an error and uses the ambient Directionality.
  • Fixed: fragments paused when the manager changes; a navigation superseded by a newer one no longer moves the page back nor the router location; navigation before the first layout; a resize during a transition leaving an empty page; a new fragments list ignored; an unknown entry with the idle strategy recursing forever; observers of FragmentStateObserver registered while paused; a dependent TaskViewModel receiving tasks after being cleared; KeepAliveBuilder not updating; NiceDialog popping twice; Message timers hiding the next banner and banners without actions failing; AppBarLoader animating while hidden; TooltipShape equality; FloatingMenu animations never disposed.
  • Integration skills for Claude Code in .claude-plugin/ and skills/.

Migration from 2.x #

  1. Raise the app to Dart 3.11 / Flutter 3.41 and depend on flutterx_application: ^3.0.0 and on the 2.0 versions of flutterx_live_data, flutterx_preferences and flutterx_utils (see their changelogs).
  2. Replace imports of package:flutterx_application/flutterx_ui.dart, m.dart or ui/... with package:flutterx_application/flutterx_application.dart.
  3. Copy the spacing constants the app uses into the app (e.g. const double m16 = 16; in the theme file).
  4. Code that read FragmentKey.currentState: use Fragment.of(context) inside the fragment or keep a reference from the fragment itself.
  5. Fragments that relied on onResume running before the end of their initState: move that code into initState.
  6. Code that read manager.currentFragment.history: use length and index.
  7. View models declared with super._provider keep working; rename the parameter to super.provider to satisfy matching_super_parameters.

2.3.5 #

  • Update dependencies

2.3.1 #

  • Improve routers

2.3.0 #

  • Fix html_renderer

2.2.9 #

  • Include error handling in TaskViewModel, improve application, add messages, fix fragment args

2.2.6 #

  • Improve FlutterRenderer

2.2.3 #

  • Add ErrorHandler

2.2.2 #

  • Add ExpandableTile

2.2.1 #

  • Improve AnchoredOverlay

2.2.0 #

  • Move FragmentManager outside FragmentHost

2.1.9 #

  • Improve fragment/navigation

2.1.6 #

  • Add UI utilities

2.1.4 #

  • Improve fragment navigation

2.1.1 #

  • Add access control

2.1.0 #

  • Improve FragmentManager

2.0.12 #

  • Add pointer interceptor on modal

2.0.11 #

  • Update flutter

2.0.10 #

  • Fix fragment

2.0.9 #

  • Improve fragment & code

2.0.7 #

  • Improve code style & TokenHandler

2.0.6 #

  • Improve RouteAwareObserver

2.0.5 #

  • Improve RouteAwareObserver

2.0.4 #

  • Improve router

2.0.3 #

  • Add RouteAwareObserver

2.0.2 #

  • Fix initialization

2.0.0 #

  • Refactoring

1.9.3 #

  • Improve ResponsiveScreenContent

1.9.2 #

  • Add context in app factory

1.9.1 #

  • Fix initialization for android

1.9.0 #

  • Improve application

1.8.9 #

  • Move AlertDialogAction

1.8.8 #

  • Improve FragmentHost

1.8.6 #

  • Improve FooterView

1.8.5 #

  • Improve AlertDialogAction

1.8.3 #

  • Moved NumberField to flutterx_forms package

1.8.2 #

  • Fix NumberTextField

1.8.1 #

  • Improve AlertDialogAction

1.7.7 #

  • Improve routing, fix NumberTextField

1.7.6 #

  • Improve FragmentManager

1.7.5 #

  • Improve TaskViewModel

1.7.3 #

  • Improve ViewModels, fix imports

1.7.2 #

  • Improve NumberTextField

1.7.1 #

  • Fix NumberTextField

1.7.0 #

  • Add NumberTextField

1.6.95 #

  • Add FlutterHtmlRenderer

1.6.94 #

  • Improve FragmentManager

1.6.9 #

  • Improve ResponsiveScreenContent

1.6.8 #

  • Add UI constants

1.6.7 #

  • Improve ViewModel

1.6.6 #

  • Fix ViewModel

1.6.5 #

  • Improve TaskViewModel

1.6.4 #

  • Improve Application, add features

1.6.3 #

  • Improve ViewModel usage

1.6.2 #

  • Fix ExpandableListView

1.6.1 #

  • Improve code, add UI components

1.6.0 #

  • Update dependencies

1.5.9 #

  • Support LiveData 1.6.x

1.5.8 #

  • Improve SimpleLoader

1.5.7 #

  • Improve FragmentContainer

1.5.6 #

  • Improve FragmentContainer

1.5.5 #

  • Add BuildContext to ViewModel

1.5.4 #

  • Add provider to ViewModel

1.5.3 #

  • Fragment bug fixing

1.5.2 #

  • Application refactoring

1.5.1 #

  • Improve NoFocusNode

1.5.0 #

  • Add FragmentStateObserver

1.4.91 #

  • Fix fragments

1.4.9 #

  • Fragment improvements

1.4.8 #

  • Fragment improvements

1.4.7 #

  • Fragment improvements, fixes

1.4.6 #

  • Add arguments to fragments

1.4.5 #

  • Improve MaterialStatefulWidget

1.4.4 #

  • Add args to notify

1.4.3 #

  • Fix clear ViewModels on app restart

1.4.2 #

  • Fix dialog title parameter

1.4.1 #

  • Improvements

1.4.0 #

  • Add fragments

1.3.3 #

  • Add possibility to get AppRoute from context

1.3.2 #

  • Improvements

1.3.1 #

  • Fix labels

1.3.0 #

  • Fix labels

1.2.9 #

  • Improvements

1.2.8 #

  • Improve ViewModel

1.2.7 #

  • Switched to flutter channel stable

1.2.6 #

  • Add TaskViewModel

1.2.5 #

  • Fix update url

1.2.4 #

  • Code improvements

1.2.3 #

  • Improve url strategy

1.2.2 #

  • Fix listen new urls, add path url strategy by default

1.2.1 #

  • Improvements

1.2.0 #

  • Refactoring

1.1.13-dev #

  • Add provider to ViewModel factory

1.1.12-dev #

  • Fix dialog & bottom sheet routes with non nullable return type

1.1.11-dev #

  • Add WillPop management for Web

1.1.10-dev #

  • Fix ViewModel

1.1.9-dev #

  • Add NoFocusNode

1.1.8-dev #

  • Introducing ViewModel

1.1.7-dev #

  • Update dependencies

1.1.6 #

  • Fix app restart

1.1.5 #

  • Add openReplace route method

1.1.4 #

  • Refactor navigation system

1.1.3 #

  • Code refactoring

1.1.2 #

  • Fix material stateful widget

1.1.1 #

  • Add draggable bottom sheet content size parameter

1.1.0 #

  • Initial stable release

1.0.9-dev #

  • Improve application integration.

1.0.8-dev #

  • Fix web integration.

1.0.7-dev #

  • Improve navigation.

1.0.6-dev #

  • Improve navigation.

1.0.5-dev #

  • Improve Themes.

1.0.4-dev #

  • Improve MaterialStatefulWidget.

1.0.3-dev #

  • Improve DialogRoute.

1.0.2-dev #

  • Add MaterialStatefulWidget.

1.0.1-dev #

  • Improve SystemUI integration.

1.0.0-dev #

  • Initial release.
4
likes
140
points
676
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Application foundation for Flutter apps: fragment navigation with optional go_router sync, view models, token handling and common widgets.

Repository (GitLab)
View/report issues

License

BSD-3-Clause (license)

Dependencies

collection, flutter, flutterx_live_data, flutterx_preferences, flutterx_utils, go_router, pointer_interceptor

More

Packages that depend on flutterx_application