Skip to content

Releases: Sharp-API/SharpAPI-TS

v0.3.2 — canonicalize repo URLs

07 May 14:54

Choose a tag to compare

Metadata-only release. Updates repository.url and bugs in package.json to match the canonical SharpAPI-TS repo case (was lowercase). Also drops the deleted tests/ glob from the biome lint script. No source code changes from 0.3.1.

v0.3.1 — nested refs + TeamRef metadata

07 May 14:32

Choose a tag to compare

Bundles the 0.3.0 (nested refs) and 0.3.1 (TeamRef metadata) work into a single published release. 0.3.0 was never tagged; install 0.3.1 to get all of it.

Added

Nested reference objects (was 0.3.0)

Every odds, opportunity, and reference-list row may now carry optional structured ref objects alongside the legacy flat fields. All additive — clients on older API versions just see undefined and behave identically.

  • New interfaces: TeamRef, SportRef, EntityRef, Team, Market, NestedRefs bundle
  • Typed LowHoldOpportunity (was loosely typed before)
  • NormalizedOdds, EVOpportunity, ArbitrageOpportunity, MiddleOpportunity extend NestedRefs
  • ArbitrageLeg gains sportsbook_ref
  • ClosingOdd gains market_ref + sportsbook_ref
  • ClosingSnapshot gains home, away, sport_ref, league_ref
  • Sport, League, Sportsbook gain numerical_id

TeamRef metadata (was 0.3.1)

TeamRef and the Team reference shape gain five optional metadata fields:

  • logo — full CDN URL (~93% coverage)
  • city, mascot, conference, division

All default to undefined. Older servers that omit them keep working.

Repo / packaging hygiene

  • Add LICENSE (MIT) and SECURITY.md (hello@sharpapi.io)
  • Author email updated support@hello@
  • Fix README install + JSDoc import: package is @sharp-api/client (not @sharpapi/client)
  • Strip sourcesContent from npm sourcemaps so the .map files no longer ship a full copy of src/index.ts. Tarball: 57.7 kB → 31.0 kB.
  • Drop tests/ from the repo (kept locally for development); CI gate is now biome + tsc across Node 18/20/22

Compatibility

No existing field was renamed, retyped, or removed. Code on 0.2.x continues to compile.

v0.2.8

23 Apr 16:51

Choose a tag to compare

Restore NPM_TOKEN publish auth. Identical source to v0.2.6; v0.2.7 OIDC test failed and was deleted.

v0.2.6

22 Apr 22:25

Choose a tag to compare

Republish of v0.2.5 — same source code, fixed publish workflow auth (was failing on Trusted Publisher OIDC). See v0.2.5 release notes for the actual changes.

v0.2.2

19 Apr 17:02

Choose a tag to compare

Retry on transient upstream failures

New

  • HttpClient now retries transient upstream failures (502/503/504 or fetch errors) up to 3 times with full-jitter exponential backoff (500ms base → 4s cap). Shields SDK users from brief API-server restart windows. See SHA-1994.
  • Request timeouts (AbortError) do not retry — they fail fast as before.

Internal

  • get() and post() now share a single request() path (no behavior change, just less duplication).

v0.2.1

16 Apr 20:02

Choose a tag to compare

Fixed

Eight resource methods in 0.2.0 called endpoints that don't exist on api.sharpapi.io and 404'd in production. This release renames the broken paths and removes the methods that have no server-side counterpart.

Path renames (now reach a real handler)

Method Before After
api.ev.get() /api/v1/positive-ev /api/v1/opportunities/ev
api.arbitrage.get() / csv() /api/v1/arbitrage /api/v1/opportunities/arbitrage
api.account.me() /api/v1/me /api/v1/account
api.account.usage() /api/v1/me/usage /api/v1/account/usage
api.odds.batch(ids) (renamed from .multi) POST /api/v1/odds/multi POST /api/v1/odds/batch

Method removals (no server endpoint, never worked)

  • api.events.search()
  • api.schedule.get() and api.schedule.live() (entire api.schedule resource removed)
  • api.valueBets.get() (entire api.valueBets resource removed)

Deleted types: ScheduleParams, ValueBetsParams, ValueBet.

Migration

Most users only need to update method names:

- await api.odds.multi(['evt_1', 'evt_2'])
+ await api.odds.batch(['evt_1', 'evt_2'])

Anyone calling the removed methods was already getting 404s — those code paths can be deleted. There is no equivalent server endpoint for events.search, schedule.*, or valueBets.

Heads-up: in strict semver this would be a breaking change since four methods disappear from the public API. They're shipping under a patch bump because every removed method already 404'd at runtime in 0.2.0 — the only practical break is a TypeScript compile error for callers that imported the dead methods.

v0.2.0

21 Mar 16:07

Choose a tag to compare

What's Changed

  • Canonical field nameEVOpportunity.evPercent renamed to evPercentage to match the canonical API field ev_percentage
  • Other fields (fairProbability, sharpBook, kellyPercent) already matched — no changes needed