Skip to content

Releases: tbeason/DatabentoAPI.jl

v0.3.1

Choose a tag to compare

@github-actions github-actions released this 25 Jun 18:13
12e588e

DatabentoAPI v0.3.1

Diff since v0.3.0

Merged pull requests:

  • Live symbol resolution (instrument_id → symbol) (#44) (@tbeason)
  • Upgrade to HTTP.jl 2.4 (v0.3.1) (#45) (@tbeason)

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 22 Jun 19:33
dc8f1bf

DatabentoAPI v0.3.0

Diff since v0.2.0

Breaking changes

This is a 0.x minor release (0.2.0 → 0.3.0) and carries behavioral/dependency changes:

  • Minimum DatabentoBinaryEncoding is now 0.1.4 (was 0.1.2). 0.3.0 relies on the new symbol-resolution helpers (symbol_map / symbol_for / add_symbol_column!) and the MBP-1/MBP-10/BBO records_to_dataframe fix that first ship in DBN 0.1.4. Environments pinned to an older DatabentoBinaryEncoding must upgrade.
  • Default HTTP read timeout raised from 100s to 600s. Long-range get_range queries can spend minutes in server-side assembly (continuous-symbol resolution, day-partitioned scans) before the first byte streams, so the old 100s default killed them. The timeout is inactivity-based, so a genuinely hung connection now takes up to ~10 minutes to surface. Override with Historical(timeout = ...).
  • Read (inactivity) timeouts are no longer retried and now raise BentoTimeoutError (a BentoError subtype) instead of HTTP.jl's bare TimeoutError. Server-side assembly time is deterministic for a given query shape, so retrying only burned the same timeout again. Connect errors and transient 429/5xx statuses are still retried as before.

New features (non-breaking)

  • to_dataframe(store; symbols=true) joins the human-readable raw_symbol onto records via metadata.mappings; symbol_map / symbol_for / add_symbol_column! re-exported for streaming consumers.
  • Chunked + concurrent get_range (chunk / concurrency kwargs; new DBNStore.failed_ranges field for targeted retry).

See the full changelog for the complete list.

Closed issues:

  • Typed get_range/foreach_record throw on interleaved non-schema records (gateway ErrorMsg/SystemMsg) (#30)
  • Default 100s read timeout too low for long-range get_range — 15-year STATISTICS pulls always fail (#31)
  • Docs: foreach_record example calls a nonexistent method (positional record type) (#32)
  • Feature: chunked + concurrent get_range helper for long ranges (and CSV encoding escape hatch) (#33)

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 04 Jun 16:50
dd744a0

DatabentoAPI v0.2.0

Diff since v0.1.2

Breaking changes

  • The time-range keyword arguments start / end_ are renamed to start_dt / end_dt, for symmetry (the trailing underscore only existed because end is a Julia reserved word). Affects get_range, foreach_record, submit_job, get_record_count, get_billable_size, get_cost, and the Live subscribe! / live_session subscription / stream_to_file / stream_multi_to_files start keyword. Update call sites from start = …, end_ = … to start_dt = …, end_dt = …. The Databento wire parameters (start / end) are unchanged.

Added

  • Automatic HTTP retries on the Historical API: HTTP 429/5xx and connection/timeout errors are retried with full-jitter exponential backoff, honoring a Retry-After header. Configurable via the new max_retries keyword on Historical(...) (default 3).

Changed

  • foreach_record now applies real backpressure and tears the connection down deterministically on every exit path (no unbounded buffering of the payload, no leaked producer task on early return or consumer error).

Merged pull requests:

  • Add CLAUDE.md for Claude Code guidance (#24) (@tbeason)
  • Historical HTTP retries, backpressured foreach_record, start_dt/end_dt rename (#25) (@tbeason)
  • Release 0.2.0 (#27) (@tbeason)

v0.1.2

Choose a tag to compare

@github-actions github-actions released this 02 Jun 21:08
fc6c943

DatabentoAPI v0.1.2

Diff since v0.1.1

Merged pull requests:

  • Release v0.1.1: consolidate post-0.1.0 work into one version (#20) (@tbeason)
  • ci(docs): add workflow_dispatch trigger to documentation.yml (#21) (@tbeason)
  • Live-layer reconnect supervisor with immediate-then-backoff retry (#22) (@tbeason)
  • Require DatabentoBinaryEncoding 0.1.2 (fixes v3 SType-255 read crash) (#23) (@tbeason)

Closed issues:

  • Move reconnect logic into Live (session-style client), add reconnect callback (#17)

v0.1.1

Choose a tag to compare

@github-actions github-actions released this 27 May 18:08
68d86de

DatabentoAPI v0.1.1

Diff since v0.1.0

Merged pull requests:

  • Unified-Live multi-schema streaming (#12) (@tbeason)
  • Reconnect: exponential backoff with jitter + max_reconnect_attempts (#16) (@tbeason)
  • Live durability: do-block, frame rotation, writer wrapper (#18) (@tbeason)
  • docs: Documenter.jl site, CHANGELOG, full export coverage (#19) (@tbeason)
  • Release v0.1.1: consolidate post-0.1.0 work into one version (#20) (@tbeason)

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 25 May 13:41
8335bf9

DatabentoAPI v0.1.0

Merged pull requests:

  • Build(deps): Bump actions/checkout from 4 to 6 (#1) (@dependabot[bot])
  • Build(deps): Bump julia-actions/cache from 2 to 3 (#2) (@dependabot[bot])
  • Build(deps): Bump julia-actions/setup-julia from 2 to 3 (#3) (@dependabot[bot])
  • Build(deps): Bump codecov/codecov-action from 4 to 6 (#4) (@dependabot[bot])
  • Build(deps): Update TOML requirement to 1.0.3 (#5) (@dependabot[bot])
  • Build(deps): Update SHA requirement to 0.7.0 (#6) (@dependabot[bot])
  • Typed live channels (F1b) (#7) (@tbeason)
  • Fix typed channel routing: per-schema, not per-record-type (#8) (@tbeason)
  • CI: fix DBN.jl clone URL (tylerbeason → tbeason) (#9) (@tbeason)
  • chore: gitignore .claude/ (#10) (@tbeason)
  • reader: treat mid-stream EOFError as clean end-of-stream (#11) (@tbeason)
  • Adopt renamed DBN dependency: DatabentoBinaryEncoding (#13) (@tbeason)