Changelog

All changes, fixes and updates to build-elevate.

Force Upgrade Past Conflicts

Adds a `--force` flag to the `upgrade` command so you can advance a project to the latest template commit even when files conflict, without losing your local edits.

Added
  • `upgrade --force` advances the manifest to the latest commit while keeping your local edits — for each conflicting file it records the template's latest hash as the new base (the template content is never written to disk) so the conflict clears, your file is left untouched, and it only re-flags if the template changes that same file in a future release

Structured Logging, RSC Pages & Changelog Site

Adds a shared structured logging package adopted across the API, converts the authenticated web pages to React Server Components for a faster first paint, and rebuilds the documentation changelog with an RSS feed and refreshed navigation.

Added
  • New `@workspace/logger` package wrapping pino with env-based log level (`LOG_LEVEL`), sensitive-key redaction, and pino-pretty for local development — adopted across the API with pino-http per-request logging (health-check routes skipped, child logger on `req.log`) replacing morgan and ad-hoc console calls
  • Rebuilt changelog page with color-coded entries grouped by change type, a `/changelog/rss.xml` feed, a reusable `CopyButton` and NPM brand icon, and Documentation/Changelog/NPM links in the shared nav
  • `.markdownlint.yaml` config for linting Markdown content
Changed
  • Converted the profile, dashboard, and settings (general/security/activity) pages to React Server Components that fetch the session server-side and pass data into client children — eliminating skeleton flash, `useEffect` form resets, and the activity data waterfall; added route-level loading/error boundaries and a shared `requireUser()` server guard
  • Trust the first proxy hop in production so the real client IP is resolved for request logs
Removed
  • Dropped the now-unused `/api/sessions` route; sessions are fetched server-side via `auth.api.listSessions`

Kubernetes Deployments & CI Upgrades

Adds first-class Kubernetes support with deployment manifests, deploy/verify scripts, and an opt-in scaffolding flow, plus health probe endpoints. Also upgrades the GitHub Actions workflow and adds Turborepo caching across CI jobs.

Added
  • Kubernetes deployment manifests for the API and web apps — Namespace, ConfigMap, Deployments, ClusterIP Services, nginx Ingress with `/api/v1/*` rewrite, and HPAs (2–10 replicas)
  • `deploy.sh` to build/push images and apply all manifests, plus a CI-friendly `k8s/verify.sh` that health-checks pods, endpoints, in-cluster HTTP, ingress, and HPA metrics — exposed as `k8s:deploy` and `k8s:verify` pnpm scripts
  • `/readyz` and `/healthz` probe endpoints on the API server for Kubernetes liveness and readiness checks
  • Opt-in Kubernetes prompt during scaffolding (Docker-gated, defaults to No) with per-template manifest pruning and full upgrader integration
  • Kubernetes deployment guide added to the documentation site
Changed
  • Bake `API_INTERNAL_URL` into the web Docker image at build time so server-side rendering can reach the API in-cluster
  • Upgraded the GitHub Actions workflow — actions/checkout, setup-node, and pnpm/action-setup to v6, Node.js 20 → 24, pnpm 10 → 11.1.1, and switched to the native setup-node pnpm cache
Fixed
  • Stripped unnecessary quotes from `DATABASE_URL` values in `.env.example` files
Performance
  • Added Turborepo cache restoration to the lint, type-check, test, and build CI jobs for faster pipeline runs

Vitest Migration Complete & Jest Removal

Completes the monorepo migration to Vitest, removes Jest dependencies and presets, and updates docs and workspace configuration to match the new test stack.

Changed
  • Migrated the API app from Jest to Vitest and aligned test scripts, config, and setup with the shared workspace preset
  • Updated docs, package metadata, and workspace configuration to remove Jest references and reflect the Vitest-based test setup
Removed
  • Removed Jest dependencies, presets, and config files now that the workspace test suite runs on Vitest

Contracts Package Split & Workspace Config Updates

Adds a new shared contracts package for validation schemas and refreshes workspace package configuration to match the updated monorepo layout.

Changed
  • Introduced `@workspace/contracts` for shared Zod schemas and moved auth validation out of `@workspace/utils`
  • Updated web auth and security flows to import schemas from `@workspace/contracts`
  • Refreshed workspace package configs, dependencies, and lockfile entries.
  • Updated docs content for the utils and contracts packages to describe the new split

