539c485 Add process-level parallelism to uvicorn.run
(#103)
a3b7745 Attribute human votes to the user who provided them (#101)
470f368 Treat empty prompts and responses as empty strings (#100)
ae9adbf Enable WAL journal_mode
with better write serialization (#99)
1d94f2a Improve onboarding flow (#98)
6889f69 Clean up copy (#97)
d330860 Handle time zones in timestamps retrieved from SQLite (#96)
ff02a81 Improve typing for UI propOverrides
(#95)
c4ea567 Add system to override UI props via AppConfig (#94)
b3e465b Use SQLite instead of DuckDB for project files (#91)
b4b0d3a Off-happy-path usability improvements (#93)
50b1fa0 Usability improvements (#92)
c0fcee8 Add styled error boundary (#90)
d32608e Allow entering any model name for a judge (w/ recommendations) (#89)
96ea032 Add new gemini-1.5-{flash,pro}-002 variant (#87)
dc945c2 Add context-managed KeyManager and default to using environment variables (#86)
dfd4a55 Refactor UI to import and extend as a package (#85)
ffbd300 Manage data directory as ContextVar instead of global (#84)
a8b3706 Download CSVs with auth headers when present (#83)
bd8eec9 Use RQ to control SSE stream retries (#82)
d01796d Add bearer token to API fetches in cloud mode (#75)
e4df714 Add API to download judge votes (#53)
9e54ae3 Fix bug with judge updates potentially saving wrong vote (#81)
e09472e Refetch projects when opening selector (#80)
bf669f5 Replace internal <Anchor>
elements with <Link>
for client-side routing (#79)
2b10a5d Show only first and last N log messages in tasks drawer by default (#78)
f0f8f0c Render release CHANGELOG.txt relative to previous tag (#77)