All updates
frontend
backend
database
integrations

Project home & editor revamp; fixed period aggregation/backfill timing

  • New Mintlify‑style project home (two‑panel dashboard)Replaced the old flat entry list with a two‑panel Project Overview: a preview card showing the most recent published period entry and project name on the left, and project metadata, repo sync badges, and action buttons (Open Editor, Manual Sync, Visit Site) on the right. A paginated commit history table (25 per page) now surfaces individual commits directly from your linked repositories.
  • Full two‑column Editor with month‑grouped period entriesLaunched a complete Editor experience: the left column lists period entries grouped by calendar month with search, status tabs, and component‑tag filters; the right column previews and edits the selected entry with Visual/Markdown toggle, editable metadata (title, tags, team), expandable commits panel, and status‑aware actions (Publish, Unpublish, Approve, Reject, Archive). Selection is shareable via ?entry=<id> in the URL.
  • Fixed period aggregation and backfill timingResolved a bug where commits were bucketed by ingestion time, which could collapse historical entries into the current window on resync. Period aggregation now uses period_start (committed_at) and the backfill trigger was moved so period windows are generated only after all commit entries exist.

New Features

  • Introduced a Mintlify‑style Project Overview dashboard with a changelog preview card, repo metadata and sync badges, action buttons, and a paginated commit history table.frontend
  • Added the full two‑column Editor page (EditorLayout, EditorEntryList, EditorEntryPreview) to view, edit, and manage period entries.frontend
  • Added a Manual Sync confirmation flow (ResyncConfirmButton + AlertDialog) that requires explicit confirmation before re‑syncing a repository.frontend
  • Added POST /api/projects/[slug]/entries/[id]/unpublish to revert published entries back to draft and clear published_at.backend
  • Added GET /api/projects/[slug]/overview to provide the Project Overview data (project, repos, last published period entry, recent activity) in one request.backend
  • Installed and exposed a reusable AlertDialog UI component for confirmation dialogs.frontend
  • Added a non‑destructive Inngest function (generate‑period‑backfill) that emits aggregation requests only for missing period windows that actually have commits.integrations

Improvements

  • Public changelog now prefers published period entries (daily/weekly/monthly) and falls back to commit entries only if no period entries exist.frontend
  • Simplified project layout by removing the slim repo header from sub‑pages so ProjectOverview is the single place showing repo and sync metadata.frontend
  • Reordered project sidebar navigation (Home → Editor → Branding → Settings → Analytics) and removed the Editor "Soon" badge.frontend
  • Extended entries API and client types to include entry_type, period_start, and period_end, and added support for ?type=period and ?type=commit filters.backend
  • Updated the useEntries hook to accept an entry type group (period or commit) so UI lists can request the appropriate source entries.frontend
  • Returned project overview data and the last published period entry in a single server request to speed dashboard rendering.backend

Bug Fixes

  • Fixed period aggregation bucketing: entries are now located by period_start (committed_at) instead of created_at (ingestion time), preventing historical entries from collapsing during resyncs.database
  • Moved the period backfill trigger out of sync‑repo and into processCommit so period windows are generated only after the last commit is processed.integrations
  • Made generatePeriodBackfill non‑destructive: it now only creates missing period windows and never archives or restores existing entries.integrations
  • Added a new typed event changelog/commits.batch.completed (fired by processCommit) to drive reliable post‑sync period aggregation.integrations

API

  • Added POST /api/projects/[slug]/entries/[id]/unpublish to unpublish an entry (backend endpoint used by the Editor unpublish action).backend
  • Added GET /api/projects/[slug]/overview to power the new Project Overview server page.backend
  • Updated GET /api/projects/[slug]/entries to accept ?type=period and ?type=commit and to sort entries using period_start/committed_at when available.backend

Documentation

  • Updated docs/changelog.md to document the new Project Overview, Editor, manual sync confirmation, and aggregation/backfill behavior.docs