Web Shell Refresh & API Rewrite Support

Adds reusable empty states, refreshes the web shell, and introduces API rewrite support alongside supporting workspace and tooling fixes.

Added
  • Added reusable empty state components and refreshed the web shell experience
  • Introduced API rewrite support with a shared web API client
Changed
  • Simplified URL schemas across auth, database, and rate limit packages
  • Updated the docs collections alias and related configuration to match the current content layout
  • Added a dev Docker script, updated CI environment wiring, and refreshed package metadata for the workspace
Fixed
  • Added Node types to the rate-limit tsconfig so type checking works consistently

Docker Compose Project Name Replacement Fix

Ensures scaffolded project name replacement also updates the Docker compose file so generated projects stay consistent.

Fixed
  • Included `docker-compose.yml` in project name replacement files so scaffolded project names update everywhere

Manifest Path Fix for Generated Prisma Client

Fixes manifest generation by correcting the skipped generated Prisma client directory path so internal generated artifacts are excluded consistently during hashing.

Fixed
  • Updated manifest skip directory from `generated/prisma` to `packages/db/generated` to correctly exclude generated Prisma client files

CLI Template Transformations Refactoring

Refactors the scaffolding CLI by extracting and composing template transformations into modular, reusable units for improved maintainability and easier future enhancements.

Changed
  • Extracted template transformation logic into separate, composable modules for better code organization
  • Refactored scaffold initialization, readme generation, and upgrade workflows to use composed transformations
  • Added `lint:fix` script and turbo task for automated code style corrections across the monorepo

Upgrade Command & Template Diffing

Adds an upgrade workflow that keeps scaffolded projects in sync with the latest build-elevate template. Files that haven't been modified locally are updated automatically, while modified files are flagged as conflicts and can be inspected with a built-in diff command.

Added
  • Introduced the `upgrade` command to automatically update files that remain unchanged since scaffolding, while marking modified files as conflicts for manual review.
  • Added a `diff` command that shows a colored, line-by-line comparison between your scaffolded version of a file and the latest template version.
  • Created a `.build-elevate.json` manifest during initialization to store the scaffolded commit SHA, template name, project metadata, and per-file hashes used during upgrades.
  • Template-aware upgrade filtering ensures projects only receive updates for files that were included during scaffolding (e.g., web projects will not receive api-specific files).
Fixed
  • Upgrade now applies initialization-time transformations before comparing template files, preventing false conflicts in files like `package.json`, `turbo.json`, and `pnpm-workspace.yaml`.
  • Normalized line endings (CRLF → LF) before hashing to prevent false conflicts on Windows environments.

Auth Forms, UI Improvements & Fixes

Introduced reusable form field components, improved authentication UI structure, upgraded core dependencies, and fixed CI and documentation issues while strengthening auth configuration security.

Added
  • Reusable, composable form field components added to the shared UI package
Changed
  • Split the unified CredentialsForm into separate SignInForm and SignUpForm components for a cleaner auth UI
  • Updated shadcn/ui components to use unified @radix-ui primitives
  • Upgraded Zod to v4 for improved schema validation performance and API
Fixed
  • Fixed missing environment variables in the CI build job
Security
  • Shared a single auth secret across all environment files to prevent secret drift

Auth Secret Consistency & Security Improvement

Improved authentication security by standardizing the auth secret across all environment files to prevent configuration drift.

Security
  • Shared a single auth secret across all environment files to prevent secret drift

Improved App Name Handling in Scaffolding

Improved project scaffolding to support whitespace in app names, automatically trimming and formatting them for environment variables and display.

Changed
  • Accept whitespace format of app name, and trim it for use in env vars and display (e.g. 'My App' becomes MY_APP in env vars and 'My App' in display)

Monorepo Fixes & Environment Improvements

Improved development environment loading, resolved monorepo dependency resolution issues, fixed lint errors in scaffolded apps, and added metadataBase to eliminate configuration warnings.

Changed
  • Load package env vars in development
Fixed
  • Fixed a lint error present in newly scaffolded apps
  • Resolved package resolution errors for pg and prettier in monorepo installs
  • Added metadataBase to site config to remove the warn log

Scaffolding Enhancements, Documentation Site & Fixes

