> ## Documentation Index
> Fetch the complete documentation index at: https://docs.soundchecklive.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Changelog

> Recent updates and changes to the Soundcheck platform

<Update label="Aug 6, 2026">
  ### Internal

  * **api-events owns Prisma DDL** — canonical schema and migrations live in `api-events/src/db/`; `migrateDeployOrThrow` applies pending migrations on process boot; CI (`api-migrations.yml`) validates only. Go `api/db/schema.prisma` remains a legacy client mirror.
</Update>

<Update label="Jul 28, 2026">
  ### Mailbox rename

  * Renamed the personal and org **Engagements** UI labels to **My Mailbox** and **Mailbox** (web and mobile). Routes and APIs are unchanged (`/engagements`, `/org-engagements`).
</Update>

<Update label="Jul 5, 2026">
  ### Client portal, tours, run of show, and a gated closeout

  * Added the [client portal](/features/client-portal/overview): invite a customer's primary contact into a dedicated workspace with their events, contracts, invoices, forms, and a message thread with your team. Invitations go out from the customer record — see [inviting clients](/features/client-portal/inviting-clients) and [contracts, invoices & forms](/features/client-portal/contracts-invoices-and-forms).
  * Added [tours](/features/gigs/tours): group a run of gigs into a folder on the Gigs page and manage it as a whole, with a per-tour financial roll-up — revenue, payouts, and net across every show inside.
  * The gig timeline grew into the [run of show](/features/gigs/run-of-show): one show-day rundown holding timed items, songs, instructions, notes, and attachments — with PDF export offering quick views (All Items / Songs Only / Titles Only), a field picker, and formatting controls with live preview.
  * The [close-out checklist](/features/gigs/closeout) can now be enforced: organizations that opt in to close-out gates lock **Settle** and **Archive** behind the blocking steps (contract signed, quote approved, deposit received, invoice sent, payment received, feedback logged). Owners and admins can override with a logged reason, and enforcement only applies to gigs created after it's enabled.
  * Added a **Cancelled** gig status, distinct from Archived: cancel a called-off show from Draft or Active, keep the record, stop uninitiated payouts — never gated by the close-out checklist. See the [event lifecycle](/reference/event-lifecycle).
  * [Venues](/crm/venues) are now a top-level directory with per-venue detail pages: **Load-in & access** logistics (dock, elevator, parking, load-in path, private access code) entered once auto-fill every gig at that venue, alongside stage specs and the room's gig history.
  * Redesigned the gigs board, and made gig creation lighter: **location is now optional** (name, date, and event type are enough), and an optional **end date** turns a gig multi-day.
  * Replaced the dashboard with a personalized **Home** page: a greeting, a getting-started card while you set up, stat tiles, recent activity, and a finances summary for admins with finance access.
  * Plan **seat limits** now block organization invites at the cap, up front — the message shows your limit and current count, batches count pending invites, and custom per-organization limits are supported.
  * ACH payouts now ride on **verified bank accounts**: accounts carry a Verified / Pending / Unverified badge on profiles and in organization payment settings, and payout eligibility surfaces right on the gig roster.
  * Refined the unified [engagements inbox](/features/engagements/overview): clearer Active / Needs response / Responded / Past filtering, a type filter spanning invitations, crew offers, availability checks, and onboarding steps, and an org-wide Engagements view of everything your organization has sent.
  * The [MCP server](/integrations/mcp-server) surface kept growing alongside these features, so agents can work with the same tours, closeout, and portal data you see in the app.
</Update>

