Skip to content

Changelog — v1

v1.0.3 — 2026-09-12

  • Display names: Core Backend and Middleware Backend (paths unchanged: /v1/core/, /v1/middleware/).
  • GitHub Pages workflow runs only on the deploy-github-pages branch.

v1.0.2 — 2026-09-12

  • Playbooks are how to build each layer.
  • IDOR only on Core Backend API-key path settings and Middleware Backend. Frontend browse x-api-key is public. Do not assign IDOR to Vue; if a control is missing, recommend it on Core Backend/Middleware Backend.

v1.0.1 — 2026-09-12

Framing pass (no winner-URL moves).

  • Product: PMS — hotels, shortlets, and apartments are all property (property_category).
  • Three equal playbooks: Frontend (screens), Middleware Backend (processors, webhooks, workers), Core Backend (recommended Nellalink usage / do-not-add).
  • Home and v1 overview lead with all three; not frontend-only.

Who implements

TeamAction
ProductRead playbooks as guest/owner flows
FrontendScreens against winner URLs
Middleware BackendFolders + workers from the Middleware Backend playbook
Core BackendStay generic; follow recommended usage

v1.0.0 — 2026-09-12

First published lodging docs.

  • Architecture: frontend → Core Backend for auth/CRUD; frontend → Middleware Backend for processors; Middleware Backend → Core Backend to persist.
  • Frontend playbooks: sign up/login, owner property setup, guest search, checkout/pay, manage booking — each step has one winner URL.
  • Core Backend conventions: property, room, rate_plan, booking, payment + metadata catalog.
  • Middleware Backend contracts (to implement except file-manager): availability, payments, refunds, emails, google-rates.
  • Hosting: /v1 stable, /next drafts. Iteration prompt + IDOR checklist.

Who implements

TeamAction
FrontendBuild screens against winner URLs (stop new Convex-only features)
Middleware BackendImplement route folders from specs/middleware/v1
Core BackendStay generic; consider object-level ACL on GET/PUT entity by uuid (IDOR)

API-first. Middleware Backend wins over Core Backend when both exist.