NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #4958 most downloaded on pub.dev
Support library for the Nylo framework. This library supports routing, widgets, localization, cli, storage and more.
Last release 8 days ago
30 Sep 2026
Ships fairly regularly
a new release about every 2 weeks
Nearly every release is documented
notes for 55 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
5 years old
276 releases · first in 2021
One column per quarter.
Update local push notifications
* Add local push notifications
New version of Nylo - read more about the changes here
Nothing published for this version
Nothing published for this version
New create method added to NyFormData class. This will allow you to create the form from the instance.
create method added to NyFormData class. This will allow you to create the form from the instance.FormStyle to NyForm. This will allow you to set a global style for the form. It currently only supports TextField and NyFormCheckbox widgets.NyForm'srefreshState to NyForm class. This will refresh the state of the form.FormStyleTextField and FormStyleCheckbox for handling custom styles in NyFormclear method to NyForm class. This will clear the form.clearField method to NyForm class. This will clear a specific field in the form.setField and setData methods in NyForm class. This will now update the state of the form after setting the field.NyTextField classNyFormCheckbox class to support global stylesFormStyle added to Nylo classUpdate default toast widget text style
Remove default validation rule from NyLoginForm
NyLoginFormTo set a validation rule, you must now use FormValidator.rule("email") instead of FormValidator("email")
FormValidator class.
FormValidator.rule("email") instead of FormValidator("email")FormValidator().minLength(5).uppercase() will check if the value is at least 5 characters long and has an uppercase letter.Field's in NyFormAbility to create forms using slate packages
Fix slight issue with NyForm when handling validation rules
validate helper in NyState to skip null valuesNyFormCheckbox - This will create a checkbox form field
NyFormCheckbox - This will create a checkbox form fieldNyFormDateTimePicker - This will create a date time picker form fieldNyFormData classFix deleteAll() method in Backpack to not remove the nylo key
deleteAll() method in Backpack to not remove the nylo keyRemove deepLink required parameter for deep linking
deepLink required parameter for deep linkingNew NyForm widget! Designed to help you create forms easier in your app.
NyForm widget! Designed to help you create forms easier in your app.makeForm to MetroService class to create a formEmailRule, URLRule to support null valuesPhoneNumberUsaRule to PhoneNumberUsRuletextFieldMessage on some validation rulesNyTextField widget. The copyWith contains new parameters.
passwordViewable parameter added to NyTextField widgetvalidateOnFocusChange parameter added to NyTextField widgetNyState to check when post frame is complete for a better user experienceNyFormPicker Widget added to the library - This will create a bottom modal with a picker. It can be used in NyForm's and as a standalone widget.NyForm.login method added to NyForm class - This will create a login formNyForm class via Nylo. E.g. Nylo.addFormCasts({"my_cast": (value) => value.toString()});Add support for the child parameter in NyStatefulWidget to be a Function that returns a State.
child parameter in NyStatefulWidget to be a Function that returns a State.* Add await to ErrorStack.init
ErrorStack.initUpdate Error Stack to use ErrorStackLogLevel.verbose (default)
ErrorStackLogLevel.verbose (default)* Update pubspec.yaml
Add new extensions labelSmall, labelMedium and labelLarge to Text widget
labelSmall, labelMedium and labelLarge to Text widgetSmall refactor to NyRichText widget
NyRichText widget_errorStackErrorWidget to Nylo classFix MetroService not properly suffixing the file names
MetroService not properly suffixing the file namesAdded StorageConfig class to the library. This will allow you to set the storage configuration for your app. ` dart StorageConfig.init( androidOptions
StorageConfig class to the library. This will allow you to set the storage configuration for your app.StorageConfig.init(
androidOptions: AndroidOptions(
resetOnError: true,
encryptedSharedPreferences: false
)
);
NyRichText style color to Colors.black by default* Update pubspec.yaml
Added loadJson method to helpers to load a json file
loadJson method to helpers to load a json fileAdded containsRoutes method to Nylo class. Now you can check if a route exists in your app. E.g. Nylo.containsRoutes(["/home", "/settings"])
containsRoutes method to Nylo class. Now you can check if a route exists in your app. E.g. Nylo.containsRoutes(["/home", "/settings"])MetroService duplicating slate file namesUpdate NotEmptyRule Validation rules to include null, Map and List types
NotEmptyRule Validation rules to include null, Map and List types* Update pubspec.yaml
* Update pubspec.yaml
* Update pubspec.yaml
* Update pubspec.yaml
Fix NyState not receiving state updates
NyState not receiving state updatesstateReset method added to NyListView and NyPullToRefreshStateAction.setState methodflutter_secure_storage* Update pubspec.yaml
New useErrorStack helper added to Nylo. This will enable ErrorStack in your application.
ErrorStack to the libraryuseErrorStack helper added to Nylo. This will enable ErrorStack in your application.* Update pubspec.yaml
Update confirmAction method in NyState to support more options
confirmAction method in NyState to support more optionsAdd updateRouteStack to Nylo. This method will update the route stack with a new routes. ` dart Nylo.updateRouteStack([ HomePage.path, SettingPage.pat
updateRouteStack to Nylo. This method will update the route stack with a new routes. Nylo.updateRouteStack([
HomePage.path,
SettingPage.path
], dataForRoute: {
SettingPage.path: {"name": "John Doe"}
});
nylo.onDeepLink to listen for deep link events in your app. nylo.onDeepLink((String route, dynamic data) {
print(data);
});
Update NyState to check that data is of Type Map before calling data[key]
NyState to check that data is of Type Map before calling data[key]Fix web builds - https://github.com/nylo-core/nylo/discussions/122
web builds - https://github.com/nylo-core/nylo/discussions/122Update NyPullToRefresh validate that the data is a List
NyPullToRefresh validate that the data is a ListNyListView validate that the data is a ListAdd the ability to set a custom transition to a route.group e.g. router.group(() => {'transition': PageTransitionType.fade}, (router) { ... })
route.group e.g. router.group(() => {'transition': PageTransitionType.fade}, (router) { ... })route.group e.g. router.group(() => {'transition_settings': PageTransitionSettings(duration: Duration(milliseconds: 500)}, (router) { ... })_getPageTransitionIsIos to detect if the platform is iOS to use the CupertinoPageRoute for the transition_getPageTransition.* methods in router.dartNew NyAction class added to the library
NyAction class added to the library
limitPerDay method added to NyAction class - This will limit the number of times an action can be performed in a day.authorized method added to NyAction class - This will check if the user is authorized to perform an action.Add extra parameters to ListView for NyListView.grid
ListView for NyListView.gridAdded updateCollectionWhere to NyStorage class
updateCollectionWhere to NyStorage class* Update pubspec.yaml
Added footerLoadingIcon to NyPullToRefresh widget
footerLoadingIcon to NyPullToRefresh widgetRemove initializeDateFormatting call in Nylo and app_localization.dart
initializeDateFormatting call in Nylo and app_localization.dart_loggerPrint not to print Exception if the message is emptyNyPullToRefreshRefactor app_localization.dart file. Breaking changes to the way you set up your app localization.
languagesList parametervaluesAsMap parameterUpdate NyListView to use default state management
NyListView to use default state managementrouter.add so you can create routes easierNyApiService to use getter on interceptorsMetroService not automatically adding routes to routerRemove Equatable from Model class
Equatable from Model classFix modelDecoders on NyStorage.addToCollection
Equatable to Model classmodelDecoders on NyStorage.addToCollectionAdded sort method to NyPullToRefresh widget
sort method to NyPullToRefresh widgetsort method to NyListView widgetmodelDecoders on NyStorage.read to define the model decoders when reading from storagemodelDecoders on NyStorage.readCollection to define the model decoders when reading from storagemodelDecoders on dataToModel to define the model decoders when reading from storageasync from addModelDecoders method* Added router.group method
router.group methodAdded Future wipeAllStorageData() to Nylo class. Usage Nylo.wipeAllStorageData()
Future<void> wipeAllStorageData() to Nylo class. Usage Nylo.wipeAllStorageData()scheduleOnceAfterDate(String name, Function() callback, {required DateTime date}) to Nylo class. Usage Nylo.scheduleOnceAfterDate('my_task', () => print('Hello'), date: DateTime.now().add(Duration(days: 1)))scheduleOnceDaily(String name, Function() callback, {DateTime? endAt}) to Nylo class. Usage Nylo.scheduleDaily('my_task', () => print('Hello'), endAt: DateTime.now().add(Duration(days: 2)))scheduleOnce(String name, Function() callback) to Nylo class. Usage Nylo.scheduleOnce('my_task', () => print('Run once'))Future<DateTime?> appFirstLaunchDate() to Nylo class. Usage DateTime? dateTime = Nylo.appFirstLaunchDate()Future<int> appTotalDaysSinceFirstLaunch() to Nylo class. Usage int days = Nylo.appTotalDaysSinceFirstLaunch()Future<int?> appLaunchCount() to Nylo class. Usage int? count = Nylo.appLaunchCount()Future<void> appLaunched() to Nylo class. Usage Nylo.appLaunched()isSameDay(DateTime date) to DateTime extensionNyAppUsage class to the librarymonitorAppUsage() to Nylo class. Usage Nylo.monitorAppUsage() - This will start monitoring the app usage like the first launch date, total days since first launch, launch count and more.showDateTimeInLogs() to optional show the date and time in logswithGap extension for Column widgetsAdd new toggleValue method for List's. This will toggle a value in a list. E.g. myList.toggleValue(10);
toggleValue method for List's. This will toggle a value in a list. E.g. myList.toggleValue(10);Add new toSkeleton() extension for Widget's
toSkeleton() extension for Widget'sNyScheduler class added to the library* Add new NyRichText widget
NyRichText widget* Remove debug print statement
New method setSendTimeout added to NyApiService
setSendTimeout added to NyApiServicesetReceiveTimeout added to NyApiServicesetConnectTimeout added to NyApiServicesetMethod added to NyApiServicesetContentType added to NyApiServiceFix NyTextField to use validationRules
NyTextField to use validationRulesDio to 5.4.1Your coding agent can read these notes before it upgrades. Set up the MCP server →