Skip to content

Releases: nylo-core/support

v7.20.2

26 Apr 07:58

Choose a tag to compare

Changed

  • Bumped error_stack dependency from ^2.0.1 to ^2.1.1

v7.20.1

26 Apr 07:32

Choose a tag to compare

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 pattern await 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_plus dependency from ^1.2.8 to ^1.2.9

v7.20.0

20 Apr 06:31

Choose a tag to compare

[7.20.0] - 2026-04-20

Added

  • New useSafeArea option on NavigationHubLayout.journey() - Controls whether journey content is wrapped in a SafeArea. Defaults to true (existing behavior). Set to false for edge-to-edge journey pages where backgrounds should extend under system UI (status bar, home indicator)

v7.19.0

12 Apr 04:00

Choose a tag to compare

Changed (BREAKING)

  • Connective widget redesigned - Flipped semantics from "show when connected" to "show when missing". Removed onWifi, onMobile, onEthernet, onVpn, onBluetooth, onSatellite, onOther, onNone parameters in favour of a single noInternet parameter that displays a fallback when the device has no internet (wifi, mobile, or ethernet). Migration: replace onNone: widget with noInternet: widget. Use Connective.builder() for any custom connectivity handling
  • Removed showLoadingOnInit and loadingWidget from Connective - the initial connectivity check is near-instant, making a loading state unnecessary
  • OfflineBanner now checks for internet absence (wifi/mobile/ethernet) rather than NyConnectivityState.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 than isOnline() which passes for any non-none result

Fixed

  • CollectionView.refreshData state action - Re-fetches data explicitly for both pullable and regular modes instead of relying on reboot(), resetting pagination, loading state, and footer state correctly

v7.18.1

11 Apr 12:13

Choose a tag to compare

Fixed

  • CollectionView not updating when parent rebuilds with new data - Sync data callbacks (e.g. data: () => _filteredList) were only read once due to _syncDataInitialized flag introduced in v7.16.0, breaking filtering/search patterns. Added didUpdateWidget override to reset the flag on parent rebuilds while preserving stateActions behavior

Added

  • CollectionView test coverage - Added 29 tests covering CollectionItem helpers, sync/async data, empty states, headers, spacing, transform/sort, separated/grid layouts, parent-driven data updates, and configuration options

v7.18.0

11 Apr 11:41

Choose a tag to compare

[7.18.0] - 2026-04-11

Added

  • New actingAsGuest() test helper - Semantic alias for logout() 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

v7.17.0

11 Apr 11:23

Choose a tag to compare

[7.17.0] - 2026-04-11

Added

  • New visit() test helper - Pump a route with full Nylo navigation support, setting up MaterialApp with the NyRouter's route generator, navigator key, and route history observer so that routeTo navigation works correctly in tests
  • New assertNavigatedTo() test helper - Assert that the app navigated to a given route by checking Nylo.getCurrentRouteName() matches the expected route path
  • New settle() test helper - A readable alias for pumpAndSettle that waits for all animations, frame callbacks, and pending UI updates to complete

v7.15.0

06 Apr 04:45

Choose a tag to compare

Added

  • Environment variable interpolation in NyEnvRegistry - String env values now support ${VAR_NAME} syntax to reference other env keys. For example, APP_URL=https://${APP_DOMAIN} will resolve by looking up APP_DOMAIN. Supports chained references, non-string value conversion, and circular reference protection

v7.14.1

03 Apr 02:53

Choose a tag to compare

Fixed

  • bottomToTop and topToBottom page transitions animating the previous route - Added canTransitionFrom override to PageTransition that returns false for bottomToTop and topToBottom transition types, preventing the outgoing page from sliding away during modal-style transitions

v7.14.0

02 Apr 05:29

Choose a tag to compare

Added

  • isDismissible and enableDrag parameters for NyBaseModal.show() - New optional parameters to control whether the modal can be dismissed by tapping the barrier (isDismissible, defaults to true) and whether the modal supports drag-to-dismiss gestures (enableDrag, defaults to true). Both are passed through to the underlying showModalBottomSheet