Enhanced project scaffolding with automatic package manager detection, introduced a Fumadocs-powered documentation site with structured MDX content, added tooling to generate documentation for scaffolded apps, and fixed formatting checks during scaffolding.

Added
  • Fumadocs-powered documentation site with full structured MDX content
  • Package manager detection with adaptive CLI options during project scaffolding
Changed
  • Add a script to create structured documentation content on the scaffolded apps by template
Fixed
  • Fixed formatting check failures during scaffolding

Developer experience improvements

Improved developer experience by enhancing the scaffolding CLI with multi-package-manager support, adding tooling for environment setup and code formatting, refining project initialization, and improving configuration consistency across templates.

Added
  • Added support for multiple package managers (npm, pnpm, bun) in Scaffolding CLI
  • Format check on scaffolding to ensure new projects adhere to code style standards
  • Turbo environment variable setup script
  • generatePageMetadata utility for per-page SEO metadata generation
Changed
  • Improved project initialization flow and CLI prompts for a better developer experience
  • Update script to include environment variables required by each template for turbo tasks
  • Update eslint-config for nextjs web app to extend from the root config for better consistency
Removed
  • Removed auth/client.ts in api only scaffolded projects since it is only needed for the web app

Scaffolding script improvements

Improved project scaffolding scripts, optimized Docker Compose for production, refined GitHub workflow triggers, reorganized monorepo dependencies, and fixed the Prisma Studio script.

Changed
  • Update scripts to update pnpm catalog, docker-compose file on scaffolding new projects
  • Optimized Docker Compose configuration for production environments
  • Ignore .md changes in GitHub workflows to prevent unnecessary CI runs on documentation updates
  • Use explicit paths filter to trigger the github workflows
  • Updated Documentation and Getting Started guide on README.md
  • Moved better-auth from the web app to the core workspace package for better reuse
  • Moved shared dependencies to the core catalog to reduce duplication across packages
Fixed
  • Fixed Prisma Studio app script after a Prisma version bump

Added scaffolding scripts

Initial scaffolding scripts to bootstrap new projects from the monorepo template, along with improvements to environment variable management and documentation updates.

Added
  • Scaffolding scripts to bootstrap new projects from the monorepo template
Changed
  • Make env placeholder values more descriptive
  • Made Environment variable management more consistent across all packages

Foundation Release

The effective initial release. Includes the full monorepo foundation, Better-Auth migration, email system, 2FA, session management, and account security suite.

Added
  • Turborepo monorepo with apps/ and packages/ structure
  • Next.js web app with App Router, Tailwind CSS, and shadcn/ui
  • Express API server with TypeScript, structured routing, and a 404 catch-all
  • Shared packages: ui, utils, auth, db, email, eslint-config, typescript-config
  • Docker Compose setup for local development and production deployments
  • GitHub Actions CI with lint, type-check, and test jobs
  • Jest testing setup with shared workspace presets
  • Better-Auth with email/password sign-in and sign-up flows
  • Dedicated @workspace/auth package with centralized auth logic and TypeScript support
  • Authentication middleware for the Express API with protected route support
  • Rate limiting for API calls and verification email requests with configurable strategies
  • Email verification on sign-up
  • Two-factor authentication (2FA) with TOTP support, including setup flow for OAuth users
  • Forgot/reset password flow with secure token-based email links
  • Email change flow with a verification step
  • Social login connect/disconnect cards in account settings
  • Session activity UI and API — view and manage active sessions across devices
  • Revoke all sessions from the security settings page
  • User profile, account settings, and security settings pages
  • Account deletion with a post-deletion goodbye page
  • Light/dark/system theme switcher
  • React Email + Resend email package with in-app preview
  • Refreshed email templates with a modern design
  • Responsive layout across auth and settings pages
  • Prisma ORM with PostgreSQL support and auto-generated client
  • Prisma Studio as a standalone app in the monorepo
  • Environment validation using @t3-oss/env for fail-fast startup errors
  • Husky git hooks for pre-commit linting and formatting enforcement
Fixed
  • Fixed hydration error on authentication pages
Security
  • Prevented client-side access to server-only environment variables

Unpublished from npm.

Unpublished from npm. No functional changes — version created to reclaim 1.0.0 slot after accidental deletion. Use v1.0.2 instead.

Unpublished from npm.

Unpublished from npm. Original initial release — no longer installable. All changes are included in v1.0.2.