<Update label="Jun 20, 2026">
  ### AI file ingestion, contracts, closeout, and portal forms

  * Introduced [CheckAI](/features/ai/overview), Soundcheck's AI assistant. [AI file ingestion](/features/ai/file-ingestion) is available now — drop a contract, call sheet, rider, or email onto a gig and CheckAI extracts the schedule, crew, ledger, and leads into reviewable proposals you commit. The conversational Slack assistant is rolling out.
  * Ingestion produces the same [Universal Event Format](/features/imports/universal-event-format) as the importer (`source.type: "INGESTION"`), with a per-file analyze → review → optional cross-file merge → commit flow, a new-vs-duplicate dry run, and a confirmation gate on every commit.
  * Added [Contracts & e-signatures](/features/contracts/overview): send event agreements for SignWell signature, track each signer through DRAFT → SENT → SIGNED/DECLINED, and route declines back to the org portal. Enterprise orgs can sign under their own brand with [white-label branding](/features/contracts/white-label-branding).
  * Added [post-event closeout](/features/gigs/closeout): gigs now extend to **Completed** and **Settled**, with a settlement view that gates closing the books until every crew payable has cleared, plus event/venue/crew reviews captured at closeout.
  * Added [portal forms](/crm/integrations/portal-forms): connect JotForm or Form.io client-portal forms for lead intake, event questionnaires, and feedback, with responses matched to the right customer or event.
  * Added the [HubSpot ↔ Flex pipeline](/crm/integrations/hubspot-flex-pipeline): a signed n8n sync that keeps HubSpot deal stages, Flex quotes, and Soundcheck gig status in lockstep, with closeout status flowing back to your CRM.
  * Unified the roster around invitations and per-recipient crew offers, so every staffed seat — however it was filled — shares one response model.

  ### MCP server: file ingestion and a bigger surface

  * The [MCP server](/integrations/mcp-server) grew to **73 tools, 9 resources, and 9 prompts**, adding the file-ingestion tranche (`create_ingestion_batch`, `add_ingestion_text`, `get_ingestion_file_review`, `trigger_ingestion_merge`, `get_ingestion_batch_review`, `commit_ingestion_file`, `commit_ingestion_batch`, and more), the `soundcheck://ingestion/{event_id}/{batch_id}` resource, and the `ingest_gig_files` prompt.
  * The confirmation gate now also covers `commit_ingestion_file` and `commit_ingestion_batch`, binding the exact proposals and merge version you reviewed so a re-merge re-gates the commit.
</Update>

<Update label="May 10, 2026">
  ### Unified engagement inbox, operator data importer, and sidebar overhaul

  * Unified inbox at `/engagements` brings invitations, crew offers, and availability requests under one view; org admins get an org-wide pipeline view at `/org-engagements` with per-engagement recipient stats.
  * Accepting an invitation or crew offer on Soundcheck now auto-accepts the matching Google Calendar invite — no need to confirm twice.
  * Notification emails open the relevant row in the unified inbox via `?highlight={id}`, with a brief scroll-and-highlight on arrival.
  * Added engagement notification preferences: per-kind (invitation, crew offer, availability request) × per-channel (email, SMS, push) toggles for each member, with org-wide defaults that admins can set.
  * Added the operator data importer at `/imports`: a Parse → Map → Preview → Commit wizard for bulk-loading gigs, venues, customers, and invitations from spreadsheets or pasted CSV/TSV. Idempotent on re-import via stable external IDs.
  * Sidebar reorganized into Operations, Admin, Sales, and Developer groups; Payments and Tasks promoted to top-level pages; Engagements pinned for admins.
  * Page layouts normalized to a shared `PageHeader` for consistent titles, descriptions, and action slots.
  * Crew offer cards now show the gig date, and past-event offers hide the Accept/Decline buttons.

  ### Engagement service, calendar handoff, and operator import endpoints

  * Added the engagement service: a shared response model spanning invitations, crew offers, and availability requests. New reads at `GET /v1/users/me/engagements` and `GET /v1/organizations/{orgId}/engagements`.
  * Added engagement notification preference endpoints under `/v1/users/me/.../engagement-notification-preferences` and `/v1/organizations/.../engagement-notification-defaults`.
  * Accepting an invitation or crew offer now calls `CalendarService.AddAttendeeToEvent` with `responseStatus=accepted`, so the user's Google Calendar RSVP follows automatically.
  * Added operator import endpoints under `/v1/organizations/{orgId}/imports/*` (create, list, parse, map, preview, commit, catalog). Optional AI-assisted mapping (opt-in via `IMPORT_AI_MAPPING_ENABLED`) scrubs PII before any model call.
  * Added partial unique indexes on `Invitation(eventId, email)` and `Invitation(eventId, phoneNumber)` so invitation upserts are idempotent across retries.
</Update>

