web
api
database
github
LLM‑powered changelogs, multi‑repo projects, and public/custom domain publishing
- LLM-powered changelog generation from commits — Commits are now analyzed by an LLM to generate human-friendly changelog entries. The pipeline filters noisy files, builds a structured prompt (OpenAI and Anthropic supported), validates the model output, and writes draft/pending/published entries. Background workers (Inngest) paginate commits, process them reliably with priority handling, and queue durable LLM work so changelogs are generated automatically and reviewable in the editor.
- Projects can track multiple GitHub repositories — Projects now support linking one or more GitHub repositories (project_repos). You can add/remove repos, choose a tracked branch per repo, and the sync pipeline and webhooks fan out per linked repository so one changelog can aggregate commits across repositories.
- Public changelogs, subdomain routing, and custom domains — Public changelogs are served at {slug}.suprlogs.app (and enabled locally via [slug].localhost). You can password‑protect feeds, customize branding (logos, fonts, colours), and — on Team plans — add a verified custom domain via CNAME + TXT verification so the Visit Site and public links use your hostname.
- Database, repo layer, seeds, and simpler setup — A complete Supabase schema, seed data, typed TypeScript models, and a DatabaseService façade were added so the app has a production-ready database foundation. New env templates, README walkthroughs (webhooks, ports, deployments), and VS Code file associations make onboarding and local development easier.
New Features
- Redesigned app shell with a persistent sidebar, 4‑step onboarding, and a streamlined GitHub Connect + project creation wizard so teams can create a workspace, install the GitHub App, and configure projects quickly.ui
- Full entry editor: split‑pane Markdown editor with live preview, status‑aware actions (Approve / Reject / Publish / Archive), auto-save, and metadata sidebar.web
- Project Repos UI in settings: add/remove linked repositories, pick tracked branches, view sync status and last-synced time.ui
- Owner-scoped API keys and dashboard: create personal or org keys, scope to projects, view/manage keys (plaintext shown only once).api
- Vault RPCs and BYOK support: public RPC wrappers for creating, reading, and updating Vault secrets plus secure storage of user-supplied LLM API keys.vault
- Branding page: upload light/dark logos and favicon, choose theme and fonts, and have those assets applied to your public changelog.web
- Aggregation and scheduled summaries: daily/weekly/monthly period summaries (LLM generated), PR‑merge summaries, and non‑destructive backfills.infrastructure
Improvements
- Improved README with step‑by‑step webhook setup for Clerk and GitHub, explicit start commands, ports table, and deployment notes for Railway/Vercel.docs
- Local dev quality‑of‑life: .env templates (.env, .env.development, .env.production), VS Code file associations for data files, and local subdomain support (your‑slug.localhost).docs
- Changelog presentation: entries now show newest-first, respect dark/light theme, use commit dates for ordering, and display generated sections as collapsible accordions.web
- Publishing and scheduling simplified to frequency-based aggregation (daily/weekly/monthly) with safer, non‑destructive backfills and clearer migration flows.web
- Stability and dev tooling: Database repositories are fully typed and tested (unit tests added), structured logger with console fallback replaced pino for robust logging across environments.database
- Onboarding and workspace defaults: workspace-level LLM defaults (provider, model, prompt, optional API key) with optional per‑project overrides and clearer UI cues.ui
Bug Fixes
- Fixed Clerk profile routing by switching to hash routing and handled users without organizations gracefully (no crash; prompt to create an org).auth
- Resolved several project visibility and project-listing issues caused by Clerk ID resolution so dashboards and switcher show the correct projects for personal/org workspaces.api
- Removed unsupported OpenAI temperature parameter and fixed an OpenAI schema mismatch (headline item body now required) to prevent 400 errors.llm
- Fixed hydration and stale-cache issues by using a fresh per-page query cache to avoid mismatches in the Project Switcher and sidebar.web
- Various UI, accessibility, and dark-mode fixes: sign-in/sign-up contrast, social button styling, quote rendering fixes, reserved 'new' route exclusion, and layout polish.ui
- TypeScript and build fixes that unblock Railway/Vercel builds: route param typing, removed conflicting settings, and server‑external package adjustments.docs
API
- Webhooks and GitHub integration: verified Clerk (Svix) and GitHub webhook handlers, raw-body middleware for signature verification, and persistence + background dispatch for events.api
- New and updated endpoints: GitHub callbacks and repo/branch listing, project creation, project repo management (GET/POST/DELETE), resync, public changelog read endpoints, unlock endpoint for password‑protected changelogs, and owner-scoped API key CRUD.api
- User LLM configuration endpoints and a web proxy to store/retrieve per-user LLM API keys (saved in Vault and shown masked in the UI).api
- Database RPC wrappers added for Vault operations: vault_create_secret, vault_read_secret, vault_update_secret (SECURITY DEFINER + restricted search_path).database
Security
- Secure key handling: user-supplied LLM keys and API key raw secrets are stored in Vault (masked in UI); project visibility passwords are bcrypt‑hashed before storage.vault
- Auth hardening and RBAC scaffolding: API actor resolution, caller ownership checks, permission catalog and grants schema added to support role-based access controls.auth
- Vault RPCs created with security-definer wrappers and strict search_path to enforce controlled access to secret operations.vault
Documentation
- Added a Product Requirements Document (PRD), a detailed database reference, and a product backlog with planned v1+ features and integrations.docs
- Updated README with webhook setup, GitHub App registration, ngrok usage for local testing, ports table, and deployment notes for Railway/Vercel.docs
- Generated OpenAPI spec from route JSDoc and added an openapi:check step to prevent API spec drift.docs
Breaking Changes
- project_repos migration: repository-specific columns were moved off projects into project_repos. Apply migration 011_project_repos.sql before deploying to back-fill existing data.database
- Structured logger replaces pino: pino was removed from web app dependencies. Integrations relying on pino APIs will need updating to the new StructuredLogger interface or the console fallback.web