Breaking change. Same major version.
Every time I logged in, my credentials were immediately reported as expired. Log in again. Expired again.
The culprit: two versions of Neon CLI disagree on what expires_at means. Both are 2.x.
| Neon CLI | expires_at |
|---|---|
2.24.2 · project dependency | Milliseconds |
2.6.0 · global installation | Seconds |
Read a current seconds-based Unix timestamp as milliseconds, and you land in January 1970. Plenty of time to expire.
A shared credential field. A 1,000× difference in units. No major-version bump.
SemVer, minus the semantics.