<Update label="May 9, 2026">
  ### Sidebar redesign and gig-template polish

  * Redesigned the sidebar with Linear-style grouped navigation; renamed Leads to **Pipeline** and unified Crew Offers and Leads under the sponsors-style layout.
  * Broadened People access and consolidated People / Pipeline tabs alongside the new sidebar groups.
  * Template events are now visually marked, draft and template styling uses the warning and info design tokens, Notify is hidden on templates, and templates no longer appear in date-based gig sections.
  * Quieted 503 noise on Connections and hid pending invites in the gig table view.
</Update>

<Update label="May 8, 2026">
  ### CRM, scheduling, templates, and payout workflows

  * Added the CRM suite: customers, venues, sponsors, sponsor commitments, inventory, lead intake, lead conversion, and signed n8n CRM sync ingestion.
  * Lead conversion now turns a qualified inquiry into a gig, customer, primary contact, and customer-gig link.
  * Added personal availability, the organization crew availability calendar, and availability requests that reconcile responses into member calendars.
  * Added the Gig Coordinator role for gig operations without billing, P\&L, payout, or member-administration access.
  * Added gig templates, gig duplication improvements, and draft-to-active publishing guidance.
  * Added crew offers for open shifts and job offers, with accepted offer payouts included in finance totals.
  * Added per-user calendar feed subscriptions for Apple Calendar, Google Calendar, Outlook, and other iCal clients.
  * Added profile updates for instant member payouts through Stripe and calendar sync management.

  ### CRM, availability, calendar feed, and payments API updates

  * Added CRM APIs for customers, venues, sponsors, inventory, lead conversion, sponsor requests, and the signed n8n CRM sync webhook.
  * Added availability request APIs, crew availability calendar reads, and candidate selection for scheduling managers.
  * Added calendar feed token generation and public `.ics` feed delivery using per-user secret URLs.
  * Updated payment handling with ACH-funded payouts shown as free, Stripe charge retrieval for better fee attribution, and offer-payable ledger support.

  ### Analytics, sync, and operational hardening

  * Configured the PostHog proxy and enriched user, organization, role, and group analytics identification.
  * Added n8n CRM sync configuration through signed webhooks and organization binding.
  * Continued OpenAPI sync, web coverage expansion, and CI stability improvements around the new CRM, availability, and payment workflows.
</Update>

<Update label="May 1, 2026">
  ### Payment history visibility

  * Fixed payment history refreshes so pending member payments initiated from a gig team card appear on the organization Payments tab, and profile payment history loads across every organization membership instead of only the active organization.
</Update>

<Update label="Mar 16, 2026">
  ### Financial and roster workflow refinements

  * Implemented Stripe destination-charge payout architecture and payout funding flow work for member payments.
  * Added payment confirmation flow and tightened fee visibility controls so pay values respect creator/admin role rules.
  * Fixed setlist and team visibility edge cases, including accepted-invite filtering, paid-by logic, and roster dedupe behavior.
  * Enabled clickable song/media links in event workflows with more reliable parsing and safer deep-link handling.
  * Improved event details and sample-event UX with stable tab loading, search behavior, and reduced regressions around sample data and pay badges.

  ### Routing and onboarding stability

  * Reworked public organization profile routing with top-level slug profiles and synced org slug handling with Clerk.
  * Hardened organization onboarding and authentication redirects to reduce stale-state stalls and redirect loops.
  * Updated enterprise and white-label behavior around organization pages and access gating.
  * Improved onboarding and authentication E2E coverage for cached sessions and redirect timer teardown.

  ### Audit and finance reliability updates

  * Expanded event audit logging with field-level diffs and stronger success/error guardrails.
  * Added destination-charge transaction/stripe handling updates, including refund handling and improved payment observability.
  * Improved precision handling in ledger/amount math and tightened decimal rounding behavior across balance computations.
  * Hardened workflow and user event parsing paths to reduce edge-case failures and reduce noisy update payload handling.

  ### CI/CD and operational hardening

  * Hardened API deployment and backend workflow guards for safer concurrency and PR handoff safety.
  * Stabilized Docker/devcontainer startup tooling and fixed pipeline failures in docs, migration, and API job chaining.
  * Continued maintenance of changelog/docs tooling, including broken-link and sync workflow cleanup for release-note automation.

  ### Documentation and platform reference updates

  * Cleaned up docs/changelog automation references and updated documentation workflows to reduce CI drift.
  * Corrected broken-link handling and synced reference links after recent product/API changes.
</Update>

