Skip to content

v1.6.99 — Postgres timestamptz round-trip

A small patch shipped two days before v1.6.100. The release window between v1.6.99 and v1.6.100 was tight on purpose — v1.6.99 unblocks a Postgres-only failure mode that was breaking the QA retest pipeline, and v1.6.100 was already cooking with the FIFO and return-wizard work.

Released 2 May 2026·Tag fexl-v1.6.99·1 fix

What shipped

  • fix ToString formats time.Time as RFC3339 for PG timestamptz round-trip. The helper converts arbitrary scanned values into strings for the response JSON; pre-fix, when a timestamptz column came back from pgx as a time.Time, ToString fell through to Go’s default %v formatter and produced a non-RFC3339 string the frontend couldn’t parse.

Why it matters

On the SQLite backend (desktop), timestamp columns return as strings already, so the helper’s default branch hit fine and the bug never surfaced. On Postgres (cloud), the same column comes back as time.Time, and the formatter mismatch broke any handler that did:

{ "createdAt": ToString(row["created_at"]) }

Symptoms in production: dates rendered as 2026-05-02 14:40:24 +0000 UTC rather than 2026-05-02T14:40:24Z, and frontend filters that expected ISO dates failed silently. The fix uses t.Format(time.RFC3339) for any time.Time value before falling through to the default.

Upgrading

Auto-updates on next launch. No manual steps. No new migrations.

  • v1.6.100 — the next release, where most of the user-visible work lives
  • v1.6.98 — the earlier PG bridge that added missing JE columns
  • Release notes index — full version list