Skip to content

v0.7.3

Choose a tag to compare

@Polliog Polliog released this 07 Apr 12:02
· 9 commits to main since this release

Fixed

  • Fixed Event::$time formatting that produced ISO 8601 with a numeric offset (e.g. 2026-04-07T11:34:24+00:00) via format('c'). Logtide's backend uses Zod's strict z.string().datetime(), which only accepts ISO 8601 ending in Z, so every captureLog(...) call was rejected with HTTP 400 "Validation error". The SDK now emits UTC ISO 8601 with a Z suffix (2026-04-07T11:34:24.886Z). Closes logtide-dev/logtide#180.
  • Fixed empty metadata field being serialized as JSON array [] instead of object {}. The backend schema is metadata: z.record(z.unknown()).optional(), which rejects arrays with "Expected object, received array". Default captureLog(...) calls without any metadata now serialize metadata as an empty JSON object via \stdClass, so the first-time-user happy path validates cleanly.
  • Fixed OTLP startTimeUnixNano, endTimeUnixNano, and span event timeUnixNano being emitted in scientific notation (e.g. "1.7755623882398E+18") due to a naive (string) ($float * 1e9) cast. OTLP requires a digit-only stringified uint64. The SDK now uses sprintf('%.0f', ...) to emit a fixed-point integer string.

Full Changelog: https://github.com/logtide-dev/logtide-php/blob/main/CHANGELOG.md