Issue changes are recorded per field in the issue_change table, in the same
transaction as the issue itself. The new history module exposes:
- GET /api/issues/:issueId/history — change timeline grouped by save
- GET /api/issues/stats/daily — created, status transitions and status
snapshot per day, with time zone support
The migration backfills history for existing issues. Setting a field to its
current value no longer bumps updatedAt or emits issue.updated.