Skip to main content

1.7.0 (2026-04-25)

Bug Fixes

  • security: fail-closed Discord signature when public key missing in prod (39a0056)

Features

  • order-session: extend state machine for rich ordering flow (dbd09ea)
  • order: add payment.rejected consumer to release inventory + cancel (a21d263)
  • order: add rich /order Discord flow with validator + shipping + confirm (c6c543d)
  • order: wire discounts, shipping, payment approval into flow service (9b716dd)

1.6.0 (2026-04-24)

Features

  • admin: add Open Orders Dashboard custom page (Phase 3) (d07beb3)
  • discount: add admin assign/revoke discount commands and admin refinements (3ed2bd2)
  • order: add open-order domain query layer (Phase 1) (8de0c73)
  • order: add open-orders dashboard API endpoints (Phase 2) (e4e3e9a)
  • rbac+entitlements: add product role gate and implement entitlement pipeline (5133d86)
  • refund: add admin-initiated refund service and Discord /refund command (aea79d0)

1.5.0 (2026-04-24)

Bug Fixes

  • add lowStockAnnounceEveryone to catalog-channel test fixtures + gitignore .claude/ (5aaf50f)
  • discord-mock: widen req.params capture to handle Express 5 types (7142441)

Features

  • catalog: add catalog channel auto-update service (6d44214)
  • notifications: add notification service, event consumers, and admin tenant scoping sweep (6474dd8)
  • payment: add P2P admin approval flow (Venmo + CashApp) (4a0c72f)
  • shipping: partner-agnostic V1 shipping domain + mark-shipped dual path (7227b55)

1.4.0 (2026-04-24)

Features

  • discounts: user-bound assignments with 1/N/forever rules (908e085)
  • inventory: cost/price + qty visibility + default product image (85a1fb8)
  • shipping: address validation port + Google adapter (fda264a)
  • test-harness: Discord mock (local server + Vitest + CLI) (1be9d56)

1.3.0 (2026-03-13)

