This release adds 3 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Summary
AI summaryZero-downtime embedding model switching enables background re-indexing with live UI progress and cancellation.
Full changelog
What's New
Zero-downtime embedding model switching. When you change the embedding model via the Web UI, Flaiwheel now re-embeds all documents in the background while the old model keeps serving searches. Once complete, the new index atomically replaces the old one.
How it works
- User selects a new embedding model in the Web UI and clicks "Save & Re-Index"
- Flaiwheel immediately returns 202 and starts a background migration worker
- The worker creates a shadow ChromaDB collection and re-embeds every file with the new model
- Search continues working on the old model throughout the entire process
- When all files are done, the shadow collection atomically replaces the old one
- Hash cache is cleared so subsequent reindexes start fresh
Web UI
- Live progress bar shows model name, file count, percentage, and chunk count
- Cancel button stops the migration and cleans up the shadow collection
- Progress bar automatically appears if you refresh the page during a migration
- Migration status is also visible in the health panel
API Endpoints
POST /api/config— now returns202withmigrationobject when model changes (non-blocking)GET /api/migration/status— poll for progress (returnsnullwhen idle)POST /api/migration/cancel— cancel an in-progress migration
Edge Cases Handled
- Concurrent migrations: second attempt returns 409 with "already in progress"
- Same model selected: returns immediately with "skipped"
- Container restart during migration: orphaned shadow collection is cleaned up on startup
- Git watcher reindex during migration: operates on the old collection independently
Tests (10 new, 98 total)
- Migration completes and replaces old collection
- Health tracker records migration status
- Search works during active migration
- Cancel stops migration and cleans up shadow collection
- Cancel when no migration returns error
- Concurrent migration attempt is rejected
- Same model selection returns "skipped"
- Orphaned shadow collection cleaned up on init
- No migration returns None status
- Running migration returns progress dict
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About dl4rce/flaiwheel
Self-hosted memory and governance layer for AI coding agents. 28 MCP tools with structured knowledge capture, hybrid search (semantic + BM25 + cross-encoder reranking), behavioral documentation nudges, cold-start codebase analyzer, and git-native storage. Single Docker container, zero cloud dependencies.
Related context
Beta — feedback welcome: [email protected]