# Release v1.3.2 (2026-02-19)

## Summary

Release focuses on stability and data integrity for local configurations. Added configuration revision history, stronger recovery for broken local sync/version states, improved sync self-healing, and clearer API error logging.

## Changes

### Configuration Revisions

- Added full local configuration revision flow with storage and UI support.
- Introduced revisions page/template and backend plumbing for browsing revisions.
- Prevented duplicate revisions when content did not actually change.

### Local Data Integrity and Recovery

- Added migration and snapshot support for local configuration version data.
- Hardened updates for legacy/orphaned configuration rows:
  - allow update when project UUID is unchanged even if referenced project is missing locally;
  - recover gracefully when `current_version_id` is stale or version rows are missing.
- Added regression tests for orphan-project and missing-current-version scenarios.

### Sync Reliability

- Added smart self-healing path for sync errors.
- Fixed duplicate-project sync edge cases.

### API and Logging

- Improved HTTP error mapping for configuration updates (`404/403` instead of generic `500` in known cases).
- Enhanced request logger to capture error responses (status, response body snippet, gin errors) for failed requests.

### UI and Export

- Updated project detail and index templates for revisions and related UX improvements.
- Updated export pipeline and tests to align with revisions/project behavior changes.

## Breaking Changes

None identified.

## Files Changed

- 24 files changed, 2394 insertions(+), 482 deletions(-)
- Main touched areas:
  - `internal/services/local_configuration.go`
  - `internal/services/local_configuration_versioning_test.go`
  - `internal/localdb/{localdb.go,migrations.go,snapshots.go,local_migrations_test.go}`
  - `internal/services/export.go`
  - `cmd/qfs/main.go`
  - `web/templates/{config_revisions.html,project_detail.html,index.html,base.html}`

## Commits Included (`v1.3.1..v1.3.2`)

- `b153afb` - Add smart self-healing for sync errors
- `8508ee2` - Fix sync errors for duplicate projects and add modal scrolling
- `2e973b6` - Add configuration revisions system and project variant deletion
- `71f73e2` - chore: save current changes
- `cbaeafa` - Deduplicate configuration revisions and update revisions UI
- `075fc70` - Harden local config updates and error logging

## Testing

- [x] Targeted tests for local configuration update/version recovery:
  - `go test ./internal/services -run 'TestUpdateNoAuth(AllowsOrphanProjectWhenUUIDUnchanged|RecoversWhenCurrentVersionMissing|KeepsProjectWhenProjectUUIDOmitted)$'`
- [ ] Full regression suite not run in this release step.
