NEXUS
Release Notes

CloudPay Release Notes

Production releases are release PRs from development into main, deployed once someone approves them on the production environment. CloudPay has no version numbers or tags, so releases go by date and PR. Production went live on 2026-09-11 with V1: every entry before that date is a milestone that first reached production then. Dates for API work before September 2026 come from its database migrations.

2026-10-14October 14, 2026

Privacy Policy and EULA

PR 350 (US 3093), after PR 349 into development.

  • Public /privacy-policy and /eula pages, effective 2026-10-14, sharing one legal-document layout.
  • The footer links to both, and its section links now point at /home#… so they work from the legal pages.
  • Both routes added to the middleware's public list, with a footer test.
2026-10-06October 6, 2026

Landing page, QA fixes, Next.js 16.3

PR 338: PRs 332 (#2915), 336 (US 2922) and 337 (US 2946).

  • Public /home landing page with a Request a demo form, in light and dark, with masked screenshots and an Open Graph image.
  • POST /api/v1/contact/demo-request emails the sales inbox, with a honeypot field and a per-IP rate limit.
  • 19 QA failures fixed, among them Failed-status visibility, tax calculation on sales (DMS orders exempt, and the tax rate back in Settings), invoice and settings validation, saving the Clover business name, DMS filter values, the mobile drawer and dashboard error states. Unsaved-changes guard added.
  • Next.js 16.1.6 → 16.3.8. The runtime image takes OS patches and no longer contains npm, npx, yarn or corepack.
  • Sales-deck generator and screenshot tooling under documentation/marketing.
2026-09-29September 29, 2026

One repository for web and API

PR 326 (US 2920), after PR 325 into development.

  • The API (Clover-CloudPayService) moves into src/api and the web app into src/web. The old API repository becomes read-only.
  • Four path-filtered pipelines under pipeline/: web and API, for development and production. The API now deploys to production from this repository, with a /health smoke test.
  • A root npm run dev starts both apps; documentation/ and infra/README.md added.
  • No change to the product.
2026-09-11September 11, 2026

Production go-live (V1)

PR 312 (#2820, #2905) and PR 311 (US 2818), both merged straight into main.

  • Production web container app and API App Service, deployed automatically from main after approval, with a smoke test.
  • The first production build, carrying every milestone below: user stories 268 to 2818.
  • Tax rate and service fee hidden from the settings pages. The values still round-trip.
2026-09-02September 2, 2026

Release pipeline split

PR 302 (Task 2774), the first release PR from development into main. Only pipelines and docs changed; there was no production environment yet.

  • One pipeline template shared by a development pipeline (on development) and a production pipeline (on main, behind an approval).
  • Deploys use Azure service connections and a variable group per environment instead of registry passwords.
  • development back in use after four months: from May to August, work had merged straight into main.
  • Branching and deployment guide written.
2026-08-28August 28, 2026

V1 hardening

US 2758, 2767, 2789 and 2805 (PRs 280–293).

  • The API's JWT moved out of localStorage into memory; a report-only Content-Security-Policy with a report endpoint.
  • Microsoft Clarity analytics.
  • Fixes for non-admin permissions, RO naming, dark-mode text and the sign-in theme; a Created column on the DMS tables.
  • Notifications and dashboard preferences switched off for now.
2026-08-21August 21, 2026

UI v2 and the CloudPay identity

US 2621, Tasks 2632 and 2633 (PR 279).

  • A design-token theme with light, dark and system modes, and DM Sans.
  • "CloudPay" becomes the only product name, with blue-500 as the brand colour and a new logo set.
  • Product-identity and design-scales documents.
2026-08-17August 17, 2026

Users and roles

US 1470, Tasks 1502–1505 (PR 262).

  • Users tab for merchant admins, with search and role and department filters.
  • Edit a user's role (User or Admin) and department (Parts or Service).
  • Users table on the admin merchant page.
  • Receipt and invoice settings saved to the API; users gain department, email and name (migration of 2026-08-12).
2026-08-06August 6, 2026

Paying DMS orders

US 1275, 1276, 1281, 1282, 1481, 2532–2534, Task 2543 and Bug 2617 (PRs 230–253).

  • Pay Now carries the RO or parts-invoice number into the Sales Terminal, for a sale or an invoice.
  • RO and parts-invoice detail pages with their payments, and a payment-history column on the DMS tables.
  • Partial payments, capped at what is due, with the reference locked; Pay Now hidden when nothing is due.
  • Invoices carry the DMS details and the merchant's Clover logo (migration of 2026-07-31). Fixed duplicate invoices when sending to both email and phone.
  • External reference id on terminal sales; CSV export updates.
2026-07-24July 24, 2026

Live Reynolds data, refund PIN, favourite device, time zones

US 276, 1267, 1498, 1500 and 1999 (PRs 215–225).

  • Platform admins provision Reynolds per merchant; the DMS credentials stay on the server.
  • DMS tables on live data, with server-side paging, sorting and filtering.
  • A 4-digit refund PIN.
  • Favourite device in the device panel.
  • Time zone taken from Clover, overridable per user. First Vitest tests; AGENTS.md and the PR template added.
2026-07-09July 9, 2026

Refund and void notes, Preferences

US 1463 and 1469 (PRs 169–208).

  • A reason on refunds and voids, a note icon in the lists, and a setting to require it (migration of 2026-06-26).
  • Preferences page: time zone, favourite device and notifications.
2026-06-25June 25, 2026

Device panel, merchant settings, invoice history

US 274, 1114, 1118, 1119 and 1120, Task 1241 (PRs 125–166).

  • Draggable device status panel; readable device errors; no more endless reconnect loop.
  • After a sale the form resets and the outcome is shown; a sale can be cancelled from the terminal.
  • Merchant Settings page, and merchant roles in invitations (Users and Invitations tables, 2026-06-23).
  • Invoice payment history, links between invoices and transactions, the Source column, and voids in the transaction list.
  • Date picker; CSV export of the filtered transactions.
2026-06-12June 12, 2026

Refunds, receipts, dashboard stats

US 268, 393, 403, 678 and 680, Task 677 (PRs 83–116).

  • Refunds through the Clover SDK, shown in the transaction list (refund rows linked to their payment, 2026-06-10).
  • Receipts by email, text or print, refunds included.
  • Dashboard: transaction count, success rate and invoice stats.
  • Settings read from the CloudPay API; the old MiPoint calls and the /receipt page removed; terminal sessions recover after a 401.
2026-05-29May 29, 2026

Invoices through the API

US 418, Tasks 448, 628, 630 and 633 (PRs 67–72).

  • Invoices are created through the CloudPay API; resend confirms with a toast.
  • Prisma schema and client removed: the web app has no database of its own.
  • An invoice can go to email and text at once (migration of 2026-05-13); the token encryption keys move into the database (2026-05-28).
2026-05-06May 6, 2026

Invoice list and webhook statuses

#417, US 413 and 416 (PRs 45–54).

  • Invoice list with filters, resend and cancel (Invoices table, 2026-04-15).
  • Invoice status updated from Clover's webhooks.
  • Card readers listed from the Clover API; amounts formatted as you type; DMS Pay Now fills in the amount and order number.
2026-03-24March 24, 2026

Live transactions, sales and inventory

Direct commits through March 2026.

  • Transaction history updates live.
  • Sales and Inventory pages reworked; inventory refreshes itself.
  • An all-transactions page with filters, shared with invoices; reprint and receipt fixes.
2026-03-02March 2, 2026

DMS tables and invitations

#229 and #269, February 2026.

  • Parts and Repair Orders tables, on sample data, with search, sorting, filters and Pay Now, under /dms and labelled per integration.
  • User invitations through Clerk.
  • Clover token refresh in one place, with a retry on 401.
2026-02-13February 13, 2026

MiCamp admin portal

#226, #227 and #244.

  • Admin merchant list, create and edit; Clerk users linked to merchants; merchant settings, including tax and service fee (settings column, 2026-02-12).
  • Admins connect merchants to Clover with PKCE; the Disconnected and Deactivated screens.
  • Devices listed from the Clover API.
  • Next.js 16's proxy.ts replaces middleware.ts.
2026-02-06February 6, 2026

CloudPay relaunch

January and February 2026, after nine months without commits.

  • Next.js 15 → 16.
  • Clerk sign-in and Connect Clover onboarding, with the Clover credentials served by the new .NET API (merchants, tokens, payments and webhook log, 2026-01-27).
  • Hosting moves to a Docker image on Azure Container Apps.
  • Clover domain and app id set per environment.
2025-04-07April 7, 2025

Clover OAuth and hosted checkout

March and April 2025, while the app was still called wavit-manager.

  • Clover OAuth for production and sandbox.
  • A hosted checkout page for invoices.
  • A receipt page with PDF.
  • The Clover app switched between WAVit Payments and CloudPay.
2025-02-28February 28, 2025

Invoicing prototype

January and February 2025.

  • Invoices, inventory, and refund, void and print routes.
  • Card payments on invoices with a PDF receipt, and a first hosted checkout.
  • Deployed to Azure Static Web Apps, with data through Prisma.
2025-01-10January 10, 2025

WAVit web transactions

The first commit, on 2024-12-30, as wavit-manager (Next.js 15, React 19).

  • A sales screen that drives Clover terminals through Clover's remote pay, with a device scan, transaction cards and a chart.
  • Today's transactions by default; device rename.
  • A dashboard with readers and hardware tables; login, transactions and transaction details.