Improvements
• [#309] Remove forced login; make app publicly accessible with admin features protected [#377] @StubberG3
• [#309] Add new logout page; restyle admin dropdown and logout button [#377] @StubberG3
• [#309] Allow viewing and downloading of PDFs to be public; edits remain admin only [#377] @StubberG3
• [#393] Switch between "View PDF" and "Download PDF" buttons based on authentication status @sahilds1
• [#387] Restructure chatbot prompt for clarity and context reinforcement [#419] @sahilds1
• [#416] Fix stuck spinner on protected routes by triggering auth verification [#422] @sahilds1
• [#416] Fix redirect issues for unauthorized users [#420] @sahilds1
• [#417] Simplify and make ProtectedRoute more robust [#417] @sahilds1
• Replace loading text with spinner component @sahilds1
• Save patient history data to sessionStorage instead of localStorage @sahilds1
• Fix clearing sessionStorage on every page load for unauthenticated users @sahilds1
• Add admin-only notice to login page @StubberG3
• Remove auth requirement for Chat in navigation @sahilds1
Technical
• [#309] Make riskWithSources endpoint public @StubberG3
• [#309] Disable JWT auth for newly public endpoints @StubberG3
• [#309] Separate public and admin API calls @StubberG3
• [#382] Add workaround for PostgreSQL crash with pgvector v0.6.1 on ARM64 [#391] @sahilds1
• [#407] Refactor Docker and Kubernetes deployments @themightychris
• feat(ci): update containers-publish workflow @themightychris
• fix(ci): remove DJANGO_ALLOWED_HOSTS from secret template @sahilds1
• chore: Update Kind configuration, refactor database and allowed hosts environment variable handling @sahilds1
• Fix Type mismatch in RootState @sahilds1
• Add comprehensive CLAUDE.md documentation @sahilds1
• Update environment configuration structure @sahilds1