BETA
← All releases
2026.3.28-beta 2026-03-28

2026.3.28-beta

Infrastructure overhaul, new admin UI, backend metrics, and a batch of bug fixes.

Bun to pnpm+Node migration

Replaced Bun with pnpm and Node across the entire stack — CI, Containerfiles, process-compose, Taskfiles, and devagent. Removed all ssr.noExternal workarounds that were only needed for Bun's module layout.

CI pipeline

Decoupled E2E tests from the deploy pipeline — deployments now depend only on check jobs (backend, frontend, auth) for faster production pushes. E2E tests run nightly against main and dev with automatic Linear ticket creation for failures.

Admin UI

New internal admin dashboard (galley-admin) with platform stats, user management, organization and call detail views, submission detail, feedback list, feature flags, and announcements CRUD.

Backend metrics

Added Prometheus metrics to the Rust backend — HTTP request counters, latency histograms, in-flight gauges, and database query duration tracking. Grafana added to local dev stack.

Docs site

Scaffolded Astro + Starlight documentation site at docs.galley.pub with initial content for editors, writers, and API reference.

Consumer API

Public read-only API with API key authentication, rate limiting, and scoped access to organizations, calls, and submissions.

Organization profiles

Redesigned public organization profiles with centered masthead hero and card grid. Added cover image and publication logo upload support.

User profiles

Redesigned user profile pages with two-column sidebar layout.

Email forwarding

Added EMAIL_FORWARDING env var to forward non-submission emails (e.g. [email protected]) to external addresses via Resend.

Footer

Added shared Footer component to @galley/kit with links to Terms, Privacy, Cookies, AI Policy, and Colophon on all public and marketing pages.

Bug fixes

  • Fixed 500 error on /discover page when backend is unreachable
  • Fixed auth race condition in review layout load function
  • Fixed E2E test selector for Bits UI Select trigger
  • Fixed svelteHTML type resolution after pnpm migration
  • Fixed SSR crash from phosphor-svelte in noExternal
  • Fixed avatar showing no initials when display_name is empty
  • Fixed dark mode tokens, card radii, and section header inconsistencies