Skip to main content

smf_contracts 0.6.0 copy "smf_contracts: ^0.6.0" to clipboard
smf_contracts: ^0.6.0 copied to clipboard

The module model of Say My Frame, the Flutter app generator. Modules declare roles, such as a router, and contribute templates, code for sockets and checks.

0.6.0 #

Note: This release has breaking changes.

  • REFACTOR(contracts): split the checks of the ways to sign in that SonarCloud finds too complex (#228). (bc6709e5)
  • FEAT(contracts): the README section "Finish the setup" (#232). (d2114702)
  • FEAT(sign_in): continue with the sign-in methods of the app (#219). (5c2a7051)
  • FEAT(firebase_auth): sign in, link and delete with the credentials of the sign-in methods (#205). (caf1e446)
  • FEAT(contracts): add the push role with the address of the device, its messages and their taps (#193). (1f1a3566)
  • FEAT(contracts): give every app the icons of the status bar as a widget of its own, with a widget test (#191). (4ab6b288)
  • FEAT(contracts): add the notifications role with the permission, showing, scheduling and taps (#189). (26dff4e9)
  • FEAT(contracts): add the onboarding screen role, to which modules add the steps of the onboarding (#185). (04c269ce)
  • BREAKING FEAT(contracts,apple_sign_in): the App ID among the steps by hand (#234). (e0b73a02)
  • BREAKING FEAT(contracts,pipeline): steps of an app that its developer does by hand (#230). (542e1089)
  • BREAKING FEAT(contracts): let modules add components to the Android application (#201). (6dfcaec9)
  • BREAKING FEAT(contracts): let modules run code in the AppDelegate before launch finishes (#200). (263b3079)
  • BREAKING FEAT(contracts): let modules enable core library desugaring of the Android app (#199). (7f760ba7)
  • BREAKING FEAT(contracts): sign in with a credential of an identity provider, and list the ways to sign in of an app (#197). (73e8a21c)
  • BREAKING FEAT(flutter_core): give the fallback start screen only to an app that no route starts (#192). (9cc0a8f1)
  • BREAKING FEAT(contracts): give each warning about the app a code, and let a choice report one (#188). (80f2c7ed)
  • BREAKING FEAT(contracts): sign the iOS app with Runner.entitlements and let modules add entitlements (#187). (2f2b0374)
  • BREAKING FEAT(contracts): let a contribution and a symbol of a role depend on what a role chose (#184). (d5deac8e)

0.5.0 #

Note: This release has breaking changes.

  • FIX(contracts,go_router): open a page of the flow of a condition over the start screen when a link asks for it (#166). (0c42e365)
  • FIX(go_router): show what push() and replace() ask for when go_router shows its error screen alone (#165). (c55c01e2)
  • FIX(go_router): keep the back button of the system from throwing on the error screen (#161). (5a933e9f)
  • FIX(go_router): drop the pages of every branch when a guard closes and opens in one turn (#157). (976dbad8)
  • FIX(pipeline): check the machine for a module after the modules it depends on (#151). (494c1eb0)
  • FEAT(contracts): warn of the destinations of an app without a main navigation (#175). (39a624ba)
  • FEAT(contracts): say how the auth role writes the mode of the app, for a tool that reads it (#167). (c61033c6)
  • FEAT(contracts): publish the account condition of the auth role, and warn when no guard stands for it (#156). (b35edee1)
  • FEAT(contracts): a condition that only some routes ask for (#155). (9c239fe1)
  • FEAT(contracts): add the auth role with the session, the mode and the service of a provider (#153). (3063e085)
  • FEAT(contracts,pipeline): let a role option have modes, with a case of the harness for each (#149). (4fd6a70f)
  • FEAT(contracts,pipeline): a post-generation step that continues another may ask its own question (#147). (434fbb27)
  • BREAKING FEAT(contracts,go_router): open the flow of a condition over the screen the user is on (#163). (b7f7e655)
  • BREAKING FEAT(contracts,onboarding): say when a guard is asked and whether it brings the user back (#152). (7b12df77)
  • BREAKING FEAT(contracts,onboarding): close the flow of a guard that allows (#150). (731e53f9)

0.4.0 #

Note: This release has breaking changes.

  • REFACTOR(contracts,pipeline,cli): split the functions that SonarCloud finds too complex. (c3f5aadc)
  • FIX(contracts): tell that a dispose function gets its service, not the dependencies (#84). (433f5709)
  • FIX(contracts,shared_preferences): correct the texts for coding agents and the READMEs that the reviews found wrong (#132). (7f936e51)
  • FIX(contracts): say that on
  • FIX(go_router): call each listener of the screen on its own. (8b44ecd1)
  • FIX(cli,ci): stop a timed-out command before the processes it started, and annotate failed tests (#54). (a3fa33b2)
  • FIX(contracts): leave out a provider of analytics or crash reporting that fails to be created. (52d5b07b)
  • FIX(contracts): give each analytics service a copy of its own of the parameters. (21c6ca39)
  • FIX(contracts): keep one provider of analytics or crash reporting from failing the others. (42c8db26)
  • FEAT(pipeline): check the notes of roles against their providers, and require a note from every role and module (#131). (2980ddc1)
  • FEAT(contracts): guarantee a MaterialApp at the root of the app (#57). (5bc4f0b8)
  • FEAT(contracts,settings): describe the settings screen in the guide for coding agents (#129). (f6353e4d)
  • FEAT(contracts): remember the language of the app and let the user choose it in the settings (#120). (9f3c847b)
  • FEAT(contracts): tell coding agents about the guards of the routes (#119). (262427e6)
  • FEAT(gen_l10n): provide the localization role with gen-l10n of Flutter (#117). (36afeb32)
  • FEAT: describe the roles and the modules in the guide for coding agents (#114). (6b300074)
  • FEAT(contracts): add the theme role (#112). (822056da)
  • FEAT(shared_preferences): add the module that keeps the preferences with shared_preferences (#113). (170c9ff3)
  • FEAT(contracts): check that the provider of the DI role renders every registration (#90). (e905d406)
  • FEAT(contracts): add guards of routes to the router role (#109). (b86cb319)
  • FEAT(contracts,pipeline): add the localization role (#107). (84091023)
  • FEAT(contracts): add the preferences role for the settings of the app that are no secret (#106). (3304ebd2)
  • FEAT(contracts): add the settings screen role (#105). (4577c781)
  • FEAT(contracts,pipeline): let a brick variable depend on the presence of a role (#104). (02677b81)
  • FEAT(contracts): add the guide for coding agents to the app entry role (#110). (92b78ad8)
  • FEAT(contracts,pipeline): check that a provider of the app entry creates the root where the arguments of the modules read its context (#101). (78293c3c)
  • FEAT(contracts): let the root MaterialApp take themeMode and locale from its context (#100). (3a10b311)
  • FEAT(contracts): check that the tags of the phases of start-up are in the body of bootstrap(). (149aede7)
  • FEAT(settings,contracts): show the settings as one group, the theme modes as segments and the languages in a sheet (#140). (72a29d05)
  • FEAT(contracts,pipeline): let a render hook generate files of the app (#102). (620eb402)
  • DOCS(readme): add the SonarCloud coverage badge (#99). (39c28873)
  • BREAKING FEAT(contracts,flutter_core,home,onboarding,settings): take the symbol of the app and the icons of the status bar from one place each (#143). (43a87a36)
  • BREAKING FEAT(contracts): continue a post-generation step of another module by its id (#89). (cfce8114)
  • BREAKING FEAT(contracts): let one contributor give the supported locales of the root MaterialApp (#121). (5a440409)
  • BREAKING FEAT(contracts): drop the factory parameters of the DI role (#64). (0c8bc398)
  • BREAKING FEAT(contracts): require the getters that code of a role reads, such as the navigation of the AppShell (#69). (5e5301d8)
  • BREAKING FEAT(contracts): keep the platforms of the app in AppIdentity (#58). (eb1225ce)
  • BREAKING FEAT(contracts,go_router,bottom_tabs,home,settings): label the destinations in the language of the app (#127). (7cc173f0)
  • BREAKING FEAT(contracts): move the composition file out of the core into the DI role (#56). (84e85d07)
  • BREAKING FEAT(contracts): require resetDependencies() of the providers of the DI role. (9911bf11)

0.3.0 #

Note: This release has breaking changes.

  • FIX(go_router,contracts): route merging, guard imports, AppRoutes and camelCase (#26). (abcedc5d)
  • BREAKING FEAT: compose apps from roles and sockets (#31). (7cf4d4a4)

Changelog #

0.2.0 - 2025-09-01 #

Chore #

  • Enable Melos (dev dep + melos.version settings). (cf61e67)

Documentation #

  • Add comprehensive API documentation and copyright headers. (5d7a228)

Features #

  • Add StateManager enum for bloc and riverpod support. (2ca5a99)

0.1.0 - 2025-09-01 #

  • Initial version.
0
likes
150
points
1.09k
downloads

Documentation

Documentation
API reference

Publisher

verified publishersaymyframe.com

Weekly Downloads

The module model of Say My Frame, the Flutter app generator. Modules declare roles, such as a router, and contribute templates, code for sockets and checks.

Homepage
Repository (GitHub)
View/report issues
Contributing

Topics

#flutter #code-generation #modules #template

License

Apache-2.0 (license)

Dependencies

mason, meta

More

Packages that depend on smf_contracts