nylo_framework
Micro-framework for Flutter that's built to simplify app development for Flutter projects.
7.1.28
2.8K downloads/mo
#4732 most downloaded on pub.dev
nylo-core/framework
What this package is like to depend on
Last release 2 days ago
22 Aug 2026
Ships fairly regularly
a new release about every 2 weeks
Nearly every release is documented
notes for 281 of 294 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
294 releases · first in 2020
51 releases in the last 12 months
see the full history below
Release timeline
294 releases · Aug 2020 to Aug 2026Releases
latest 60 of 294-
7.1.2822 Aug 2026Release notes
Open source →Changed
- Bump
nylo_supportdependency from^7.27.5to^7.28.0, which brings:nameandpathconstructor parameters onNavigationHub, plusNyStatefulWidget.declaredStateName, so a hub and theNavigationHubStateActionsdriving it can agree on a single state name- State names are now built from the page's widget class on both the sending and listening end of a state update — fixes updates being silently dropped in obfuscated builds (
flutter build --obfuscate) NyPageno longer adopts another page's state data on init, andJourneyState.isLastStepno longer reportstruefor a journey with no stepsNyLogger.errornow reports routes whose builder names no page, andNavigationHubStateActionscalls addressing a name no hub listens on
Release notes
Open source →Changed
- Bump
nylo_supportdependency from^7.27.5to^7.28.0, which brings:nameandpathconstructor parameters onNavigationHub, plusNyStatefulWidget.declaredStateName, so a hub and theNavigationHubStateActionsdriving it can agree on a single state name- State names are now built from the page's widget class on both the sending and listening end of a state update — fixes updates being silently dropped in obfuscated builds (
flutter build --obfuscate) NyPageno longer adopts another page's state data on init, andJourneyState.isLastStepno longer reportstruefor a journey with no stepsNyLogger.errornow reports routes whose builder names no page, andNavigationHubStateActionscalls addressing a name no hub listens on
- Bump
-
7.1.2718 Aug 2026Release notes
Open source →Changed
patrolis now a dev dependency (was a regular dependency) and bumped from^4.8.0to^4.9.0— consumer apps no longer pull in patrol transitively; add it to your owndev_dependenciesif your tests use it- Bump
nylo_supportdependency from^7.27.4to^7.27.5 - Bump
flutter_local_notificationsdependency from^22.2.0to^22.3.0 - Analyzer now excludes
build/and platform folders (android/,ios/,web/,windows/,macos/,linux/) inanalysis_options.yaml
Release notes
Open source →Changed
patrolis now a dev dependency (was a regular dependency) and bumped from^4.8.0to^4.9.0— consumer apps no longer pull in patrol transitively; add it to your owndev_dependenciesif your tests use it- Bump
nylo_supportdependency from^7.27.4to^7.27.5 - Bump
flutter_local_notificationsdependency from^22.2.0to^22.3.0 - Analyzer now excludes
build/and platform folders (android/,ios/,web/,windows/,macos/,linux/) inanalysis_options.yaml
-
7.1.2602 Aug 2026Release notes
Open source →Changed
- Bump
nylo_supportdependency from^7.27.3to^7.27.4 - Bump
flutter_local_notificationsdependency from^22.0.1to^22.2.0 - Bump
diodependency from^5.10.0to^5.11.0 - Bump
error_stackdependency from^2.1.4to^2.1.5 - Bump
patroldependency from^4.6.1to^4.8.0
Release notes
Open source →Changed
- Bump
nylo_supportdependency from^7.27.3to^7.27.4 - Bump
flutter_local_notificationsdependency from^22.0.1to^22.2.0 - Bump
diodependency from^5.10.0to^5.11.0 - Bump
error_stackdependency from^2.1.4to^2.1.5 - Bump
patroldependency from^4.6.1to^4.8.0
- Bump
-
7.1.2506 Jul 2026Release notes
Open source →Fixed
- `make:api_service` — acronym-spelled names (e.g. `PaymentsAPIService`) no longer produce a doubled `ApiServiceApiService` class name; the suffix is now stripped case-insensitively and falls back to `api` for suffix-only input
- Generated API service now always imports `package:nylo_framework/nylo_framework.dart` (previously omitted when a custom `--url` was supplied, breaking the `NyApiService` reference)
- Generated `env.g.dart` now escapes single quotes and backslashes in keys and values, so secrets containing `'` or `\` can't break the generated Dart string literal
Changed
- `make:api_service` info hint now points to `bootstrap/decoders.dart` (was `config/decoders.dart`)
- Generated `env.g.dart` adds explicit local variable type annotations and a `dart:typed_data` import (satisfies the `specify_nonobvious_local_variable_types` lint)
- Bump `nylo_support` dependency from `^7.27.2` to `^7.27.3`
- Bump `flutter_local_notifications` dependency from `^22.0.0` to `^22.0.1`
- Bump `dio` dependency from `^5.9.2` to `^5.10.0`
Release notes
Open source →Fixed
make:api_service— acronym-spelled names (e.g.PaymentsAPIService) no longer produce a doubledApiServiceApiServiceclass name; the suffix is now stripped case-insensitively and falls back toapifor suffix-only input- Generated API service now always imports
package:nylo_framework/nylo_framework.dart(previously omitted when a custom--urlwas supplied, breaking theNyApiServicereference) - Generated
env.g.dartnow escapes single quotes and backslashes in keys and values, so secrets containing'or\can't break the generated Dart string literal
Changed
make:api_serviceinfo hint now points tobootstrap/decoders.dart(wasconfig/decoders.dart)- Generated
env.g.dartadds explicit local variable type annotations and adart:typed_dataimport (satisfies thespecify_nonobvious_local_variable_typeslint) - Bump
nylo_supportdependency from^7.27.2to^7.27.3 - Bump
flutter_local_notificationsdependency from^22.0.0to^22.0.1 - Bump
diodependency from^5.9.2to^5.10.0
-
7.1.2407 Jun 2026Release notes
Open source →Changed
- Bump
nylo_supportdependency from^7.27.1to^7.27.2 - Bump
flutter_local_notificationsdependency from^21.0.0to^22.0.0 - Raise minimum environment constraints to Dart
^3.12.0and Flutter>=3.44.0
Release notes
Open source →Changed
- Bump
nylo_supportdependency from^7.27.1to^7.27.2 - Bump
flutter_local_notificationsdependency from^21.0.0to^22.0.0 - Raise minimum environment constraints to Dart
^3.12.0and Flutter>=3.44.0
- Bump
-
7.1.2302 Jun 2026Release notes
Open source →Changed
- Bump
nylo_supportdependency from^7.26.2to^7.27.1 - Bump
patroldependency from^4.6.0to^4.6.1
Release notes
Open source →Changed
- Bump
nylo_supportdependency from^7.26.2to^7.27.1 - Bump
patroldependency from^4.6.0to^4.6.1
- Bump
-
7.1.2227 May 2026Release notes
Open source →Changed
- Improved
make:interceptorMetro stub: added docstrings foronRequest,onResponse, andonError, and replacedsuper.onRequest(...)withhandler.next(options)so the generated interceptor passes the request through explicitly
Release notes
Open source →Changed
- Improved
make:interceptorMetro stub: added docstrings foronRequest,onResponse, andonError, and replacedsuper.onRequest(...)withhandler.next(options)so the generated interceptor passes the request through explicitly
- Improved
-
7.1.2125 May 2026Release notes
Open source →Changed
- Updated
make:state_managed_widgetMetro stub to use the newNyStateManagedAPI withbaseState/idinstead ofstateName, simplifying the generated widget
Release notes
Open source →Changed
- Updated
make:state_managed_widgetMetro stub to use the newNyStateManagedAPI withbaseState/idinstead ofstateName, simplifying the generated widget
- Updated
-
7.1.2023 May 2026Release notes
Open source →Changed
- Bump
nylo_supportdependency from^7.26.1to^7.26.2 - Bump
error_stackdependency from^2.1.3to^2.1.4
Release notes
Open source →Changed
- Bump
nylo_supportdependency from^7.26.1to^7.26.2 - Bump
error_stackdependency from^2.1.3to^2.1.4
- Bump
-
7.1.1923 May 2026Release notes
Open source →Changed
- Bump
nylo_supportdependency from^7.26.0to^7.26.1 - Bump
collectiondependency from^1.18.0to^1.19.1 - Bump
patroldependency from^4.5.0to^4.6.0
Release notes
Open source →Changed
- Bump
nylo_supportdependency from^7.26.0to^7.26.1 - Bump
collectiondependency from^1.18.0to^1.19.1 - Bump
patroldependency from^4.5.0to^4.6.0
- Bump
-
7.1.1821 May 2026Release notes
Open source →Added
- New
make:deep_link_providerMetro command to scaffold a deep link provider pre-wired for Nylo's deep-link capture
Changed
- Bump
nylo_supportdependency from^7.24.2to^7.26.0 - Raise minimum environment constraints to Dart
^3.10.7and Flutter>=3.38.4 - Relax
collectiondependency constraint from^1.19.1to^1.18.0
- New
-
7.1.1710 May 2026Release notes
Open source →Changed
- Bump
nylo_supportdependency from^7.24.1to^7.24.2 - Bump
error_stackdependency from^2.1.2to^2.1.3
- Bump
-
7.1.1610 May 2026 -
7.1.1507 May 2026 -
7.1.1401 May 2026Release notes
Open source →Changed
- Bump
nylo_supportdependency from^7.23.0to^7.23.1 - Bump
error_stackdependency from^2.1.1to^2.1.2
- Bump
-
7.1.1330 Apr 2026Release notes
Open source →Changed
- Bump
nylo_supportdependency from^7.22.0to^7.23.0 - Updated
make:state_managed_widgetstub to use the newNyStateManagedbase widget, enabling multi-instance state isolation viastateName
- Bump
-
7.1.1228 Apr 2026 -
7.1.1128 Apr 2026 -
7.1.1026 Apr 2026Release notes
Open source →Changed
- Bump
nylo_supportdependency from^7.20.0to^7.20.2 - Bump
error_stackdependency from^2.0.1to^2.1.1
- Bump
-
7.1.920 Apr 2026 -
7.1.812 Apr 2026 -
7.1.711 Apr 2026 -
7.1.611 Apr 2026Release notes
Open source →Changed
- Remove
--forceflag frommake:keycommand, now always overwrites existing APP_KEY - Page with controller stub now sets
stateManagedtofalseby default
- Remove
-
7.1.506 Apr 2026Release notes
Open source →Changed
- Remove
--forceflag frommake:envcommand, now always overwrites existingenv.g.dart
- Remove
-
7.1.403 Apr 2026 -
7.1.302 Apr 2026 -
7.1.231 Mar 2026 -
7.1.129 Mar 2026Release notes
Open source →Changed
- Page stub now sets
stateManagedtofalseby default for newly scaffolded pages
- Page stub now sets
-
7.1.029 Mar 2026Release notes
Open source →Added
- Subdirectory support for all
make:*Metro commands — users can now specify paths likemake:stateless_widget login/BrandPanelto organize generated files into subdirectories - Tests for subdirectory parsing, stub generation, and file path creation across all make commands
Changed
- Bump
nylo_supportdependency from^7.11.2to^7.12.0 - Bump
patroldependency from^4.3.0to^4.5.0
- Subdirectory support for all
-
7.0.1512 Mar 2026 -
7.0.1412 Mar 2026Release notes
Open source →Changed
- Bump
nylo_supportdependency from^7.10.0to^7.11.1 - Bump
flutter_local_notificationsdependency from^20.1.0to^21.0.0
- Bump
-
7.0.1309 Mar 2026Release notes
Open source →Changed
- Bump
nylo_supportdependency from^7.9.1to^7.10.0 - Bump
patroldependency from^4.2.0to^4.3.0
- Bump
-
7.0.1206 Mar 2026 -
7.0.1105 Mar 2026Release notes
Open source →Changed
- Bump
nylo_supportdependency from^7.8.1to^7.9.0 - Bump
patroldependency from^4.1.1to^4.2.0
- Bump
-
7.0.1004 Mar 2026Release notes
Open source →Changed
- Bump
nylo_supportdependency from^7.7.0to^7.8.1 - Bump
skeletonizerdependency from^2.1.2to^2.1.3 - Bump
flutter_local_notificationsdependency from^20.0.0to^20.1.0 - Bump
diodependency from^5.9.0to^5.9.2 - Bump
error_stackdependency from^2.0.0to^2.0.1 - Bump
patroldependency from^4.1.0to^4.1.1
- Bump
-
7.0.901 Mar 2026 -
7.0.826 Feb 2026 -
7.0.723 Feb 2026Release notes
Open source →Changed
- Simplify API service stub constructor by removing
BuildContextparameter -- generated API services now use a no-argument constructor withsuper(decoders: modelDecoders) - Remove
package:flutter/material.dartimport from API service stub sinceBuildContextis no longer needed
Fixed
- Fix malformed import statement in API service stub (duplicate
import 'prefix)
- Simplify API service stub constructor by removing
-
7.0.621 Feb 2026 -
7.0.514 Feb 2026 -
7.0.414 Feb 2026 -
7.0.314 Feb 2026Release notes
Open source →Changed
- Bump
nylo_supportdependency from^7.2.0to^7.3.0 - Refine Metro CLI library directive to
library nylo_framework.metrofor clearer sub-library naming
Added
- Dartdoc comment for
JsonDef.customObjectStringgetter
- Bump
-
7.0.212 Feb 2026Release notes
Open source →Changed
- Add explicit return types to
NyCustomCommandmethods:runProcess()returnsFuture<int>,addPackage()andaddPackages()returnFuture<void>,info(),error(),success(), andwarning()returnvoid - Add explicit
List<String>parameter type to all Metromain()entry points and explicitdynamictype toNyJson.tryDecode(),Test.fromJson() - Update form stub init example to use
define()andFormCollection.from()for field configuration - Bump
nylo_supportdependency from^7.1.0to^7.2.0 - Add
lints: ^6.1.0dev dependency andanalysis_options.yamlwithpackage:lints/core.yaml - Improve
NyTheme.set()doc comments for clarity
Added
- Comprehensive dartdoc comments across all public APIs:
NyCustomCommand,ConsoleSpinner,ConsoleTable,ConsoleProgressBar,ApiService, exception classes,CommandBuilder,CommandResult,ClassType,DartCodeGenerator,JsonDef,ValueDef,ListInner, and string extension helpers - Library-level documentation for
nylo_frameworkand Metro CLI
- Add explicit return types to
-
7.0.110 Feb 2026Release notes
Open source →Fixed
- Fix event stub listener parameter name from
eventtodatafor clarity - Add missing
{super.key}to navigation hub stub constructor
- Fix event stub listener parameter name from
-
7.0.006 Feb 2026Release notes
Open source →Added
- New modular command system - All Metro CLI commands are now individual classes under
lib/metro/commands/make/, each extendingNyCustomCommandwith a builder pattern. Commands are registered inbuilt_in_commands.dartas a simple map lookup make:bottom_sheet_modalcommand - Generate bottom sheet modal widgets with auto-registration inbottom_sheet_modals.dartmake:buttoncommand - Generate button widgets with auto-registration in theButtonclassmake:envcommand - Generate an encryptedenv.g.dartfile from your.envfile using XOR encryption with APP_KEY. Supports--dart-definemode for build-time key injectionmake:keycommand - Generate a secure 32-character APP_KEY for environment variable encryption- New
env_stub.dart- Stub for generating encrypted environment configuration class with automatic type parsing and caching - New
bottom_sheet_modal_stub.dart- Stub for generating bottom sheet modal widgets and their static registration methods - New
button_stub.dart- Stub for generating button widgets and their static registration methods - New
lib/metro/helpers/metro_helpers.dart- ExtractedNyJsonhelper class andcreateNyloModelhelper function - New
lib/app/directory - Added app directory structure with example model - Extensive new helper methods in
NyCustomCommand:- Output helpers:
line(),newLine(),comment(),alert() - File system helpers:
fileExists(),directoryExists(),readFile(),readFileSync(),writeFile(),writeFileSync(),appendFile(),ensureDirectory(),deleteFile(),copyFile() - Environment helpers:
env(),isWindows,isMacOS,isLinux,workingDirectory - Input helpers:
ask()(alias for prompt),promptSecret()for hidden input - Control flow:
abort()to exit with error - Table display:
table()withConsoleTableclass for formatted ASCII tables - Progress bar:
progressBar()withConsoleProgressBarclass - String case conversion:
snakeCase(),camelCase(),pascalCase(),titleCase(),kebabCase(),constantCase() - Flutter project path helpers:
modelsPath,controllersPath,widgetsPath,pagesPath,commandsPath,configPath,providersPath,eventsPath,networkingPath,themesPath,projectPath() - File scaffolding:
scaffold(),scaffoldMany()withScaffoldFileclass - JSON/YAML helpers:
readJson(),readJsonArray(),writeJson(),appendToJsonArray(),readYaml() - Dart/Flutter command helpers:
dartFormat(),dartAnalyze(),flutterPubGet(),flutterClean(),flutterBuild(),flutterTest() - Dart file manipulation:
addImport(),insertBeforeClosingBrace(),fileContains(),fileContainsPattern() - Directory helpers:
listDirectory(),findFiles(),deleteDirectory(),copyDirectory() - Validation:
isValidDartIdentifier(),requireArgument(),cleanClassName(),cleanFileName() - Task runner:
runTasks(),runTasksWithSpinner()withCommandTaskclass
- Output helpers:
- New
ConsoleTableclass - Renders formatted ASCII tables with box-drawing characters and bold headers - New
ConsoleProgressBarclass - Displays progress bars with percentage tracking, tick/update/complete controls - New
SpinnerExtensionmethods -withProgress()andwithProgressSync()for processing lists with progress bars - New
ScaffoldFileclass - Data class for batch file scaffolding operations - New
CommandTaskclass - Data class for task runner operations with optional stop-on-error CommandResult.hasHelpFlagandhasForceFlagconvenience getters- New
flutter_local_notificationsexport innylo_framework.dart - New dependency:
patrol(^4.1.0) for testing - New dependency:
yaml(^3.1.3) for YAML file parsing - New dependency:
rename(^3.1.0) as dev dependency - New
executablessection in pubspec.yaml -metro: mainfor direct CLI invocation - Comprehensive test suite - New test directories:
test/commands/,test/console/,test/json_dart_generator/,test/metro/,test/stubs/with tests for command builder, console components, spinner, JSON processing, scaffold files, menu display, stubs, and API exceptions NyThemeclass overhaul - New static methods:currentId(),current(),themeData(),isDark(),colors<T>(),setFollowSystem(),isFollowingSystem(),getById(),all(),lightThemes(),darkThemes(),getByType(),setPreferredDark(),setPreferredLight(),preferredDarkId(),preferredLightId(),clearSavedTheme()NyTheme.set()now supportsrememberparameter - Sets preferred theme for system theme following
Changed
- Metro CLI entry point (
bin/main.dart) rewritten - Now uses direct command map lookup viabuiltInCommandsinstead of routing through the oldmetro.dartmonolithic handler. Shows menu on no arguments, supports custom command discovery - Framework exports simplified (
lib/nylo_framework.dart) - Replaced 18+ individualnylo_supportexports with singleexport 'package:nylo_support/ny_core.dart're-export NyCustomCommand.run()is now async (Future<void> run()) and properly awaitshandle()NyCustomCommandexports updated - Now exports frompackage:nylo_support/metro/ny_metro.dartand/metro/helpers/metro_helpers.dartinstead of multiple individual support package pathsCommandBuilderconstructor - No longer auto-adds--helpflag by defaultCommandResultreturn types made nullable -getString(),getBool(),getInt()now return nullable types with nullable defaults instead of non-nullable with required defaults- Provider stub updated -
boot()renamed tosetup(),afterBoot()replaced withboot()(called after all providers are setup) - Route guard stub updated -
onRequest(PageRequest)replaced withonBefore(RouteContext)returningFuture<GuardResult>, with new context helpers (context.data,context.queryParameters,context.routeName,context.context) - Form stub updated -
NyFormDatarenamed toNyFormWidget, constructor usessuper.key,super.submitButton,super.onSubmit,super.onFailure. Fields useFormCollection.fromArray()for picker options,validatorinstead ofvalidate, removedstyle: "compact". Added staticNyFormActionsgetter - API service stub updated - Import path changed from
/config/decoders.dartto/bootstrap/decoders.dart, addedinterceptorsgetter override - Config stub updated - Now generates a
final classwith static members instead of loose comments, docs link updated to 7.x - Custom command stub updated - Simplified usage docs (removed duplicate terminal/metro instructions)
- Navigation hub stub rewritten - Now accepts
layoutBuilder,imports, andnavigationEntriesparameters. Layout useslayout(BuildContext context)method instead of property assignment. AddedinitialIndexoverride. Navigation pages use a synchronous map constructorsuper(() => {...})instead of async - Navigation hub creation (
make:navigation_hub) - Now interactive: prompts for layout type (navigation_tabs or journey_states) and child names. Generates hub and child widgets under organized folder structure (navigation_hubs/<hub>/tabs/ornavigation_hubs/<hub>/states/) - Journey state stub improved - New
isLastStepparameter. Last step getsonJourneyCompletecallback. Navigation buttons (Back/Continue) now built inline. RemovedonCannotContinue()andonAfterNext()overrides. Updated to usenextStepinstead ofonNextPressed - Model stub formatting - Removed extra blank lines for cleaner output
- State managed widget stub updated - Added static
action()method for easier state action invocation. Updated example comments to use newFollow.action()pattern. Simplifiedinitto synchronous - Stateful widget stub updated -
widgetStatefulStub()now accepts optionalcontentparameter NyTheme.set()is now async and delegates toNyThemeManager.instance.setTheme()instead ofThemeProvider- JSON dart generator fixes -
findCustomObject()now returns nullableValueDef?with proper null checks,isStructSamehandles empty list comparison,_summarizeDatalist merging fixed with propernonNulls.toList()chain, fromJson uses correct key reference - README.md - All documentation links updated from
6.xto7.x - LICENSE - Copyright year updated to 2026
- pubspec.yaml updates:
- Repository URL updated to
7.xbranch nylo_supportdependency changed to path reference (path: ../support)skeletonizerupdated to^2.1.2error_stackupdated to^2.0.0- Added
flutter_local_notifications: ^20.0.0 - Added
yaml: ^3.1.3 - Added
patrol: ^4.1.0 - Added
rename: ^3.1.0(dev dependency) - Added
executablessection withmetro: main - Added
uses-material-design: true
- Repository URL updated to
Removed
lib/metro/metro.dart- Monolithic 1,400+ line command handler replaced by modular command classeslib/cli_dialog/directory - Entire CLI dialog library removed (7 files:cli_dialog.dart,dialog.dart,keys.dart,list_chooser.dart,services.dart,stdin_service.dart,stdout_service.dart,xterm.dart)lib/metro/stubs/theme_stub.dart- Theme generation stub removedlib/metro/stubs/theme_colors_stub.dart- Theme colors generation stub removedlib/metro/stubs/network_method_stub.dart- Network method stub removedlib/metro/stubs/postman_api_service_stub.dart- Postman API service stub removedmake:themecommand - Removed from Metro CLI menuNyCustomCommand.makeFile()method - Removed in favor ofscaffold()andwriteFile()helperstheme_providerdependency - Replaced byNyThemeManagerfrom nylo_supportflutter_secure_storagedependency - Removed from direct exportsflutter_dotenvdependency - Removed (replaced by encrypted env system)- Individual nylo_support exports - 18+ individual exports replaced by single
ny_core.dartbarrel export nyloVersionupdated fromv6.9.2tov7.0.0
- New modular command system - All Metro CLI commands are now individual classes under
-
6.9.213 Dec 2025Nothing published for this version
-
6.9.114 Nov 2025Nothing published for this version
-
6.9.028 Oct 2025Nothing published for this version
-
6.8.1812 Oct 2025Nothing published for this version
-
6.8.1722 Sep 2025Nothing published for this version
-
6.8.1606 Sep 2025Nothing published for this version
-
6.8.1504 Aug 2025 -
6.8.1317 Jul 2025 -
6.8.1214 Jul 2025 -
6.8.1102 Jul 2025 -
6.8.1024 Jun 2025 -
6.8.923 Jun 2025 -
6.8.819 Jun 2025 -
6.8.723 May 2025 -
6.8.608 May 2025