nylo_support 7.1.0
nylo_support: ^7.1.0 copied to clipboard
Support library for the Nylo framework. This library supports routing, widgets, localization, cli, storage and more.
7.1.0 - 2026-02-10 #
Added #
- Namespaced translation keys - All hardcoded English strings in widgets now use namespaced translation keys for better i18n support. Keys added:
nylo.page_not_found.title,nylo.page_not_found.message,nylo.page_not_found.go_backnylo.collection_view.no_results,nylo.collection_view.pull_up,nylo.collection_view.failed,nylo.collection_view.releasenylo.offline_banner.messagenylo.form_picker.select,nylo.form_picker.clearnylo.language_switcher.titlenylo.journey.of,nylo.journey.step,nylo.journey.back,nylo.journey.next,nylo.journey.finishnylo.confirm_action.cancel,nylo.confirm_action.confirm
- NyBaseModal enhancements - Added
useRootNavigatorandmodalBackgroundColorparameters toNyBaseModal.show()andNyModalLayout - InputField multiline improvements - Auto-sets
alignLabelWithHintandtextAlignVerticalfor multiline fields; passes throughprefixIconConstraintsfrom decoration - Exported
CustomAnimationBuilderfromflutter_styled_toastviany_core.dart
Changed #
- Event system parameter renamed from
paramstodataacrossNyListener,NyEventBus,NyEventCallbackListener, andNyEventExtensionfor clarity DioApiService.handleResponsenow conditionally skips data morphing whenhandleSuccessorhandleFailurecallbacks are provided, and properly returns callback resultsDioApiServicecaching logic fixed to avoid null reference when saving cached responsesNyBaseModal.show()default foruseSafeAreachanged fromtruetofalseJourneyContentusesExpandedinstead ofFlexiblefor main content area- Replaced
ny_metro.dartimports withcollectionpackage inInputFieldandLanguageSwitcher - Added
collectionpackage dependency (^1.19.1)
7.0.0 - 2026-02-06 #
Breaking Changes #
- Complete library restructuring - All modules have been reorganized from flat file layouts into
src/subdirectories with barrel file exports. Import paths have changed across the entire library:lib/alerts/files moved tolib/alerts/src/with barrelny_alerts.dartlib/controllers/files moved tolib/controllers/src/with barrelny_controllers.dartlib/event_bus/files moved tolib/event_bus/src/with barrelny_event_bus.dartlib/events/files moved tolib/events/src/with barrelny_events.dartlib/helpers/files moved tolib/helpers/src/with barrelny_helpers.dartlib/local_notifications/files moved tolib/local_notifications/src/with barrelny_local_notifications.dartlib/local_storage/files moved tolib/local_storage/src/with barrelny_local_storage.dartlib/localization/files moved tolib/localization/src/with barrelny_localization.dartlib/metro/files moved tolib/metro/src/with barrelny_metro.dartlib/networking/files moved tolib/networking/src/with barrelny_networking.dartlib/providers/files moved tolib/providers/src/with barrelny_providers.dartlib/router/files moved tolib/router/src/with barrelny_router.dartlib/themes/files moved tolib/themes/src/with barrelny_themes.dartlib/widgets/files moved tolib/widgets/src/with barrelny_widgets.dartlib/dart_console/reorganized with barrelny_dart_console.dart
- New unified entry point -
lib/ny_core.dartexports all modules in one import - Nylo.init() signature changed - Now requires
envparameter asEnvGettertype and acceptsBootConfigfor setup. ThesetupandsetupFinishedcallbacks have been replaced by theBootConfigclass pattern - NyEnvRegistry introduced - Environment variables are now managed through
NyEnvRegistry.register(getter: Env.get)instead of reading.envfiles directly - Theme system rewritten - Replaced
theme_providerpackage with newNyThemeManagersingleton,NyThemeProviderwidget, andNyThemeStoragefor persistence. Theme registration now usesnylo.addThemes()with optionalinitialThemeIdparameter - Removed
BaseColorStyles- Replaced byThemeColorabstract class inlib/themes/src/theme_color.dart - Widget renames:
NyRichTextrenamed toStyledText(withStyledText.template()constructor)NyTextFieldrenamed toInputFieldNyFutureBuilderrenamed toFutureWidgetNyFaderrenamed toFadeOverlay(with.top(),.bottom(),.left(),.right()constructors)NyPullToRefreshandNyListViewconsolidated intoCollectionView(withCollectionItemwrapper class)NyPullablerenamed toPullableNyLanguageSwitcherrenamed toLanguageSwitcher
- Removed
NyTextStyle- No longer part of the library - Removed
ValidationException- Validation exceptions moved to form-specific handling - Removed
NyLoginForm- Replaced by generalNyFormcapabilities - Removed
events.dart- Events now use dedicatedny_events.dartbarrel with new architecture - Removed
router.dart- Router now uses dedicatedny_router.dartbarrel - Removed
dart_console.dart- Dart console now uses dedicatedny_dart_console.dartbarrel - Removed
validation/directory - Validation rules (ny_validator.dart,rules.dart,validations.dart) have been moved into the form system - Minimum Dart SDK raised to
^3.10.7 - Minimum Flutter version raised to
>=3.24.0
Added #
- Nylo Testing Framework (
lib/testing/) - A comprehensive testing framework with PHPUnit/Pest-like syntax:NyTest- Main test orchestrator withinit(),actingAs(),travel(),travelForward(),travelBack(),freezeTime(),dump(),dd()methodsNyWidgetTest- Widget testing utilities withpumpNyWidget()andpumpNyWidgetSimple()for easy widget testingNyTime- Time manipulation for testing (freeze, advance, rewind)NyFactory/NyFaker- Laravel-style model factories for generating test dataNyMockApi- API mocking with type-based handlers and URL pattern matching (supports*and**wildcards)NyMockChannels- Platform channel mocking for testsNyMockRouteGuard- Route guard mockingNyTestCache- In-memory cache for testsNyStateTestHelpers- State testing helpers- Pest-style test functions:
nyTest(),nyGroup(),nyWidgetTest(),nySetUp(),nyTearDown(),nySetUpAll(),nyTearDownAll(),nySkip(),nyFailing(),nyCi() - Custom assertions:
expectAuthenticated(), route assertions, backpack assertions, locale assertions - Automatic Google Fonts HTTP request disabling in tests
- NyConnectivity (
lib/helpers/src/ny_connectivity.dart) - Network connectivity helper withisOnline(),isOffline(),isWifi(),isMobile(),isEthernet(),isVpn(),isBluetooth(),stream(),whenOnline(),when(),connectionTypeString() - Connective widget (
lib/widgets/src/connective.dart) - Reactive widget that rebuilds based on connectivity state. IncludesConnective.builder(),OfflineBannerwidget, and widget extensions.connectiveOr(),.onlyOnline(),.onlyOffline() - NyEnvRegistry (
lib/helpers/src/ny_env.dart) - New centralized environment variable management withregister(),get(),containsKey(),isInitialized - BootConfig (
lib/providers/src/providers.dart) - New configuration class for bootstrapping Nylo applications withsetupandbootlifecycle functions - ButtonAnimationStyle (
lib/helpers/src/button_animation_style.dart) - Composable button animation styles:clickable(Duolingo-style 3D press),bounce,pulse,squeeze,jelly,shine,ripple,morph,shake - ButtonSplashStyle (
lib/helpers/src/button_splash_style.dart) - Customizable button splash effects:ripple,highlight,glow,ink,none,custom - AnimatedButtonWrapper widget (
lib/widgets/src/animated_button_wrapper.dart) - NyBaseModal (
lib/widgets/src/ny_base_modal.dart) - Base class for creating modal bottom sheets with customizable layouts, headers, action rows/columns, close buttons, and drag handles - NyResponse (
lib/networking/src/models/ny_response.dart) - Enhanced API response class withisSuccessful,isClientError,isServerError,isRedirect,isUnauthorized,isForbidden,isNotFound,isTimeout,isRateLimited,dataOrThrow(),dataOr(),ifSuccessful(),when(),errorMessage - CachePolicy (
lib/networking/src/models/cache_policy.dart) - API request caching strategies:networkOnly,cacheFirst,networkFirst,cacheOnly,staleWhileRevalidate - NetworkLogger (
lib/networking/src/interceptors/network_logger.dart) - New Dio interceptor with log levels (verbose, minimal, none), color terminal output, structured JSON output, and UUID-based request ID tracking - HasApiService mixin (
lib/helpers/src/mixins/api_service.dart) - Mixin for classes that need typed API service access withonApiSuccess()andonApiError()callbacks - NyThemeManager (
lib/themes/src/ny_theme_manager.dart) - Singleton theme manager with reactive updates viathemeNotifier, system theme following, theme change stream, typed color styles, multi-theme support with preferred themes - NyThemeProvider (
lib/themes/src/ny_theme_provider.dart) - Widget providing theme context withAnimatedThemefor smooth transitions - NyThemeStorage (
lib/themes/src/ny_theme_storage.dart) - Secure storage for theme persistence including preferred light/dark theme IDs and follow-system preference - openUrl() / canOpenUrl() (
lib/helpers/src/ny_url.dart) - URL launching helpers withUrlLaunchModeTypeenum (externalApplication, inAppWebView, inAppBrowserView, platformDefault) - FadeOverlay widget - Replaces NyFader with directional constructors:
FadeOverlay.top(),.bottom(),.left(),.right()and configurablestrengthparameter - CollectionItem wrapper class - Provides
isFirst,isLast,isEven,isOdd,index,totalItemshelpers for list items in CollectionView - StyledText.template() constructor - Template-based rich text with
{{placeholder}}syntax and pipe-separated style groups - Storage exception hierarchy (
lib/local_storage/src/storage_exceptions.dart) -StorageException,StorageSerializationException,StorageDeserializationException,StorageKeyNotFoundException,StorageTimeoutException - Form field additions - New
FormSliderandFormRangeSliderform fields, newFormTextFieldfield, newFieldStyleconfiguration class - Dart Console spinner (
lib/dart_console/src/spinner.dart) - New spinner component for CLI output - Nylo.configure() method - Single-call configuration for all Nylo settings (loader, logo, themes, toastNotifications, modelDecoders, controllers, apiDecoders, events, formCasts, authKey, syncKeys, errorStack, localization, and more)
- Nylo.getService() / Nylo.hasService() - Service locator pattern for registered
Runnableservices - Nylo.wipeStorage() - Renamed from
wipeAllStorageData()with addedexcludeKeysparameter - Nylo.containsRoute() (singular) - Convenience method alongside existing
containsRoutes() - Nylo.user() - Static method to get the authenticated user
- Nylo.authKey() - Static method to get the configured auth storage key
- Nylo.isTestMode flag - Static flag to indicate test mode, skipping timezone configuration and using in-memory cache
- Service lifecycle support in
Nylo.init()- Services parameter acceptingList<FutureOr<Runnable>>with three lifecycle phases:onInit(),onReady(),onAppReady() - useDevPanelLogging() - Integration hooks for external dev panel logging with
onLogandonRouteChangecallbacks - NyApp widget (
lib/widgets/src/ny_app.dart) - New app-level widget - TextTr widget (
lib/widgets/src/text_tr.dart) - Text widget with built-in translation support - RouteMatcher (
lib/router/src/route_matcher.dart) - Dedicated route matching utility - RouterFunctions (
lib/router/src/router_functions.dart) - Extracted router utility functions - NyNavigator (
lib/router/src/ny_navigator.dart) - Extracted navigator class - BottomNavStyle (
lib/widgets/src/navigation_hub/bottom_nav_style.dart) - Navigation hub bottom nav styling - Comprehensive test suite added across all modules (
test/alerts/,test/controllers/,test/core/,test/dart_console/,test/event_bus/,test/events/,test/helpers/,test/local_notifications/,test/local_storage/,test/localization/,test/metro/,test/networking/,test/providers/,test/router/,test/testing/,test/themes/,test/widgets/)
Changed #
- Nylo.init() now accepts
env: EnvGetter(required),setup: BootConfig?,appLifecycle, andservicesparameters - Toast notifications now use a registry pattern with
ToastNotificationRegistryandToastStyleFactory- configure vianylo.addToastNotifications() - Local storage split into focused modules:
StorageConfig,StorageManager,StorageUtils,StorageHelpers, andNyStorage - Local notifications restructured with dedicated configuration classes:
AndroidNotificationConfig,IOSNotificationConfig,LocalNotification,NotificationAttachment,NotificationException - Events system refactored into:
NyEventinterface,EventBus,EventSubscription, event extensions, andListener NyLoggernow supportsonLogcallback for external logging integrationNyRouteHistoryObservernow supportsonRouteChangecallback for external route tracking- Theme persistence migrated from SharedPreferences to FlutterSecureStorage
NyLocalizationrefactored withNyLocalizationConfigclass for configuration- Updated
service_runnerdependency - Updated
flutter_local_notificationsto ^20.0.0 - Updated
connectivity_plusto ^7.0.0 - Updated various other dependencies to latest versions
pubspec.yamlrepository URL updated to7.xbranchpubspec.yamlSDK constraint updated to^3.10.7- Added
patrolas dev dependency for widget testing - Updated logo/screenshot
Removed #
- Removed
theme_providerpackage dependency - replaced by built-inNyThemeManager/NyThemeProvider - Removed
pretty_dio_loggerpackage dependency - replaced by built-inNetworkLoggerinterceptor - Removed
lib/validation/directory (ny_validator.dart, rules.dart, validations.dart) - Removed
lib/exceptions/validation_exception.dart - Removed
lib/forms/ny_login_form.dart - Removed
lib/helpers/ny_text_style.dart - Removed
lib/widgets/styles/ny_radio_tile_style.dart - Removed flat-file exports that have been replaced by barrel files (e.g.,
lib/events/events.dart,lib/router/router.dart,lib/dart_console/dart_console.dart,lib/providers/providers.dart,lib/local_storage/local_storage.dart,lib/local_notifications/local_notifications.dart,lib/localization/app_localization.dart,lib/networking/ny_base_api_service.dart)
6.35.0 - 2025-07-18 #
- Fix stateData in
NyStateto return the correct data type
6.34.0 - 2025-07-17 #
- Added
lifecycleActionstoNylo.init. This will allow you to global handle your app's lifecycle. - Add missing annotations
- Update pubspec.yaml
6.33.0 - 2025-07-14 #
- Added
lifecycleActionstoNyPage. This will allow you to handle lifecycle events in your pages. - Update pubspec.yaml
6.32.0 - 2025-07-02 #
- Added
excludeKeystoNyStorage.deleteAll. This will allow you to exclude certain keys from being deleted when callingdeleteAll. - Added
hasExecutedTaskOncein NyScheduler. This will allow you to check if a task has been executed. - Update pubspec.yaml
6.31.0 - 2025-06-23 #
- Added
setto NySession class. This will allow you to set a value in the session. - Added
onFailureparameter to isSuccessful method inNyValidator. - Fix
getInitialRouteNameto return the correct initial route name when,whenis used.
6.30.0 - 2025-06-23 #
- Added
PullableConfigto pullable widget. - Update pubspec.yaml
6.29.0 - 2025-06-20 #
- Added new
visibleWhenextension toWidgetclass. This will allow you to show or hide a widget based on a condition. - Added
onPopto thepushTomethod. This will allow you to receive a callback when the page is popped. - Added
removeFromIndexto NyPullToRefresh. This will allow you to remove an item from the list at a specific index. - Bug fix for
NyTextFieldonChanged method. - Fix analysis_options.yaml
- Update pubspec.yaml
6.28.5 - 2025-05-23 #
- Fix:
getEnvhelper to return an empty string if a variable is set like thisAPP_WEBSITE="" - Add Dart Console to project
- Update pubspec.yaml
6.28.4 - 2025-05-13 #
- Update pubspec.yaml
6.28.3 - 2025-05-08 #
- Fix:
Field.datenot using the correct display format
6.28.2 - 2025-05-02 #
- Add: export 'form_chips and form_radio' to ny_widgets.dart
- Add:
prefixIconto Field.password
6.28.1 - 2025-04-30 #
- Fix:
_whenStateActionmethod inNyState
6.28.0 - 2025-04-24 #
- Added:
nylo.broadcastEvents()to broadcast events to all listeners. - Added:
listenOnto listen to events in your app. E.g.listenOn<MyEvent>((event) { }); - Added:
listenhelper in NyPage and NyState to listen to events in your app. E.g.listen<MyEvent>((event) { }); - Updated:
eventhelper to support newbroadcastparameter. E.g.event<MyEvent>(data: {...}, broadcast: true);
6.27.0 - 2025-04-19 #
- Small breaking change to
stateActions:- Was:
Map<String, Function()> get stateActions - Now:
Map<String, Function> get stateActions
- Was:
- Added:
JourneyProgressStyle? progressStyle;to journey widget - Added:
JourneyButtonStyle? buttonStyle;to journey widget - Added:
backgroundGradientto bottomNav, topNav and journey widget - Updated:
stateActionto support newdataparameter - New progress styles added to
JourneyProgressStyle-linear,dots,numbered,segments,circular,timeline,custom - New
JourneyButtonStyleadded toJourneyState-default,primary,secondary,tertiary - New
JourneyButtonStyleadded toJourneyState-standard,minimal,outlined,contained,custom
6.26.0 - 2025-04-16 #
- Added:
JourneyStateclass to help manageNavigationHubLayout.journey - Added:
JourneyHelperclass to help manage JourneyState's - Added:
makeJourneyWidgetmethod toMetroServiceclass - Added:
parentOptionto constants - Added:
syncToStoragemethod to NySession class. This will sync the session data to storage - Added:
syncFromStoragemethod to NySession class. This will sync the session data from storage
6.25.1 - 2025-04-09 #
- Fix
NyStorage.readmethod
6.25.0 - 2025-04-08 #
- Added:
makeCommandto MetroService class. This will allow you to create a custom command in your project. - Added:
addPackagesmethod to MetroService - Added:
devparameter toaddPackagesandaddPackagemethods - Added:
withQueryParamsto RouteView class - Added:
hasQueryParameter(String key)to NyState class. This will allow you to check if a query parameter exists in the current route. - Update:
runProcessto connect all streams to the process
6.24.0 - 2025-04-02 #
- Merge PR contribution from voytech-net #37
6.23.0 - 2025-04-01 #
- Added:
toTimestamp()helper forDateTimeto convert to a timestamp - Tidy:
NyTextFieldclass - Fix:
NyPagestateName if not given correct closure name
6.22.1 - 2025-03-31 #
- Fix:
Auth.authenticatemethod not setting the correct object data for theBackpackclass
6.22.0 - 2025-03-27 #
- Update:
sessionhelper to support 'items'. E.g.session('onboarding', {"first_name": "john"}), now session will contain{"first_name": "john"} - Update:
sessionhelper 'data' method to supportdata([String? key])to get the session data. E.g.session('onboarding').data('first_name') - Fix: Cannot add new events after calling close in NyForm 231
- Update pubspec.yaml
6.21.0 - 2025-03-21 #
- Small fix for
BadgeTab - Refactor imports to not include
package:nylo_support - New PageTransitionTypes: scale, rotate, size, rightToLeftWithFade, leftToRightWithFade, leftToRightJoined, rightToLeftJoined, topToBottomJoined, bottomToTopJoined, leftToRightPop, rightToLeftPop, topToBottomPop, bottomToTopPop, sharedAxisHorizontal, sharedAxisVertical, sharedAxisScale
- New
TransitionTypeadded for route transitions. E.g.routeTo(HomePage.path, transitionType: TransitionType.fade()) - Ability to
setBadgeNumberof app icon - Update pubspec.yaml
6.20.1 - 2025-02-28 #
- Add
ny_future_builder.darttony_widgetslibrary
6.20.0 - 2025-02-27 #
- Added
labelto Forms. E.g.Field.email('Email', label: 'Email Address') - Added
Radioto Forms. E.g.Field.radio("Favourite Color", options: ["Red", "Blue", "Green"]) - Added
Widgetto Forms. E.g.Field.widget(child: MyWidget()) - Add
submitButtontoNyFormDataRead more here - Add ny_networking.dart, ny_router.dart, ny_alerts.dart, ny_helpers.dart to make it easier to import the different parts of the library
- Update sleep method to support micro seconds. E.g.
sleep(0, 500)will sleep for 500 microseconds - Small bug fix for
NavigationTab.alerts - Merge PR from israelins85
- Update pubspec.yaml
6.19.4 - 2025-02-26 #
- Update pubspec.yaml
6.19.3 - 2025-02-23 #
- Fix issue when resetting the
NyPullToRefreshwidget - Added new
stateAction()helper to allow you to send state actions to theNyStateorNyPageclass - New
whenStateAction(Map<String, Function()> actions)method added toNyStateandNyPageclasses to handle state actions- E.g.
whenStateAction({"showDialog": () => showDialog()})
- E.g.
- New
Map<String, Function()> get stateActions => {}getter added toNyStateandNyPageclasses to handle state actions- E.g.
Map<String, Function()> get stateActions => {"showDialog": () => showDialog()};
- E.g.
- Update pubspec.yaml
6.19.2 - 2025-02-10 #
- Fix issue with Forms setting dummyData even if app env is not dev
- Update pubspec.yaml
6.19.1 - 2025-02-05 #
- Update pubspec.yaml
6.19.0 - 2025-02-04 #
- Forms - Ability to set fields as
readOnly- Fix issue "stream has already been listened to" #215
- Fixes for NavigationHub
- Small refactor to
Pullablewidget - Update pubspec.yaml
6.18.0 - 2025-02-02 #
- Add new
NavigationTab.alertwidget for supporting alerts in the NavigationTab - New extension
toBoolandtryParseBooladded toStringclass - New StateActions added to
NavigationHubStateActionsalertEnableTab- Enable the alert for a specific tabalertDisableTab- Disable the alert for a specific tab
- Update pubspec.yaml
6.17.1 - 2025-01-29 #
- Fix small issue with
NavigationHubnot using the correcticonwhen active - Update pubspec.yaml
6.17.0 - 2025-01-26 #
- Added comprehensive DateTime manipulation methods:
- Year operations:
addYears()andsubtractYears() - Month operations:
addMonths()andsubtractMonths() - Day operations:
addDays()andsubtractDays() - Hour operations:
addHours()andsubtractHours() - Minute operations:
addMinutes()andsubtractMinutes() - Second operations:
addSeconds()andsubtractSeconds()
- Year operations:
- Update NavigationHub to support the following:
- Set a default current tab index: Override
currentIndexin yourNavigationHubclass - New
bottomNavBuildermethod to build the bottom navigation bar
- Set a default current tab index: Override
- DateTime extension:
- Allow
toDateStringto accept aStringformat - Add
toDateStringUKto format the date in UK format - Add
toDateStringUSto format the date in US format
- Allow
- New
localAssetmethod added toAssetImage - Update pubspec.yaml
6.16.1 - 2025-01-16 #
- Small change to
getPublicAssetto remove first slash if it exists
6.16.0 - 2025-01-16 #
- Add
Field.capitalizeSentencesandField.capitalizeWords
6.15.0 - 2025-01-12 #
- Make
updatePageStatepublic - Ensure
handleSuccesshandles responses within the correct status code range. Fixes 207 - Fix
headerparameter in NyPullToRefresh and NyListView - Small fix for NyForm
- Improvements to NavigationHub to support Text tabs and Icons
- Updates to
NavigationTabto support updating the Page, Title, Icon, Background Color and Tooltip - Update pubspec.yaml
6.14.4 - 2025-01-06 #
- Fix issue with
NyState
6.14.3 - 2025-01-04 #
- Update pubspec.yaml
6.14.2 - 2025-01-04 #
- Fix updateState method when using NyPage.path
- Small fix for route guards when using redirect
- Make
updatePageStateprivate - Update pubspec.yaml
6.14.1 - 2024-12-31 #
- Small fix for
NyLanguageSwitcherto support dark mode
6.14.0 - 2024-12-31 #
- Update copyright year
- New
currentTabIndexmethod added toNavigationHubStateActionsto set the current tab index
6.13.1 - 2024-12-29 #
- Fix form.dart
6.13.0 - 2024-12-29 #
- Fix validation max and min rules
- New
initmethod added to Forms - Small refactor to
NyFormclass - Update loadingStyle
rendermethod
6.12.2 - 2024-12-22 #
- Fix stateName in NyState
- Slight refactor to
NyBaseState
6.12.1 - 2024-12-19 #
- Fix
useLocalNotificationsinNyloclass - Add
kIsWebcheck toclearBadgeNumber - Update
date_fieldto ^6.0.0
6.12.0 - 2024-12-18 #
- Add
headerSpacingandfooterSpacingtoNyForm
6.10.0 - 2024-12-16 #
- New
NyTextStyleclass - New
NyColorclass - Update form picker, form chips and checkbox to support light and dark colors better
- New
NyColor.resolveColormethod - Remove
Nylo.packagemethod - New
getAuthKey()method
6.9.1 - 2024-12-13 #
- Update
deleterequest to support optional parameters
6.9.0 - 2024-12-12 #
- Add
LoadingStyleto helpers/loading_style.dart - New
loadingStyle: loadingStyleparameter added toButtonStateclass - Fix https://github.com/nylo-core/nylo/discussions/187
6.8.1 - 2024-12-08 #
- Fix
saveRememberandsaveForeverin NyCache - Update pubspec.yaml
6.8.0 - 2024-12-06 #
- New
Field.switchBoxadded toNyFormto create a switch box field - Localization support for picker and datetime fields
currency.toLowerCase()in Field.currency()- Update pubspec.yaml
6.7.1 - 2024-11-29 #
- Fix BadgeTab
6.7.0 - 2024-11-27 #
- Add
NyLocaleHelper - New
Nylo.packagehelper for initializing packages - Fix
NyStoreage.readhelper
6.6.0 - 2024-11-25 #
- New
nyPageNameextension helper added toRouteView - Update
StateActionto supportRouteViewpaths
6.5.0 - 2024-11-23 #
- Dark mode support for Form fields: picker, date picker, checkbox and chips
- New helper
color({light, dark})to get the color based on the theme - New helper
whenTheme({light, dark})to handle widgets based on the theme - Add
NyThemeTypeto BaseThemeConfig. This will allow you to set if a theme is light or dark - Contribution from stensonb to update the documentation for the sleep method
- Update pubspec.yaml
6.4.1 - 2024-11-22 #
- Update pubspec.yaml
6.4.0 - 2024-11-15 #
- New
initDio(Dio dio)method added toDioApiService
6.3.0 - 2024-11-13 #
- Update
updateStateto support RouteView paths - Allow
NyPageto support stateManaged methods usingbool get stateManaged => true; - Update pubspec.yaml
6.2.0 - 2024-11-10 #
- Override
buildin NyPage to support loading using a Scaffold - Rename
SessiontoNySession - Fix typo with skeletonizer
- Update pubspec.yaml
6.1.1 - 2024-11-08 #
- Update local push notifications
6.1.0 - 2024-11-04 #
- Add local push notifications
5.82.0 - 2024-07-18 #
- New
createmethod added toNyFormDataclass. This will allow you to create the form from the instance. - Add
FormStyleto NyForm. This will allow you to set a global style for the form. It currently only supportsTextFieldandNyFormCheckboxwidgets. - Ability to create custom validation rules in
NyForm's - Added
refreshStatetoNyFormclass. This will refresh the state of the form. - Added new typedefs
FormStyleTextFieldandFormStyleCheckboxfor handling custom styles inNyForm - Added
clearmethod toNyFormclass. This will clear the form. - Added
clearFieldmethod toNyFormclass. This will clear a specific field in the form. - Update
setFieldandsetDatamethods inNyFormclass. This will now update the state of the form after setting the field. - Small refactor to the
NyTextFieldclass - Refactor
NyFormCheckboxclass to support global styles FormStyleadded to Nylo class- Update pubspec.yaml
5.81.2 - 2024-07-09 #
- Update default toast widget text style
5.81.1 - 2024-07-09 #
- Remove default validation rule from
NyLoginForm
5.81.0 - 2024-07-08 #
- Refactor
FormValidatorclass.- To set a validation rule, you must now use
FormValidator.rule("email")instead ofFormValidator("email") - You can now join multiple validation rules. E.g.
FormValidator().minLength(5).uppercase()will check if the value is at least 5 characters long and has an uppercase letter.
- To set a validation rule, you must now use
- Fix autofocus on
Field's inNyForm
5.80.0 - 2024-07-07 #
- Ability to create forms using slate packages
5.79.1 - 2024-07-06 #
- Fix slight issue with NyForm when handling validation rules
- Update
validatehelper in NyState to skip null values
5.79.0 - 2024-07-06 #
- Add new Forms
NyFormCheckbox- This will create a checkbox form fieldNyFormDateTimePicker- This will create a date time picker form field
- Refactor
NyFormDataclass - pubspec.yaml dependency updates
5.78.1 - 2024-07-05 #
- Fix
deleteAll()method in Backpack to not remove thenylokey
5.78.0 - 2024-07-03 #
- Remove
deepLinkrequired parameter for deep linking
5.77.0 - 2024-07-02 #
- New
NyFormwidget! Designed to help you create forms easier in your app. - Fix password_v1 & password_v2 validation rule not working in all cases
- Update NyTextField to support different types of text fields
- Add
makeFormtoMetroServiceclass to create a form - Update
EmailRule,URLRuleto supportnullvalues - Rename
PhoneNumberUsaRuletoPhoneNumberUsRule - Update
textFieldMessageon some validation rules - Small refactor of
NyTextFieldwidget. ThecopyWithcontains new parameters.- New
passwordViewableparameter added toNyTextFieldwidget - New
validateOnFocusChangeparameter added toNyTextFieldwidget
- New
- Update
NyStateto check when post frame is complete for a better user experience - New
NyFormPickerWidget 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. - New
NyForm.loginmethod added toNyFormclass - This will create a login form - Ability to add custom form casts to
NyFormclass via Nylo. E.g.Nylo.addFormCasts({"my_cast": (value) => value.toString()}); - Update docs
- Update pubspec.yaml
5.76.0 - 2024-06-16 #
- Add support for the
childparameter in NyStatefulWidget to be a Function that returns a State. - Update pubspec.yaml
5.75.3 - 2024-06-14 #
- Add await to
ErrorStack.init
5.75.2 - 2024-06-14 #
- Update Error Stack to use
ErrorStackLogLevel.verbose(default) - Update pubspec.yaml
5.75.1 - 2024-06-14 #
- Update pubspec.yaml
5.75.0 - 2024-06-13 #
- Add new extensions
labelSmall,labelMediumandlabelLargetoTextwidget
5.74.0 - 2024-06-12 #
- Small refactor to
NyRichTextwidget - Add
_errorStackErrorWidgettoNyloclass - Update pubspec.yaml
5.73.1 - 2024-06-11 #
- Fix
MetroServicenot properly suffixing the file names
5.73.0 - 2024-06-11 #
- Added
StorageConfigclass to the library. This will allow you to set the storage configuration for your app.
StorageConfig.init(
androidOptions: AndroidOptions(
resetOnError: true,
encryptedSharedPreferences: false
)
);
- Set
NyRichTextstyle color toColors.blackby default
5.72.1 - 2024-06-11 #
- Update pubspec.yaml
5.72.0 - 2024-06-08 #
- Added
loadJsonmethod to helpers to load a json file
5.71.0 - 2024-06-06 #
- Added
containsRoutesmethod toNyloclass. Now you can check if a route exists in your app. E.g.Nylo.containsRoutes(["/home", "/settings"]) - Fix
MetroServiceduplicating slate file names
5.70.0 - 2024-06-05 #
- Update
NotEmptyRuleValidation rules to includenull,MapandListtypes - Update pubspec.yaml
5.69.5 - 2024-05-22 #
- Update pubspec.yaml
5.69.4 - 2024-05-17 #
- Update pubspec.yaml
5.69.3 - 2024-05-14 #
- Update pubspec.yaml
5.69.2 - 2024-05-12 #
- Update pubspec.yaml
5.69.1 - 2024-05-12 #
- Downgrade
flutter_secure_storageto 9.0.0
5.69.0 - 2024-05-11 #
- Fix
NyStatenot receiving state updates - New
stateResetmethod added toNyListViewandNyPullToRefresh - Add
StateAction.setStatemethod - Update
flutter_secure_storage - Update pubspec.yaml
5.68.1 - 2024-05-05 #
- Update pubspec.yaml
5.68.0 - 2024-05-01 #
- Add
ErrorStackto the library - New
useErrorStackhelper added to Nylo. This will enable ErrorStack in your application. - Update pubspec.yaml
5.67.1 - 2024-04-29 #
- Update pubspec.yaml
5.67.0 - 2024-04-28 #
- Update
confirmActionmethod inNyStateto support more options
5.66.0 - 2024-04-25 #
- Add
updateRouteStackto Nylo. This method will update the route stack with a new routes.
Nylo.updateRouteStack([
HomePage.path,
SettingPage.path
], dataForRoute: {
SettingPage.path: {"name": "John Doe"}
});
- Add
nylo.onDeepLinkto listen for deep link events in your app.
nylo.onDeepLink((String route, dynamic data) {
print(data);
});
5.65.2 - 2024-04-25 #
- Update
NyStateto check thatdatais of Type Map before callingdata[key]
5.65.1 - 2024-04-20 #
- Fix
webbuilds - https://github.com/nylo-core/nylo/discussions/122
5.65.0 - 2024-04-20 #
- Update
NyPullToRefreshvalidate that thedatais a List - Update
NyListViewvalidate that thedatais a List
5.64.0 - 2024-04-17 #
- Add the ability to set a custom transition to a
route.groupe.g.router.group(() => {'transition': PageTransitionType.fade}, (router) { ... }) - Add the ability to set a transition_settings to a
route.groupe.g.router.group(() => {'transition_settings': PageTransitionSettings(duration: Duration(milliseconds: 500)}, (router) { ... }) - Update
_getPageTransitionIsIosto detect if the platform is iOS to use the CupertinoPageRoute for the transition - Small refactor to
_getPageTransition.*methods in router.dart - Update pubspec.yaml
5.63.0 - 2024-04-08 #
- New
NyActionclass added to the librarylimitPerDaymethod added toNyActionclass - This will limit the number of times an action can be performed in a day.authorizedmethod added toNyActionclass - This will check if the user is authorized to perform an action.
5.62.0 - 2024-04-01 #
- Add extra parameters to
ListViewforNyListView.grid
5.61.0 - 2024-03-29 #
- Added
updateCollectionWheretoNyStorageclass
5.60.1 - 2024-03-28 #
- Update pubspec.yaml
5.60.0 - 2024-03-26 #
- Added
footerLoadingIcontoNyPullToRefreshwidget
5.59.0 - 2024-03-26 #
- Remove
initializeDateFormattingcall in Nylo and app_localization.dart - Update
_loggerPrintnot to printExceptionif the message is empty - Update
NyPullToRefresh - Update pubspec.yaml
5.58.0 - 2024-03-24 #
- Refactor app_localization.dart file. Breaking changes to the way you set up your app localization.
- Removed
languagesListparameter - Removed
valuesAsMapparameter
- Removed
5.57.0 - 2024-03-21 #
- Update
NyListViewto use default state management - Added
router.addso you can create routes easier - Change
NyApiServiceto use getter oninterceptors - Fix
MetroServicenot automatically adding routes to router - Update pubspec.yaml
5.56.1 - 2024-03-18 #
- Remove
EquatablefromModelclass
5.56.0 - 2024-03-18 #
- Add
EquatabletoModelclass - Fix
modelDecoderson NyStorage.addToCollection
5.55.0 - 2024-03-17 #
- Added
sortmethod toNyPullToRefreshwidget - Added
sortmethod toNyListViewwidget - New parameter
modelDecodersonNyStorage.readto define the model decoders when reading from storage - New parameter
modelDecodersonNyStorage.readCollectionto define the model decoders when reading from storage - New parameter
modelDecodersondataToModelto define the model decoders when reading from storage - Remove
asyncfromaddModelDecodersmethod
5.54.0 - 2024-03-10 #
- Added
router.groupmethod
5.53.0 - 2024-03-07 #
- Added
Future<void> wipeAllStorageData()toNyloclass. UsageNylo.wipeAllStorageData() - Added
scheduleOnceAfterDate(String name, Function() callback, {required DateTime date})toNyloclass. UsageNylo.scheduleOnceAfterDate('my_task', () => print('Hello'), date: DateTime.now().add(Duration(days: 1))) - Added
scheduleOnceDaily(String name, Function() callback, {DateTime? endAt})toNyloclass. UsageNylo.scheduleDaily('my_task', () => print('Hello'), endAt: DateTime.now().add(Duration(days: 2))) - Added
scheduleOnce(String name, Function() callback)toNyloclass. UsageNylo.scheduleOnce('my_task', () => print('Run once')) - Added
Future<DateTime?> appFirstLaunchDate()toNyloclass. UsageDateTime? dateTime = Nylo.appFirstLaunchDate() - Added
Future<int> appTotalDaysSinceFirstLaunch()toNyloclass. Usageint days = Nylo.appTotalDaysSinceFirstLaunch() - Added
Future<int?> appLaunchCount()toNyloclass. Usageint? count = Nylo.appLaunchCount() - Added
Future<void> appLaunched()toNyloclass. UsageNylo.appLaunched() - Added
isSameDay(DateTime date)to DateTime extension - Added new
NyAppUsageclass to the library - Added
monitorAppUsage()toNyloclass. UsageNylo.monitorAppUsage()- This will start monitoring the app usage like the first launch date, total days since first launch, launch count and more. - Added
showDateTimeInLogs()to optional show the date and time in logs - Updated log method to add a ":" in-between log messages
- Fix
withGapextension forColumnwidgets
5.52.0 - 2024-03-05 #
- Add new
toggleValuemethod forList's. This will toggle a value in a list. E.g.myList.toggleValue(10);
5.51.0 - 2024-03-03 #
- Add new
toSkeleton()extension forWidget's - New
NySchedulerclass added to the library
5.50.0 - 2024-02-28 #
- Add new
NyRichTextwidget
5.49.1 - 2024-02-28 #
- Remove debug print statement
5.49.0 - 2024-02-26 #
- New method
setSendTimeoutadded to NyApiService - New method
setReceiveTimeoutadded to NyApiService - New method
setConnectTimeoutadded to NyApiService - New method
setMethodadded to NyApiService - New method
setContentTypeadded to NyApiService
5.48.1 - 2024-02-24 #
- Fix
NyTextFieldto usevalidationRules - Update
Dioto 5.4.1
5.48.0 - 2024-02-16 #
- Add
toTimeAgoStringextension to DateTime - Fix
onLanguageChangemethod inNyLanguageSwitcher
5.47.0 - 2024-02-14 #
- Add
deleteFromCollectionWherefor NyStorage. E.g.NyStorage.deleteFromCollectionWhere((value) => value == 1, key: "myKey");
5.46.0 - 2024-02-14 #
- Add
defaultValueon thematchfunction
5.45.0 - 2024-02-12 #
- New
StateActionclass for handling state actions
5.44.0 - 2024-02-08 #
- Add
NyTextField.emailAddress()widget - This will create an email address text field - Add
NyTextField.password()widget - This will create a password text field - Ability to set
passwordVisibleonNyTextFieldwidget - Add
NyTextField.compact()widget - This will create a compact text field - Add
password_v1validation rule for checking if a password is valid - Add
password_v2validation rule for checking if a password is valid
5.43.1 - 2024-02-07 #
- Fix
NyListView.gridWidget
5.43.0 - 2024-02-07 #
- Ability to set a Grid view in
NyListViewe.g.NyListView.grid() - Ability to set a Grid view in
NyPullToRefreshe.g.NyPullToRefresh.grid() - Change
getRouteHistoryto return alistof the route history - Change
getCurrentRouteArgumentsto return amapof the current route arguments - Change
getPreviousRouteArgumentsto return amapof the previous route arguments - Add
flutter_staggered_grid_viewto pubspec.yaml
5.42.1 - 2024-02-04 #
- Fix
_initLanguagemethod inapp_localization.dart
5.42.0 - 2024-02-04 #
- Add
NyLanguageSwitcherwidget - Add check in app_localization.dart to see if an existing language is set
5.41.0 - 2024-02-02 #
- New
beforeRefreshmethod added to NyPullToRefresh widget - New
afterRefresh(dynamic data)method added to NyListView widget
5.40.1 - 2024-02-02 #
- Update pubspec.yaml
5.40.0 - 2024-02-01 #
- Add
isMorningextension to DateTime - Add
isAfternoonextension to DateTime - Add
isEveningextension to DateTime - Add
isNightextension to DateTime - Update pubspec.yaml
5.39.0 - 2024-01-29 #
- Add new
updateCollectionByIndexmethod inNyStorageclass - Add new
readJsonmethod inNyStorageclass - Add new
storeJsonmethod inNyStorageclass
5.38.1 - 2024-01-28 #
- Change
sleepto use seconds instead of milliseconds - Rename
toJsontoparseJsonon String extension
5.38.0 - 2024-01-28 #
- New
showInitialLoaderproperty added toNyStateclass
5.37.0 - 2024-01-27 #
- Add new
toDateTimeextension for Strings - Update pubspec.yaml
5.36.0 - 2024-01-26 #
- Add new
toJsonextension for Strings - Add
useSkeletonizertoNyPullToRefreshwidget - Add
useSkeletonizertoNyListViewwidget - Add
useSkeletonizerto NyFutureBuilder widget - Update pubspec.yaml
5.35.1 - 2024-01-24 #
- Small refactor to
NyRouteGuardclass
5.35.0 - 2024-01-23 #
- Add new
sleephelper - Add
connectionTimeoutto network helper - Add
receiveTimeoutto network helper - Add
sendTimeoutto network helper - New parameter
baseOptionsadded toNyApiServiceconstructor
5.34.1 - 2024-01-23 #
- Set
Intl.defaultLocalein Nylo class
5.34.0 - 2024-01-22 #
- Add
setRetryIfto DioApiService - Add
retryIftoapihelper
5.33.0 - 2024-01-21 #
- Update
buildmethod inNyStateto Skeletonize theloading(BuildContext context)widget
5.32.0 - 2024-01-17 #
- Add
queryParameterstorouteTohelper - Add
queryParameterstoNyStatehelper - Add
queryParameterstoNyRequestclass - Add
queryParameterstoonTapRoutehelper - Add
bottomNavFlagto Strings
5.31.0 - 2024-01-15 #
- You can now set an API service as a singleton in your project.
- Add
setRetrytoapihelper - Add
setRetryDelaytoapihelper - Add
setShouldSetAuthHeaderstoapihelper - Change
immortaltosingletoninNyController - Add new validation helpers:
- date_age_is_younger - usage e.g.
date_age_is_younger:18- This will check if the date is younger than the given age. - date_age_is_older - usage e.g.
date_age_is_older:30- This will check if the date is older than the given age. - date_in_past - usage e.g.
date_in_past- This will check if the date is in the past. - date_in_future - usage e.g.
date_in_future- This will check if the date is in the future. - Refactor
apiDecodersandapiControllersinNyloclass to support singletons. - Tweaks to
MetroServiceto support singletons. - Add
skeletonizerpackage to pubspec.yaml - New
view(BuildContext context)method added toNyStateclass - This can be used to create the view for your widget. - New
loading(BuildContext context)method added toNyStateclass - This can be used to create the loading widget for your widget. - Update
maxandminvalidation rules to now validate Strings, Numbers, Lists and Maps. - Added more docs to NyApiService
isDebuggingEnabledadded toNyloclass - This will check if the app is running in debug mode.isEnvProductionadded toNyloclass - This will check if the app is running in production mode.isEnvDevelopingadded toNyloclass - This will check if the app is running in development mode.
5.30.1 - 2024-01-13 #
- Patch for
_loggerPrintfunction to resolve https://github.com/nylo-core/nylo/issues/96
5.30.0 - 2024-01-13 #
- New
dumpfunction added for printing out data in a readable format.
5.29.0 - 2024-01-11 #
- Add
skipIfExistto makeModel method inMetroService
5.28.0 - 2024-01-06 #
- Change
languageCodeto uselocaleinNyloclass - Add metaData to
ToastMeta - Update pubspec.yaml
5.27.0 - 2024-01-03 #
- Fix
NyPullToRefreshwidget not using thepaddingparameter - Add new
localevariable toNyloclass - UseNylo.localeto get the current locale.
5.26.0 - 2024-01-03 #
- Add
isAgeYounger(int age)helper to DateTime extension - This will check if the DateTime is younger than the given age. - Add
isAgeOlder(int age)helper to DateTime extension - This will check if the DateTime is older than the given age. - Add
isAgeBetween(int min, int max)helper to DateTime extension - This will check if the DateTime is between the given ages. - Add
isAgeEqualTo(int age)helper to DateTime extension - This will check if the DateTime is equal to the given age. - Add locale to intl.DateFormat methods to allow you to set the locale of the date.
5.25.1 - 2024-01-02 #
- Change
toTimeStringto accept awithSecondsparameter
5.25.0 - 2024-01-01 #
- Fix
toShortDatemethod - New parameter added to
networkcalledshouldSetAuthHeaders- This will tell the network method if it should set the auth headers or not. You can also overrideshouldSetAuthHeadersin yourDioApiServiceclass.
5.24.0 - 2024-01-01 #
- Big updates to
DioApiServicenetworkmethod now accepts aretryparameter - Set how many times you want to retry the request if it fails.networkmethod now accepts aretryIfparameter - A function to check if the request should be retried.networkmethod now accepts aretryDelayparameter - Set how long you want to wait before retrying the request.- Three new methods added to
DioApiService:refreshToken- Override this method to refresh your token.shouldRefreshToken- Override this method to check if you should refresh the token.setAuthHeaders- Override this method to set your own auth headers.
- Big updates to
MetroServiceto allow you to create files in sub folders. - Update import paths to support a
creationPathwhen creating files in the project. - Update
validatemethod inside NyPage to support the latest way of validating data. - Add more docs to library
- New extension
hasExpiredon DateTime object - This will check if the DateTime has expired. It's usage is for checking if a token has expired. - Add queryParameters to
getmethod inside API Service - Add intl package to pubspec.yaml
- Remove dead code in Router
5.23.0 - 2023-12-25 #
- New
flexiblehelper added for Stateless and Stateful widgets, e.g.TextField().flexible() - Add
showToastSorrymethod toNyStateclass - Fix
addRouteGuardhelper for routes - Add
pophelper to controller - New
is_type,is_trueandis_falsevalidation rules - Implement Pull to refresh for empty data
- Introducing a new flag you can set in your controllers
bool immortal = true;this will allow your controller to live forever and not be disposed when the widget is removed from the tree. - New
NyFaderwidget added, this widget allows you to add a gradient fade from the bottom/top/right/left of a widget. - You can also use the
faderBottom,faderTop,faderLeftandfaderRighthelpers on a widget to add a gradient fade to the bottom/top/left/right of a widget. - New
withGapextension added toRowandColumnwidgets to add a gap between children. - NyState new helper method added
confirmAction, this will show a dialog to confirm an action.
5.22.0 - 2023-12-09 #
- Breaking changes
- You can no longer set
appLoaderas a variable in yourNyloclass. You must now use theaddLoader(widget)helper method. - You can no longer set
appLogoas a variable in yourNyloclass. You must now use theaddLogo(widget)helper method. - Use
Nylo.appLoader()to get the loading widget - Use
Nylo.appLogo()to get the app logo - Use
Nylo.isCurrentRoute(MyHomePage.path)to check if the current route matches the given route - Set
apiDecodersusingNylo.addApiDecoders(apiDecoders) - Navigator observers added to Nylo
- Get the observers using
Nylo.getNavigatorObservers() - Add an observer using
Nylo.addNavigatorObserver() - Remove an observer using
Nylo.removeNavigatorObserver(observer)
- Get the observers using
- Upgrade router
- Get the route history using
Nylo.getRouteHistory()- Get the current route using
Nylo.getCurrentRoute() - Get the previous route using
Nylo.getPreviousRoute() - Get the current route name using
Nylo.getCurrentRouteName() - Get the previous route name using
Nylo.getPreviousRouteName() - Get the current route arguments using
Nylo.getCurrentRouteArguments() - Get the previous route arguments using
Nylo.getPreviousRouteArguments()
- Get the current route using
- Get the route history using
- Add
loadingparameter toNyPullToRefreshwidget - Add
loadingparameter toNyListViewwidget - New
NyThemeOptionsadded to store theme colors - New
NyRouteHistoryObserverclass for handling route history - Ability to chain a
transitionon a route e.g.router.route(DashboardPage.path, (_) => DashboardPage()).transition(PageTransitionType.bottomToTop) - Ability to chain a
transitionSettingson a route e.g.router.route(DashboardPage.path, (_) => DashboardPage()).transitionSettings(PageTransitionSettings(duration: Duration(milliseconds: 500))) - Ability to chain a
addRouteGuardon a route e.g.router.route(DashboardPage.path, (_) => DashboardPage()).addRouteGuard(MyRouteGuard()) - Ability to chain a
addRouteGuardson a route e.g.router.route(DashboardPage.path, (_) => DashboardPage()).addRouteGuards([MyRouteGuard(), MyRouteGuardTwo()]) - Ability to chain a
authRouteon a route e.g.router.route(DashboardPage.path, (_) => DashboardPage()).authRoute() // new auth route - Ability to chain a
initialRouteon a route e.g.router.route(DashboardPage.path, (_) => DashboardPage()).initialRoute() // new initial route
5.21.0 - 2023-12-03 #
- New
store()method added to String extension. E.g.await StorageKey.userToken.store("123"); - New
readmethod added to String extension. E.g.await StorageKey.userToken.read() - New
addToCollectionmethod added to String extension. E.g.await StorageKey.userToken.addToCollection("10"); - New
readCollectionmethod added to String extension. E.g.await StorageKey.userToken.readCollection() - Update
fromStorageandfromBackpackmethod to accept a default value. E.g.await StorageKey.userToken.fromStorage(defaultValue: "123");
5.20.0 - 2023-12-02 #
- Add new
jsonFlagto metro constants
5.19.0 - 2023-12-02 #
- New helper in
NyStatecalleddata()to get data from the state. - A lot of new Extensions added to the package.
paddingOnlyandpaddingSymmetricadded to the following widgets:TextRowColumnContainerSingleChildRenderObjectWidgetStatelessWidget
- New
Imageextensions added:localAsset()can be used to load an image from your assets folder. e.g.Image.asset('my-image.png').localAsset() // load from assets foldercircleAvatarcan be used to load an image as a circle avatar. e.g.Image.asset('my-image.png').circleAvatar()
- New
shadowextension added toContainerwidget. e.g.Container().shadow()orContainer().shadowLg()
- New
onTaphelper added toStatelessWidgete.g.Text('Hello').onTap(() => print('Hello')) - New
onTapRoutehelper added toStatelessWidgete.g.Text('Home Page').onTapRoute(HomePage.path)
5.18.1 - 2023-12-01 #
- Update the pubspec.yaml
5.18.0 - 2023-11-27 #
- New extension
toMaponIterable<MapEntry<String, dynamic>>to convert a list of MapEntry's to a Map.
5.17.0 - 2023-11-25 #
NyStatefulWidgetcontroller is now not nullable. You can call the controller like thiswidget.controller.myMethod().- Add a mounted check in
NyState's validate helper. - Slight change to the
networkhelper to now always accept new bearerToken passed into the method. - Update the
data()method to accept a newkeyparameter. Now you can check for a key usingwidget.controller.data('my_key').
5.16.0 - 2023-11-23 #
- Ability to set routes as the initial page and auth route in
MetroService NyTemplatenow contains a new options variable to set more meta data about the template- Fix
MetroServicenot adding api services to the config file
5.15.0 - 2023-11-22 #
- New
makeInterceptorhelper added to MetroService. - New NyPage helpers added to
NyController. - Small refactor to NyPage class.
- Add
DioApiServiceclass to the package. - Add
stateto Controller. - Add more docs to methods/classes.
- Add dio and pretty_dio_logger to pubspec.yaml
5.14.0 - 2023-11-04 #
- New
runProcesshelper added to MetroService.
5.13.0 - 2023-10-23 #
- New
addToThemehelper added to MetroService.
5.12.0 - 2023-10-19 #
- Update the look for Toast Notifications
- Add new parameter setState on
refreshPageto set the state of the Widget. - New helpers added to
NyPage- context
- textTheme
- mediaQuery
5.11.0 - 2023-10-17 #
- Improve regex to auto add classes and routes
- New
NyPagewidget - Learn more here - New helper for the Nylo class -
addControllers - Improve Metro to auto add controllers when created
- Add more docs
- New extensions added to BuildContext:
- textTheme
- mediaQuery
- pop
- widgetWidth
- widgetHeight
5.10.1 - 2023-10-08 #
- Fix typo in log
- update validator & updateState docs
5.10.0 - 2023-10-01 #
- Ability to create config files
- Add
event_bus_plusto the library - Update pubspec.yaml
5.9.1 - 2023-09-22 #
- Update pubspec.yaml
5.9.0 - 2023-09-15 #
- Add optional builder callback to the
route.generator()method. This can be used to override the default Widget returned. - Update pubspec.yaml
5.8.2 - 2023-08-31 #
- Fix nyColorStyle to use the correct theme color
5.8.1 - 2023-08-31 #
- New helper to check if the device is in dark mode.
5.8.0 - 2023-08-31 #
- Ability to set a default value on NyStorage
- Fix https://github.com/nylo-core/framework/issues/35
- Ability to set a default value on
NyStorage.read - Update pubspec.yaml
5.7.0 - 2023-08-26 #
- Add new toast notification helpers to
NyState- showToastWarning
- showToastInfo
- showToastDanger
- Fix toast_meta.dart style types
5.6.0 - 2023-08-25 #
- New feature -
paginatethrough yourList's, you can now call[1,2,3,4,5].paginate(itemsPerPage: 2, page: iteration).toList(); - New Widget -
NySwitchthis widget allows you to provide aListof widgets andindexfor which should be the child widget. - New paginate feature for the
nyApihelper. Now you can pass in a page likeapi<ApiService>((request) => request.listOfDataExample(), page: 1);. This will add a query parameter on your url like "my-example-site.com/todos?page=1". - Remove
colorhelper from NyState - Remove
stateInitfrom NyState - Add
stateDatato NyState - Change afterLoad, afterNotNull and afterNotLocked to use
loadingas the new parameter when you need to override the Loading widget. - Ability to set custom toast notifications
- Refactor toast notifications
- Refactor addToCollection() method
newItemtoitem
5.5.1 - 2023-08-21 #
- Update pubspec.yaml
5.5.0 - 2023-08-21 #
- Add event_bus_plus to pubspec.yaml
- Add pull_to_refresh_flutter3 to pubspec.yaml
- Add new method
addEventBusto Nylo class - Ability to use
lockReleaseon the validate helper - New widget -
NyPullToRefreshthis new widget provides a simple way to implement pull to refresh on your list views. - New widget -
NyListViewthis new widget provides a simple way to implement a list view. - Change NyFutureBuilder to accept null in the
childcallback - New
updateStatehelper to allow your to update the state of a NyState from anywhere in your project - Fix
syncToBackpackmethod - New extension
fromBackpackon Strings - Allows you to read a model from your Backpack instance. E.g.User user = StorageKey.authUser.fromBackpack(). - Fix validation rule
numeric - Improve
NyFutureBuilderto allow null types to be returned in thechild(context, data)callback - New
rebootmethod added to NyState, it will re-run yourboot()method - New route helpers
routeToAuth()&routeToInitial() - New
afterNotLocked()method added to NyState.
5.4.0 - 2023-07-13 #
- New helper added to
NyloclassinitRoutes()
5.3.1 - 2023-07-03 #
- Add generic type to
saveCollection()helper.
5.3.0 - 2023-06-17 #
- Fix validator
5.2.2 - 2023-06-14 #
- add lang folder to constants
5.2.1 - 2023-06-13 #
- fix issues from dart analyze
5.2.0 - 2023-06-13 #
- Add new constants
- Fix Slate's when using
MetroService - update git actions
5.1.3 - 2023-06-08 #
- Add new method to MetroService
runCommandto replacecommandmethod in metro. - Small refactor to extensions.dart file.
5.1.2 - 2023-05-28 #
- Add new extensions for bool types
5.1.1 - 2023-05-24 #
- Add generic type to
SyncAuthToBackpackEvent. - Fix
NyLogger.jsonhelper not formatting the output to JSON - Add key parameter to
auth
5.1.0 - 2023-05-23 #
- New parameter added to
NyTextFieldwidget calledhandleValidationError- This new helper is a callback that can be used to handle any validation errors thrown - New String extension
toHexColor()- This will convert your strings into aColor. Try it "DB768E".toHexColor() - Fix
apihelper not returning request data - Added new extensions for
Text
5.0.0 - 2023-05-16 #
- Router
authRouteadded to redirect to a certain route when a user is authenticatedinitialRouteadded to set an initial route in your projectrouteGuardsadded to 'guard' a route
- Add new NyTextField widget.
- New
Modelclass replacesStorable - Auth
Auth.user()to find the authenticated userAuth.set( User() )to set an authenticated userAuth.remove()to remove an authenticated userAuth.loggedIn()to check if a user is logged in
- Change
validatorin NyState tovalidate. - Allow Nylo to accept custom validation rules from a project.
- Add to the
Backpackclass new methods:- auth to return the authenticated user
- isNyloInitialized to check if Nylo is initialized
- Backpack
readmethod will now accept a defaultValue parameter to be returned if no data is found. - New helper methods:
- match - Matches
- nyHexColor
- nyColorStyle
nyApiwill now acceptNyEvents so the data returned from your API requests will be passed to the events.- The
NyLoggerclass will now only log if the project's APP_DEBUG is set to true. NyProviderclass now has anafterBootmethod which will be called after Nylo has finished 'booting'.- Remove
Storableclass - New helper in MetroService
makeRouteGuard - New Extensions added for objects
showNextLog()added to force a log to show when the APP_DEBUG var is set to false- Remove
loggerpackage - DocBlocks added to some methods
- Pubspec.yaml dependency updates
- Version bump
4.4.0 - 2023-05-16 #
- Flutter v3.10.0 fixes:
- Update: theme_provider package
4.3.1 - 2023-03-03 #
- Change
NyFutureBuilderto a Stateless widget to fix refreshing data.
4.3.0 - 2023-02-22 #
- Allow the
BaseThemeConfigclass to accept generics. - --dart-define variable change -
ENV_FILE_PATHis nowENV_FILE.
4.2.0 - 2023-02-20 #
- Allow passing custom env file path
4.1.1 - 2023-02-14 #
- Add logo to package
- Fix
syncToBackpackmethod - Pubspec.yaml dependency updates
- Version bump
4.1.0 - 2023-01-30 #
- Ability to set a baseUrl to a ApiService from the
nyApihelper. - Fix
Nylo.initto callsetupFinishedif setup is null. - New
NyFutureBuilderwidget which is a wrapper around FutureBuilder. Docs coming soon. - You can now pass a key into the
datavariable. - Update TextTheme styles for the
getAppTextThememethod. - New
syncToBackpack()helper in theNyStorageclass. - Metro: Fix add page method
- NyStorage: New helpers to deleteAll from the
Backpackclass. - Backpack: New
delete&deleteAllmethods. - Version bump
4.0.0 - 2023-01-01 #
- MetroService - new
addToRouter&addToConfigmethods to allow you to manipulate config files. NyTemplateclass added for building pre-made templates.- Helper added for the Backpack class to return an instance of
Nyloeasier. initialRouteadded to Nylo class.- New
boot() async {}added to NyState widget. If you override this method and call an async method, it will allow you to use theafterLoad(child: () => MyWidget())helper to display a loader until the async method completes. - Pubspec.yaml dependency updates
- Version bump
3.5.0 - 2022-09-19 #
- Move
routeTohelper from NyState to Router. - New
PageTransitionSettingsclass to pass transition settings such as Duration when using routeTo and the router. - Version bump
3.4.0 - 2022-08-27 #
- Add base theme config for theme management in Nylo
- Add theme colors for color management in Nylo
- New helper for NyState class to fetch colors easier
- Ability to add a duration for page transitions
- Pubspec.yaml dependency updates
- Version bump
3.3.0 - 2022-07-27 #
- Merge PR from youssefKadaouiAbbassi that adds query parameters to the router e.g. "/my-page?hello=world" = {"hello": "world"}
3.2.0 - 2022-06-28 #
- New optional parameter
inBackpackadded to thestorewhen using NyStorage class to also save to your Backpack instance - Merge pull request #17 from @lpdevit to fix router navigation when using
transitionDuration - Pubspec.yaml dependency updates
- Version bump
3.1.0 - 2022-05-19 #
- New helpers added to NyState:
awaitDataandlockRelease. - Version bump
3.0.1 - 2022-05-04 #
- Fix
nyApihelper not returning a value - Remove resource flag
3.0.0 - 2022-04-29 #
- New arguments for Nylo's
initmethod: setup, setupFinished - Add init method for NyState class
- New helpers: nyEvent, nyApi and Backpack
- assert condition added to DefaultResponse class
2.8.0 - 2022-04-21 #
- Revert new init method in Nylo
2.7.0 - 2022-04-21 #
- Version bump
2.6.1 - 2022-04-21 #
- Fix Nylo init method with router param
2.6.0 - 2022-04-21 #
- Revert init change in NyState.
- New Metro command to create events in Nylo.
- bootApplication helper added.
- Small refactor to folder names
2.5.0 - 2022-04-19 #
- New Metro command to create Providers in Nylo.
- New Metro command to create API Services in Nylo.
- NyProvider added as a base class for Providers.
2.4.0 - 2022-03-29 #
- New helper method added to NyState
whenEnv - Fix translations when supplying more than 1 argument
- Generic class for networking requests added
- Pubspec.yaml dependency updates
2.3.1 - 2021-12-17 #
- Add @mustCallSuper for construct method
2.3.0 - 2021-12-12 #
- Fix [BaseController] construct method
- override setState in NyState
2.2.1 - 2021-12-10 #
- Upgrade to Dart 2.15
- Update toast notifications
- Refactor methods in localization
2.2.0 - 2021-12-07 #
- New validator added to NyState. Allows you to validate data in widgets.
- Added toast notification helper
- Refactored localization class
- Ability to create themes and theme colors from Metro Cli
- Pubspec.yaml dependency updates
- Bug fixes
2.1.0 - 2021-09-21 #
- Fix
updateLocalemethod - Ability to add additional Router's to Nylo
2.0.1 - 2021-09-18 #
- Upgrade Dart (v2.14.0)
2.0.0 - 2021-09-10 #
- Add routes from NyPlugin
- NyState has new 'get' helpers for TextTheme and MediaQuery
- NyStorage 'read' method now returns more accurate data types if a type is not specified
- New template for NyPlugin's
- Added a MetroService and MetroConsole class for cli operations
- Pubspec.yaml dependency updates
1.0.0 - 2021-07-07 #
- Initial release.
