This release fixes issues for SREs watching stability and regressions.
✓ No known CVEs patched in this version
Topics
+9 more
Summary
AI summaryFixed stale data overwrites on rapid symbol switching and corrected mixed‑grid strike increment detection.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Bugfix | Medium |
Cancels previous symbol fetches with AbortController on rapid symbol switch to prevent stale state overwrites. Cancels previous symbol fetches with AbortController on rapid symbol switch to prevent stale state overwrites. Source: llm_adapter@2026-05-29 Confidence: high |
— |
| Bugfix | Medium |
Improves strike‑increment detection for mixed‑grid option chains using a mode calculation over a 9‑strike window centered on ATM. Improves strike‑increment detection for mixed‑grid option chains using a mode calculation over a 9‑strike window centered on ATM. Source: llm_adapter@2026-05-29 Confidence: high |
— |
| Bugfix | Low |
Splits strike‑increment cache: verified values cached for 1 hour; heuristic fallbacks cached for only 60 seconds to avoid poisoning from transient API blips. Splits strike‑increment cache: verified values cached for 1 hour; heuristic fallbacks cached for only 60 seconds to avoid poisoning from transient API blips. Source: llm_adapter@2026-05-29 Confidence: high |
— |
Full changelog
What's fixed
Stale state on rapid symbol switching. Slow API responses from the previous symbol could land after the new symbol's responses and overwrite the chart, contract list, or option preview with the wrong ticker's data — the kind of bug that makes traders open a trade against an instrument they're not looking at.
Now every symbol-scoped fetch (bars, contracts, config, quotes) is cancelled with AbortController the instant you switch, with a correlation-ID guard as a belt-and-suspenders check for anything that slips past the abort. Same pattern TanStack Query and other modern trading frontends use.
Strike-increment detection for mixed-grid chains. MSTR (and similar names) have $1 strikes deep ITM/OTM and $2.50 strikes near ATM. The old algorithm picked the smallest common increment in a ±$20 window, returning $1 — so orders snapped to $161 (which doesn't exist) instead of $160 or $162.50.
New algorithm: take the 9-strike window centered on ATM, compute adjacent diffs, pick the mode. Verified increments after the fix: SPY=$1, PLTR=$1, MRVL=$2.5, AMZN=$2.5, MSTR=$2.5, MU=$5.
Strike-increment cache split. Verified (chain-derived) values cache for 1 hour; heuristic fallbacks cache for only 60 seconds — so a transient API blip on the first lookup can't poison the long-TTL cache with a wrong value for the rest of the hour.
Why this matters
Resilient state handling and correct strike math aren't "nice to have" on a real-money trading platform — they're the difference between executing the trade you intended and executing one you didn't.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About calesthio/OptionsCanvas
All releases →Beta — feedback welcome: [email protected]