First stable release. No API changes from 0.2.0.
- Repo cleanup: squashed git history, added CI/CD, docs, templates
- Node.js minimum bumped from 18 to 20 (Node 18 EOL)
- Added: SECURITY.md, CONTRIBUTING.md, CODE_OF_CONDUCT.md, AGENTS.md
- Added: GitHub Actions CI (Node 20/22/24) and manual release workflow
- Add
encodeURIComponenton all path parameters to prevent path injection - Redact API token in WebSocket error messages
handleErrornow passesresponseBodyandrequestIdto error constructorsresponse.json()parse failures now throwEODHDErrorwithparse_errorcode instead ofNetworkError- Retry delay now has a minimum floor (100ms) to prevent zero-delay retries
Error.captureStackTraceadded for proper stack tracesTradingHoursDetailsParamsandTradingHoursStatusParams:filter[market]→market- PRAAMS report methods now accept optional
emailparameter
wsmoved fromdependenciesto optionalpeerDependencies
illiomarketplace provider (non-functional)robexiamarketplace provider (non-functional)mainstreetdatamarketplace provider (non-functional)
Initial public release.
- 70+ API endpoints — EOD prices, intraday, fundamentals, calendar, news, screening, exchanges, macro, treasury, CBOE, corporate actions
- WebSocket streaming — real-time trades, quotes, forex, crypto with auto-reconnect and exponential backoff
- Marketplace APIs — Unicorn Bay (options, S&P Global, tick data), Trading Hours, PRAAMS (risk analytics), InvestVerte (ESG)
- TypeScript-first — 113 exported types, full IntelliSense support
- Dual CJS/ESM — tree-shakeable bundles via tsup
- Error hierarchy —
EODHDError,EODHDAuthError,EODHDRateLimitError,EODHDNetworkError,EODHDTimeoutError - Retry with backoff — configurable retries, exponential backoff with jitter,
Retry-Afterheader support - Rate limit awareness — logs warning when API rate limit is low
- Pagination helper —
paginate()async iterator for paged endpoints - Zero runtime deps — optional
wspeer dependency for Node.js WebSocket only - Universal runtime — Node.js 18+, Deno, Bun, browsers