Releases: Sharp-API/SharpAPI-TS
v0.3.2 — canonicalize repo URLs
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
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,NestedRefsbundle - Typed
LowHoldOpportunity(was loosely typed before) NormalizedOdds,EVOpportunity,ArbitrageOpportunity,MiddleOpportunityextendNestedRefsArbitrageLeggainssportsbook_refClosingOddgainsmarket_ref+sportsbook_refClosingSnapshotgainshome,away,sport_ref,league_refSport,League,Sportsbookgainnumerical_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) andSECURITY.md(hello@sharpapi.io) - Author email updated
support@→hello@ - Fix README install + JSDoc import: package is
@sharp-api/client(not@sharpapi/client) - Strip
sourcesContentfrom npm sourcemaps so the.mapfiles no longer ship a full copy ofsrc/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
v0.2.6
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
Retry on transient upstream failures
New
HttpClientnow 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()andpost()now share a singlerequest()path (no behavior change, just less duplication).
v0.2.1
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()andapi.schedule.live()(entireapi.scheduleresource removed)api.valueBets.get()(entireapi.valueBetsresource 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.