All updates
projects
sync
changelog
feeds

Projects page, reliable real‑time sync, public feeds, and pricing updates

  • Dedicated Projects page and project transferA new Projects page centralizes your projects and makes creation and navigation simpler. You can now move a project between your personal workspace and any organization you belong to from Project Settings — repository links, changelogs and history remain intact after the move.
  • Rebuilt sync for reliable, real-time changelog generationThe sync pipeline was overhauled so resyncs run as coordinated, project-scoped batch jobs. Changelogs are now generated reliably (commit processing, LLM calls and entry writes run in controlled batches) and the UI refreshes automatically during syncs so you see live progress without manually refreshing.
  • Public RSS & Atom feeds, subscribe UI, and analytics integrationsPublic changelogs now expose RSS 2.0 and Atom 1.0 feeds and include autodiscovery links. A bell icon on public changelogs opens a subscribe modal with a copyable RSS URL and a ready-to-paste Slack /feed command. You can also configure Google Analytics, GTM, or PostHog per changelog from Integrations (subject to plan entitlements).
  • New Pricing page and improved pricing UIA dedicated, public /pricing page and reusable PricingSection component make plans, billing cycles and feature comparisons clearer. The /pricing route is accessible without signing in and the header now links to the new page.

New Features

  • Projects page replaces the old App dashboard and redirects users to /app/projects for a clearer workflow.
  • Project ownership transfer: move projects between your personal account and organizations you belong to from Project Settings.
  • RSS and Atom feeds for public changelogs (404 for private changelogs) plus a subscribe modal with quick-copy RSS and Slack commands.
  • Integrations settings for Google Analytics, Google Tag Manager, and PostHog so you can add analytics scripts to public changelogs (gated by entitlement).
  • Live sync elapsed timer and a Commit status column on larger screens to show whether commits are Processed or Queued.
  • New /pricing public route and reusable PricingSection component, including an annual/monthly toggle and full feature comparison.

Improvements

  • Smoother editor navigation: transitions keep current content visible while switching entries to reduce flicker and avoid blank previews.
  • Workspace switcher now revalidates memberships and disables selection while loading to prevent confusing state.
  • Project fetching streamlined: org projects are preferred when signed into an org, with efficient batched repository lookups and non-fatal handling of lookup failures.
  • Feeds, sitemap and public discovery now publish aggregated period summaries (daily/weekly/monthly) rather than individual commit entries.
  • Frontend polish and accessibility: Pricing label layouts adjusted, check icons unified, Marketing header uses Next.js Link for smoother navigation, VT323 font added for retro styling, and Open Graph preview refreshed.
  • Central APP_URL env added to turbo.json and several ESLint tweaks applied to avoid false warnings for third-party scripts and images.

Bug Fixes

  • Delete confirmation input is reset when the dialog closes so the delete dialog opens clean each time and only proceeds when the slug matches.
  • Improved handling of GitHub installation IDs: numeric installation_id URLs are now resolved automatically so direct GitHub setup links work smoothly.
  • Fixed several race and serialization issues in the sync pipeline (including a JSON Infinity serialization bug and duplicate-batch races) so commits aren't skipped and batches are coordinated correctly.
  • LLM settings, system-prompt, and schedule changes no longer reprocess individual commit summaries — only aggregated period summaries are regenerated, preserving commit-level history.
  • Date formatting and previous-period resolution corrected to avoid timezone-related errors when rebuilding history.
  • Fixed build failures by restoring missing database type aliases and exports across packages.

API

  • Added POST /api/projects/[slug]/transfer to request project ownership transfers with permission checks.
  • Repository input schema and history-estimate endpoints now accept GitHub's numeric installation_id as well as internal UUIDs and will fall back to a lookup when needed.
  • New light-weight /api/projects/repos-status endpoint supports the project list in detecting active syncs so the UI can refresh during work.
  • Project settings PATCH now supports ga_measurement_id, gtm_container_id, posthog_project_id, and posthog_api_host (null to delete).

Security

  • Database row-level security and JWT handling were hardened: policies were consolidated, JWT reads fixed, and permissive policies scoped to the service role to reduce accidental exposure.
  • Search_path and single-evaluation JWT checks added to relevant DB functions and policies to improve both safety and performance.

Documentation

  • Updated internal changelog docs to describe feeds, integrations, entitlement changes, and the new regeneration behaviors.
  • Middleware tests updated to include /pricing as a public route and entitlement catalog entries/doc strings refreshed to match renamed keys.

Performance

  • Editor and preview re-renders optimized (useCallback refinements) to reduce unnecessary reloads and improve responsiveness.
  • Database and RLS changes reduced per-row overhead (search_path fixes and single JWT evaluation) for faster queries during sync and lookups.
  • Sync processing now works in 50-commit batches with parallel fetch/LLM/write waves so large resyncs complete more predictably.

Breaking Changes

  • Entitlement key names have been renamed (for example: can_create_api_keys → can_issue_api_keys, allowed_changelog_visibility → allowed_changelog_visibilities, inngest_priority → processing_priority). If you reference entitlement keys directly (scripts, seeds, or integrations), update them to the new names.