***RELEASE NOTES FOR SOAP2***
This page summarises what changed in each release of SOAP2: the current and upcoming release in detail, older builds grouped by theme.
For any feedback or issues, please contact the developers on the [Slack Community](https://soap2-licensing.soap2-reg.workers.dev/join-slack)
The SOAP section is dedicated to support and comments. Please use it for any SOAP related issues.
Feedback is always welcome. Always send the MessageLog.txt file with your feedback. It is located in the SOAP2 Data directory.
A CrashReport.txt file is also generated when SOAP untimely crashes. It is located in the same directory as the MessageLog.txt file.
## Version 1.1 at a glance — what has changed since 1.0
Version 1.1 is a larger step than the 1.0.x updates before it. Here is what matters most if you last looked at SOAP2 at the 1.0 release (July 26th, 2026). The sections below give the detail, then older builds in summary.
### New in 1.1
- **Registration required from October 1st, 2026** — SOAP2 asks you to register at startup (free for the Freeware edition; an internet connection is needed). The Free Trial itself still runs until December 1st, 2026, and payments open during November. Apart from registering, nothing changes for Free edition users.
- **Trade Rules** — define rules for each trade (Time, Greeks, Financial, Positioning), and SOAP2 keeps checking them against live data. Each rule shows a state and a recommended response (Alert, Adjust, Roll, Reduce or Close), on a dashboard with acknowledge/snooze, on the Portfolio tiles and in the Options Analysis window. SOAP2 only recommends; it never acts on a rule. See the [Trade Rules guide](./trade_rules_user_guide.md.html).
- **Ask Claude about SOAP2** — a built-in AI assistant connection lets Claude (Desktop or Code) answer questions from SOAP2's own Help, with links to the relevant pages; Premium/Free Trial editions can also let Claude read your own live state and saved results, read-only. An `AiAssistant` folder in the install directory sets it up.
- **Expert edition** — TRACE, StickySkew Regime and Dispersion Regime move to a new Expert tier (Premium keeps them for now; Expert pricing to be announced).
- **Last known state of every analysis tool** — HSkew, VSkew, ATM, GEX/VEX, TRACE, Hedging Flow, StickySkew, Dispersion, the VIX term structure and the risk summary now save their last completed result, so a tool can show its last known state instead of an empty screen. Only complete, live results are saved, never a partial or replayed one.
- **Hedging Flow, TRACE and Sticky Skew reworked** — Hedging Flow explains why it is empty and no longer loses strikes; TRACE requests much less data; Sticky Skew has been overhauled (see the note on its sign convention below).
### Trading workflow, added since 1.0
- **Portfolio** (Alt+K) — a book-wide dashboard with one tile per trade (P&L, margin, Greeks, expiry payoff chart) that also launches the trade's Options Analysis window; Row/Column/Grid layouts, three tile sizes.
- **Trade Reporting** and trade **snapshots** — browse every trade across symbols, accounts and statuses, and save point-in-time snapshots.
- **Trade the underlying** from Options Analysis (stock, ETF or futures) on its own or combined with options in a single order, with the Risk Graph, Greeks and P&L including it; RegT / Portfolio Margin / Cash account types.
- **Trade and Model JSON export/import**, "Copy Model to New Expiry", and a Models browser that warns before a model expires.
- **Sensitivity tool** in the Commit window — a 3D surface showing how far the Underlying and IV must move for your combo to reach your limit price.
- **Futures auto-roll** — the next contract is added to the Watchlist ahead of expiry, and the expired one is removed once no trade uses it.
- Trade List: Copy/Move to another account, permanent deletion of Archived/Orphaned trades, restore of archived trades.
### Analysis tools, added since 1.0
- **GEX/VEX** (dealer gamma/vanna exposure), **VSkew history** (1 day, 2 days, 1 week ago), **TRACE** (multi-expiry dealer gamma heatmap, Premium, experimental), **Hedging Flow**, and the **StickySkew** and **Dispersion** regime dashboards.
- **Data Chart**: ALMA, JMA, Cycle, Pivots and Murrey Math indicators, Heikin-Ashi candles, manual Y-axis zoom/pan, and the advanced Feature Store and regime-analysis dashboards (early releases; see the notes below).
### Reliability and everyday use
- IB reconnection is much more robust: the Live Watchlist and open Options Analysis windows resubscribe after a disconnect, and SOAP2 can find and launch TWS for you.
- Faster Risk Graph zoom and scroll, remembered window positions and chart views, a searchable Shortcuts window (F12), Learning Mode how-tos, a status bar with rotating tips, and an optional web-based Help.
**Please read** — Sticky Skew's sign convention was corrected in this release (SSR sign flipped, Daily cutoff fixed), so history computed by earlier versions was wrong and should not be compared with new values. Several new tools (Trade Rules, the advanced toolset, the Sticky Skew changes) have had limited live testing; please report anything that looks off on the [Slack Community](https://soap2-licensing.soap2-reg.workers.dev/join-slack) with your MessageLog.txt attached.
**October 9th, 2026 — Version 1.1.0.2**
- New: Trade Rules guides — a [Beginner's Guide](./trade_rules_beginner_guide.md.html) (your first trade with a ready-made template, step by step), a [Templates guide](./trade_rules_templates_guide.md.html) (all 17 strategy templates explained rule by rule, and how to make your own) and a [Hybrid Trades guide](./trade_rules_advanced_guide.md.html) for trades made of several combos. They are also available as Word documents.
- New: **Subscription window** (SOAP menu > Subscription..., also a button in About). For a paid Regular or Premium subscription it shows your plan, when it renews or ends, any scheduled change and how many plan switches you have used, and lets you **upgrade** (immediately, billed pro rata), **downgrade** or **cancel** (at the end of the period you have paid for, no refund) and **undo** a pending downgrade or cancellation. Every action asks for confirmation first. SOAP2 also logs one line at startup when a downgrade or cancellation is pending. Licences without a subscription show that there is nothing to manage. See the [Licensing guide](./licensing_user_guide.md.html#managing-your-subscription).
- New: **Connect more AI assistants**. General Settings > **AI assistant** is now a list with a Connect button: Claude Desktop, Claude Code, **Gemini CLI**, **Codex (OpenAI)**, or **Other**, which copies the MCP setting to the clipboard to paste into Cursor, VS Code or any MCP-capable assistant. SOAP2's connector was always a standard MCP server; this adds the one-click setup for the others. Only Claude has been tested by the author: the others are marked **EXPERIMENTAL** under the list with their specific warnings, and ask you to confirm before connecting, so please tell us what you find. The ChatGPT app cannot run local tools, so OpenAI's Codex is the way to use it. See the [AI Assistant guide](./ai_assistant_user_guide.md.html).
- Improved: **Trade Rules for trades made of several combos**. **Detect combos** now creates one leg group per combo (double diagonals, calendars, straight and broken-wing butterflies that share their body), **Check rules** lists duplicates, conflicting levels, ladders back to front and mismatches, **Validate rules** records that the set was reviewed (any later change un-validates it), and **All rules (combined)** shows everything in one read-only view. Every change in the rules editor can now be undone back to the last save (Undo button or Ctrl+Z). See the [Hybrid Trades guide](./trade_rules_advanced_guide.md.html).
- New: **CBOE GEX/VEX for RUT and NDX**. The CBOE GEX/VEX window has a Symbol selector (SPX, RUT, NDX) with defaults that follow the symbol, and the AI assistant gets a new call, `get_cboe_gex`, that reads SPX, RUT or NDX gamma and vanna exposure from the whole CBOE delayed chain for six expiry scopes, compares it with the previous run, and states how fresh the data really is (Premium GEX/VEX licence, live-state setting). RUT and NDX are new and lightly tested. See the [GEX/VEX guide](./gexvex_user_guide.md.html) and the [AI Assistant guide](./ai_assistant_user_guide.md.html).
- Fixed: switching an Options Analysis window to **Risk Graph** or **Calendar** no longer cancels a running HSkew, VSkew, Volatility Surface, GEX/VEX, Hedging Flow or TRACE session. You can bounce out to the Risk Graph or the expiry Calendar and back without interrupting it or re-requesting its data. Switching to another data-heavy mode still cancels the one that was running, which protects the account's market-data request budget.
- New: **Trade Builder** (Regular edition and above). Open it from an Options Analysis window with Ctrl+B, the Model Mgt menu or the toolbar button, choose a strategy (iron condor, butterfly, broken-wing butterfly, vertical spread, condor, calendar, diagonal and more, with Type and Lean variants), set a target net delta, cost, widths or a max-loss budget, and it lists the real trades on the chain that fit, best first. **Place on grid** puts the chosen one on the grid as model legs and shows the Risk Graph; it never sends an order or saves a model. A shortlist lets you carry a shape from one expiry to another and compare, and your inputs are remembered per strategy. New and lightly tested. See the [Trade Builder for Beginners](./trade_builder_beginner_guide.md.html) guide and the [Trade Builder guide](./trade_builder_user_guide.md.html).
- New: **Rule Sets** for Trade Rules. A trade can keep several alternative rule sets and you switch between them; leg groups are shared by every set (the editor names any group that is empty in the set you switch to), and each set keeps its own reviewed (validated) status. See [Rule Sets for Beginners](./trade_rules_rule_sets_guide.md.html).
- New: **Windows notifications from live Rules** — a checkbox in General Settings (SOAP Usage), the same switch as the dashboard's Notify button, for a desktop notification when a rule escalates to Adjust, Roll, Reduce or Close.
- New: **Dispersion Regime** reads more. A *Concentration-led* regime (low implied correlation while cap-weight pulls away from equal-weight), an AI proxy (SMH, semiconductors) that says whether a concentration lead looks AI-driven, a graded lean so a *Mixed* read still says which regime it tilts toward and what holds it back, implied versus realized dispersion, and VIX in the panel. Windows are now counted in trading sessions, so hourly mode is no longer measured in bars as if they were days. The first Refresh on each bar size backfills SMH and VIX. New and lightly tested. See the [Dispersion guide](./dispersion_regime_user_guide.md.html).
- New: each Dispersion read says **what changed since the previous run** (regime, lean, the four regime scores and the percentile ranks), under the interpretation text and in the AI assistant's market read. When two runs end on the same last bar it says so, because then a change comes from revised history, not from new market data.
- Fixed: the daily Dispersion Refresh could lose the SMH and VIX history it had just backfilled, because the live recorder rewrote the file from an older copy. It now adds only its own value; run Refresh once to restore the history.
- Fixed: the Dispersion "building or fading" trend counted rows that only hold a VIX print (outside regular hours in hourly mode), so it did not look back five sessions. It now counts real bars.
- Fixed: **Index Distribution Stats** reports. The shock half-life was printed as a negative number; it is now positive, and when volatility persistence is at or above 1 the report says the fit is non-stationary instead of giving a half-life. A warning appears when the Student-t degrees of freedom sit at their lower limit (2), and hourly statistics ignore an unfinished or flat final hourly bar. See the [Index Statistics guide](./indexstats_user_guide.md.html).
- Improved: the help text panel in General Settings now has a vertical scrollbar for long descriptions. The AI assistant's Help search answers "which guide should a beginner read first" with the Help landing page, which gained a section for it.
**October 2nd, 2026 — Version 1.1.0.1**
- Fixed: the Data Chart could hang when asked for four or more years of 1-hour bars on IBUS500. IBUS500 history is now capped at 3 years, and the "Requesting…" message appears immediately when you change the duration.
- New: the Data Chart info box shows the timestamp of the first bar loaded (`First: yyyy-MM-dd HH:mm`), so you can see how far back the data really goes.
- New: **Dispersion Regime hourly mode** — the dashboard can run on hourly bars (60-day backfill, its own history file) as well as daily ones. Fixed along the way: a backfill of several symbols could keep only one of them, and hourly rows were skipped on load ("not enough history"); the empty-history message now names the bar size.
- Improved: Dispersion and Sticky Skew Refresh reuse the stored result when it was computed since the last market close, instead of recomputing the same data.
- New: **Index Statistics** can run on SPX, NDX, QQQ, RUT, SPY or IWM, in daily or 1-hour bars, each with its own saved last run. In hourly mode the SPX/VIX correlation is now aligned by hour of day (it used to come out empty because the two trade on different clocks). Daily and hourly results are stored separately, so an hourly run no longer overwrites the daily one.
- New: the AI assistant gets a market analysis call, `run_analysis`. *Succinct* gives five one-line insights; *comprehensive* gives a full read of the stored results and statistics and asks you to confirm first, because it uses a lot of AI credits. Choose daily or hourly bars. It also works with SOAP2 closed, from the saved reports and results (each source says how old it is). When no VIX futures are in the Watchlist, the VIX term structure is derived on demand from VIX options and clearly labelled as derived. See the [AI Assistant guide](./ai_assistant_user_guide.md.html).
- Improved: **GEX/VEX** — the "OI still arriving" message no longer flaps every few seconds; the strike-range settings in General Settings are now the same presets as the GEX/VEX filters; the Gamma-Delta subchart scales its noise threshold to the data so it no longer shows up empty; far strikes that never receive open interest are marked empty after 30 seconds instead of 90; and a crash when opening an Options Analysis window with GEX/VEX is fixed.
- Fixed: the settlement price of an expired leg is looked up once, not on every start of SOAP2; the Message Log no longer repeats "fetch skipped" lines, and says whether a fetch was deferred (IB not connected) or resolved.
- Improved: the Help pages were reorganised, with a landing page and Start-here pages, Standard and Advanced levels, and search keywords; a new [Index Statistics guide](./indexstats_user_guide.md.html) was added.
- New: HSkew and VSkew history offsets are now selectable — a dropdown next to "VSkew history enabled" / "HSkew history enabled" in General Settings → Skew lets you tick any of 1D, 2D and 1W (default: 1D only). Only the ticked offsets are computed, drawn and shown as info-box columns, which also means fewer IB historical-data requests.
- Improved: VSkew's RR/BF now reaches its target delta. The strike ladder used to be cut short — it was treated as complete while part of it was still queued, and could exhaust the account's market-data line limit — so RR25/BF25 often could not be solved. The ladder is now requested in waves that stay within the limit, and far-out strikes are requested for the calculation only (never drawn) when a wing still falls short.
- New: when the target delta still cannot be reached, RR/BF are computed at the nearest delta both wings can reach and labelled accordingly (for example `RR27*`), with a tooltip. The stored result and the AI assistant carry the delta actually used.
- Fixed: VSkew and HSkew kept restarting when the underlying hovered near a strike-rounding boundary (the ATM strike flipped back and forth, cancelling and re-requesting every leg each time). The ATM strike now stays fixed until a calculation completes, and only re-centres once the price has clearly moved away.
- Fixed: the VSkew RR/BF table could be missing entirely when the current RR/BF could not be solved; it is now always shown ("-" while loading, "N/A" if unsolvable).
- Fixed: closing a trade from Trade List now also closes any open TLog window for it; "Open TLog" from Trade List now brings an Options Analysis window's own TLog to the front instead of leaving it behind other windows.
- Fixed: the 1D/2D/1W history columns of HSkew and VSkew were priced on the wrong clock. The reference time was taken in the computer's local time but compared with UTC history bars, so in a timezone ahead of UTC the column used a bar from *after* the intended time (a 2-hour look-ahead at UTC+2) and its days-to-expiry was off by the same amount. They now use UTC throughout; historical RR, BF and term-slope values shift slightly.
- Improved: the underlying's history file (for example `SPX_history.csv`) is now topped up from IB before the history columns are computed, when the bar for an offset's reference time is missing or more than about an hour old. Previously a file that stopped early in a session, because SOAP2 had been closed, still counted as complete and the 1D column was solved on a stale spot. It is requested once per pass, only adds missing bars, and does not re-request for 30 minutes if IB has nothing better.
- Improved: the stored HSkew and VSkew results now describe what each column represents — the reference time and price, where the target-delta strikes sit and how far the strike ladder reaches, the expiry of each term-structure point, and which history offsets were selected. The AI assistant uses them in a new skew read that compares the latest run with the previous one on like-for-like data only (Beta).
- Improved: fewer Message Log lines while VSkew loads — the per-step "delta not bracketed" and "pass started" diagnostics now appear only in Verbose mode; a final failure to solve RR/BF is still logged once.
- Improved: the RR/BF and term-slope tables sit in the bottom-right corner of the chart; the chart's plot area starts 10 pixels higher; several General Settings controls were realigned.
- New: **IB Scanner** — a new window (IB button → IB Scanner) that runs Interactive Brokers' market scanner for stocks, futures and indices: choose instrument, location and scan type, add optional filters, and see the ranked contracts. The choices come from the parameters TWS publishes (saved locally, so they are available before you connect), and a scan can be kept live. Premium, WhiteLabel and Free Trial editions; greyed out for Freeware and Regular. See the [IB Scanner guide](./ibscanner_user_guide.md.html).
- Improved: the old, unused scanner controls left over from the IB sample application were removed from the main window.
## Version 1.1.0 and earlier — summary
The complete, bullet-by-bullet history of every build is kept in the developer archive (`docs/Dev/ReleaseNotes_Full_History.md.html`) and is available on request. This section keeps what matters for using SOAP2 today.
### Version 1.1.0 (September 28th, 2026)
- **Registration** required from October 1st, 2026 (free for Freeware). The Free Trial still runs until December 1st, 2026 with every feature unlocked. See [Licensing](./licensing_user_guide.md.html).
- **Trade Rules** — Time, Greeks, Financial and Positioning rules per trade, with a state and a recommended response. Never treats missing data as safe. See the [Trade Rules guide](./trade_rules_user_guide.md.html).
- **Ask Claude about SOAP2** — Claude can search SOAP2's own Help; Premium and Free Trial editions can also let it read your live state (read-only). See the [AI Assistant guide](./ai_assistant_user_guide.md.html).
- **Expert edition** — TRACE, StickySkew and Dispersion move to a new tier above Premium (Premium keeps them for now).
- **Last known state** of every analysis tool is saved to disk (latest and previous, with data-quality notes).
- Reworked: [Hedging Flow](./hedgingflow_user_guide.md.html), [TRACE](./trace_user_guide.md.html), [Sticky Skew](./stickyskew_regime_user_guide.md.html) (its sign convention was corrected — rebuild old history).
- Fixed: several IB reconnection dead ends (data not resuming after a reconnect); trade reporting with snapshots improved.
### Version 1.0.x (August 5th – September 21st, 2026)
**Trades, accounts and orders**
- Trade the **underlying** (stock, ETF or a futures substitute such as ES) from an OA; Risk Graph and Greeks include it. Choose RegT, Portfolio Margin or Cash per OA. (1.0.5–1.0.7)
- **Portfolio** dashboard (Alt+K): one tile per trade, Row/Column/Grid layouts, three tile sizes. See [Portfolio](./portfolio_user_guide.md.html). (1.0.8–1.0.12)
- **Trade Reporting** dashboard with snapshots; Archived and Orphaned trades can be restored or deleted; auto-archive notifications. See [Trade Reporting](./trade_reporting_user_guide.md.html) and the [Trade List guide](./TradeList.md.html). (1.0.12)
- Trade and model **JSON export/import**; Copy Model to New Expiry. See [Model & Trade Import/Export](./model_trade_importexport_user_guide.md.html). (1.0.5)
- Execution allocation fixes (right-click New Trade, Add Execs to TLog, Orders window hints). See [Executions & Allocation](./executions_allocation.md.html). (1.0.10–1.0.11)
- Several P&L fixes for combined underlying + option trades. (1.0.6)
**Analysis tools**
- **GEX/VEX** for SPX and RUT (1.0.1); CBOE GEX/VEX as a Premium feature (1.0.3). See the [GEX/VEX guide](./gexvex_user_guide.md.html).
- **VSkew history overlay** (1 day, 2 days, 1 week ago) and an adjustable RR/BF delta; HSkew and VSkew became Premium features. (1.0.2)
- **Commit Sensitivity** 3D surface (1.0.3); see [Commit](./commit_overview.md.html).
- **TRACE** now sizes strike windows per expiry and reports permanent gaps separately from lines still filling; **Hedging Flow** gained an Activity view. (1.0.10–1.0.12)
- **Data Chart** indicators and controls: Heikin-Ashi, symbol switcher, Pivots lifecycle, IBUS500 caching. See [Data Chart](./datachart_indicators_user_guide.md.html). (1.0.4, 1.0.7)
- **StickySkew and Dispersion** dashboards gained interpretation panels and zoomable charts. (1.0.9)
**Everyday use**
- Status bar with rotating tips, a Help button in OA and Commit, searchable Shortcuts window (F12), Learning Mode how-tos, web-based Help option. (1.0.1–1.0.12)
- Futures auto-roll adds the next contract to the Watchlist (1.0.7) and removes the expired one (1.0.9).
- Watchlist fixes and a dedicated [Watchlist guide](./watchlist_user_guide.md.html); delete guard for symbols still used by trades. (1.0.11)
- TWS auto-launch and install discovery; reconnect fixes for the Live Watchlist and OA grids. (1.0.12)
- Settings: more tunable defaults, Performance and GEX/VEX tabs, help panel per setting. (1.0.1)
- Rewind improvements (step buttons, quieter log); Risk Graph zoom is faster. (1.0.4, 1.0.9)
- Pause updates for hidden or minimized OAs. (1.0.1)
- Many stability and data-consistency fixes in every build.
### Before 1.0
- **April 28th, 2026** — index futures options (e.g. ES).
- **July 10th, 2026** — Watchlist and Symbol Settings robustness; Live Watchlist Last Update column.
- **July 20th, 2026** — [Rewind](./rewind_user_guide.md.html) and Volatility Surface added.
- **July 26th, 2026** — version 1.0.0, initial release.
- **July 28th, 2026** — website live with video walkthroughs and direct installer download.
## Providing feedback / bug reports
There is a Troubleshooting section on the top left menu of the app that provides information on how to report issues.
Otherwise, send an email to the support email address below with as much information as possible to help us understand and reproduce the issue.
SMTP is supported in SOAP2, so you can send an email directly from the app with the relevant files attached.
However SMTP is specifically not required, you can also send an email with the relevant files attached from any email client.
SMTP is user dependent for security reasons, so if you have multiple users on the same machine, only the user with SMTP configured will be able to send emails directly from the app.
Please include:
- Screenshot (if UI-related)
- Short description + steps to reproduce
- `MessageLog.txt`
- `CrashReport.txt` (if present) + any relevant config files
Email:
[email protected]
Back to the main [SOAP2 Help Guide](index.md.html)