v1.0.0-rc.4
Fourth release candidate. Kitchens created on the PWA now appear on the Android app, along with pending invites, users list, share peers, and other server-only endpoints that were silently empty in native + server-connected mode. Self-hosted OpenAI-compatible LLMs on a private Docker network (Ollama, LM Studio, LocalAI) can now be proxied through the server via a new AI_BASE_URL env var. Full-backup restore now schema-driven so future ALTER migrations don't silently drop columns.
Added
- AI Base URL support in env-locked mode. Proxy Trace chat to an OpenAI-compatible endpoint (Ollama, LM Studio, LocalAI, or any `/v1/chat/completions` server) via `AI_BASE_URL`. Previously the OpenAI-compatible flow ran client-only; now `AI_PROVIDER=oai-compat` + `AI_BASE_URL=http://ollama:11434\` in `.env` works end-to-end.
Fixed
- Kitchens created on the PWA now appear on the Android app. Same class of bug also affected the pending invites list, users list, share peers, session config, and Mealie/Tandoor/Paprika ZIP import.
- Pending invites populate correctly. The User Management section's data-load hook was orphaned, so Settings → Users showed empty state even when invites had been created.
- Full-backup restore no longer silently drops recipe columns. Restore was using hardcoded INSERT column lists; any column added by later ALTER migrations would silently vanish on restore. Now schema-driven so future ALTER TABLE additions are automatically covered.