Skip to content

Releases: nylo-core/support

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

v7.11.1

12 Mar 03:39

Choose a tag to compare

[7.11.1] - 2026-03-12

Fixed

  • toast-oops calling wrong toast method - The toast-oops state action was incorrectly calling showToastInfo() instead of showToastOops(), causing oops-style toasts to display as info-style toasts
  • Field.password() not respecting viewable parameter - The viewable parameter was not being passed through to FieldStyleTextField.password(), so the password visibility toggle setting was ignored when constructing password fields

Changed

  • NyPage.initState() state name resolution - The state name for NyStatefulWidget is now resolved unconditionally in initState(), rather than only when stateManaged is true. The event bus subscription logic is now a single stateManaged && allowStateUpdates check with reduced nesting
  • Updated dependency constraints: flutter_local_notifications ^21.0.0, timezone ^0.11.0, patrol ^4.3.0

v7.11.0

11 Mar 05:52

Choose a tag to compare

What's Changed

Added

  • action() method on StateActions — New convenience method to call stateAction() directly from any StateActions instance, accepting an action name and optional data parameter

Fixed

  • Controller not initialized before init() in NyPage and NyState — The controller is now eagerly constructed with the current context if it hasn't been initialized yet, and the widget's state name is propagated to the controller before use. This fixes issues where the controller was not ready during early lifecycle methods

v7.10.0

09 Mar 04:54

Choose a tag to compare

What's New

Added

  • enableInteractiveSelection for InputField and FieldStyleTextField - New parameter to control whether text selection handles and toolbar are shown. Available on InputField, InputField.compact, InputField.password, InputField.email, InputField.fromFieldStyleText, and FieldStyleTextField

Fixed

  • FieldStyleTextField.copyWith losing existing values - Parameters like textCapitalization, maxLengthEnforcement, onAppPrivateCommand, inputFormatters, cursorWidth, dragStartBehavior, and clipBehavior now correctly fall back to this.xxx instead of overriding with hardcoded defaults

v7.9.1

06 Mar 10:56

Choose a tag to compare

Fixed

  • Form submit button not calling onSubmit - Fixed ButtonState passing NyFormData.stateName (already prefixed with form_) to NyFormWidget.submit(), which added the prefix again resulting in form_form_FormName. Now correctly passes NyFormData.name so the state name resolves properly

v7.9.0

05 Mar 06:32

Choose a tag to compare

[7.9.0] - 2026-03-05

Added

  • Data-aware toast notification styles - Toast styles can now receive dynamic data at call time via a new ToastStyleDataFactory typedef. Register data-aware styles with registerWithData() or pass both static and data-aware factories to registerAll() and addToastNotifications()
  • data parameter for toast helpers - Added optional data parameter to showToastNotification(), NyBaseState.showToast(), NyBaseState.showToastCustom(), NyController.showToastCustom(), and StateAction.showToastCustom() to pass custom key-value pairs to data-aware toast styles
  • ToastNotificationRegistry.resolve() - New method that resolves a toast style by ID and passes data to data-aware factories, replacing direct get() calls internally
  • enablePullDown parameter for CollectionView - Added enablePullDown option to all CollectionView constructors (.list, .separated, .grid, .pullable, .pullableSeparated, .pullableGrid) to control whether pull-to-refresh is enabled

Changed

  • Renamed API pagination parameters - queryParamPage renamed to paramPage and queryParamPerPage/queryNamePerPage renamed to paramPerPage in nyApi() and api() helpers for consistency
  • NyFormWidget state methods use stateAction() - Refactored stateSetValue(), stateSetOptions(), clearField(), and submit() to use stateAction() instead of updateState() for correct form state dispatch

v7.8.1

04 Mar 03:07

Choose a tag to compare

Changed

  • Updated dependency constraints: dio ^5.9.2, skeletonizer ^2.1.3, error_stack ^2.0.1, app_badge_plus ^1.2.7, uuid ^4.5.3, characters ^1.4.1, ffi ^2.2.0, patrol ^4.1.1

v7.8.0

03 Mar 03:52

Choose a tag to compare

What's New

Added

  • NavigationHubStateActions.refreshTab() - Refresh a specific tab by index, forcing it to rebuild with a new UniqueKey
  • NavigationHubStateActions.refresh() - Refresh all tabs in the navigation hub, forcing them all to rebuild
  • rootNavigator parameter for pop() - Added rootNavigator option to NyBaseState.pop(), NyController.pop(), StateAction.pop(), and BuildContext.pop() to support popping from the root navigator when using nested navigation

v7.7.1

02 Mar 09:39

Choose a tag to compare

[7.7.1] - 2026-03-02

Fixed

  • ArgumentsWrapper JSON serialization crash - Route arguments containing non-serializable objects (e.g. model instances, enums) would throw a JsonUnsupportedObjectError when Flutter's NavigatorState called jsonEncode during state restoration or post-navigation logging. A new _safeEncode() helper now recursively converts non-primitive values to safe representations before encoding
  • Missing toJson() on ArgumentsWrapper - Added toJson() method required by Flutter's NavigatorState for JSON encoding route arguments

v7.6.0

26 Feb 04:55

Choose a tag to compare

What's New in 7.6.0

Added

  • Backpack.read<T>() now auto-deserializes raw Map<String, dynamic> values into typed models and caches the result
  • LanguageSwitcher list items show a CircularProgressIndicator while the language switch processes

Fixed

  • CollectionView updated from deprecated findChildIndexCallback to findItemIndexCallback for Flutter SDK compatibility
  • LanguageSwitcher modal now closes immediately on selection instead of waiting for async operations

Changed

  • Type checking in Backpack and NyStorage refactored from _isType<T, U>() / T.toString() to direct T == Type comparisons
  • _LanguageListItem.onTap changed from VoidCallback to Future<void> Function() for async support

Tests

  • 4 new tests for Backpack Map deserialization
  • 3 new tests for NyStorage model deserialization