Thanks for considering contributing to mobile_scanner!
- PR titles must follow Conventional Commits (e.g.
feat: ...,fix: ...,chore: ...) — this is enforced by CI and is what drives the automated changelog and release process below. - Open feature/fix PRs against
develop. - Individual commits don't have to follow Conventional Commits, but it helps: if every commit in your PR is properly typed, we can merge with a real merge commit and keep your full history. If not, we'll squash the PR into a single commit (using the PR title) instead. Either way the changelog/version stay correct — this only affects how much of your history is preserved.
Releases are automated with Release Please, driven by the Conventional Commit PR titles above.
- Normal releases happen on
develop. Release Please keeps achore(main): release X.Y.ZPR up to date with the version bump (pubspec.yaml) and changelog. Merging it tags the release, publishes a GitHub Release, and triggers publishing to pub.dev. That release is then automatically promoted tomaster, somasteralways reflects the latest published version. - Hotfixes are branched from
masterinstead ofdevelop, so they don't pull in unreleased work. A hotfix PR intomastergoes through the same Release Please flow (its own release PR, tag, GitHub Release, pub.dev publish), and afterwards a PR to merge the hotfix back intodevelopis opened automatically — this one needs a manual merge, since the changelog/version files can conflict with unreleased changes ondevelop.