Tags

Tags give the ability to mark specific points in history as being important
  • v0.5.5

    v0.5.5 — CI only: pipeline split, Codeberg mirror, archiving, mirror issue pull-back
  • v0.5.4

    v0.5.4 — fix missing Codex install command in README
  • v0.5.3

    v0.5.3 — Claude Code + Codex plugin manifests, agent integrations docs
  • v0.5.2

    v0.5.2 — CI status badge
  • v0.5.1

    65bc9d13 · v0.5.1: add README badges ·
    v0.5.1 — README badges
  • v0.5.0

    v0.5.0 — rework /mcp to dedicated typed tools
  • v0.4.0

    v0.4.0 — MCP interface (/mcp) + @psyb0t/ibkr-httpapi ClawHub plugin
  • v0.3.4

    v0.3.4 — harden order-placement guardrails, add security & safety section
  • v0.3.3

    v0.3.3 — publish to ClawHub via clawhub-publish.yml directly
  • v0.3.2

    v0.3.2 — re-tag current HEAD to publish the new agent skill to ClawHub. The prior release built fine; only the skill-publish job needed a fresh run to pick up the reusable-workflow fix (version-check no longer aborts on a new skill's 404).
  • v0.3.1

    v0.3.1 — ibkr-httpapi agent skill + ClawHub publishing
  • v0.3.0

    v0.3.0 — ?refresh + 429 in OpenAPI + /rates/ta uses bars cache
    
    Closes the three deferred items from v0.2.0:
    
    1. `?refresh=true` query param threaded through 24 cacheable
       operations. Bypasses the cache read, still writes the fresh
       result back. Default false — caching stays transparent.
    
    2. `429 RATE_LIMIT_NEAR` documented in OpenAPI on every IBKR-bound
       operation. Body shape unchanged from v0.2.0 runtime behavior;
       clients can now discover it via /openapi.json instead of having
       to be told.
    
    3. /rates/ta endpoints split into bars-via-cache + ta_enrich. Cache
       hits = zero IBKR load + fresh wickworks indicators. Every TA
       call also grows the goldmine.
    
    Stack: Python 3.12 + FastAPI + ib_async + Linux-native IB Gateway.
    142 tests pass. ruff + bandit + pip-audit + audit-compose all
    clean at release.
    
    Generated clients import paths:
      Go:     github.com/psyb0t/ibkr-httpapi/pkg/clients/go
      Python: pip install "git+https://github.com/psyb0t/ibkr-httpapi.git@v0.3.0#subdirectory=pkg/clients/python/ibkr-httpapi-client"
  • v0.2.0

    v0.2.0 — preemptive IBKR pacing + transparent disk caching
    
    Three-tier preemptive rate-limit gate (historical / market_data /
    orders) wired into every IBKR-bound operation. Soft cap → WARN log,
    hard cap → 429 RATE_LIMIT_NEAR. Defaults sit BELOW IBKR's documented
    hard caps to leave headroom.
    
    Transparent disk caching for every endpoint that returns historical /
    quasi-static / piggyback-snapshottable data:
    
    - cache_bars: /rates + /ticks per-(class, symbol, timeframe) CSV
      (wickworks-shaped: time,open,high,low,close,tickVolume; epoch sec).
      Append-only. Builds long-term goldmine of market data.
    - cache_meta: long-TTL JSON for contract details, futures expiries,
      chain strike lists.
    - historian: live-snapshot piggyback on /tick (bid/ask/last + Greeks
      for options) + /chain (per-strike rows per snapshot).
    - exec_history: append-only JSONL ledger for fills + completed orders.
    
    All caches mount the host's ./data directory; back it up. Caches OFF
    in tests, ON by default in prod via config.yaml.
    
    49 new tests, 142 total green. ruff + bandit + audit all clean.
    
    Generated clients import paths:
      Go:     github.com/psyb0t/ibkr-httpapi/pkg/clients/go
      Python: pip install "git+https://github.com/psyb0t/ibkr-httpapi.git@v0.2.0#subdirectory=pkg/clients/python/ibkr-httpapi-client"
  • v0.1.0

    v0.1.0 — initial release
    
    Spec-first IBKR HTTP API wrapper. OpenAPI 3.1.0 source-of-truth at
    api/v1.yaml drives FastAPI server stubs + Go + Python clients via
    `make generate`. 42 operations across stocks / options / futures / cfd
    / forex / crypto / orders / history / system, all under /v1/.
    
    Stack: Python 3.12 + FastAPI + ib_async + Linux-native IB Gateway
    (gnzsnz image with IBC auto-login). Loopback-only by default; bearer
    auth via Authorization header, constant-time compare. 93 tests pass
    (mocked ib_async). Bandit + ruff clean. SHA-pinned base images,
    hash-locked requirements with 7-day age-gate.
    
    Supply chain audited at release: `make audit` (pip-audit) +
    `make audit-go` (govulncheck) + `make audit-compose` (banned
    settings + pin discipline) all clean. Compose hardened with
    isolated networks, cap_drop:[ALL], no-new-privileges, read_only +
    tmpfs, per-service resource caps + healthchecks.
    
    Generated clients import paths:
      Go:     github.com/psyb0t/ibkr-httpapi/pkg/clients/go
      Python: pip install "git+https://github.com/psyb0t/ibkr-httpapi.git#subdirectory=pkg/clients/python/ibkr-httpapi-client"