develop
Vision: Add Normalize option for label names #5773
Vision: Disable Ollama reasoning by default, refresh defaults #5728 #5726
Vision: Keep label names written in another script whole #5773
Vision: Retry HTTP 429 via new pkg/http/client backoff wrapper #5729
Vision: Make image-request builders source-aware #5734
CI: Apply Go linter recommendations to "ai/vision" package #5330
Go: Apply go fix modernizations across backend packages
AI: Include NSFW flag & score when generating labels with Ollama #5232
AI: Refactor engine defaults in internal/ai/vision/** #5232 #5233 #5234
AI: Refactor face detection code #5167
AI: Improve Face Detection with an ONNX-based model #5167
AI: Use OLLAMA_API_KEY as API auth token if specified #5361
AI: Ensure default caption model only runs manual #5361
Vision: Validate image inputs consistently across API endpoints #5734
AI: Add "photoprism vision run" command and vision worker #127 #1090
AI: Default to the 720x720 fit thumb for generating captions #3438 #5011
Vision: Add OpenAI service_tier via Service.Tier config #5725
AI: Set OpenAI API service key via OPENAI_API_KEY(_FILE) variable #5322
Vision: Move PriorityFromTopicality() to topicality.go #5232
Links: Use canonical trailing-slash form for website URLs
Security: Add gosec fixes with shared URL and fs validation helpers
Tests: Improve isolation and add fixes #5263