Skip to content

Releases: nylo-core/support

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

v7.13.0

31 Mar 10:53

Choose a tag to compare

What's New

Added

  • Satellite connectivity support for Connective widget and NyConnectivityState - Added satellite value to the NyConnectivityState enum with mapping from ConnectivityResult.satellite, and added onSatellite widget parameter to Connective for rendering satellite-specific UI
  • Wildcard * key for StyledText.template styles and onTap - When no exact or pipe-delimited key matches a placeholder, the styles/onTap map now falls back to a * wildcard key, allowing a single style or tap handler to apply to all placeholders

Changed

  • Updated dependency constraint: connectivity_plus ^7.1.0

v7.12.0

29 Mar 13:17

Choose a tag to compare

[7.12.0] - 2026-03-29

Added

  • creationPath support for Metro scaffolding commands - Provider, route guard, form, and event scaffolding commands now support creationPath using createPathForDartFile and createDirectoriesFromCreationPath for consistent nested directory path handling
  • setState callback parameter for NyFieldBuilder - The NyFieldBuilder typedef now includes a setState callback parameter. A NyFieldBuilderLegacy typedef is available for backward compatibility. Field.builder accepts both signatures

Changed

  • Updated dependency constraints: flutter_timezone ^5.0.2, patrol ^4.5.0

v7.11.2

12 Mar 04:29

Choose a tag to compare

Fixed

  • Response data unavailable in handleSuccess/handleFailure callbacks - When skipMorph was true (a callback was provided), morphedData was left null, so nyResponse.data was inaccessible inside the callback. The raw response data is now passed through to morphedData when the type matches, allowing callbacks to access nyResponse.data