NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #4635 most downloaded on pub.dev
Micro-framework for Flutter that's built to simplify app development for Flutter projects.
Last release 8 days ago
30 Sep 2026
Ships fairly regularly
a new release about every 2 weeks
Nearly every release is documented
notes for 54 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
303 releases · first in 2020
One column per quarter.
Bump nylo_support dependency from ^7.31.1 to ^7.31.2 , which brings:
nylo_support dependency from ^7.31.1 to ^7.31.2, which brings:
monitorAppUsage() on, that launch goes unrecorded and the error is logged instead of thrown out of the bootsetLoading works after its page has closed, so async work that finishes late, such as a CollectionView refresh, no longer calls setState on a disposed stateBump nylo_support dependency from ^7.31.0 to ^7.31.1 , whose handleFailure works when a request throws (by default, any status outside 2xx). A callbac
nylo_support dependency from ^7.31.0 to ^7.31.1, whose handleFailure works when a request throws (by default, any status outside 2xx). A callback that returns nothing, plain or async, gets the error response, and one that returns a value gets that value as the response's data; both used to end in a TypeErrorBump nylo_support dependency from ^7.30.1 to ^7.31.0 , which brings:
nylo_support dependency from ^7.30.1 to ^7.31.0, which brings:
Storage facade, e.g. disk('documents').put('reports/q3.pdf', bytes) or FileStorage.put(...) for the default disk. local, documents, cache, temp and assets disks work without any configuration, and nylo.configure(disks: ..., defaultDisk: ...) adds your own. putFile stores an XFile from image_picker, file_picker or camera, DiskImage shows a stored image, and FileStorage.fake() and FakeFile cover tests (NyTest.init() fakes every writable disk)lockRelease(onError:), which receives an Exception thrown by perform once the lock is releasedField.date stays empty until a date is chosen, Field.picker grows to fit larger text, Field.chips shows which chips are selected in dark mode, and the password visibility toggle is a labelled buttonmetro make:seeder 's generated lib/bootstrap/seeders.dart comment drops the "release builds get an empty map" note and reflows the "no need to edit th
metro make:seeder's generated lib/bootstrap/seeders.dart comment drops the "release builds get an empty map" note and reflows the "no need to edit this file" linepackage:nylo_framework/nylo_framework.dart exports Flutter's painting API again ( Locale , Color , TextStyle , EdgeInsets , BorderRadius , BoxDecorati
package:nylo_framework/nylo_framework.dart exports Flutter's painting API again (Locale, Color, TextStyle, EdgeInsets, BorderRadius, BoxDecoration, ...). It used to arrive through skeletonizer 2, which exports package:flutter/painting.dart; skeletonizer 3 doesn't, so in 7.2.0 and 7.2.1 a file that used these types with only the nylo_framework import stopped compiling, e.g. List<Locale> supportedLocales in the boilerplate's lib/config/localization.dart. nylo_framework now exports package:flutter/painting.dart itselfBump nylo_support dependency from ^7.30.0 to ^7.30.1 , whose dartdoc for Seeder , StorageSnapshot , LiveCommand and Nylo.addSeeders now names the comm
nylo_support dependency from ^7.30.0 to ^7.30.1, whose dartdoc for Seeder, StorageSnapshot, LiveCommand and Nylo.addSeeders now names the commands you type inside metro live (seed, seed:rollback, export, seed <file>) instead of metro live:* commands that don't existNylo Live - Metro can now reach into your app while it runs in debug mode, through the Dart VM service. It finds the running app through the Dart Tool
metro live - Opens a shell connected to the running app, where live commands drop their prefix (status, route /profile). The prompt shows the device and current route, Tab completes commands, options, routes, storage keys and seeders, history is kept in .dart_tool/nylo/live_history, and the shell reconnects when the app restarts. seed, seed:rollback, export, reload and restart only run inside the shell. Piping a file in (metro live < seeds/demo.live) runs it one line at a time and stops at the first command that failsmetro live:devices - Lists this project's running apps, numbered for -dmetro live:status - Shows the app, device, build mode, current route and stack, locale, theme, and whether a user is signed inmetro live:run <command> - Runs a built-in command: data (the page on screen, the route data it was opened with, and its state's own fields), routes, route, back, deeplink (also lists the link schemes declared in your iOS and Android config), storage, storage:clear, backpack, auth, locale, theme, state, event and toast-d/--device <#|name>, --all (every running app), --json, --uri (a VM service address, skipping discovery) and --timeout. An option value written @path is read from that file, e.g. --data @user.json (@@ for a literal @)metro make:command <name> --live creates a LiveCommand, which runs inside your app and has the same builder/handle shape as a Metro command. Metro marks it "type": "live" in lib/app/commands/commands.json, registers it in lib/bootstrap/live_commands.dart (an empty map in release builds) and passes liveCommands to nylo.configure in app_provider.dart. Run it with metro <category>:<name> while the app is running. --description sets the line shown for it under [Live Commands] in the Metro menumetro make:seeder <name> creates a Seeder in lib/app/seeders/, registers it in lib/bootstrap/seeders.dart and passes seeders to nylo.configure. Inside metro live, seed <name> runs its up() and seed:rollback <name> puts back every storage and Backpack value it changed; seed on its own lists the seeders. --fresh clears storage and Backpack first, and --restart hot restarts the app afterwardsexport [name] inside metro live saves the app's storage and Backpack as a seeder in lib/app/seeders/, or as a JSON file with --to, and seed <file> loads a snapshot file back. --only and --except take comma-separated keys with * wildcards, and --no-backpack leaves Backpack out. Models, and any class with a registered decoder, come back as their own class. export warns when the snapshot holds keys that look like credentialsmake:page adds static final actions = path.actions; to the page class, so other code can call it, e.g. HomePage.actions.showToast("hello")package:nylo_framework/live.dart exports the live API (LiveCommand, Seeder, StorageSnapshot, LiveException, LiveOutput) for live commands and seedersmake:page (with or without --controller) now generates bool get stateManaged => true instead of false, so the page receives the actions sent to it. Existing pages are unchanged; to call one through actions, add both lines to it[Live Commands] section listing live, live:devices, live:status and live:run, followed by the project's own live commands (listed there instead of under [Custom Commands])nylo_support dependency from ^7.29.0 to ^7.30.0, which brings:
Seeder, StorageSnapshot and typed page actions (PageStateActions)nylo.* translation keys, used when your lang/ files don't have the keyNyFormWidget.submit returns a Future<void> that completes once onSuccess or onFailure has finishedlockRelease releases its lock whatever perform throws, and LocalNotification falls back to an inexact alarm on Android 14+ when exact alarms aren't permittedskeletonizer dependency from ^2.1.3 to ^3.0.0, which nylo_support 7.30.0 also requires. Skeletonizer 3 breaks apps that use its API directly through nylo_framework's export: SkeletonizerConfigData is no longer a ThemeExtension (provide it with SkeletonizerConfig(data: ..., child: ...)), SkeletonizerConfigData.light() and .dark() are removed, and BoneButtonType.elevated/filled/text are renamed to prominent/prominent/plain. Code that only uses Nylo's LoadingStyle.skeletonizer() needs no changesflutter_local_notifications dependency from ^22.3.0 to ^22.3.1patrol dev dependency from ^4.9.0 to ^4.10.0actions/checkout@v5 (was @v3)make:api_service stops with exit code 1 when the file already exists and --force isn't passed. It used to print "already exists" and carry on, reformatting the existing file and exiting 0Bump dio dependency from ^5.11.0 to ^5.11.1
dio dependency from ^5.11.0 to ^5.11.1yaml dependency from ^3.1.3 to ^3.1.4make:button stub now uses explicit type annotations instead of inferred types in its generated codeMetro discovers commands shipped by packages - When a dependency of your project contains a metro_commands.json file at its root, its commands appear
metro_commands.json file at its root, its commands appear in the metro menu under [<package> Commands] and run like any other command, e.g. metro tenant:create. Nothing needs to be registered in the project. The "Package Commands" section of the Commands documentation covers how to ship commands in a packagemetro now exits with the exit code of the custom command it ran, instead of always 0make:page), or with a command from another source, is skipped with a warning naming both sides instead of being listed but never runnylo_support dependency from ^7.28.0 to ^7.29.0Bump nylo_support dependency from ^7.27.5 to ^7.28.0 , which brings:
nylo_support dependency from ^7.27.5 to ^7.28.0, which brings:
name and path constructor parameters on NavigationHub, plus NyStatefulWidget.declaredStateName, so a hub and the NavigationHubStateActions driving it can agree on a single state nameflutter build --obfuscate)NyPage no longer adopts another page's state data on init, and JourneyState.isLastStep no longer reports true for a journey with no stepsNyLogger.error now reports routes whose builder names no page, and NavigationHubStateActions calls addressing a name no hub listens onpatrol is now a dev dependency (was a regular dependency) and bumped from ^4.8.0 to ^4.9.0 — consumer apps no longer pull in patrol transitively; add
patrol is now a dev dependency (was a regular dependency) and bumped from ^4.8.0 to ^4.9.0 — consumer apps no longer pull in patrol transitively; add it to your own dev_dependencies if your tests use itnylo_support dependency from ^7.27.4 to ^7.27.5flutter_local_notifications dependency from ^22.2.0 to ^22.3.0build/ and platform folders (android/, ios/, web/, windows/, macos/, linux/) in analysis_options.yamlBump nylo_support dependency from ^7.27.3 to ^7.27.4
nylo_support dependency from ^7.27.3 to ^7.27.4flutter_local_notifications dependency from ^22.0.1 to ^22.2.0dio dependency from ^5.10.0 to ^5.11.0error_stack dependency from ^2.1.4 to ^2.1.5patrol dependency from ^4.6.1 to ^4.8.0make:api_service — acronym-spelled names (e.g. PaymentsAPIService) no longer produce a doubled ApiServiceApiService class name; the suffix is now stri
Bump nylo_support dependency from ^7.27.1 to ^7.27.2
nylo_support dependency from ^7.27.1 to ^7.27.2flutter_local_notifications dependency from ^21.0.0 to ^22.0.0^3.12.0 and Flutter >=3.44.0Bump nylo_support dependency from ^7.26.2 to ^7.27.1
nylo_support dependency from ^7.26.2 to ^7.27.1patrol dependency from ^4.6.0 to ^4.6.1Improved make:interceptor Metro stub: added docstrings for onRequest , onResponse , and onError , and replaced super.onRequest(...) with handler.next(
make:interceptor Metro stub: added docstrings for onRequest, onResponse, and onError, and replaced super.onRequest(...) with handler.next(options) so the generated interceptor passes the request through explicitlyUpdated make:state_managed_widget Metro stub to use the new NyStateManaged API with baseState / id instead of stateName , simplifying the generated wi
make:state_managed_widget Metro stub to use the new NyStateManaged API with baseState/id instead of stateName, simplifying the generated widgetBump nylo_support dependency from ^7.26.1 to ^7.26.2
nylo_support dependency from ^7.26.1 to ^7.26.2error_stack dependency from ^2.1.3 to ^2.1.4Bump nylo_support dependency from ^7.26.0 to ^7.26.1
nylo_support dependency from ^7.26.0 to ^7.26.1collection dependency from ^1.18.0 to ^1.19.1patrol dependency from ^4.5.0 to ^4.6.0New make:deep_link_provider Metro command to scaffold a deep link provider pre-wired for Nylo's deep-link capture
make:deep_link_provider Metro command to scaffold a deep link provider pre-wired for Nylo's deep-link capturenylo_support dependency from ^7.24.2 to ^7.26.0^3.10.7 and Flutter >=3.38.4collection dependency constraint from ^1.19.1 to ^1.18.0Bump nylo_support dependency from ^7.24.1 to ^7.24.2
nylo_support dependency from ^7.24.1 to ^7.24.2error_stack dependency from ^2.1.2 to ^2.1.3Bump nylo_support dependency from ^7.24.0 to ^7.24.1
nylo_support dependency from ^7.24.0 to ^7.24.1Bump nylo_support dependency from ^7.23.1 to ^7.24.0
nylo_support dependency from ^7.23.1 to ^7.24.0Bump nylo_support dependency from ^7.23.0 to ^7.23.1
nylo_support dependency from ^7.23.0 to ^7.23.1error_stack dependency from ^2.1.1 to ^2.1.2Bump nylo_support dependency from ^7.22.0 to ^7.23.0
nylo_support dependency from ^7.22.0 to ^7.23.0make:state_managed_widget stub to use the new NyStateManaged base widget, enabling multi-instance state isolation via stateNameBump nylo_support dependency from ^7.21.0 to ^7.22.0
nylo_support dependency from ^7.21.0 to ^7.22.0Bump nylo_support dependency from ^7.20.2 to ^7.21.0
nylo_support dependency from ^7.20.2 to ^7.21.0Bump nylo_support dependency from ^7.20.0 to ^7.20.2
nylo_support dependency from ^7.20.0 to ^7.20.2error_stack dependency from ^2.0.1 to ^2.1.1Bump nylo_support dependency from ^7.19.0 to ^7.20.0
nylo_support dependency from ^7.19.0 to ^7.20.0Bump nylo_support dependency from ^7.18.1 to ^7.19.0
nylo_support dependency from ^7.18.1 to ^7.19.0Bump nylo_support dependency from ^7.16.0 to ^7.18.1
nylo_support dependency from ^7.16.0 to ^7.18.1Remove --force flag from make:key command, now always overwrites existing APP_KEY
--force flag from make:key command, now always overwrites existing APP_KEYstateManaged to false by defaultRemove --force flag from make:env command, now always overwrites existing env.g.dart
--force flag from make:env command, now always overwrites existing env.g.dartBump nylo_support dependency from ^7.14.0 to ^7.14.1
nylo_support dependency from ^7.14.0 to ^7.14.1Bump nylo_support dependency from ^7.13.0 to ^7.14.0
nylo_support dependency from ^7.13.0 to ^7.14.0Bump nylo_support dependency from ^7.12.0 to ^7.13.0
nylo_support dependency from ^7.12.0 to ^7.13.0Page stub now sets stateManaged to false by default for newly scaffolded pages
stateManaged to false by default for newly scaffolded pagesSubdirectory support for all make:* Metro commands — users can now specify paths like make:stateless_widget login/BrandPanel to organize generated fil
make:* Metro commands — users can now specify paths like make:stateless_widget login/BrandPanel to organize generated files into subdirectoriesnylo_support dependency from ^7.11.2 to ^7.12.0patrol dependency from ^4.3.0 to ^4.5.0Bump nylo_support dependency from ^7.11.1 to ^7.11.2
nylo_support dependency from ^7.11.1 to ^7.11.2Bump nylo_support dependency from ^7.10.0 to ^7.11.1
nylo_support dependency from ^7.10.0 to ^7.11.1flutter_local_notifications dependency from ^20.1.0 to ^21.0.0Bump nylo_support dependency from ^7.9.1 to ^7.10.0
nylo_support dependency from ^7.9.1 to ^7.10.0patrol dependency from ^4.2.0 to ^4.3.0Bump nylo_support dependency from ^7.9.0 to ^7.9.1
nylo_support dependency from ^7.9.0 to ^7.9.1Bump nylo_support dependency from ^7.8.1 to ^7.9.0
nylo_support dependency from ^7.8.1 to ^7.9.0patrol dependency from ^4.1.1 to ^4.2.0Bump nylo_support dependency from ^7.7.0 to ^7.8.1
nylo_support dependency from ^7.7.0 to ^7.8.1skeletonizer dependency from ^2.1.2 to ^2.1.3flutter_local_notifications dependency from ^20.0.0 to ^20.1.0dio dependency from ^5.9.0 to ^5.9.2error_stack dependency from ^2.0.0 to ^2.0.1patrol dependency from ^4.1.0 to ^4.1.1Bump nylo_support dependency from ^7.6.0 to ^7.7.0
nylo_support dependency from ^7.6.0 to ^7.7.0Bump nylo_support dependency from ^7.5.0 to ^7.6.0
nylo_support dependency from ^7.5.0 to ^7.6.0Simplify API service stub constructor by removing BuildContext parameter -- generated API services now use a no-argument constructor with super(decode
BuildContext parameter -- generated API services now use a no-argument constructor with super(decoders: modelDecoders)package:flutter/material.dart import from API service stub since BuildContext is no longer neededimport ' prefix)Bump nylo_support dependency from ^7.4.0 to ^7.5.0
nylo_support dependency from ^7.4.0 to ^7.5.0Bump nylo_support dependency from ^7.3.1 to ^7.4.0
nylo_support dependency from ^7.3.1 to ^7.4.0Bump nylo_support dependency from ^7.3.0 to ^7.3.1
nylo_support dependency from ^7.3.0 to ^7.3.1Bump nylo_support dependency from ^7.2.0 to ^7.3.0
nylo_support dependency from ^7.2.0 to ^7.3.0library nylo_framework.metro for clearer sub-library namingJsonDef.customObjectString getterAdd explicit return types to NyCustomCommand methods: runProcess() returns Future , addPackage() and addPackages() return Future , info(), error(), su
NyCustomCommand methods: runProcess() returns Future<int>, addPackage() and addPackages() return Future<void>, info(), error(), success(), and warning() return voidList<String> parameter type to all Metro main() entry points and explicit dynamic type to NyJson.tryDecode(), Test.fromJson()define() and FormCollection.from() for field configurationnylo_support dependency from ^7.1.0 to ^7.2.0lints: ^6.1.0 dev dependency and analysis_options.yaml with package:lints/core.yamlNyTheme.set() doc comments for clarityNyCustomCommand, ConsoleSpinner, ConsoleTable, ConsoleProgressBar, ApiService, exception classes, CommandBuilder, CommandResult, ClassType, DartCodeGenerator, JsonDef, ValueDef, ListInner, and string extension helpersnylo_framework and Metro CLIFix event stub listener parameter name from event to data for clarity
event to data for clarity{super.key} to navigation hub stub constructorNew modular command system - All Metro CLI commands are now individual classes under lib/metro/commands/make/, each extending NyCustomCommand with a b
lib/metro/commands/make/, each extending NyCustomCommand with a builder pattern. Commands are registered in built_in_commands.dart as a simple map lookupmake:bottom_sheet_modal command - Generate bottom sheet modal widgets with auto-registration in bottom_sheet_modals.dartmake:button command - Generate button widgets with auto-registration in the Button classmake:env command - Generate an encrypted env.g.dart file from your .env file using XOR encryption with APP_KEY. Supports --dart-define mode for build-time key injectionmake:key command - Generate a secure 32-character APP_KEY for environment variable encryptionenv_stub.dart - Stub for generating encrypted environment configuration class with automatic type parsing and cachingbottom_sheet_modal_stub.dart - Stub for generating bottom sheet modal widgets and their static registration methodsbutton_stub.dart - Stub for generating button widgets and their static registration methodslib/metro/helpers/metro_helpers.dart - Extracted NyJson helper class and createNyloModel helper functionlib/app/ directory - Added app directory structure with example modelNyCustomCommand:
line(), newLine(), comment(), alert()fileExists(), directoryExists(), readFile(), readFileSync(), writeFile(), writeFileSync(), appendFile(), ensureDirectory(), deleteFile(), copyFile()env(), isWindows, isMacOS, isLinux, workingDirectoryask() (alias for prompt), promptSecret() for hidden inputabort() to exit with errortable() with ConsoleTable class for formatted ASCII tablesprogressBar() with ConsoleProgressBar classsnakeCase(), camelCase(), pascalCase(), titleCase(), kebabCase(), constantCase()modelsPath, controllersPath, widgetsPath, pagesPath, commandsPath, configPath, providersPath, eventsPath, networkingPath, themesPath, projectPath()scaffold(), scaffoldMany() with ScaffoldFile classreadJson(), readJsonArray(), writeJson(), appendToJsonArray(), readYaml()dartFormat(), dartAnalyze(), flutterPubGet(), flutterClean(), flutterBuild(), flutterTest()addImport(), insertBeforeClosingBrace(), fileContains(), fileContainsPattern()listDirectory(), findFiles(), deleteDirectory(), copyDirectory()isValidDartIdentifier(), requireArgument(), cleanClassName(), cleanFileName()runTasks(), runTasksWithSpinner() with CommandTask classConsoleTable class - Renders formatted ASCII tables with box-drawing characters and bold headersConsoleProgressBar class - Displays progress bars with percentage tracking, tick/update/complete controlsSpinnerExtension methods - withProgress() and withProgressSync() for processing lists with progress barsScaffoldFile class - Data class for batch file scaffolding operationsCommandTask class - Data class for task runner operations with optional stop-on-errorCommandResult.hasHelpFlag and hasForceFlag convenience gettersflutter_local_notifications export in nylo_framework.dartpatrol (^4.1.0) for testingyaml (^3.1.3) for YAML file parsingrename (^3.1.0) as dev dependencyexecutables section in pubspec.yaml - metro: main for direct CLI invocationtest/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 exceptionsNyTheme class 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 supports remember parameter - Sets preferred theme for system theme followingbin/main.dart) rewritten - Now uses direct command map lookup via builtInCommands instead of routing through the old metro.dart monolithic handler. Shows menu on no arguments, supports custom command discoverylib/nylo_framework.dart) - Replaced 18+ individual nylo_support exports with single export 'package:nylo_support/ny_core.dart' re-exportNyCustomCommand.run() is now async (Future<void> run()) and properly awaits handle()NyCustomCommand exports updated - Now exports from package:nylo_support/metro/ny_metro.dart and /metro/helpers/metro_helpers.dart instead of multiple individual support package pathsCommandBuilder constructor - No longer auto-adds --help flag by defaultCommandResult return types made nullable - getString(), getBool(), getInt() now return nullable types with nullable defaults instead of non-nullable with required defaultsboot() renamed to setup(), afterBoot() replaced with boot() (called after all providers are setup)onRequest(PageRequest) replaced with onBefore(RouteContext) returning Future<GuardResult>, with new context helpers (context.data, context.queryParameters, context.routeName, context.context)NyFormData renamed to NyFormWidget, constructor uses super.key, super.submitButton, super.onSubmit, super.onFailure. Fields use FormCollection.fromArray() for picker options, validator instead of validate, removed style: "compact". Added static NyFormActions getter/config/decoders.dart to /bootstrap/decoders.dart, added interceptors getter overridefinal class with static members instead of loose comments, docs link updated to 7.xlayoutBuilder, imports, and navigationEntries parameters. Layout uses layout(BuildContext context) method instead of property assignment. Added initialIndex override. Navigation pages use a synchronous map constructor super(() => {...}) instead of asyncmake: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/ or navigation_hubs/<hub>/states/)isLastStep parameter. Last step gets onJourneyComplete callback. Navigation buttons (Back/Continue) now built inline. Removed onCannotContinue() and onAfterNext() overrides. Updated to use nextStep instead of onNextPressedaction() method for easier state action invocation. Updated example comments to use new Follow.action() pattern. Simplified init to synchronouswidgetStatefulStub() now accepts optional content parameterNyTheme.set() is now async and delegates to NyThemeManager.instance.setTheme() instead of ThemeProviderfindCustomObject() now returns nullable ValueDef? with proper null checks, isStructSame handles empty list comparison, _summarizeData list merging fixed with proper nonNulls.toList() chain, fromJson uses correct key reference6.x to 7.x7.x branchnylo_support dependency changed to path reference (path: ../support)skeletonizer updated to ^2.1.2error_stack updated to ^2.0.0flutter_local_notifications: ^20.0.0yaml: ^3.1.3patrol: ^4.1.0rename: ^3.1.0 (dev dependency)executables section with metro: mainuses-material-design: truelib/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:theme command - Removed from Metro CLI menuNyCustomCommand.makeFile() method - Removed in favor of scaffold() and writeFile() helperstheme_provider dependency - Replaced by NyThemeManager from nylo_supportflutter_secure_storage dependency - Removed from direct exportsflutter_dotenv dependency - Removed (replaced by encrypted env system)ny_core.dart barrel exportnyloVersion updated from v6.9.2 to v7.0.0Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →