2026.3.4-beta
The biggest release since beta launch — notifications, call lifecycle management, rate limiting, and dozens of submission workflow improvements.
Notifications
In-app notifications for submission activity. Reviewers and editors are notified when comments are posted on submissions they participate in. New notifications page accessible from the header.
Call Lifecycle Management
Calls now track status (open/closed) with visual indicators and countdown timers on deadlines. Editors can extend deadlines and reopen closed calls. Auto-close on deadline expiry. All lifecycle changes are logged in a new call activity feed.
Submission Workflow
- Status change confirmation dialog — prevents accidental status changes with a confirmation step
- CSV export — editors can export their inbox as CSV from the top bar
- Review progress bar — shows review completion on the queue page
- "Review Next" button — jump to the next unreviewed submission from the detail page
- Reading mode toggle — distraction-free reading on submission detail
- Keyboard shortcuts — navigate the queue and review pages without a mouse
- Submission form progress indicator — multi-step form with clear step navigation
- Inline validation — helpful error messages as submitters fill out forms
- Drag-and-drop upload improvements — better progress feedback and error handling
- Submission confirmation page — clear next steps after submitting
- File download on review page — download original uploaded files
- Word count custom field — new custom field type for calls
Rate Limiting & Security
Redis-backed rate limiting middleware for authenticated API endpoints. Honeypot and timing-based anti-bot checks on submission forms. Idempotency keys prevent duplicate submissions. Presigned upload URLs restricted to editors and reviewers. Configurable via DISABLE_RATE_LIMIT env var for local dev.
Error Handling & Resilience
Frontend error boundaries with user-friendly messages for each route group. Graceful degradation when backend services are unavailable — health monitoring banner and maintenance page. Race condition handling for concurrent submission status changes. File upload retry and failure recovery.
Platform Announcements
New announcements banner for platform-wide messages, managed via admin API.
Performance Monitoring
Database query performance monitoring with slow query logging. API latency tracking middleware. Load testing infrastructure with k6 scripts for concurrent submissions and sustained load.
Typography System
Typography components split into five semantic levels: Hero, Display, Heading, Text, and Minutiae. Storybook showcases updated.
Everything Else
- Terminology standardized to "editorial review platform" across marketing copy
- Subscription plan change edge cases and state transitions handled
- Feature flag admin endpoints added to OpenAPI spec, 404 fix for nonexistent flags
- Backend
.env.exampleadded, live API keys removed from local env - Local mock Resend email server for development (
tools/mock_resend.py) - Terraform directory renamed from
dnstocloudflare - DevAgent improvements: stacked branches, self-update fixes, larger error output
- Authenticated users redirected from
/to/home - Storybook color palette redesigned to match Figma reference