Release 1.65.7
Release Notes - Seatmap Platform
Version 1.65.7 - 2026-05-07
Release Focus: Editor-service hardening pass — five fixes that convert previously-500 error paths into stable 4xx contracts and tighten cascade deletes against foreign-key violations.
What’s Fixed
Cascade-aware delete in updateSectors
Deleting a sector that still had downstream references would fail mid-transaction with a foreign-key violation surfaced as a 500. updateSectors now drives the deletion through the cascade order so dependents are removed (or refs nulled) before the parent row. Issue: SEAT-968.
Null pricing_zone references before deleting zones in updateZones
Same class of FK problem on the zones path — updateZones now nulls the pricing_zone references on dependent rows before deleting the zone itself, instead of crashing with a constraint violation. Issue: SEAT-979.
GZIP magic-byte validation on schema import → 400
Importing a non-gzip payload to the schema import endpoint produced a 500 from the decompression layer. The endpoint now validates the GZIP magic bytes up front and returns 400 with a structured body. Issue: SEAT-969.
UnsupportedSeatsException → 400 via @ResponseStatus
The editor-service threw UnsupportedSeatsException from validation paths but had no @ResponseStatus, so Spring defaulted to 500. The exception is now annotated to map to 400. Issue: SEAT-980.
@ResponseStatus 4xx exceptions log at WARN with derived status
Exceptions intended to surface as 4xx were being logged at ERROR with full stack traces, polluting the error budget and on-call dashboards. The global handler now logs @ResponseStatus 4xx exceptions at WARN with the derived HTTP status. Issue: SEAT-981.
Affected products
editor-service—updateSectors,updateZones, schema import controller, exception annotations, global exception handler.
Upgrade
Drop-in patch release. No API contract changes; previously-500 responses for the same inputs are now stable 4xx with structured bodies.