Pull request process
- Open an issue first for anything larger than a fix, so the design can be agreed before code is written.
- Branch from
mainand keep the change focused. One concern per PR. - Run the checks locally:
cargo fmt --all -- --check,cargo clippy --workspace --all-targets -- -D warnings, andcargo test --workspaceagainst Postgres. CI runs the same gate. - Document the change. Every PR that changes behavior adds:
- a changelog entry describing what changed for users;
- a migration note when users must change config, code, or data;
- updated docs, in the same PR, for any public API or behavior change.
- Describe the PR: what changed, why, how it was tested, and any follow-ups.
- Review: at least one maintainer approval. Architecture changes (new crate edges, new public traits, wire-format changes) need a maintainer from the owning area.
- Merge with squash, using a conventional title (
feat:,fix:,docs:,refactor:, …).
Breaking changes are allowed before 1.0 but must ship with a migration note.