Releases: nylo-core/support
Releases · nylo-core/support
v7.23.1
v7.23.0
Added
NyStateManagedwidget - A newStatefulWidgetthat accepts achild(either aStateinstance or a function returning one) and an optionalstateName, allowing pre-built states to be wired into the widget tree directly viacreateState. Exported frompackage:nylo_support/widgets/ny_widgets.dart
v7.22.0
Added
- Toast helper methods now accept
durationanddataparameters -showToastSorry,showToastWarning,showToastInfo,showToastDanger,showToastOops, andshowToastSuccessnow forward optionalduration(custom display time) anddata(custom payload) arguments to the underlyingshowToastcall
Changed
descriptionparameter on toast helpers is now optional -showToastSorry,showToastWarning,showToastInfo,showToastDanger,showToastOops, andshowToastSuccessno longer requiredescription, aligning their signatures with the underlyingshowToastmethod. Existing call sites continue to work unchanged
v7.21.0
Removed (BREAKING)
- Metro CLI theme scaffolding commands removed - The
make:themeandmake:theme_colorsMetro commands have been removed along with their underlying methods (MetroService.makeTheme,MetroService.makeThemeColors,MetroService.addToTheme). ThethemesFolder,themeColorsFolder, andthemeDarkFlagconstants have also been removed. Themes can still be created manually inlib/resources/themes/
v7.20.2
v7.20.1
Fixed
NyScheduler.getKeyTaskOnce(name)now returns the full prefixed storage key (ny_scheduler_${name}_once) instead of the unprefixed${name}_once. This makes the documented reset patternawait NyStorage.delete(NyScheduler.getKeyTaskOnce("welcome_to_app"))actually delete the stored flag
Added
NyScheduler.clearTaskOnce(name)convenience method that clears a once-task's executed state without needing to compute the storage key manually
Changed
- Bumped
app_badge_plusdependency from^1.2.8to^1.2.9
v7.20.0
[7.20.0] - 2026-04-20
Added
- New
useSafeAreaoption onNavigationHubLayout.journey()- Controls whether journey content is wrapped in aSafeArea. Defaults totrue(existing behavior). Set tofalsefor edge-to-edge journey pages where backgrounds should extend under system UI (status bar, home indicator)
v7.19.0
Changed (BREAKING)
Connectivewidget redesigned - Flipped semantics from "show when connected" to "show when missing". RemovedonWifi,onMobile,onEthernet,onVpn,onBluetooth,onSatellite,onOther,onNoneparameters in favour of a singlenoInternetparameter that displays a fallback when the device has no internet (wifi, mobile, or ethernet). Migration: replaceonNone: widgetwithnoInternet: widget. UseConnective.builder()for any custom connectivity handling- Removed
showLoadingOnInitandloadingWidgetfromConnective- the initial connectivity check is near-instant, making a loading state unnecessary OfflineBannernow checks for internet absence (wifi/mobile/ethernet) rather thanNyConnectivityState.none, correctly showing the banner when the device only has non-internet connections
Added
- New
NyConnectivity.hasInternet()helper - Checks specifically for wifi, mobile, or ethernet connectivity. Stricter thanisOnline()which passes for any non-none result
Fixed
CollectionView.refreshDatastate action - Re-fetches data explicitly for both pullable and regular modes instead of relying onreboot(), resetting pagination, loading state, and footer state correctly
v7.18.1
Fixed
- CollectionView not updating when parent rebuilds with new data - Sync data callbacks (e.g.
data: () => _filteredList) were only read once due to_syncDataInitializedflag introduced in v7.16.0, breaking filtering/search patterns. AddeddidUpdateWidgetoverride to reset the flag on parent rebuilds while preservingstateActionsbehavior
Added
- CollectionView test coverage - Added 29 tests covering
CollectionItemhelpers, sync/async data, empty states, headers, spacing, transform/sort, separated/grid layouts, parent-driven data updates, and configuration options
v7.18.0
[7.18.0] - 2026-04-11
Added
- New
actingAsGuest()test helper - Semantic alias forlogout()that reads better in test setup - New
expectApiCalledWith()test helper - Assert that an API endpoint was called with specific request data, checking both endpoint and request body via deep equality - New
expectWidgetCount()test helper - Assert that a widget of a given type appears exactly N times - New
expectTextVisible()/expectTextNotVisible()test helpers - Assert text presence or absence in the widget tree - New
expectVisible()/expectNotVisible()test helpers - Assert widget presence or absence using any Finder - New
assertOnRoute()test helper - Assert the current route matches a given route without implying navigation just occurred - New
navigateBack()test helper - Pop the current route and settle, simulating the back button - New
tapText()test helper - Find a widget by text, tap it, and settle in one call - New
fillField()test helper - Tap a form field, enter text, and settle in one call - New
scrollTo()test helper - Scroll until a widget is visible in the nearest Scrollable