2.9.2
What's Changed
Added
- On-demand "Sync Commits & Tags" — Project Doctor gains a button that enqueues a background job to backfill a project's full commit and tag history into ClickHouse, complementing the incremental webhook sync. Spans a new imbi-api background worker + endpoint, a full-history sync path with GitHub App auth in the commit-sync plugin, and the UI control. (imbi-api #427, imbi-plugin-github #26, imbi-plugin-github #29, imbi-ui #407)
Improved
- Access log shows the API-key owner — API-key authenticated requests now log the resolving principal (user email or service-account slug) instead of the opaque
ik_<id>, making the access log far easier to attribute. (imbi-api #429)
Fixed
- Events feed no longer 500s on non-UTF-8 bytes — JSON columns containing non-UTF-8 byte sequences are decoded gracefully instead of erroring the events feed. (imbi-api #428)
- Webhook gateway normalizes payloads to UTF-8 — incoming webhook payloads are sanitized to valid UTF-8 before they are evaluated or stored. (imbi-gateway #34)
- Commit-sync host resolution on GHEC/GHES — fixes GitHub API base resolution for GitHub Enterprise Cloud/Server services in the commit-sync plugin. (imbi-plugin-github #28)
Lockstep
All Python services and plugins pin imbi-common 2.9.2 and exclude uv.lock from the tombi-format pre-commit hook.