This week focused on changelog quality, editor polish, and smoother onboarding. We added configurable lookback windows, improved markdown editing reliability, and shipped a progress-aware setup checklist.
Configurable lookback windows for scheduled changelogs
Schedules now support five predefined time ranges (current day, yesterday, last 7/14/30 days) instead of hardcoded 7-day windows. The selected range flows through the entire generation pipeline and appears in stored metadata, so you can see exactly which window produced each post.
Full table support in the rich-text editor
The Lexical editor can now insert, edit, and manipulate tables with a /table slash command and floating action menu. Markdown roundtripping preserves table syntax across view switches, and editor normalization prevents false-positive dirty states on initial load.
Database-backed onboarding checklist
A collapsible checklist in the sidebar footer tracks brand identity, integration, and schedule setup. Progress is synced across all mutation flows, completion auto-hides the widget, and collapse state persists via localStorage to reduce visual noise.
Modular tone-specific changelog prompts
Changelog generation moved from a shared base prompt to self-contained, one-file-per-tone templates. This simplifies backend selection logic, hardens tool input validation, and centralizes tone profile resolution through Zod schemas.
Point-in-time source metadata on generated content
Each post now stores a JSONB snapshot of its trigger, repositories, and lookback window. The content detail page displays this metadata with Zod validation and tooltip formatting for multi-repo scenarios.
audience in the loop without slowing down development.