What's Changed
- fix: sync Cargo.toml version to 2.5.0 (was missed in release commit)
- release: v2.5.0 — Ollama/LM Studio local LLM support, settings tabs, keychain vault
- feat: add Koeberg nuclear power plant (South Africa) to facilities map
- feat: add 5 defense/intel RSS feeds (Military Times, Task & Purpose, USNI News, Oryx OSINT, UK MOD)
- fix(map): clear PathLayer cache on toggle-off to prevent stale WebGL buffers
- fix: resolve markdown lint errors in docs
- fix(sentry): null guard getProjection crash and add 6 noise filters
- docs: add Ollama/local LLM coverage to community promotion guide
- feat: split settings into LLMs and API Keys tabs, fix keychain vault and Ollama UX
- fix: show URL and model inputs as plaintext instead of masked password dots
- fix: harden OpenAI-compatible endpoint flow for Ollama/LM Studio
- fix: resolve TS build errors and add missing Ollama keys to Rust keyring
- refactor: unify summarization providers behind common interfaces
- test: add Ollama provider tests across endpoint, sidecar, and chain layers
- feat: add Ollama (OpenAI-compatible) local LLM summarization support
- feat(i18n): localize remaining hardcoded English in 6 panel components
- feat(i18n): add theater name translations and webcam region localizations
- Fix ultrawide map height mismatch and re-enable map resize
- fix(sentry): filter Safari "Importing a module script failed" noise
- Fix wide-screen panel layout gaps and drag reorder behavior
- fix: restore update link fallback and PWA nav precache
- feat(i18n): add Turkish language support (14th language)
- feat: add llms.txt and llms-full.txt for LLM discoverability
- fix: exclude HTML from Workbox precache glob
- fix(sentry): triage 3 issues — 2 noise filters, 1 beforeSend fix
- chore: fix spacing issues and formatting
Full Changelog: v2.4.1...v2.5.0