Release Notes - Paideia LMS v0.7.15
Release Date: March 2, 2026
Version: 0.7.15
Type: Infrastructure Release (Critical)
Impact: High - Monorepo restructure, improved server startup validation, and clearer error handling for common setup issues.
Changelog: 0094-2026-03-02-bun-monorepo-restructure.md
Overview
Paideia LMS v0.7.15 is a critical infrastructure release that restructures the project as a Bun workspace monorepo. The application now lives under apps/paideia, with the root acting as the workspace coordinator. This release also includes important improvements to server startup: migration checks before the server starts, clearer S3 bucket error messages, and better handling of seed failures.
What's New
Monorepo Structure
The project has been restructured:
- Root directory: Runs
bun installonce to install all dependencies - Application location:
apps/paideia(replaces the previous root layout) - Same commands:
bun dev,bun run build,bun startall work from the repository root
Migration Check at Startup
Before the server starts, Paideia now checks for pending database migrations:
- Interactive mode: Prompts you to run migrations if any are pending
- Non-interactive (CI): Runs migrations automatically
- Clear feedback: Avoids confusing "relation does not exist" errors from starting with an unmigrated database
Clearer Error Messages
- S3 bucket missing: If the configured S3 bucket does not exist, you get a clear error message instead of a raw AWS stack trace
- Seed failure: If the initial seed fails (e.g. due to S3), the server exits with a helpful message instead of starting in a broken state
Upgrade Instructions
From v0.7.14
-
Pull the latest changes:
git pull origin main
-
Install dependencies (from repository root):
bun install
-
Run database migrations (when prompted at startup, or manually):
bun run migrate:up
-
Start the server:
bun dev
Path Changes
If you have custom scripts, CI, or Docker configs that reference the old layout:
- Dockerfile: Now at
apps/paideia/Dockerfile; build withdocker build -t paideia:latest apps/paideia - Version: Read from
apps/paideia/package.json - Environment:
.env.exampleis atapps/paideia/.env.example
Breaking Changes
Project Layout
- All application code has moved from the repository root to
apps/paideia - Root
package.jsonno longer contains application dependencies; they live inapps/paideia/package.json - Root scripts delegate to
apps/paideiaviabun run --cwd apps/paideia
For Deployments
- Binary builds: Output is now under
apps/paideia/dist/ - Docker: Build context is
apps/paideia(see README) - GitHub Actions: Release workflow paths have been updated
Summary
This release prepares Paideia for future growth with a cleaner monorepo structure and improves the experience when setting up or troubleshooting the server. The same user-facing features remain; the changes are primarily structural and operational.
Core Updates
- Monorepo restructure with application under
apps/paideia - Migration check before server startup
- Clearer S3 and seed error messages
- Native dependency checks updated for monorepo layout
Thank You
Thank you for using Paideia LMS. This infrastructure upgrade sets the foundation for future enhancements.
For questions or feedback, please visit our GitHub repository: https://github.com/paideia-lms/paideia