<Update label="Feb 25, 2026">
  ### Pollstar Live! 2026

  Soundcheck CEO Ben Ikwuagwu joined the speaker lineup at Pollstar Live! 2026 to discuss software, scale, and industry readiness for new tools. [What we took home from Pollstar Live 2026](https://soundchecklive.io/blog/blog/soundcheck-at-pollstar-2026).
</Update>

<Update label="Feb 20, 2026">
  ### Profile editing & UI improvements

  * Added Edit General Information screen with Figma parity (ENG-65)
  * Fixed null-user loading state and KeyboardAvoidingView indentation
</Update>

<Update label="Feb 19, 2026">
  ### Authentication & onboarding fixes

  * Fixed first-login auth race conditions and context loading issues
  * Improved org invite onboarding flow for unauthenticated users
  * Auto-populate org invite signup form with email from Clerk API
  * Fixed gig invite handler and position\_name field mismatch
  * Added rate limiting to invite verification endpoints
  * Redirect NotFound to /gigs instead of /dashboard
</Update>

<Update label="Feb 18, 2026">
  ### Security & middleware enhancements

  * Implemented CORS origin allowlist and fail-closed behavior
  * Added Twilio webhook signature verification
  * Enhanced client IP handling in middleware
  * Added dynamic rate limiting configuration
  * Implemented fail-closed behavior for ENVIRONMENT variable
  * Added security observability for auth/authorization failures
  * Removed legacy basic auth and closed bypass vulnerabilities
</Update>

<Update label="Feb 17, 2026">
  ### CI/CD & workflow improvements

  * Enhanced CI workflows with workflow\_run triggers and success guards
  * Added schema drift detection and health checks
  * Added baseline data seeding and handler generation to CI
  * Consolidated docs automation workflows
  * Added Slack changelog digest with Block Kit formatting
</Update>

<Update label="Feb 15, 2026">
  ### Repository & handler improvements

  * Implemented Prisma-based subscription repository
  * Standardized error handling for "Not Found" cases
  * Enhanced DELETE operation handling
  * Added stub calendar service for testing environments
</Update>

<Update label="Feb 14, 2026">
  ### E2E testing & org provider improvements

  * Added stale org self-healing coverage to OrgProvider
  * Guard org refresh with useRef to prevent redundant calls
  * Migrated web quality checks to tsgo and oxc tooling
</Update>

<Update label="Feb 11, 2026">
  ### OpenAPI Spec & Error Standardization

  * Added OpenAPI 3.1 spec auto-generated from handler annotations via swaggo
  * Standardized error responses across all handlers to flat `APIError` format
  * Fixed bug where clients couldn't read API error messages
  * Added CI step to generate and publish OpenAPI spec artifact
  * Sentry log handler now respects configured minimum log level
</Update>

<Update label="Jan 30, 2026">
  ### Documentation Site Launch

  * Launched comprehensive Mintlify documentation site
  * Consolidated all markdown docs into structured navigation
  * Added API reference with OpenAPI integration
  * Added interactive API playground
  * Added search functionality
</Update>

<Update label="Jan 26, 2026">
  ### Finance Module

  * Added finance line items for event budgeting
  * Added performer payment tracking
  * Added organization finance metrics
  * New proto: `finance/v1/finance.proto`

  ### Key Vault Migration

  * Migrated sensitive env vars to Azure Key Vault
  * Added private endpoint access
  * Improved secret rotation capabilities
</Update>

<Update label="Jan 25, 2026">
  ### NAMM 2026

  The Soundcheck team spent the week at NAMM 2026 in Anaheim connecting with manufacturers, agencies, and touring professionals across the industry. [NAMM 2026 recap](https://soundchecklive.io/blog/blog/namm-2026-experience).
</Update>

<Update label="Dec 15, 2025">
  ### Authentication Improvements

  * Fixed OAuth redirect handling
  * Added token race condition fix
  * Improved Apple Sign In flow
</Update>

<Update label="Dec 10, 2025">
  ### Setlist Builder Enhancements

  * Drag-and-drop song reordering
  * Set duration calculations
  * PDF export functionality
</Update>

<Update label="Nov 30, 2025">
  ### Initial Release

  * Mobile app for iOS and Android
  * Web app for desktop users
  * Go API backend
  * Azure infrastructure deployment
</Update>
