Deployment & Settings Changes - v1.69.0

Release: v1.69.0
Date: 2026-07-09


Summary

Impact Level: LOW

Action Required: NO – deployed automatically via the CI/CD pipeline.

Backward Compatible: YES

One additive, nullable database column is introduced. There are no environment-variable, Helm, Docker-image, or runtime-dependency changes, and no downtime is required.


Quick Decision Matrix

Component/Area Change Type Risk Level Action Required Impact
Environment Variables No changes NONE NO -
Database Schema Migration (additive) LOW NO V108 adds a nullable organization.custom_capacity column
Docker Images No changes NONE NO -
Kubernetes/Helm No changes NONE NO -
Runtime Dependencies Removed LOW NO booking-client drops hammerjs (native Pointer Events, SEAT-1038)
Build Dependencies Updated LOW NO vite 7.3.6 / vitest 4.1.10 security bumps (build/test only)
Monitoring/Logging No changes NONE NO -

Deployment Decision

Overall Risk: LOW

Recommended Action: APPROVE

Downtime Required: NO – zero-downtime supported (additive nullable column).

Rollback Risk: SAFE – the new column is nullable and unused by prior application versions.


Database Changes

Migrations

New Migrations: YES

Migration Files

File Description Impact Rollback Safe
V108__organization_custom_capacity.sql Adds a nullable custom_capacity BIGINT column to organization for custom-contract seat-sales limits (SEAT-1036) Additive, no backfill, no lock of significance Yes
ALTER TABLE organization
    ADD COLUMN custom_capacity BIGINT;

The column defaults to NULL; organizations without a custom contract are unaffected and continue to use their plan capacity. The manual analytics-schema usage views are updated to coalesce plan_capacity with custom_capacity and label such organizations as “Custom”.

Schema Changes

Modified Tables

  • organization:
    • Added column: custom_capacity (BIGINT, nullable)

Performance Impact

  • Expected Migration Time: Sub-second (metadata-only ADD COLUMN with no default value).
  • Downtime Required: NO
  • Table Locks: Brief metadata lock on organization only.

Dependencies

Runtime Dependencies

Removed Dependencies

Dependency Product Reason
hammerjs booking-client Replaced with native Pointer Events for gestures (SEAT-1038)
@types/hammerjs booking-client No longer needed after the Hammer.js removal

Integrators bundling the externalized/UMD renderer build no longer need to provide a Hammer global. See Renderer API Changes.

Build Dependencies

Build- and test-time only; no effect on deployed runtime artifacts. Bumped to clear high/critical npm audit advisories that were failing the dev pipeline.

Dependency Old New Products
vite 7.3.2 7.3.6 editor-client, booking-client, converter-service
vitest / @vitest/* 4.0.18 4.1.10 editor-client, booking-client, converter-service

Advisories addressed: vite server.fs.deny bypass (GHSA-fx2h-pf6j-xcff) and vitest UI arbitrary file read/exec (GHSA-5xrq-8626-4rwp), plus transitive converter-service multer/ws DoS hardening at the lockfile level.


CI/CD Deployment

Automated Deployment via GitLab CI/CD

This release is deployed through the standard GitLab CI/CD pipeline. No manual deployment steps are required.

Deployment Flow:

  1. Merge to dev: Auto-deploys to the stage environment (seatmap.dev) via Flux.
  2. Merge to main: Manual trigger deploys to production (seatmap.pro) via Flux.

The Flyway migration (V108) is applied automatically by the migration pipeline ahead of the application rollout.

Zero-Downtime: Fully supported.

Action Required: NONE.

A one-line CI fix marks the manual statistics flux-deploy job as allow_failure so dev pipelines complete and the pipeline-timings report runs; it does not change any deployed service.


Rollback

Rollback Support: Automated via GitLab CI/CD (redeploy the previous image tags through Flux).

Database Rollback: Not required. The organization.custom_capacity column is nullable and ignored by the previous application version, so it can remain in place after an application rollback with no effect.


Known Issues

None – no known deployment issues.


This release is a LOW-risk deployment: one additive nullable column, no configuration or infrastructure changes, and zero-downtime rollout.