smf_pipeline 0.6.0
smf_pipeline: ^0.6.0 copied to clipboard
The generation pipeline of the SMF CLI. Selects modules, validates their contributions against the roles they declare, and generates a Flutter app.
0.6.0 #
Note: This release has breaking changes.
- REFACTOR(pipeline,cli): split the functions that SonarCloud finds too complex (#229). (7ebe3a31)
- FIX(sign_in): let the pages of the sign-in scroll under the bar of the home gesture (#223). (9faac56b)
- FIX(firebase_auth): need Firebase CLI 15.34.0, which adds no web app to a project that has apps (#182). (8afc173a)
- FEAT(firebase_auth,firebase_analytics): the steps by hand of Apple, Google Play and Analytics (#236). (e009ede2)
- FEAT(firebase_messaging): the APNs key among the steps by hand (#235). (b1e02466)
- FEAT(pipeline): the link to the guide of the steps by hand (#231). (c5cde6df)
- FEAT(sign_in): continue with the sign-in methods of the app (#219). (5c2a7051)
- FEAT(google_sign_in): add sign-in with Google (#216). (231156eb)
- FEAT(firebase_auth): enable Google, register the debug key and write the URL scheme for the methods of the app (#214). (313fc8c9)
- FEAT(firebase_messaging): add Firebase Cloud Messaging as the provider of the push role (#210). (5bbbfa9a)
- FEAT(apple_sign_in): add Sign in with Apple on iOS (#212). (79b7c4e4)
- FEAT(local_notifications): add a provider of the notifications role on flutter_local_notifications (#206). (d16e9a43)
- FEAT(firebase_auth): sign in, link and delete with the credentials of the sign-in methods (#205). (caf1e446)
- FEAT(onboarding): show the steps that the modules of the app add to the onboarding (#203). (32652cbf)
- FEAT(contracts): give every app the icons of the status bar as a widget of its own, with a widget test (#191). (4ab6b288)
- 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(pipeline): stop a --strict run on a warning about what the app is made of (#190). (530c4f88)
- 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.1 #
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(pipeline): list the steps left for later after the app is created, without a warning (#176). (571c0ace)
- FEAT(bloc,riverpod): tell in the agent note how a screen, shared state and an awaited call are written (#172). (6f819423)
- FEAT(sign_in): add the account screen and the entry of the settings screen that leads to it (#171). (4d7fac2b)
- FEAT(sign_in): add the module with the screens of sign-in, sign-up and password reset, in a bloc and a riverpod variant (#170). (bfcd9025)
- FEAT(firebase_auth): enable the sign-in methods in Firebase after flutterfire configure (#168). (1d4a1c27)
- FEAT(contracts): say how the auth role writes the mode of the app, for a tool that reads it (#167). (c61033c6)
- FEAT(firebase_auth): provide the auth role with Firebase Authentication (#162). (c541d0d4)
- FEAT(material_theme): give text fields the look of the theme (#160). (2d1d6a24)
- FEAT(contracts): a condition that only some routes ask for (#155). (9c239fe1)
- FEAT(cli): give the modes of a role option their apps with every module (#154). (19384819)
- 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): keep one provider of analytics or crash reporting from failing the others. (42c8db26)
- FIX(contracts,shared_preferences): correct the texts for coding agents and the READMEs that the reviews found wrong (#132). (7f936e51)
- FIX(contracts): leave out a provider of analytics or crash reporting that fails to be created. (52d5b07b)
- FIX(go_router): complete push() with the value of its page after a refresh (#71). (ae37c5de)
- FIX(go_router): call each listener of the screen on its own. (8b44ecd1)
- FIX(contracts): say that on
- FIX(pipeline): recognize module packages by their dependency on smf_contracts (#59). (87f45875)
- FIX(contracts): give each analytics service a copy of its own of the parameters. (21c6ca39)
- FEAT(contracts): let the root MaterialApp take themeMode and locale from its context (#100). (3a10b311)
- FEAT(onboarding): add the onboarding of the first run (#126). (009d74d1)
- FEAT(contracts,settings): describe the settings screen in the guide for coding agents (#129). (f6353e4d)
- FEAT(settings): read the title of the settings screen in the language of the app (#128). (493dff7b)
- FEAT(material_theme): add the module of the Material 3 theme (#123). (9801be57)
- FEAT(home): welcome the developer of the app on the start screen (#138). (0f0c7c86)
- 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): guarantee a MaterialApp at the root of the app (#57). (5bc4f0b8)
- FEAT(shared_preferences): add the module that keeps the preferences with shared_preferences (#113). (170c9ff3)
- FEAT(contracts): add the guide for coding agents to the app entry role (#110). (92b78ad8)
- FEAT(settings): add the settings module, a screen for the entries of the modules (#108). (72264395)
- 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,pipeline): let a brick variable depend on the presence of a role (#104). (02677b81)
- FEAT(contracts,pipeline): let a render hook generate files of the app (#102). (620eb402)
- 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): add the theme role (#112). (822056da)
- FEAT(cli): fan out the jobs of CI over a pairwise covering of the apps and shards of the matrices (#76). (423d6056)
- FEAT(firebase_crashlytics): fix the build phase of Crashlytics from its own module. (4302a13c)
- FEAT(bottom_tabs,material_theme): draw the bar of the tabs without an indicator, in the colours of the theme (#136). (23fcbb77)
- FEAT(cli): run the probes of the tests of the roles in the start check. (f7faea4e)
- FEAT(pipeline): give the result of a contract case the hook request of its app. (1b46e2fb)
- FEAT(pipeline): keep in the rendered app the order of the contributions of every socket. (3cd6c981)
- FEAT(onboarding): show the pages as cells of the periodic table, with motion (#137). (875e738a)
- FEAT(material_theme): give the themes a palette, text styles and a bundled font (#135). (f9c6a279)
- FEAT(settings,contracts): show the settings as one group, the theme modes as segments and the languages in a sheet (#140). (72a29d05)
- FEAT(pipeline): check the notes of roles against their providers, and require a note from every role and module (#131). (2980ddc1)
- FEAT(flutter_core): give the fallback start screen the look of the app (#139). (75d223f1)
- FEAT(pipeline): check that the code of modules takes the names of the classes of roles from the roles, in the fixtures too (#86). (64d130c8)
- DOCS: describe the tests of the roles at run time and the broken providers that they fail on. (0501c45c)
- DOCS: say which expectation gives the reason of a broken provider, and that the app of several providers walks the routes. (5495f757)
- DOCS: describe the plan of CI and the checks of the app tests as they are (#81). (629321e9)
- DOCS(readme): add the SonarCloud coverage badge (#99). (39c28873)
- BREAKING TEST(cli): run the app tests with the platform mocks of every module of the app, next to other providers of their roles (#75). (87001859)
- BREAKING REFACTOR(pipeline): index Dart files with the AST of analyzer 13, which it now needs (13.1 or later). (e4ecaded)
- BREAKING REFACTOR(cli): group the apps that runMatrix and createEveryModuleApps take into one parameter each (#97). (d60801f2)
- BREAKING FEAT(contracts): continue a post-generation step of another module by its id (#89). (cfce8114)
- BREAKING FEAT(pipeline): build the cases of the roles a module uses with each of their providers (#88). (f5ecbb45)
- BREAKING FEAT(contracts,go_router,bottom_tabs,home,settings): label the destinations in the language of the app (#127). (7cc173f0)
- 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,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): let one contributor give the supported locales of the root MaterialApp (#121). (5a440409)
- BREAKING FEAT(contracts): require resetDependencies() of the providers of the DI role. (9911bf11)