# Devxura v1.0.0 Release Notes

**Release Date:** 2026-05-19
**Tag:** v1.0.0
**Commit:** 8d8eb7e63e240343dc5488209386ce01c7edcf93

---

## Overview

Devxura v1.0.0 is the first production-ready release of the Devxura AI agency platform. It includes a fully operational central SaaS (developer accounts, licensing, Stripe billing) deployed at https://✅ Live, with the runtime stack running on the same VPS.

---

## What's New

### Central SaaS (✅ Live)
- **Postgres-backed persistence** — all developer accounts, licenses, runtime nodes, subscriptions, and plan entitlements stored in PostgreSQL
- **Developer authentication** — scrypt password hashing, SHA-256 session tokens, login/logout/session management
- **Stripe billing integration** — auto-created products for Solo ($0), Small Agency ($49), Agency Pro ($149); checkout sessions; webhook-driven subscription → license state sync
- **License management** — activation, check-in, state transitions (trialing → active → past_due → cancelled)
- **Plan entitlements** — feature limits per plan enforced via database

### Runtime Stack
- **Real central SaaS integration** — runtime switched from mock to real central SaaS (zero mock dependencies)
- **License activation** — registers runtime nodes against real license keys
- **Entitlement sync** — runtime reads live plan entitlements from central SaaS
- **Postgres persistent runtime repository** — runtime state backed by PostgreSQL

### Infrastructure
- **Docker Compose deployment** — standalone central-app service with env-driven config
- **Traefik reverse proxy** — HTTPS with Let's Encrypt auto-certificates
- **Automated Stripe product/price creation** — idempotent on server startup

---

## Architecture

```
✅ Live (HTTPS)
        │
        ▼
   Traefik (SSL)
        │
        ▼
central-app:4100 ──── Postgres (compose_default)
        │                    │
        │              developers, licenses,
        │              runtime_nodes, subscriptions,
        │              sessions, plan_entitlements
        │
runtime-api:4000 ──── central-app (license activation/check-in)
```

---

## Database Schema (25 tables)

Foundation: `developers`, `plans`, `plan_entitlements`, `licenses`, `trials`, `runtime_nodes`, `sessions`, `subscriptions`, `customers`, `workspaces`, `provider_connections`, `audit_logs`

Runtime: `runtime_repository_state`, `runtime_users`, `ai_employees`, `workflows`, `workflow_runs`, `portal_requests`, `portal_settings`, `portal_users`, `approval_requests`

---

## End-to-End Validation

**38/39 tests passed** against the real central SaaS with Postgres + Stripe:
- License activation → node registration → check-in flow
- Stripe checkout URL generation (test mode)
- Webhook signature verification → subscription → license state sync
- Postgres persistence across restarts
- Zero mock dependencies remaining

---

## Deployment

```bash
# Build and start central-app
cd /opt/devxura/infra/compose
docker compose -f docker-compose.central.yml up -d --build

# Verify
curl https://✅ Live/health
```

---

## Known Gaps (Deferred)

- Stripe live mode (currently test mode)
- Grace-period auto-scheduler (cron job)
- Automated backups (manual pg_dump available)
- Stripe Customer Portal (billing self-service)

---

## Backup

```bash
docker exec compose-postgres-1 pg_dump -U devxura devxura > /opt/backups/devxura-$(date +%Y%m%d-%H%M).sql
```

## Rollback

```bash
cd /opt/devxura
git checkout v1.0.0
docker compose -f infra/compose/docker-compose.central.yml down
docker exec -i compose-postgres-1 psql -U devxura devxura < /opt/backups/RESTORE-FILE.sql
docker compose -f infra/compose/docker-compose.central.yml up -d --build
```

---

## URLs

| Purpose | URL | Status |
|---------|-----|--------|
| Central SaaS | https://✅ Live | ✅ Live |
| Stripe Webhook | https://✅ Live/stripe/webhook | ✅ Verified |
| Main Site | https://✅ Live | ✅ Live |
