***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.
## Next release — draft (Friday November 6th, 2026)
- (nothing yet)
## October 30th, 2026 — Version 1.1.2.0
The latest release. Mostly the Data Chart and Feature Store tools (indicators, Murrey, Outlook), the Reports capital basis, backup / move to a new computer, and the referral program. Several items are new and lightly tested; please report anything that looks off on the [Slack Community](https://soap2-licensing.soap2-reg.workers.dev/join-slack).
- New: **Back up / move to a new computer** (SOAP menu). One file holds your trades, accounts, rules, settings and (optionally) your analysis and option price history; your licence and passwords are never part of it. SOAP2 checks the file after writing it, can then free this computer’s licence seat, and on the new computer imports the backup at the next start (the data already there is kept aside, never deleted). When all seats of a licence are in use, the activation window now lets you free the seat of an old computer. New and lightly tested: the backup and import have been checked on real data, the full move (restart, licence steps) has not been run end to end yet. See the [Moving to a New Computer guide](./Guide/SOAP2%20Moving%20to%20a%20New%20Computer.docx).
- New: **Referral program** (paid plans). The Subscription window (SOAP menu) now shows your personal referral link and code. When a trader who is new to SOAP2 subscribes to a paid plan with it and is still a paying customer 14 days after their first payment, you earn free days: one month when their plan costs as much as yours or more, a proportional part of a month when it costs less (a Premium subscriber referring a Regular plan earns 12 days). The days postpone your next payment, or extend a complimentary licence. New and lightly tested: the server side opens with online payments on December 1st, so there is nothing to earn before then. Rules in the Terms of Service.
- Improved: **The Trade Builder is easier to find** in an Options Analysis window. Its toolbar button now reads “Builder” instead of showing only an icon. It stays greyed out until a chain is loaded, and its tooltip says so (**Ctrl+B** opens it too). Regular edition and above. See the [Trade Builder guide](./trade_builder_user_guide.md.html). New and lightly tested: tell us if the button goes missing at a narrow window width.
- Changed: **Options Analysis toolbar housekeeping.** The “Hide OA” button is gone: the window’s close button (X) already hides it, and Window > Minimise is still there. Shortcut hints in the menus (Rewind, CBOE Playback, Save snapshot, P&L / Margin history) now sit in the shortcut column and keep showing after Rewind is used. Menu entries that open a dialog end with an ellipsis, a few tooltips were clarified, and the hint messages for the minimum strike interval now correctly say Ctrl+Down (Ctrl+M opens the Models List).
- Fixed: **The Greek / Margin summary under the option grids could disappear** in an Options Analysis window. If the window was created hidden or small, or was later docked or maximised, the bottom panel could be squeezed to nothing (or to a sliver without the second row) and stay that way. The summary now always keeps room for its toolbar and both rows (Position and Model), whatever the window size, and a new window takes the summary height of an already open one rather than its splitter position. Window > Reset layout still reopens it if you have dragged it small on purpose.
- Fixed: **Weekly expiries on the wrong weekdays.** When a symbol's Preferred Settings select only some weekdays for weeklies (for example Fridays), an Options Analysis window that was already open still bolded and accepted every weekly date on the expiry calendar once Weeklies was switched on. The calendar now follows the weekdays ticked in the symbol's settings. New and lightly tested: the expiry tabs are only rebuilt when you confirm an expiry, so they may show the old days until then.
- New: **Major Murrey lines read as targets** (Feature Store and Outlook report, Premium). When price arrives at the 0/8, 4/8 or 8/8 line the report now says whether it is being tested, is stuck in congestion, was rejected (closed back off the line) or broke through, and whether the ALMA trend was heading into the line or away from it. New and lightly tested. On SPX the lines broke more often than they rejected, and counter-trend tests rejected most; the samples are small, so read it as description, not a signal. The Murrey thresholds are conventions you can tune (Thresholds... button on the Outlook dashboard; anything off the default is named in the report header) and are no longer re-fitted each month: only the ALMA/JMA flat band and the floor-pivot bands are, so the “band changes” section lists four bands instead of seven and the Murrey false alarms are gone. Plain-English guide: Part 6 of SOAP2 Outlook Multi-Timeframe for Dummies (docs/Guide).
- New: **Underlying Outlook in the background, and on request through the AI assistant** (Premium). For SPX, NDX and RUT, SOAP2 now computes the Outlook by itself every 30 minutes while the market is open (and once after the close), with no chart or window needed, and keeps the last result. Ask your AI assistant (“what is the SPX outlook?”) and it reads a concise or a detailed interpretation, for the short term (today and tomorrow, from the hourly and 4-hour bars) and the long term (a week to a month, from the daily bars). The new get_outlook tool reads the stored result; run_analysis with name “outlook” computes it right now. New and lightly tested: the first run on a symbol downloads up to three years of hourly bars and can take a few minutes; rebuild the SOAP2 AI assistant after updating so it learns the new tool.
- New: **4-hour bars** in the Data Chart bar-size list (last entry, after “1 month”) and in the Outlook. They are built from the hourly bars, two per regular session (09:30–12:30 and 12:30–16:00 New York), so they line up with the market rather than with IB’s own 4-hour cut. When your broker history is too short, SOAP2 downloads a starter set of SPX, NDX and RUT bars from Yahoo Finance on your own PC (about two years hourly, much more daily) as a last resort; it is never shipped, never replaces broker bars and is labelled in the report source. The Feature Store dashboard now builds on its own when you open it, shows a “Please wait” message while it works, and has tooltips on its controls and column names. New and lightly tested.
- New: **Cycle-scaled stochastics and permutation entropy** in the Feature Store dashboard column list. Stoch.Fast/Mid/Slow.K and .D are stochastics whose lookback is a quarter, half and one full dominant cycle (so the length adapts to the market instead of a fixed 14); Entropy.Perm3 (0 to 1) measures how random the ordering of recent closes is over two cycles, low meaning regular. Their lookbacks are shown in .Length / .Window columns. Available on every frame, and each adds one line (Stochastics, Randomness) to the written feature description. New and lightly tested.
- Changed: **Feature Store / Outlook defaults follow the frame.** A single-frame report now looks ahead 2 days on the hourly frame, 3 days on the 4H frame and 7 days on the daily frame (the horizon list shows the bars and the days); the Multi-frame view defaults to a 1-day-to-expiry trade, i.e. today and tomorrow, instead of 30 days. A horizon or DTE you picked yourself is kept. The toolbar also has a **Multi-frame** switch (on by default), a **Lock last bar** switch, a step-by-step status line, and saves the reports of all frames together as one set (Features\SPX_Outlook_Set_Report.txt).
- New: **Market Outlook in plain words** (Data Chart menu, Premium). The multi-timeframe reading of SPX, NDX or RUT as everyday sentences, concise or detailed, for the next day or two and for the coming weeks, with no statistics vocabulary: what price has been doing, whether volatility is above or below its recent pace, how common big surprise moves are, a typical and an unusually large move with price levels, and what SOAP2 could not measure. It says when bar sizes disagree, when a view is missing or out of date, and that none of it has been shown to predict direction. The AI assistant reads the same text first (get_outlook), and the Feature Store dashboard has two new levels, Plain (concise) and Plain (detailed). The dashboard also gains a Market Outlook button and a Report view button: the saved report of all timeframes laid out for reading (plain words first, then one page per timeframe, the audit trail behind a "Technical detail" tick box). New Feature Store columns: the direction of the ALMA and JMA lines (rising, quasi flat or falling, with how long it has held), plus a "Smoothed lines" sentence in the report, "Floor pivots" and "Pivot agreement" sentences, price distance to each line, the ALMA/JMA crossover age, a channel-breakout state, the direction of the Murrey 4/8 line and price approaching or hovering near the major Murrey lines (0/8, 4/8, 8/8), and the zigzag swing state (which way the leg runs, how much of the last swing it has retraced, whether the previous pivot was taken out or the break failed, retests of the last pivot, higher-high / higher-low structure), the classic floor-trader pivot points (P, R1/S1, R2/S2 from the previous session, price zone and nearest level), the latest confirmed fractal pivot, and an agreement check between the cycle, zigzag and fractal pivots; the quasi-flat, near and approach bands of these descriptors now maintain themselves (they follow a target share of bars over the past year and are re-fitted about monthly; the bands in force are shown in the report and in Cal.* columns, and a Fixed mode keeps the starting values; the Report view has a "What the band maintenance changed" section listing each refit with the old and new band, the share of bars it held, and a flag when a band moved a lot or a state stopped behaving as targeted); they describe the smoothed price and do not change the Outlook. The dashboard is now report-first: the report fills the window in plain words by default, the chart sits under it behind a Chart button, and your ticked chart columns are remembered. New and lightly tested.
- New: **Stochastic as a standard Data Chart indicator.** The Standard tab now has a tick box for each sub-chart: RSI, Momentum and the new Stochastic (length box beside each, default 14; the starting states are also in General Settings, Data Chart). Each shows or hides its own panel, and the main chart gives the space back when a panel is hidden. Stochastic shows three %K lines in a panel of its own. Tick Auto beside its length and the length box becomes a ceiling: where the lowest dominant cycle (the shorter of the two bands on the Cycle Spectrum form) gives a shorter length, a quarter of that cycle is used instead; bars with no cycle reading yet keep the box value. On 1-hour bars only the 1H line follows the cycle. The legend shows the length in force on the latest bar, for example “1H (6 auto, max 14)”. RSI and Momentum have the same Auto tick: with it on, their length box is a ceiling and a quarter of the lowest dominant cycle may shorten it (an Auto RSI is a Wilder RSI whose smoothing follows that length, so it can differ slightly from the fixed-length RSI; Auto Momentum is the price change over that many bars). Every tick and length on the Standard tab is now remembered for the next chart and the next session. The stochastic lines, RSI and Momentum are smoothed with an ALMA (the price overlay's shape, offset 0.85 and sigma 6; the ALMA smooth tick on the Standard tab turns it on or off, default on, and its box sets the window, default 5), so the RSI and Momentum panels now come from SOAP2's own calculation (Wilder RSI, price change over the length) and can differ slightly from the former built-in ones; the legend names the smoothing. The Momentum panel now has a zero line. On 1-hour bars they are the 1H, 4H (noon/close) and Daily stochastics, each over that frame's own bars; a 4H or daily line only moves once its bar has closed, so it steps at noon and at the close. On other bar sizes (30 minutes and so on) they are lookbacks of 1x, 2x and 4x the length on the chart's own bars, labelled as lookbacks in the legend (they move every bar; they are not resampled frames). Pivots and EGARCH Jump/Fade still use the RSI panel when they are on. The Feature Store gains Stoch.Std.K, .D, .Lb2.K and .Lb4.K and a “Standard stochastic” sentence in the report; it is a descriptor and does not change the Outlook. New and lightly tested.
- Note: **The Feature Store dashboard's Multi-frame option needs a daily, 1-hour or 4-hour chart.** Most of the store's sources are hourly or daily, so on a faster bar size (30 minutes...) the chart's own single-frame report is built and no extra frames are added. A technical-read-only mode for fast bar sizes may follow.
- Changed: **Data Chart indicator tabs are simpler.** Six tabs became three: Overlays (Murrey Math, ALMA, JMA), Cycles & Pivots, and Advanced (EGARCH markers, adaptive cycle, trend persistence, scenarios, ABCD, Cycle Spectrum, TGARCH, Feature Store, with a Reset to defaults button). A tab you do not have the edition for is greyed out with a tooltip saying why. For now the Cycles & Pivots and Advanced tabs stay developer-only, as before; the release switch is one line.
- Changed: **Data Chart legend moved off the latest bars.** When the projection cone is shown, the main panel's legend now sits in the cone's right-hand margin, one entry per line, above or below the cone, whichever side has more room (at the bottom when the cone runs high). "Pivot High/Low (weak)" replaces the longer legend wording. New and lightly tested. See the [Data Chart guide](./datachart_indicators_user_guide.md.html).
- New: **Feedback can include your Message Log.** The Feedback form has a tick box, "Include my Message Log (shared publicly)", off by default. When ticked, the most recent Message Log lines that fit are sent with your message, so the team sees what SOAP2 was doing. Feedback is posted publicly in the SOAP2 Slack, so check the log for anything you would not share (account numbers, trade details). The Worker limits a message to 4000 characters, so older lines are left out. New and lightly tested.
- Changed: **Data Chart projection cone, starting volatility.** Until live ATM implied volatility arrives (or when offline), the cone now starts from the realised volatility of the last 20 bars instead of 22, measured the same way as everywhere else in SOAP2's volatility tools. The cone is slightly wider or narrower at first than before; it switches to implied volatility as soon as that arrives, as it always did. See the [Data Chart guide](./datachart_indicators_user_guide.md.html).
## October 23rd, 2026 — Version 1.1.1.0
The previous release. This is a larger step than the 1.1.0.x updates before it, mostly in the TT data integration and ease of use.
Several of the tools below are new and 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.
SOAP2 now ships an update every Friday before the market opens, whatever its size; the sections after this one (Version 1.1 at a glance, then older builds) describe earlier releases.
- New: **Terms acceptance on download and at checkout.** The download page now asks you to accept the Terms of Use and the Limitation of Liability (one tick box, in English and French) before the download link is offered, and the checkout page asks for the same tick before “Continue to payment”. Nothing changes in the application itself. Section 6 of the [Terms](https://soap2.dev/terms.html) was rewritten in plain language (software provided as is, exclusions, our sole obligation, liability capped at the amount paid in the previous 12 months), with a French version of that section.
- Changed: **Online payments are being finalised.** Secure card payment and plan changes through Stripe are ready on the server side, and the Subscription window (SOAP menu) already lets a subscriber upgrade, downgrade, cancel or undo a pending change. Online payments will open as soon as the live payment set-up is complete, which may be before the end of November: you will be able to subscribe even though SOAP2 stays free to use during the Free Trial, which runs until the end of November 2026. You are charged when you subscribe; a subscription taken in November starts its paid period on December 1st, 2026. Prices are final and no VAT is added, and Stripe handles any tax that becomes due once a registration threshold is reached as per FR/EU rule.
- New: **Tastytrade market data** (Regular edition and above). SOAP2 can read the option quotes, Greeks and open interest of **SPX, NDX and RUT** from your own Tastytrade account instead of Interactive Brokers. It is read-only (SOAP2 never sees orders, positions or balances on Tastytrade), uses your own OAuth credentials (stored encrypted on your PC) and, because Tastytrade does not count against the IB market-data line limit, the tools that stream many options at once (Volatility Surface, VSkew, GEX/VEX, TRACE) fill faster. Turn it on in General Settings (Enable Tastytrade market data, Credentials, Test connection), then pick the source with the toolbar button, **Alt+W**, or **Ctrl+Shift+W** inside an Options Analysis window; the connection indicator reads **IB + TT** while it serves. Interactive Brokers stays your broker and still serves every other symbol, your account and the list of existing contracts, and SOAP2 still needs the IB connection to start. The history behind Rewind, VSkew, Sticky Skew and the Hedging Flow seed is served too, and the Live Watchlist fills an index IB leaves without a price (NDX without an IB index subscription) after a 10-second grace. An Options Analysis for an index with no IB price now waits (up to about five minutes) for a Tastytrade price instead of asking you for one. If Tastytrade drops, the affected rows fall back to IB and one line is written to the Message Log. Tools that show their source say so in their status line, and stored results carry the source that computed them. The two sources differ slightly (about a tenth of the updates, its own Greeks and IVs, an ETF-ratio estimate for the model price of the underlying, coarser Hedging Flow blocks), so compare readings on the same source. See [Tastytrade Market Data](./tastytrade_market_data_user_guide.md.html). Tested live on SPX, NDX and RUT; orders are still to IB.
- Improved: **Hedging Flow**. The strikes it tracks were being cancelled by the chain's own scrolling a few seconds into the opening history load; that is fixed, so the seed now fills. A new **Options** dropdown groups its settings as submenus (redraw interval, substitute symbol, strikes each side of spot, Block rule, Sub Chain, Compute now). The **Block rule** (what counts as an unusually large print, including a rule for thinly traded strikes) is adjustable and saved per symbol. A print whose direction cannot be trusted (more than 5 minutes after the strike's previous print) no longer distorts the buying/selling totals: a large one is still listed as a block, marked "direction unknown". Outside the regular session SOAP2 says so, looks back up to 8 hours for trades, and reports failure after 30 seconds if nothing can be drawn. Hedging Flow is an **Expert** tool (see below). Pre-market is still thin: it needs at least two prints on a strike. See the [Hedging Flow guide](./hedgingflow_user_guide.md.html).
- Improved: **TRACE** is now a forward projection on both of its data paths: the X axis is days from now (0, +1d, +2d...) and each contract drops out of the surface at its own expiry, with spot, implied volatility and open interest held at today's values. A blank column means an expiry has passed, not that the market moved. The dividend yield is no longer used (over a few days it is below the noise in open interest and IV, and the surface is now the same whichever source feeds it). The snapshot also carries the gamma flip level and the one-day expected move. New reading guide for the Net panel in the [TRACE guide](./trace_user_guide.md.html).
- Changed: **Expert tools.** TRACE, Hedging Flow, Sticky Skew and Dispersion are marked Expert. The Expert edition is not on sale yet: until it is, the Free Trial, Premium and WhiteLabel have all of them, Freeware and Regular do not. See [Licensing & Editions](./licensing_user_guide.md.html).
- New: **Trade Log guide** and a clearer Trade Log. A single page, [The Trade Log](./tlog_user_guide.md.html), explains the grid, Select, the Timeline slider, editing, settlement prices on expired legs, aggregate view, splitting a trade, Back/Forward, snapshots and how it differs from Rewind.
- Fixed: **Trade Log editing and saving.** Saving in the aggregated view used to overwrite the trade's file with the aggregate rows; it is now refused, and saving is atomic (a failed save cannot leave a half-written file). Prices, quantities and commissions are read and written independently of your Windows regional settings (on a decimal-comma locale a price could be read as 0). Edits made in the grid now register. Opening the same trade again just refreshes it. Settlement-price prefill for expired legs no longer collides when several Trade Log windows are open. Hiding the window or switching view after an edit asks Save / Discard / Cancel; a window that only received the automatic settlement prefill saves silently. The toggle button names the view a click goes to (“=> Aggregate” / “=> Full Trade Log”).
- Improved: **Options Analysis toolbar.** A **Trade** menu gathers the Trades List (Alt+T), Add trades to view (formerly the TList button), Save snapshot (**Alt+V**, new; the SNAP button is gone), P&L / Margin history (Alt+R) and the Trade Reports window. A **Window** menu holds Minimise and Delete OA. The expiry and state arrows read “◀ Exp / Exp ▶” and “◀ State / State ▶”. While a past state is simulated, the banner reads LIVE SIMULATION as of the chosen time. The Hedging tools (Hedging Flow, TRACE) share one Options slot. New and lightly tested: tell us if a button has gone missing at a narrow window width.
- Improved: **Messages and connection loss.** The Message Log is quieter: routine diagnostics moved to a Verbose level (the log file keeps them). When the IB connection ends, SOAP2 now tells a normal shutdown, a disconnect you asked for and a genuine IB incident apart; incidents are recorded in IbIncidents.log in the SOAP2 data folder.
- New: **Asking Claude from away from your PC** (beta, untested): Claude Code Remote Control lets you question SOAP2 from your phone while it runs on your PC. Read-only, no port opened. See [Remote access](./ai_remote_access.md.html).
- New: **Back and Forward in Options Analysis and the Trade Log** (◀ ▶ before the TLOG button and on the Trade Log; **Alt+Left** and **Alt+Right**, also Ctrl+[ and Ctrl+]). SOAP2 keeps a checkpoint of a trade's executions just before its log is changed, and Back/Forward replay them as a **simulation**: the fills in the Trade Log are ticked or unticked as they stood at that moment, and the Options Analysis follows. A red SIMULATION banner shows while a past state is displayed; nothing is saved or traded, on any account type. Trades that existed before this version have their history rebuilt from their executions the first time SOAP2 starts (one step per fill time), so Back works on them too. A trade with a single fill time has nothing to go back to. See [Back and Forward](./back_forward_user_guide.md.html). New and lightly tested.
- Improved: **Rewind shows the position as it stood at the selected moment.** Position cells, the Risk Graph and the Greeks use the executions made up to that time (before, a leg showed its final quantity as soon as its first fill had happened), and the status box adds the legs held, the fills used and the realised P&L. See [Rewind](./rewind_user_guide.md.html).
- New: **Trade Reports** (Trades menu > Trade Reports (new), **Alt+Z**). Choose trades, group them (by category, symbol, expiry, entry regime...) and see P&L, fees and Greeks per group, down to each trade, leg and fill. Nothing is loaded or requested: it reads your executions and the prices SOAP2 already holds, and a missing price shows n/a (and a partial-total mark), never 0. **Save CSV** and **Save Excel** export the same table (Excel is new and has not been checked in every Excel version: tell us if it asks to repair the file). General Settings > SOAP Usage lets you choose whether opening and closing commissions count in the realised P&L of a report. See [Trade reporting](./trade_reporting_user_guide.md.html). New and lightly tested.
- Fixed: **Commissions on futures options and futures.** The FopFee and FutFee columns of the Accounts panel were saved but never used: a futures option was charged the stock-option rate (OptFee) and a futures underlying the per-share stock rate. A new trade converted from the Options Analysis now pays FopFee per contract on a futures option and FutFee per contract on a future (stock and ETF legs keep StkFee per share with the $1.00 minimum). Trades booked earlier keep the commission already stored. A fee you change in the Accounts panel now also reaches Options Analysis windows that are already open (they used to keep the old fee until reopened). Not yet checked with real futures-option trades: tell us if a commission looks wrong.
- New: **Commissions switches in Trade Reports.** One list on the toolbar chooses, for this window only, which fees count (opening, closing, both or none) and whether to add the **anticipated close**: an estimate of what closing every open leg now would cost, from the account's fee schedule (Accounts panel), deducted from the open trade's total and marked with a ~ so it is never confused with a fee paid. A leg whose fee is unknown makes the figure partial (*) instead of counting 0. The list starts from General Settings > Usage until you change it. New and lightly tested.
- New: **Trade Reports as a trade journal.** A **Journal: trades by close date** grouping (and a **Journal columns** button for any grouping) shows, per trade, its category, opened and closed dates, days in trade (DIT), days to expiration at entry (DTE), the risk it carried and its P&L as a percentage of that risk. Choose what the risk is measured against in the **Risk basis** list: the largest risk the trade ever carried, its risk now, its margin (when known) or your **Planned capital** (typed per trade, with a default for each category; the box is under the report). Anything unknown reads n/a, never 0. Double-click a trade's Category cell to add further categories to it (a hybrid, for example “Iron condor + Calendar”); **Composition** lists such a trade under each category, **Category** under its primary only, and a **Category** filter finds either. Archived trades now keep the category they had when last open instead of reading Other. Click any journal column header to sort across all trades, and highlight rows (Ctrl/Shift-click) to see their total in the status bar. A short guide, “SOAP2 Trade Reports Journal”, is in the docs folder. New and lightly tested.
- New: **Correct a fill's price from Trade Reports.** Double-click the price of a Fill row (an execution under a leg), type the real price and press Enter; the row's Notes cell shows the original. The same trade file is edited as in the Trade Log, the original price is kept in the execution's notes, and an open Options Analysis window and Trade Log follow. Corrections can be made in either place; the later one prevails. A leg that already has a final settlement price cannot be corrected. A Trade Log with unsaved edits of that trade is left alone (the status tells you). Price only; strike and quantity are not editable here. New and lightly tested.
- New: bulk assign in Trade Reports. Highlight trades (or a group row, which stands for every trade below it), right-click, and put them in a capital pool, take them out of their pool, or add or remove one tag, in one step. Only the highlighted rows are touched. New and lightly tested.
- Improved: **The trade chart report from Trade Reports.** Right-click a trade (or one of its legs) and choose “Show the trade’s P&L report...”; a double-click no longer opens it. It is much faster: history already stored is not downloaded again (only what is missing since the last stored bar), and the underlying’s history, which the report never used, is no longer requested. The status line shows the step and the percentage done while it prepares, and closing the chart returns you to Trade Reports. Fixed in the same pass: the price of a fill can be edited in its cell again, and editing a price in the Trade Log notes the original price and date in Notes. Caveat: a gap in the middle of a stored history file is no longer repaired by opening a report. New and lightly tested.
- New: **Strategy series** in Trade Reports. A strategy you repeat (Rhino, SleepEasy...) is a tag with a symbol and a cycle: right-click > **Strategy series...** lists them, and the wizard defines one from a trade or from a tag you already use. **Group by > Series > Cycle > Trade** shows it cycle by cycle (week, month or n days) with win rate, best and worst cycle, losing streak and drawdown; a series can have a **capital pool**, offered (never forced) to trades that join; a series without a pool is measured on the **capital it really had at work** (a roll counts once, a gap lowers the average), shown on hover. A trade is in one series at most. Reports suggests trades that look like members (name or structure) and a trade renamed in the Trade List after a series is proposed for it. New and lightly tested. See the [Strategy Series guide](./Guide/SOAP2%20Strategy%20Series.docx).
- Changed: **filters in Trade Reports now limit the report.** Choosing a tag (a strategy series is a tag), category, status, text or dates narrows the report as well as the list on the left; before, trades you had ticked stayed in the report even when the filter hid them. Your ticks are kept, so clearing the filter brings those trades back. Ticking **Expired** or **Archived** now also puts those trades in the report (unticking only hides them). New and lightly tested.
- Changed: a trade now has one list of tags, shared by Trade Reports, the Trade Rules editor and the rules dashboard filter (before, Trade Reports kept its own). Tags you had in Trade Reports are merged into the trade’s list automatically the first time Trade Reports opens; none are lost. A tag can now be up to 40 characters in Trade Rules too (it was 30). New and lightly tested.
- New: **Capital basis in Trade Reports.** The **Risk basis** list now has *Planned capital* (the default), *Max margin*, *Current margin*, *Max absolute risk* and *Current risk*, and one choice drives the Risk column, the P&L % and the capital shown for series and pools. Planned capital is optional and never enforced: a trade without one falls back to its **margin** (RegT at expiry; the largest value is recorded as you adjust the trade, in the new Margin data folder, and replayed from your executions otherwise), then to its largest possible loss; hover the Risk cell to see which. This also gives a naked short option a capital figure where the largest loss is unbounded. A strategy series can carry its own **planned amount** (wizard), and a pool whose only trade has a planned capital offers it as the pool amount. The old “Margin” choice, which never had a value, now works (largest margin). A new **Capital used** column (journal columns) shows what is in use beside what the P&L % is measured on: a trade’s amount, a pool’s open trades’ use, a series’ peak at work; it is also in the CSV and Excel exports (after PnlPct, so later columns move one place right). The Return column is now headed Return on cost (it never depends on the basis); the return on risk, margin or planned capital is the P&L % column in the journal columns, and a new Basis column says which basis each trade row uses (“no plan” when a trade without planned capital fell back to its margin or largest loss). The P&L % header now names its basis, and hovering a trade’s P&L % lists the percentage on every basis, so another view needs no change of the toolbar. Choose the default in General Settings > Usage (Reports: default risk basis); the toolbar list changes it for that window only. Changed: Trade Reports now opens on *Planned capital* instead of *Max absolute risk*. New and lightly tested; the margin recording needs a live check with an adjusted trade. See the [Trade Reports as a Journal guide](./Guide/SOAP2%20Trade%20Reports%20Journal.docx) (the Risk basis, the margin SOAP2 uses and every capital column).
- New: **Capital pools** in Trade Reports. A pool is a named, open-ended pot of money that several trades draw on while you roll them; give it an amount, put trades in it from the **Capital pool** box under the report, and group by **Capital pool** to see its P&L, the P&L % on the pool amount, what its open trades use and what is left. Track the pool alone, trade by trade, or both: a trade keeps its own Planned capital, and the status line warns when the trades’ own amounts add up to more than the pool or their combined largest loss is above it. A pool with an amount is also watched by starter Trade Rules (capital used 90 % / 100 %, over-allocated, over-exposed), shown in the rules dashboard with notifications; Pool rules beside the pool box opens them for editing. The Options Analysis toolbar has the same pool box, amount box and Pool rules button. In the Free edition pools, amounts and the Trade Reports warnings work; the starter rules, the dashboard alerts and the Pool rules button are Regular and above, like the rest of Trade Rules. New and lightly tested. See the [Capital Pools starter guide](./Guide/SOAP2%20Capital%20Pools%20Starter%20Guide.docx) and [Categories, Tags and Capital Pools](./Guide/SOAP2%20Categories%20Tags%20and%20Capital%20Pools.docx).
- New: a **Planned $** field in the Commit window, pre-filled with the trade’s Planned Capital (or its category default), is stored with the trade when you Convert; leave it blank for none. It never blocks a commit. New and lightly tested.
- Changed: **Planned Capital is one value per trade** across the Options Analysis box, Trade Rules and Trade Reports (Reports no longer keeps its own copy). The **default per trade category** now lives with Trade Rules too: a trade with no value of its own shows and uses its category default in the OA box, the rules and Reports (set it from Trade Reports). In Reports the Planned capital risk basis falls back to the trade's largest possible loss when no value is set. New and lightly tested.
- New: **Tags in Trade Reports.** Double-click the Tags cell of a trade and type your own labels separated by commas (for example “IV low, earnings”). Group by **Tag** (Group by list) to compare your own categories, or pick a tag in the new Tag filter. A trade with several tags appears under each of them, so the group totals overlap and do not add up; the total row counts every trade once. Tags are saved with the trade (they survive archiving) and are part of Save CSV, Save Excel and Copy. New and lightly tested.
- New: **Notes on each trade in Trade Reports.** A Notes column and a notes box under the report let you write a journal comment on any trade, at any time (select a trade or one of its legs, type, click elsewhere to save; Esc undoes the edit). A note stays with the trade when it is archived, is searched by the Find box and is included in Save CSV, Save Excel and Copy. Notes are stored in your SOAP2 data folder (Reports\TradeJournal.json). New and lightly tested.
- Fixed: **The average cost of a partly closed position.** Buying 4 at 10 and selling 1 at 12 used to leave 3 at 9.33, so the realised gain was counted again as unrealised profit. The remaining lots now keep the original 10.00. The unrealised P&L of partly closed positions in the Options Analysis, Portfolio and Trade Reports therefore drops compared with earlier versions; realised P&L is unchanged.
- Fixed: Trade P&L arithmetic in the aggregated Trade Log: realised P&L no longer mixes a per-contract average cost with a per-share price (it could invert the sign), a closing fill is priced against the average before it, an oversized or reversing fill realises and carries its cost basis correctly, and a commission on a sale is charged, not credited. Reported P&L of trades with closing fills may change.
- New: **Command palette** (Ctrl+Shift+P, also SOAP menu > Command palette). Type a few letters to run any menu or toolbar command, open a symbol, an Options Analysis window, a trade, a Settings page or a Help section. Recent choices come first, and a command your edition does not include still refuses itself. Fixed alongside: Alt+Delete in the main window toggled the Portfolio; it now hides the Message Log like Alt+H, and the Shortcuts list and page were corrected.
- New: **Why is this blank?** Hover (or right-click) an empty bid, ask, mid, IV or Greek cell in an Options Analysis window, or an empty price in the Live Watchlist, and the tooltip names the cause: not connected, TWS offline, no market-data subscription (with IB's error code), a strike that does not exist, outside the requested range, waiting for request budget, market closed, delayed data, and so on. It only reads; it requests nothing.
- New: **Interface level** (General Settings > General > Help & learning replaces the Beginner checkbox): Beginner, Standard or Advanced. An existing install keeps what it had (Beginner stays Beginner, everyone else is Advanced and loses nothing). Standard is new: everyday operation plus Rewind, Udiv and CBOE Playback, without the advanced analytics (HSkew/VSkew, Volatility Surface, GEX/VEX, Hedging Flow, TRACE). Trade Rules and the AI buttons are shown at every level. The level only hides buttons; it never changes your licence.
- Improved: **General Settings is reorganised.** A category list on the left (General, Appearance, Connection & data, Options Analysis, Volatility & dealer flow, Data Chart, Reports & rules, AI assistant, Advanced), titled sections on each page, and a **search box** that finds a setting by any word in its name or description. The settings themselves and their values are unchanged.
- New: **Market events by import**. Command palette > Import events reads an .ics file (Google or Apple Calendar export) or a .csv (date, time, title, tag) into SOAP2; nothing is fetched online. The expiry calendar of an Options Analysis window shows the events of a clicked date, and Trade Rules has a new metric, **Days to next event**. Recurring events are imported once only. Dates are read as New York dates. New and lightly tested.
- New: **Entry context**. For trades booked from this version on, SOAP2 records once, at booking, whether GEX was positive or negative, whether spot was above or below the gamma flip, the ATM IV level and the VIX curve shape (from the tools open at that moment; older or missing figures read Unknown). Trade Reports can group by these entry regimes. Trades that existed before this version read Unknown for good.
- New: **Rules check in the Commit window**. The Rules check button tests the order you are about to place (the model legs plus the position already held) against the trade's Trade Rules, or against the strategy template for a new trade, and lists what would breach, what is fine and what could not be checked (P&L rules, Greeks that are unknown, unbounded risk). Advisory only: nothing is blocked or sent.
- New: **Profit / loss colours** (General Settings > Appearance): classic green/red, or a colour-blind-safe blue/orange for price ticks in the chains, Trade Reports, Portfolio tiles and the Trade Log. Charts keep their own colours.
- Improved: **Guides and shortcuts brought up to date.** The [Keyboard Shortcuts](./keyboard_shortcuts.md.html) page now lists the Command palette (Ctrl+Shift+P), the new Alt+G / Alt+J / Alt+A / Alt+P / Alt+Y main-window shortcuts, Alt+V (save snapshot), Alt+Left / Alt+Right (Back / Forward) and the source switch (Alt+W in the main window, Ctrl+Shift+W inside an Options Analysis window); Alt+D in an Options Analysis window now opens a data chart, and the old Alt+1..4, Alt+I, Alt+P and Alt+V (hide rows) entries were removed because they no longer exist. The [User Manual](./user_manual.md.html) adds Ctrl+Shift+I (IB IV/Greeks on/off) and Ctrl+Shift+U (Udiv on/off). The [Accounts guide](./accounts_user_guide.md.html) explains how the account Type (LIVE / DEMO / TEST) is used, and that Back / Forward works on any account type as a simulation. The [Features Overview](./features_overview.md.html) and [Getting Started](./getting_started.md.html) pages link the Trade Log, Back and Forward and Tastytrade guides. The [TRACE field guide](./trace_trader_field_guide.md.html) now describes the days-from-now axis, the gamma flip level and the one-day expected move.
---
## 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 16th, 2026 — Version 1.1.0.3**
Several of the tools below are new and 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.
- New: **Claude inside SOAP2** (Premium and Free Trial). The new CLAUDE button on the Options Analysis toolbar opens a console running your own Claude Code with the current chain as context, or copies the prompt for Claude Desktop. An experimental in-app chat (General Settings > AI assistant, off by default) asks you to confirm first that you have checked Anthropic's terms. SOAP2 never touches your Claude login or plan. See the [AI Assistant guide](./ai_assistant_user_guide.md.html).
- New: **Quick Help**. Press Ctrl+I in an Options Analysis window for a short card on the tool on show (GEX, VEX, Hedging Flow, TRACE, skews, Volatility Surface, Risk Graph), or on the open dropdown's parameters, with links to the full guide and the trader field guide. Nothing appears by itself.
- New: **Trade category**. Every trade now has a category named after the Trade Rules templates (iron condor, butterfly, ratio spread, backratio, unbalanced butterfly and condor, put and call condor...) or Other. SOAP2 detects it from the open legs, you can override it in the rules editor, and a trade with no open legs keeps the category it had. It shows in the Trade List and Portfolio (with filters), the Rules dashboard filter and the AI assistant.
- Improved: **Rules alerts**. The popup in the Options Analysis window now lists only the rules breached right now, one short line each, with an Open Dashboard link. A rule you acknowledge or snooze leaves the popup, and what happened earlier is in the Dashboard's new **History** view (kept 90 days). Ladder rules whose milder rungs are not yet relevant wait on their own (dormant) and are hidden unless you ask to see them. New and lightly tested.
- Improved: **Trade Builder**. New strategies: put condor, call condor, unbalanced butterfly (+2 -3 +1 and other ratios), unbalanced iron condor, ratio spreads and backratios (Ratio box, and a Flip L/S checkbox to turn a ratio spread into a backratio). An Expiry box searches another loaded expiry as a simulation, **Clear Existing Model** clears the model legs without placing anything, the summary shows the candidate's category, and strategies are named exactly like the Trade Rules templates. New and lightly tested: please check the layout of the new boxes.
- New: **Vol lever** on the Risk Graph (toolbar Vol button or Ctrl+Y): a slider that shifts the implied volatility the Risk Graph prices with, to see a what-if. Four modes (parallel, term-weighted, relative %, skew tilt) are chosen in General Settings. The shift is never saved and never changes the grid or stored results.
- Improved: **More of the analysis is computed by the SOAP2 service**: CBOE GEX/VEX, Index Distribution Stats, the Dispersion and Sticky Skew regime reads, and a new **TRACE** window (Data Chart menu, SPX, RUT and NDX, Premium). Your PC downloads the public data and sends it for calculation; nothing is stored on the server, and results and history stay on your PC. An internet connection is needed for these tools, and a Premium or Free Trial licence.
- New: **Distribution Stats run in the background**: once a day, after the close, SOAP2 refreshes the daily statistics for SPX, NDX and RUT by itself (Premium and Free Trial), using Yahoo daily bars, so the report is ready and the AI assistant can read it. Hourly statistics still use your IB connection, and now say when IB did not answer in time.
- New: **AI assistant calls**: `get_trace` (TRACE heat surfaces), `get_treasuries` (SOFR path, Treasury-futures-implied yields and bills), `get_trade_probs` (odds of touching and finishing beyond each strike, expected value, from the option-implied distribution), and the category of each trade. `run_analysis` can start the IB gamma/vanna calculation in the background for an Options Analysis window even when it is not on show (it waits if the request budget is tight). Rebuild the connector if you installed it before (see the AI Assistant guide).
- Improved: **Portfolio tiles for trades with several expiries** (calendars, diagonals, mixed butterflies): the expiry curve now values the later legs with their remaining time value at the front expiry, and the Reg T margin on a tile no longer understates these trades. New and lightly tested: compare with the Options Analysis figure.
- Improved: Long tooltips in the Trade Builder and the Trade Rules editor now wrap at about 80 characters instead of running off the screen.
- New: **Guides**: a [First Session Tutorial](./first_session_tutorial.md.html) (chain, trade, rules, alerts, look back; also a Word document), plus trader field guides for GEX/VEX, TRACE, Hedging Flow, skew, volatility and a market-read routine. The expected move shown by the AI assistant now uses one convention everywhere.
- Fixed: The Index Distribution Stats report used alpha + beta as the volatility persistence of its EGARCH fit, which made a healthy fit read as a unit root. Persistence is now beta alone.
- Fixed: Rewind and CBOE Playback silently did nothing when their toolbar buttons had moved to the overflow menu.
- Fixed: Starting SOAP2 offline and connecting later never started the trade-log refresh timer.
- Fixed: A burst of IB error 200 lines in the Message Log, caused by the 8-hourly full-chain prefetch asking for contracts that do not exist, is now summarised in one line, and an error on a contract-details request says which part of SOAP2 asked.
**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 (Reports & rules), 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:
soap.2.bv@gmail.com
## Previous release: October 16th, 2026 — Version 1.1.0.3
The notes of the previous release are in full under [October 16th, 2026 — Version 1.1.0.3](#v1103), above.
Back to the main [SOAP2 Help Guide](index.md.html)