This release adds 3 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Affected surfaces
Summary
AI summaryPluggable storage backend adds S3-compatible audio recording support while keeping local filesystem default.
Full changelog
Release Notes - v0.9.2-alpha
This release adds a pluggable storage backend so Speakr can keep recording audio in S3-compatible object storage (AWS S3, MinIO, Backblaze B2, Cloudflare R2, Wasabi) instead of, or alongside, the local filesystem. Local storage remains the default, so existing deployments are unaffected until they opt in.
Dual Local / S3 Storage Backend
- Configurable backend. Set
FILE_STORAGE_BACKEND=local(default) ors3. The S3 path works with AWS S3 and any S3-compatible service (MinIO, Backblaze B2, Cloudflare R2, Wasabi) viaS3_BUCKET_NAME,S3_ENDPOINT_URL, credentials, region, and path-style / SSL toggles for self-hosted endpoints. - Presigned delivery. In S3 mode, audio is served to the browser through short-lived presigned URLs straight from the object store rather than streamed through the app, with separate expiry for owner playback and public share links.
- Storage locators. Recordings now reference audio by locator (
local://…/s3://…) instead of a raw filesystem path, with transparent fallback for pre-existing local paths, so upgrading needs no data migration. - Migrate existing audio.
scripts/migrate_local_recordings_to_s3.pymoves local recordings into a bucket and updates their locators, with--dry-run, size verification, and optional source deletion. Companion scripts normalize legacy local paths and backfill cached audio durations. - Duration caching. Audio duration is cached at upload and after transcription, so list and detail views never have to materialize remote audio just to render.
This feature was contributed by @Daabramov (#268) and ported onto the current codebase for this release.
Compatibility
Backwards compatible. FILE_STORAGE_BACKEND defaults to local, so existing deployments behave exactly as before with no configuration or data changes. Database migrations run automatically on startup. Upgrade with the usual docker compose pull && docker compose up -d.
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 speakr
Speakr is a personal, self-hosted web application designed for transcribing audio recordings
Related context
Related tools
Earlier breaking changes
- v0.10.0-alpha Unauthenticated API requests now return a JSON 401 instead of a 302 redirect.
Beta — feedback welcome: [email protected]