dateTime type + timestamp remodel
Auto-generated from the source archive. Do not edit by hand — rerun
catalyst-changelog-syncinstead.
What changed
Section titled “What changed”- Breaking:
type: timestampis re-modeled as a numeric epoch — TypeScriptnumber, SequelizeBIGINT(wasstring/DATE). Any field left ontimestampchanges its type. - New
type: dateTimefor ISO datetime strings, with internally consistent mappings (TSstring, GraphQLGraphQLISODateTime, SequelizeDATE), timezone awareness, and a date-and-time form widget. type: date(date-only) is unchanged.
Why it matters
Section titled “Why it matters”timestamp used to mean “ISO datetime string”, but its TypeScript and GraphQL halves disagreed (string vs a scalar the frontend mapped to number), which broke compilation. Now the types are split cleanly: declare dateTime for any date+time field — it is the recommended type for audit fields — and reserve timestamp for genuine numeric epochs. To migrate, retype your type: timestamp fields to dateTime; the on-the-wire GraphQL value is unchanged, so external consumers see nothing different. This change ships the generator capability; the YAML sweep and regeneration happen in your app repo.