Features

  • discord: Rich UX with embeds, buttons, modals, and address reuse (#75) (743f8c8)

1.2.7 (2026-03-13)

Bug Fixes

1.2.6 (2026-03-13)

Bug Fixes

  • admin: apply theme immediately, distinct section backgrounds, light text on dark themes (c98befc)

1.2.5 (2026-03-10)

Bug Fixes

  • admin: show username instead of userId in top-right dropdown (832e5a9)

1.2.4 (2026-03-10)

Bug Fixes

  • admin: add universal theme colors, update seed to propagate (b3d2f00)
  • admin: improve User Settings page contrast for dark themes (b6c74e7)

1.2.3 (2026-03-09)

Bug Fixes

  • admin: resolve components.bundle.js path, add /admin/logout redirect (5cbec48)

1.2.2 (2026-03-09)

Bug Fixes

  • admin: pre-build component bundle at build time (951127c)

1.2.1 (2026-03-09)

Bug Fixes

  • admin: fix component bundling, user dropdown, and theme polish (6cf8760)

1.2.0 (2026-03-09)

Bug Fixes

  • admin: hydrate currentAdmin.theme so per-user theme applies (c1092a8)

Features

  • admin: organize resources into sidebar navigation groups (1645908)

1.1.0 (2026-03-06)

Features

  • admin: fix tenant owner user reference search and validation (#63) (f48f15a)

1.0.0 (2026-03-05)

Bug Fixes

  • add root tsconfig.json for @app-types; provider noop logger, tests (f996f51)
  • admin: AdminJS real deps, static imports, docs (7006fab)
  • AdminJS frontend assets 404 and user isAdmin not persisting (#60) (5484626)
  • admin: persist isAdmin updates for authorized admins (f65ad8b)
  • admin: resolve AdminJS assets under pnpm and writable tmp on Render (23b2e78), closes adminjs#1788
  • admin: resolve Render path for user settings page component (540f53a)
  • admin: restore Render startup by adding themes dependency (75bc5a3)
  • admin: satisfy Express 5 types when mounting AdminJS router (9306812)
  • admin: serve frontend bundles with safe explicit asset routes (0cd00a6)
  • api: fall back to memory cache on startup connection errors (945922d)
  • auth: cache-backed session persistence + linear workflow tooling (#28) (41626f0)
  • ci: block renovate merges until agent handoff succeeds (8897fb4)
  • ci: gate renovate auto-merge on required PR checks (fca0953)
  • ci: harden renovate validation and agent spawn (5227356)
  • ci: make render deploy workflow evaluate and run correctly (7ddabc5)
  • ci: remove pnpm cache from setup-node, add explicit pnpm store cache (7fb1515)
  • ci: run corepack and semgrep in one step so pnpm is on PATH (116753b)
  • config: prefer cache host/port over localhost urls in prod (a9672e5)
  • config: prefer Render valkey host/port over localhost urls (cc2397c)
  • config: preserve platform cache env over dotenv defaults (687c8b6)
  • customer: add try/catch to endpoint handlers to prevent unhandled rejections (28639f7)
  • customer: remove admin tenant scoping hooks (requires buildAuthenticatedRouter) (8d79da3)
  • customer: sort integration spec imports for CI lint (9e27f0b)
  • deps: pin mongoose to v8 for AdminJS stability (5954088)
  • deps: update dependency @sentry/node to v10 (#51) (a556121)
  • deps: update dependency express to v5 (#52) (ced8a7e)
  • e2e: relax auth/start assertion for CI (missing redirectUri vs OAuth error) (797c874)
  • escape PR body in renovate-validate to prevent shell interpretation (27c397d)
  • move all PR metadata into env vars to prevent shell injection (829be91)
  • observability: fix datadog-agent startup on Render (d4bde99)
  • observability: replace hot-shots require with ESM import (a111021)
  • pin eslint to ^8.57.1 (eslint 10 requires flat config migration) (505f1e6)
  • render: add @babel/plugin-syntax-import-assertions for AdminJS runtime bundling (774c82e)
  • render: bind port before AdminJS mount and set healthCheckPath (667e402)
  • render: externalize mongoose/mongodb/bson to fix ESM crypto require (043d9ab)
  • render: install devDeps and disable husky during blueprint build (ffc19f7)
  • render: remove region from static docs service (39fbf91)
  • render: remove unsupported docs static plan (336843c)
  • render: use platform PORT and bind to 0.0.0.0 for Render (4212d55)
  • render: use valid plan for docs web service (00cffcb)
  • resolve render build type errors (878ed19)
  • scripts: add missing check:cycles script for CI (a0170f6)
  • tooling: migrate lint config for eslint 10 (#41) (77f7ab4)
  • typecheck and restrict tooling to src (0949037)

Features

  • adapters: add pino, sentry, mongo adapters (ports-and-adapters) (c82e8b5)
  • add announcement scheduler (d7fb129)
  • add db health endpoint (d6840e7)
  • add discord bot monitoring (40b433f)
  • add discord command router (15ac06e)
  • add discord customer commands (305bc34)
  • add discord notifications (84de4a5)
  • add discord oauth install flow (d8052ae)
  • add discord staff commands (8b57a15)
  • add feature flags and gated sentry (c7a9bd3)
  • add readiness health endpoint (d585171)
  • add redis health check (d9ceafa)
  • add reopened/manual triggers to renovate-validate, rebase existing PRs (ebb87cf)
  • add sentry instrumentation (811a942)
  • add sentry per-service controls (46bd1ec)
  • admin: add AdminJS bootstrap, registry, and colocated feature resources (e119587)
  • admin: render all resources as top-level navigation (46210f5)
  • api: add /info and /api/info debug endpoint (011cb3e)
  • auth: add browser logout via GET /api/auth/logout (fcfb52f)
  • auth: harden discord oauth login flow (2a25945)
  • auth: implement provider-based auth, sessions, and RBAC foundations (74cfcad)
  • Automated documentation platform — Docusaurus, API/command/reference docs, customer guides, release notes (LED-93) (#36) (6d8ee91)
  • automated Renovate PR validation with Cursor agent skill (ebadbda)
  • bootstrap: wire AppContext and invocation context; fix registry specs (ff10693)
  • bot: complete LED-74 tenant Discord order readiness (#10) (e915e5c)
  • ci: always spawn agent for major renovate updates (b8d3646)
  • config: normalize bootstrap dependencies and project config wiring (0de2b8e)
  • cursor: add taillogs slash command for render services (8c3b978)
  • customer: add event constants and audit-log handlers for lifecycle events (LED-29) (530da02)
  • customer: implement endpoint handlers, admin tenant scoping, and address routes (LED-28) (1756785)
  • customer: implement service with find-or-create, merge, link, address management (LED-26) (783e597)
  • customer: refine domain contracts, typed records, and soft-delete field (LED-24) (6541384)
  • dependency contract test framework with 70 tests covering all 13 packages (#27) (98919c1)
  • devtools: add --parent support to Linear create-issue script (143899e)
  • devtools: add Linear issue creation toolkit (4818f0b)
  • devtools: add Notion API and markdown sync tooling (7a09090)
  • discounts: implement discount lifecycle and order pricing integration (ed66c54)
  • docs: add AI Ecosystem section and reference generator (4e13c77)
  • docs: add historical release fragments generator (d7d06dc)
  • docs: enforce pre-commit documentation automation (d966905)
  • E2E API test framework with 96 tests covering all endpoints (LED-83) (4a3805a)
  • expose feature flags in admin (0132f9c)
  • harden discord ops (e3d153f)
  • init: extract API initialization module (5ac1aa5)
  • linear: add workon cursor command (beac577)
  • linear: add workon script and docs/linear (39985c8)
  • module registries and express bootstrap via registerEndpoints (650a798)
  • observability: add Datadog agent and APM to local Docker (6999c43)
  • observability: add Datadog integration with agent and agentless modes (016ea85)
  • observability: add Datadog profiling, APPSEC, and production config (9d385c1)
  • order: add customerId index, listByCustomerId and reassignCustomer to order repo (LED-27) (1c756cd)
  • providers: add app context and request context providers (no core) (2694d8b)
  • providers: add db.provider (createDbProvider, createNoopDb) (19eb9c4)
  • providers: add logger, telemetry, and invocation-context providers (3bbb2de)
  • providers: add mongo and sentry providers, bootstrap cleanup, skip empty specs (c687b8a)
  • providers: add pino logger provider (f6ba04c)
  • registries: add module registries per entrypoint type (e81a1a4)
  • registries: add registerEndpoints, registerCommands, registerEventHandlers to features (a4c3d04)
  • registries: add registry context types and registerCrudRoutes util (5e6b9a0)
  • release: add semantic-release workflow and changelog (362afaa)
  • render: add blueprint sync helper command (2d00f57)
  • render: add render:status script for deploy debugging (633ebda)
  • require envs in production (7a8bafa)
  • reserve inventory on discord order (131abeb)
  • scaffold discord bot and test harness (c400546)
  • server entry, Mongo wire-up, register all AdminJS entities (71e9355)
  • types: add DbProvider and Sentry contracts; use DbProvider in AppContext (f7ddbe8)
  • types: add Logger, Telemetry, InvocationContext and typed AppContext (37eff68)
  • user-admin: support admin toggle and role assignment on edit (c2d5633)
  • User-scoped AdminJS themes with settings page (LED-113) (#53) (39c5114)
  • utils: add default app-context implementations (b94a315)
  • utils: add loadEnv and requireEnv for bootstrappers (3a93b1f)
  • wire Cursor Cloud Agent API to spawn agents on Renovate PR failures (0b42e5e)

Reverts

  • Revert "chore(deps): update dependency eslint to v10 (#29)" (#31) (b148755)

Changelog

All notable changes are tracked here by semantic-release.