• v1.2.2 272ee9322d

    Ghost released this 2025-09-30 13:07:42 -04:00 | 402 commits to main since this release

    Summary

    This PR adds two important improvements to ensure data integrity:

    1. Adds server name format validation at the API layer to match the
      database constraint from migration 008
    2. Includes migration 008 to clean up invalid data before applying
      strict constraints in migration 009

    Changes

    Server Name Validation

    • Enforces validation at the API layer matching the database constraint
    • Namespace pattern: [a-zA-Z0-9][a-zA-Z0-9.-]*[a-zA-Z0-9]
      • Must start and end with alphanumeric characters
      • Can contain dots and hyphens in the middle
    • Name pattern: [a-zA-Z0-9][a-zA-Z0-9._-]*[a-zA-Z0-9]
      • Must start and end with alphanumeric characters
      • Can contain dots, underscores, and hyphens in the middle
    • Provides clear, user-friendly error messages indicating which part is
      invalid
    • Uses DRY approach with composed regex patterns

    Migration 008: Data Cleanup

    • Removes servers with invalid names or empty versions (5 servers
      affected in production)
    • Fixes invalid status values by setting them to 'active' (1 server
      affected)
    • Removes duplicate name+version combinations
    • Includes comprehensive safety checks to prevent accidental data loss
    • Must run before migration 009 which adds strict constraints

    Testing

    • All validator tests pass
    • Migration includes safety checks that match production data
    • CI verification included

    Co-authored-by: Claude noreply@anthropic.com

    Downloads