Releases & Migration Notes
This page summarizes documentation channels and behavior changes that matter for daily CLI usage.
Version Channels
| Channel | Meaning |
|---|---|
latest | Current documentation for ongoing development on main branch. |
1.0.16 | Historical snapshot for CLI v1.0.16. |
Use the version dropdown in the top-right navbar to switch channels.
Until a dedicated docs version is cut, v1.1.0 behavior is documented under latest.
Migration Notes
Upgrading from v1.0.x to v1.1.0
UI generation now has command-specific entry points:
ui-mainui-dialogui-formui-form-dialogui-lshui-lsvui-pagui-pmiui-actionui-sec
Form generation update:
ui-formnow requires--fieldsto build dynamic shared field widgets and ARB field labels/hints/invalid messages.ui-form-dialogprovides the same dynamic field generation flow for dialog-based form UX.- Shared field widgets remain private helpers and are not exported in feature barrel files.
- Param constructor mismatch no longer blocks generation; unresolved fields fall back safely.
Slice/UI generation separation:
- UI generation is now intentionally separated from
gen-sliceand should run via dedicatedui-*commands.
Action composition mode:
compose-actioninjects provider/listener/logic execution methods only.- Button/widget placement remains manual so layout stays fully custom.
Route sync behavior update:
- compose route updates preserve existing base route builder if already customized.
Compatibility behavior:
gen-uiis still available as legacy wrapper in v1.1.0.- Legacy command prints migration hint but keeps prior behavior.
Execution transparency improvements:
- Template pipelines now print explicit dependency/dev-dependency/post-hook plans before execution.
- Affected-path summaries continue to show created/injected/removed/skipped changes for auditability.
Upgrading from legacy compose surface to v1.0.16+
If your old scripts still call a generic compose command, migrate to explicit compose modes:
compose-maincompose-formcompose-form-dialogcompose-pagcompose-pmicompose-sec
Safer reruns and strict mode
Generation and composition flows now prioritize non-destructive behavior:
- Existing files are skipped by default to avoid overwrite.
- Use
--strictto fail immediately when command safety conditions are not met.
DI and registration behavior
Operational reruns are designed to be incremental:
diappends only missing registration lines.regand compose injectors avoid duplicate snippet insertion.- Commands report affected paths so changes are easy to audit.
How to Review Changes Before Commit
- Run commands for your feature flow.
- Review affected path summary in terminal output.
- Verify generated files and injected code in the app/module targets.
- Run
fsda fix-importfor app/module targets when needed.