Skip to content

v1.4.0

Choose a tag to compare

@edgarjc edgarjc released this 04 Apr 03:54
· 91 commits to main since this release
d520377

Version 1.4.0

Released: April 4, 2026

πŸŽ‰ What's New

  • Client invoice payments via Stripe β€” Clients can now pay invoices directly from the portal with a "Pay Now" button. Supports two modes: paste your Stripe secret key directly (Direct Keys) or connect via Stripe Connect OAuth for a seamless white-labeled experience. Invoices are automatically marked as paid when the Stripe webhook fires.
  • Global search β€” Full-text search across projects, files, clients, and updates. Open with Cmd+K from anywhere in the dashboard.

✨ Improvements

  • Invoice draft/send UX β€” Invoice creation modal now has separate "Save as Draft" and "Send to Client" buttons, replacing the previous two-step flow. Draft invoices are hidden from the client portal so clients only see actionable invoices. (VRB-86)
  • Docker docs β€” Stripe Connect environment variables (STRIPE_CONNECT_CLIENT_ID, STRIPE_CONNECT_WEBHOOK_SECRET, STRIPE_CURRENCY) added to the Docker deployment guide.
  • Stripe setup guide β€” New docs/stripe.md covering both Direct Keys and Connect modes with step-by-step instructions.

πŸ› Bug Fixes

  • Fixed duplicate search dialog appearing when both GlobalSearch instances received Cmd+K simultaneously.
  • Fixed hardcoded X-Forwarded-Proto: https in Caddyfile that caused issues behind certain reverse proxies.
  • Fixed DIRECT_URL fallback in Docker entrypoint to prevent Prisma validation errors on startup.

See Stripe Payments Setup for configuration instructions.