Releases: pmxt-dev/pmxt
Releases · pmxt-dev/pmxt
v2.48.1
Fixed
- Server:
POST /api/<exchange>/<method>now tolerates flat-body requests like{"slug":"wta"}in addition to the existing{"args":[{"slug":"wta"}]}envelope. Previously, flat bodies caused all filter parameters to be silently dropped (the method was invoked with no arguments). The Python and TypeScript SDKs were not affected — they always wrap params inargs— but rawcurlcallers and documentation examples hit this. Empty bodies still behave asargs:[].
Installation
npm:
npm install pmxtjs@2.48.1
npm install -g @pmxt/cli@2.48.1PyPI:
pip install pmxt==2.48.1Links
What's Changed
- fix: tolerate flat POST bodies (treat as positional args[0]) by @realfishsam in #767
Full Changelog: v2.48.0f...v2.48.1f
v2.48.0
Added
- Core: New
UnifiedSeriestype representing recurring event groupings — the fourth tier above Event -> Market -> Outcome. Examples: KalshiKXATPMATCH(every ATP match), Polymarketwta(every WTA match). - Core:
fetchSeries(params?)method onBaseExchangewith vendor implementations for Kalshi (GetSeriesList), Polymarket and Polymarket US (Gamma/series+/series/{id}), Opinion (emulated from rawcollectionfield), and Gemini-Titan (emulated from rawseriesfield). Venues without a series concept return[]and reporthas.fetchSeries: false. - Core: New
series?: stringparameter onfetchEventsfor filtering by venue-native series id / ticker / slug. Passes through to vendor APIs where supported (Kalshi?series_ticker=, Polymarket Gamma?series_id=); venues without one return[]rather than silently ignore the filter. - Core:
Router.fetchSeries()andRouter.fetchEvents({series})for cross-venue queries by normalized PMXT series id (e.g.tennis-atp-match,nfl,crypto-btc-15m). Backed by a curated venue-id map atcore/src/router/series-map.tscovering tennis, American sports, soccer, esports, and crypto. - Core:
ExchangeHas.fetchSeriescapability flag.
Installation
npm:
npm install pmxtjs@2.48.0
npm install -g @pmxt/cli@2.48.0PyPI:
pip install pmxt==2.48.0Links
What's Changed
- feat: UnifiedSeries — fetchSeries across venues, Router cross-venue series, both SDKs by @realfishsam in #766
Full Changelog: v2.47.0f...v2.48.0f
v2.47.0
Added
- Core: Optional
sourceMetadatafield onUnifiedEventandUnifiedMarket(Record<string, unknown>) — captures venue-specific raw fields that are not promoted to first-class unified columns. Populated by every exchange normalizer (Kalshi, Polymarket, Polymarket US, Limitless, Smarkets, Opinion, Myriad, Probable, Metaculus, Baozi, Gemini-Titan, Hyperliquid, SuiBets) via a sharedbuildSourceMetadatahelper atcore/src/utils/metadata.ts. Includes recurring-series identifiers where the venue exposes them (Kalshiseries_ticker/series_title, Polymarketseries/seriesSlugwhen present, Opinioncollection, Gemini-Titanseries).
Installation
npm:
npm install pmxtjs@2.47.0
npm install -g @pmxt/cli@2.47.0PyPI:
pip install pmxt==2.47.0Links
What's Changed
- feat: add sourceMetadata to UnifiedEvent and UnifiedMarket by @realfishsam in #765
Full Changelog: v2.46.14f...v2.47.0f
v2.46.14
Fixed
- Docs: Simplify the raw WebSocket Python example for
watchAllOrderBooks()to use the hosted PMXT URL directly and drop the local relay override from that section.
Installation
npm:
npm install pmxtjs@2.46.14
npm install -g @pmxt/cli@2.46.14PyPI:
pip install pmxt==2.46.14Links
Full Changelog: v2.46.13f...v2.46.14f
v2.46.13
Fixed
- Docs: Replace the raw WebSocket curl examples for
watchAllOrderBooks()with a direct Python WebSocket example for non-SDK users.
Installation
npm:
npm install pmxtjs@2.46.13
npm install -g @pmxt/cli@2.46.13PyPI:
pip install pmxt==2.46.13Links
Full Changelog: v2.46.12f...v2.46.13f
v2.46.12
Fixed
- Release: Recover npm package publishing after repeated provenance/transparency-log failures left registry versions split across
2.46.9and2.46.10.
Installation
npm:
npm install pmxtjs@2.46.12
npm install -g @pmxt/cli@2.46.12PyPI:
pip install pmxt==2.46.12Links
Full Changelog: v2.46.9f...v2.46.12f
v2.46.9
Fixed
- Docs: Make raw
watchAllOrderBooks()WebSocket usage actionable with runnable curl examples, a raw Python WebSocket example for directws:///wss://connections, and clearer wire protocol guidance for non-SDK clients.
Installation
npm:
npm install pmxtjs@2.46.9
npm install -g @pmxt/cli@2.46.9PyPI:
pip install pmxt==2.46.9Links
Full Changelog: v2.46.8f...v2.46.9f
v2.46.8
Fixed
- Docs: Use "local server" terminology consistently across the docs, including generated
llms.txtdocs and WebSocket/server management pages.
Installation
npm:
npm install pmxtjs@2.46.8
npm install -g @pmxt/cli@2.46.8PyPI:
pip install pmxt==2.46.8Links
Full Changelog: v2.46.7f...v2.46.8f
v2.46.7
Fixed
- Docs: Add raw
curlWebSocket examples forwatchAllOrderBooks(), including all-venue and single-venue subscription payloads, local relay URL shape, and the curl version requirement for sending WebSocket frames from stdin.
Installation
npm:
npm install pmxtjs@2.46.7
npm install -g @pmxt/cli@2.46.7PyPI:
pip install pmxt==2.46.7Links
Full Changelog: v2.46.6f...v2.46.7f
v2.46.6
Fixed
- Docs: Clarify
watchAllOrderBooks()venue defaults. SDKRouterexamples now show all-venue streams, venue-client examples show single-venue defaults, and raw WebSocket examples remain explicit about omittingargsfor all venues.
Installation
npm:
npm install pmxtjs@2.46.6
npm install -g @pmxt/cli@2.46.6PyPI:
pip install pmxt==2.46.6Links
Full Changelog: v2.46.5f...v2.46.6f