From 205a94cd64b7f6befcd53a7fd18e149c7a854858 Mon Sep 17 00:00:00 2001 From: "paperclip-resolver[bot]" <3736210+paperclip-resolver[bot]@users.noreply.github.com> Date: Tue, 2 Jun 2026 11:31:32 -0400 Subject: [PATCH] docs(timestamp): document `timestamp` as delivery/feed-freshness (OpticOdds-parity) + bump 0.5.0 The API now emits a single per-odd `timestamp` (delivery / last-refreshed, advances every ingest cycle, matching OpticOdds), replacing odds_changed_at/ last_seen_at/wire_received_at. The SDK already modeled `timestamp` (was always null); this clarifies its semantics on NormalizedOdds. No type change. Refs SHA-1048 Type: docs Co-Authored-By: Claude Opus 4.8 (1M context) --- CHANGELOG.md | 11 +++++++++++ package.json | 2 +- src/index.ts | 5 +++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e93c2f1..e6a71d7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,17 @@ All notable changes to `@sharp-api/client` are documented here. +## 0.5.0 — 2026-06-02 + +### Changed + +- `NormalizedOdds.timestamp` documented as the **delivery / last-refreshed** + feed-freshness timestamp (advances every ingest cycle), matching OpticOdds' + `timestamp` — NOT a price-last-changed time. The API now populates this field + (previously always `null`). The removed `odds_changed_at` / `last_seen_at` / + `wire_received_at` were never modeled by this SDK, so no type change is + needed. (SHA-1048) + ## 0.4.0 — 2026-05-31 ### Added diff --git a/package.json b/package.json index dd6a09b..32025cb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@sharp-api/client", - "version": "0.4.0", + "version": "0.5.0", "description": "Official TypeScript/JavaScript client for the SharpAPI real-time sports betting odds API", "type": "module", "main": "./dist/index.cjs", diff --git a/src/index.ts b/src/index.ts index 8e09634..af563a6 100644 --- a/src/index.ts +++ b/src/index.ts @@ -304,6 +304,11 @@ export interface NormalizedOdds extends NestedRefs { odds: OddsValue line?: number eventStartTime: string + /** + * ISO 8601 — when SharpAPI last refreshed this odd through its pipeline + * (advances every ingest cycle). A feed-freshness / delivery signal matching + * OpticOdds' `timestamp`; NOT a price-last-changed time. (SHA-1048) + */ timestamp: string isLive: boolean /**