Files
openbitdo/MIGRATION.md

47 lines
1.6 KiB
Markdown

# OpenBitdo Migration Notes
This file explains the current user and contributor surface after the CLI and packaging cleanup.
## Current CLI Contract
- `openbitdo` launches the interactive dashboard.
- `openbitdo --mock` launches the dashboard without real hardware.
- Historical subcommand-style entry points are no longer part of the supported CLI.
## Current Packaging Contract
- GitHub prereleases are the canonical release source.
- AUR publishes `openbitdo-bin`.
- Homebrew publishes through the separate tap repo `bybrooklyn/homebrew-openbitdo`.
- macOS artifacts remain unsigned and non-notarized until Apple credentials exist.
## Current Settings Contract
Persisted UI state uses `schema_version = 2` with these fields:
- `advanced_mode`
- `report_save_mode`
- `device_filter_text`
- `dashboard_layout_mode`
- `last_panel_focus`
Compatibility behavior:
- v1 settings still load with defaults for new fields.
- invalid settings files now raise a warning and fall back to defaults instead of being silently accepted.
## Current Library Contract
OpenBitdo keeps headless automation as a Rust API, not a public CLI surface.
The supported entry points remain:
- `bitdo_tui::run_headless`
- `bitdo_tui::RunLaunchOptions`
- `bitdo_tui::HeadlessOutputMode`
## Practical Migration Guidance
- If you used the historical CLI subcommands, switch to `openbitdo` or `openbitdo --mock`.
- If you need automation, call the Rust API instead of expecting a supported headless CLI.
- If you document install paths, prefer Homebrew tap, AUR, tarball, or source build rather than old ad hoc command forms.