Skip to content

Stellar Index v0.7.3

Choose a tag to compare

@github-actions github-actions released this 03 Jul 20:04

[v0.7.3] — 2026-07-03

Added

  • Developer-experience batch (dev-surfaces audit): the root README's
    "Start here" gains a Go SDK section (install line + the doc.go quick
    start + pointers to examples/curl / examples/postman); four new
    runnable curl examples — 11-price-at.sh (point-in-time price),
    12-history-since-inception.sh, 13-sac-wrappers.sh,
    14-asset-detail.sh — all verified against the live API, with the
    examples index updated (and its quote=USD corrected to
    quote=fiat:USD); and the openapi CI job now regenerates the
    Postman collection and fails on drift, completing the
    generated-artifact drift guard (API reference + explorer TS types
    were already gated).

Fixed

  • Dev-surface examples match the shipped SDK (dev-surfaces audit):
    the explorer /sdk page's snippets compile against pkg/client
    again — p.AssetID not p.Asset, t.Timestamp not t.TS,
    HistoryRangeQuery for raw-trade history, OHLCQuery without the
    nonexistent Interval field, and the SSE pattern now shows the
    intended raw net/http consumption instead of a PriceStream
    method the SDK never had; the page intro no longer claims every
    API endpoint is reachable through the SDK. The homepage "Try the
    API" EUR example 404'd (/v1/assets/euro) — now
    /v1/external/assets/euro. docs/getting-started.md stops claiming
    SDKs prefer X-API-Key (the Go SDK sends Authorization: Bearer)
    and its stale "ships as PR queue lands" SDK method list is replaced
    with the real ~36-method surface.
  • Catalogue rows carry full analytics; assets stop appearing twice
    (Pass-B AM-10 + the catalogue-dash residual): the unified listing's
    verified rows (XLM, USDC, …) now absorb their Stellar-network twin's
    1h/24h/7d changes, 24h volume, supply and market cap, and the classic
    twin row is suppressed — one canonical row per asset instead of a
    dash-only catalogue row plus a second ranked copy. Contract detail
    additionally serves protocol when attribution is known (CON-3).
  • OpenAPI spec quality batch (2026-07-03 docs audit): the spec is
    now fully self-describing — descriptions for all 8 shared
    components/parameters (Timeframe, Granularity, From, To,
    TypeFilter, CodeFilter, IssuerFilter, Limit), real descriptions for
    the 11 summary-only operations (the three SEP-40 oracle
    passthroughs now say they mirror the on-chain contract calls,
    GET/POST /price/batch, /ledgers/{seq} + /transactions, /pairs,
    /version, /assets/{id}/metadata, /account/me), and descriptions for
    the undocumented inline params (window_days ×3, entity_type,
    issuer g_strkey, the /contracts/{id}/transfers filter set, the
    per-op limit params on explorer listings). Tag hygiene: auth +
    dashboard are declared in the top-level tag list, the Prices /
    prices casing strays merged into the single price group, and
    /contracts/{id}/transfers moved from meta to explorer. Auth is
    now honest: APIKeyAuth documents the Bearer sip_… scheme +
    where keys come from, a new SessionCookie scheme is applied to
    all /dashboard/* operations, and /account/me carries the 401 it
    actually returns (new shared Unauthorized response). The 16
    operations that documented no error shape at all now reference the
    shared problem+json responses, the X-RateLimit-* headers on the
    shared 429 are described (including when they are absent:
    rate-limiter disabled or Redis fail-open), and info.version is
    promoted from 1.0.0-draft to 1.0.0.
  • Postman collection is authable out of the box: the generator
    now injects collection-level bearer auth bound to a new empty
    bearerToken collection variable (with instructions on where to
    get a key), replacing the converter's noauth — previously no
    request in the shipped collection could authenticate, while the
    README documented a bearerToken variable that didn't exist.
    README corrected: baseUrl includes /v1 (so the localhost
    override is http://localhost:3000/v1). Generation stays
    deterministic (seeded-random preload + id-stripping unchanged).
  • pkg/client doc + example truthfulness: the package Coverage
    doc claimed "every server endpoint has a typed method (35 as of
    2026-05-09)" and listed methods that don't exist (Coins, Coin,
    Currencies, Currency); rewritten to the real ~36-method
    pricing/read surface with the deliberate exclusions that
    spec_contract_test.go registers and enforces. Examples now use the
    current sip_ key prefix instead of the legacy rek_.