Release History
Track the evolution of the Forensic Performance Engine.
Shipped ~weekly · built in public
This is what active development looks like.
If you're reading the changelog, you're checking whether SignalDeck is real and actually moving. It is — new features ship to production most weeks. It's free during beta. Get in while it is.
v1.0.88-Beta
LATEST Jul 10, 2026 6:53AMv1.0.88 brings automatic campaign clustering to every broker we support, closes out a round of futures P&L accuracy fixes, and hardens the login path after a brief outage earlier this week.
Campaign clustering, everywhere
- Automatic re-entry grouping for every broker — MetaTrader has long linked related re-entries into one campaign automatically. That same detection now runs for CSV, SnapTrade, cTrader, and Interactive Brokers imports too, each tuned to that broker's typical trading cadence.
- One consistent "Link as one campaign" prompt across every import flow.
Futures, more accurate
- Live P/L from the moment you log a trade — futures trades now get an immediate live quote instead of showing 0.00% until the next price update.
- Live P/L in dollars and in ticks now shown right on Trade Details for open futures positions.
- MFE/MAE now tracked for futures on close, alongside your existing stock and forex trades.
- Entry-time validation no longer blocks futures or crypto trades that happen outside NYSE stock-market hours.
Sign-in, hardened
- Login reliability improvements following a brief sign-in disruption earlier this week — we've closed the gap structurally and added new automated checks so it can't recur.
Also in this release
- Clearer close-trade labels — "Estimated Outcome" is now just "Outcome," and "Risk Unit" now reads "R Multiple."
- Scanner Run Details is easier to scan — each strategy's section now collapses independently instead of showing every ticker at once.
- Clearer MT5 login messaging — we now tell you plainly when a broker has permanently rejected your credentials versus when a connection is still in progress, plus a heads-up about MetaQuotes-Demo server limitations.
v1.0.87-Beta
Jul 8, 2026 10:15AMv1.0.87 is our biggest pre-launch hardening pass yet — a full security and reliability audit across onboarding, billing, every broker integration, and account permissions, alongside broker-import and alert fixes you'll notice directly.
Broker imports, more complete
- Alerts now created automatically on import — MetaTrader, SnapTrade, cTrader, Interactive Brokers, and Tradovate imports now set Stop Loss, Breakeven, and Price Target alerts the same way manual and CSV trade entry always have.
- Bulk strategy assignment for MetaTrader — MT5's import review now has the same "Apply strategy to all" shortcut already available for cTrader, SnapTrade, and Interactive Brokers.
- Post-import enrichment prompt for every broker — the "enrich your trades" nudge after import now appears for cTrader, SnapTrade, and Interactive Brokers, not just MetaTrader.
- SnapTrade connect no longer gets stuck — completing a SnapTrade connection from the unified import screen could occasionally leave the modal stuck on "Connect" even though the account connected successfully; fixed.
- A few unified-import-modal rough edges smoothed out — a failed or empty import for cTrader/SnapTrade/IBKR no longer falsely reports success, the "Review Trades" button now actually closes the modal, and Interactive Brokers imports get the same "select all" shortcut as other brokers.
Daily-loss alerts, cleaned up
- Dollar amounts read correctly — alert messages now show amounts like −$87,420.80 instead of $−87420.77.
- Removed a leftover test trade that was throwing off daily P&L on one account.
Security & reliability, behind the scenes
- A ground-up audit ahead of launch — onboarding, billing, all five broker integrations, session security, and account permissions were independently reviewed and hardened, closing gaps before they could ever affect a real account.
- Strategy filter deep-links fixed for scanner-owned strategies — clicking a scanner strategy card from Runs now correctly filters Trade History again.
v1.0.86-Beta
Jul 7, 2026 1:20PMv1.0.86 corrects cTrader's risk math, unsticks two spots where broker imports could leave you stranded mid-review, and cleans up a handful of smaller rough edges across profile, charts, and the AI Weekly Review.
cTrader risk numbers, corrected
- Risk in dollars, not blank — open cTrader positions with a known stop now show a real dollar risk and percent-of-account figure instead of a permanent "N/A".
- Index risk was wildly overstated — US500, NAS100, GER40, and other CFD indices were showing risk 10–100x too large due to a unit mismatch; that's fixed, real forex and metals were never affected.
- Account leverage now imports — your cTrader account's leverage ratio now carries over onto every imported trade.
Broker imports, unstuck
- The Import button no longer disappears — toggling "re-import duplicates" or selecting rows during review could leave the Import button invisible even though trades were ready to go. Fixed across MetaTrader, cTrader, SnapTrade, and Interactive Brokers.
- A clearer message when MetaTrader can't connect — a MetaTrader provisioning hiccup on our end now shows a plain "try again shortly" instead of a raw technical error.
Smaller things you'll notice
- Pasting a full X/Twitter URL just works — your profile link no longer doubles up the https://x.com/ prefix.
- AI Weekly Review looks at the right week — the recent-trades section was covering 14 days instead of the actual 7 days since your last review; now it matches.
- Chart zoom matches your trade — a quick scalp's trade-detail chart now zooms to fit the actual hold time instead of defaulting to a much wider window.
- Older R-multiples getting a correction pass — closed trades imported before a recent R-multiple fix will have their values recalculated shortly after this release goes out.
v1.0.85-Beta
Jul 5, 2026 3:35PMv1.0.85 makes every broker connection more resilient to hiccups, brings Tradovate imports up to par with the rest, and closes a rough edge in onboarding that was quietly stranding new signups.
Broker connections that heal themselves
- Rate limits and blips no longer break a connect — SnapTrade, Interactive Brokers, and Tradovate now automatically retry transient rate-limit and server errors instead of failing the connection outright.
- Reconnect in one click — a broken cTrader or Tradovate connection now offers a Reconnect button right on the card, no more deleting the connection and starting over from scratch.
- Auto-sync fails gracefully — when a broker token expires in the background, the automatic sync now quietly flags the connection for reconnection instead of erroring out on every cycle forever.
Tradovate catches up to every other broker
- Assign strategies right at import — Tradovate imports now get the same per-trade strategy picker already available for SnapTrade, cTrader, IBKR, and MetaTrader 5.
Onboarding, smoothed out
- Reserved usernames no longer strand you — picking a username like “admin” or “support” used to show a false-positive “available!” checkmark, then silently fail on save. It's now caught up front, with a clear reason.
- Pick Pro or Elite, free, for now — while paid plans are still rolling out, new signups can choose the Pro or Elite tier at no cost during onboarding.
Smaller things you'll notice
- Strategy and tags on the Close Trade screen — closing a trade (and its summary afterward) now shows the strategy and tags right in the header.
- A gentle nudge toward auto-sync — importing a CSV from MetaTrader or Interactive Brokers now offers a one-time, dismissible suggestion to connect that broker directly instead of re-importing by hand.
v1.0.84-Beta
Jul 4, 2026 6:28AMv1.0.84 finishes moving MetaTrader 5 and cTrader entirely into the unified Import modal, and cleans up a batch of import-review rough edges reported by early testers.
MetaTrader 5 and cTrader, fully in the modal
- One home for every broker action — connecting, reconnecting, deleting, previewing, and importing MT5 and cTrader accounts all now happen inside the same Import modal as every other broker. The old Settings-page broker panels are gone.
- Reconnect and Delete, right where you import — a disconnected MetaTrader account can be reconnected or removed directly from the modal, with your account list and balance updating immediately — no page reload required.
A cleaner, more honest import review
- No more phantom "nothing to import" — the review step no longer flashes a false empty state while your trades are still loading.
- Click into any reviewed trade — MetaTrader import review rows are now clickable, opening the same detail panel you'd see anywhere else in the app.
- Nothing left behind — MetaTrader trade history now pages through your full account history instead of silently stopping at the first 1,000 deals.
- Re-import says what actually happened — re-importing trades that haven't changed now correctly reports them as skipped instead of falsely claiming they were updated.
Truer numbers, everywhere
- R-multiple on every closed trade — the R value on closed trades now always reflects your real exit, fixing missing or wrong-sign R across every broker import path.
- No more "NaNh ago" — the "Trades Needing Notes" dashboard widget now shows a real age for every trade.
- Funding Account filter explains itself — when there's nothing to filter by yet, the Funding Account dropdown now says so instead of leaving you guessing.
v1.0.83-Beta
Jul 3, 2026 8:08AMv1.0.83 turns the Runs screen into a real performance dashboard, brings MetaTrader 5 into the unified import flow, and stamps every import with a visible audit trail inside the trade.
A strategy performance dashboard, not a log
- Your best strategies, at a glance — the Runs screen now shows one card per strategy with closed trades: equity sparkline, net P&L, Sharpe, Max Drawdown, and Profit Factor, all computed from your real trade history.
- Click straight to the filtered trades — clicking any strategy card jumps to Trade History pre-filtered to that strategy, so drilling into your winning and losing periods is one click away.
- Scanner history still there for superusers — the legacy scanner-run log is available behind a dedicated “View Run History” button rather than cluttering the main screen.
MetaTrader 5 joins the unified import flow
- One Import button for all brokers — MT5 now opens in the same guided modal as cTrader, SnapTrade, and Interactive Brokers — pick a date range, review your trades, import in one step.
- Connect a new account without leaving — adding a new MetaApi account now happens inside the modal, not on a separate screen you have to navigate back from.
Every import, permanently logged
- Import badge in Change History — every trade imported through any broker connection (MT5, cTrader, SnapTrade, IBKR, Tradovate, CSV) now shows an “Imported from <broker>” entry with a distinct Import badge in the trade's Change History.
More at a glance
- % away from your target — Trade History now shows how far each open trade is from its price target, side-aware for both LONG and SHORT positions.
- cTrader import finally shows new trades — a server-side cap on the cTrader history API was silently dropping trades beyond the first fetch window; chunking the request into weekly segments fixes it.
- Chart drag that stays stable — dragging a stop, target, or alert line on the trade detail chart no longer squishes the candlesticks or throws away your vertical zoom.
v1.0.82-Beta
Jul 2, 2026 7:04AMv1.0.82 unifies broker imports into a single guided flow, teaches cTrader to bring in your stop-loss and take-profit, and cleans up plan-limit messaging across the app.
One import flow for every broker
- Import without the detour — connecting cTrader, SnapTrade, or Interactive Brokers now opens a single guided modal — pick a broker, connect, review, import — right from the Import Trades button, no trip through Settings required.
- Already-imported, clearly marked — trades you've already brought in show up in their own read-only list, with existing ones automatically updated when their status changes (like a position closing).
- Built for real review — a responsive review table, clear step progress, and an obvious in-progress state make reviewing dozens of trades before import painless on any screen size.
cTrader gets smarter
- Your stop and target, imported — open cTrader positions now bring in their real stop-loss and take-profit, so R-multiple and 1.5R breakeven calculate automatically instead of showing "N/A".
- Correct lot sizes on indices and gold — US500, NAS100, GER40, and gold positions now import with the right lot size and unit count instead of a nonsensical fraction.
- Clearer errors when cTrader hiccups — a slow or unreachable cTrader server now surfaces a specific, actionable message instead of a generic failure.
Clearer messages, everywhere
- Plan limits that make sense — hitting a plan limit now tells you plainly what you've hit and how to upgrade, instead of a raw technical error.
- Real error messages — error toasts across the app now show the actual problem instead of a generic placeholder.
Polish & reliability
- Prices land immediately — every imported trade now gets a real current price right away instead of waiting on the next background refresh.
- Smarter scanner — four strategies that were quietly never running now execute on schedule, and strategy assignment on scanner-found setups is more consistent.
- Steadier onboarding & calendar — the final onboarding step now retries automatically on a hiccup, and a quick-navigation bug in the accountability calendar is fixed.
v1.0.81-Beta
Jun 29, 2026 10:40PMv1.0.81 makes your AI Weekly Review far richer, brings live broker prices to your open trades, and hardens every MetaTrader and cTrader connection.
A smarter AI Weekly Review
- Your numbers, at a glance — the weekly review now opens with a 90-day performance snapshot plus your equity curve and P&L-distribution charts, right inside the review.
- Room to read — a roomier full-screen layout, and one-click PDF download to save or share your review.
Live prices on your open trades
- Instant floating P&L — MetaTrader open positions now pull your broker's live price the moment you load them, so your unrealized P&L is right immediately instead of waiting on a refresh.
Rock-solid broker connections
- Reconnect, don't re-add — when a MetaTrader account goes idle, reconnect it in one click instead of deleting and re-entering your credentials.
- History that loads after idle — Trade History now reliably loads even after the app has been sitting idle, with a clear retry instead of a cryptic timeout.
- Steadier cTrader — cTrader connections now ride out transient rate-limits and hiccups instead of erroring out.
More ways to find your edge
- New Golden Cross strategy — a 50/200 Golden Cross sector-ETF swing strategy joins the scanner.
- Chart overlays that show up — the moving-average and RSI overlays now render correctly when you toggle them on.
Polish & reliability
- Sharper risk nudges — the correlated-exposure entry nudges got a cleaner look with a sector-concentration view.
- Truer numbers — more accurate maximum-favorable-excursion in dollars for forex and cross pairs, plus assorted admin and trade-screen refinements.
v1.0.80-Beta
Jun 28, 2026 12:36PMv1.0.80 puts event risk front-and-center on your Today screen, deepens every broker connection, and smooths the first-run experience.
See event risk before it hits
- Event Radar on Today — your Today screen now shows upcoming high-impact economic events, automatically scoped to the currencies you're actually holding open positions in, so you know what could move your trades in the next day or two.
Deeper broker connections
- Tag a strategy on import — assign a strategy to trades as they come in from cTrader, Interactive Brokers, Tradovate and MetaTrader, just like SnapTrade.
- Live balances, more places — pull your live account balance across more connected brokers.
- Auto-sync your way — turn automatic syncing on or off per connection.
Smoother onboarding
- Jump straight to the setting — onboarding prompts now take you directly to the exact field they're talking about.
Polish & reliability
- Steadier MetaTrader — live balance is more resilient and disconnecting completes cleanly instead of hanging.
- Indicators on every timeframe — the moving-average and RSI overlays now render on the Daily chart too.
- Quieter, sturdier billing & sync — hardened Stripe and background workers so a slow third party can't stall your account.
v1.0.79-Beta
Jun 27, 2026 8:51AMv1.0.79 introduces SignalDeck plans, makes your forex charts smarter, and polishes how you connect a broker.
Plans & upgrades
- Choose your plan — a new in-app upgrade flow lets you move to a paid tier with secure Stripe checkout and manage or cancel your subscription anytime from a self-serve billing portal.
- Beta loyalty — existing beta users are grandfathered, so the tools you already rely on stay yours.
Smarter forex charts
- Indicators on demand — toggle 20- and 200-period moving averages and an RSI(14) pane straight on the trade chart.
- Event-risk markers — high-impact economic releases (NFP, FOMC, ECB, BoE, BoJ) now appear as markers on forex charts, filtered to the pair you're viewing, so you can see the news risk around your entry.
Connect a broker, polished
- Cleaner connect screen — the "Connect an Account" picker now shows each broker's real logo and every card is reliably clickable during onboarding.
Polish & fixes
- Open risk that counts everything — Analytics Open Risk now includes open forex, CFD, crypto and futures positions instead of showing $0.00.
- Accurate MT5 positions — imported MetaTrader open trades show the right current price, unrealized P&L and pips, and the connection card clearly reflects when a broker is disconnected.
- Tidier details — the top navigation no longer crowds on mid-width screens, and a closed trade's Exit Date & Time reads cleanly without a trailing "N/A".
v1.0.78-Beta
Jun 26, 2026 7:21AMv1.0.78 sharpens the account-first experience and fixes the numbers you watch most — live forex profit on open trades, analytics that actually respond to your asset filter, and a cleaner first visit.
Your numbers, accurate again
- Live profit on open forex trades — imported MetaTrader forex and CFD positions now show their floating P&L in dollars while they're still open, matching what your broker shows instead of sitting at $0.00 until close.
- Asset filter that sticks — choosing an instrument type on Analytics now recalculates every tab — Overview, Standard, and Quant — so a "Forex only" or "Stocks only" view means exactly that.
- A truer R-Multiple trend — the "Realized R-Multiple Over Time" rolling-average line now waits for a full 20-trade window, so it reads as a smooth average instead of a jagged early line.
Account-first, everywhere it counts
- Every account shows up — a broker you set as your default now always appears in the nav account selector, so its trades are never out of reach.
- Scoped to your account — imports, alerts, the Analytics header, and onboarding now all speak in terms of the account you're working in, with a clear "name your account" step for new users.
Polish & fixes
- A cleaner first visit — opening SignalDeck for the first time no longer flashes a "session expired" message; you just see the sign-in screen.
- Fresher data behind the scenes — tuning to how often we refresh prices keeps your open-position values and stops up to date during market hours.
v1.0.77-Beta
Jun 25, 2026 5:54PMv1.0.77 makes SignalDeck focus on one account at a time. Pick an account from the new nav dropdown and the whole app — analytics, journal, Today, imports and exports — filters to just that account. Your accountability calendar also moves into Analytics, right next to your equity curve.
One account, everywhere
- Account selector in the nav — choose an account once and every screen scopes to it: analytics, the calendar, your trade list and journal, the Today hub, new trades, imports, CSV exports, and the Needs-Review count. Pick All Accounts any time to see everything combined.
- Connect accounts faster — a new broker picker lets you add an account from a single grid (SnapTrade, cTrader, IBKR, MetaTrader) without digging through settings.
Your calendar, now inside Analytics
- Calendar in the Overview tab — the accountability calendar now lives in Analytics → Overview, alongside your equity curve and two new stats: Open Risk and Average Hold.
- Strategy filter everywhere — the calendar, KPIs, and equity curve all respect your selected strategy, so you can slice every view the same way.
Polish & fixes
- Cleaner analytics — filtering to a strategy with no trades now shows a tidy empty state instead of onboarding prompts, and the equity curve no longer lingers on a previous strategy's chart.
- Smoother settings & imports — deep-links scroll to the right section even as your account lists load, and imported trades from every broker land in the account you chose.
v1.0.76-Beta
Jun 24, 2026 10:45AMv1.0.76 makes importing your trades simpler and gives futures traders a serious new chart. There's now one place to connect every broker, the SnapTrade import flow lets you pick exactly what comes in, and futures charts gain a full Volume & Market Profile.
One home for every import
- New Import Trades hub — a single screen to pick your source: connect a broker (SnapTrade, cTrader, IBKR, MetaTrader 4/5) or upload a CSV. No more hunting through menus.
- Choose what you import — the SnapTrade flow now brings in open positions, lets you pick which accounts and which trades to import, and assign a strategy as you go.
Futures Volume & Market Profile
- Profile on your chart — futures trades get a Volume Profile histogram with POC, value-area high/low, and a Market Profile (TPO) view — right alongside your entry, stop, and target.
- Tracks your zoom — the profile stays locked to price as you scale the chart up or down.
Polish & fixes
- Smoother settings navigation — jumping to a connection section now scrolls and highlights it correctly, even as your broker lists load in.
- Cleaner charts on tablet — trade charts fill the modal on iPad and price markers drag by touch; chart alert and overlay interactions are tidier on every device.
v1.0.75-Beta
Jun 22, 2026 10:57AMFresh off last week's broker-import launch, v1.0.75 is a hardening release. We ran a deep two-round audit of every import path and fixed 25 data-accuracy issues, so the trades, P&L, and stats you import line up exactly with your broker. We also added three new automated scanner strategies.
Broker Imports — more accurate
- Right P&L on every round-trip — partial closes, scale-ins, and forex/CASH position sizing now book the correct realized P&L from IBKR, cTrader, and SnapTrade.
- Duplicate-proof re-imports — re-running an import no longer risks doubling up positions, and your journal notes are preserved every time.
- More futures coverage — CSV imports now size a wider range of futures contracts (including FX futures like 6E and M6E) correctly, and unmatched cover legs are no longer dropped.
New Scanner Strategies
- Crypto Trend — a BTC + ETH trend strategy on the 125-day moving average.
- Sector Rotation & Dual Momentum — two cross-asset rotation strategies that follow relative strength across sectors and asset classes.
- Dollar P&L on scanner signals — scanner-tracked trades now report realized dollar P&L.
Reliability
- Expired futures, clearly marked — open positions on an expired contract now show a non-destructive "contract expired" indicator that never alters your trade data.
- Truer dashboard stats — win rate and streaks now correctly include closed trades that had no stop set.
- Cleaner broker settings — brokers that aren't enabled yet stay tidily out of the way instead of erroring.
v1.0.74-Beta
Jun 21, 2026 4:27PMGet your trades into SignalDeck from more places than ever. v1.0.74 opens read-only imports from Interactive Brokers, cTrader, and SnapTrade-connected brokerages, alongside a rebuilt CSV importer covering eight platforms — plus a new Backtest History screen so every run you've saved is a click away.
Broker Imports — early access
- Interactive Brokers — connect a Flex query and import your executions, with positions reconstructed automatically and your journal notes preserved on every re-import.
- cTrader & SnapTrade — link your broker and pull in closed trades read-only, no manual entry.
- A rebuilt CSV importer — presets for 8 platforms including Tradovate and NinjaTrader, with fill-level round-trip reconstruction and futures contract sizing handled for you.
- Broker connections are rolling out as an early-access soft launch — import is free and strictly read-only. Give it a try and tell us how it goes.
Backtest History
- Every backtest, one click away — a dedicated, paginated history screen lists your saved runs; open any one to jump straight back to its full results.
Reliability
- Sharper trade charts — intraday charts now always open on current price action, fixing a case where a forex chart could show stale dates.
v1.0.73-Beta
Jun 19, 2026 11:39AMYour Today screen now opens to a live read on the market. A full-width ticker rides under the header with real-time FX and crypto plus the day's key stock and ETF proxies, and the latest market headlines sit right above your team feed. Underneath, a deep pre-launch hardening pass sharpens P&L accuracy, account security, and reliability across the board.
Live Market Ticker
- A live ticker on your Today screen — a full-width strip pinned under the header scrolls real-time FX (EUR/USD, USD/JPY, GBP/USD) and crypto (BTC) alongside the day's headline US stocks and ETFs, colour-coded up or down.
- Delayed quotes are clearly badged 15m, with a legend spelling out what's live versus delayed — and the page scrolls underneath it so it's always in view.
Latest Market News
- Top headlines on Today — the five most recent market stories now appear above your Borg feed; tap any to read it, or jump to the full news screen.
Accuracy, Security & Reliability
- Spot-on forex P&L — realized profit on forex trades with non-standard lot sizes is now exact, and imported trades carry your broker account's real currency instead of defaulting to USD.
- Tighter account security — hardened against cross-account access, reserved-name impersonation, and unsafe links, with live sessions ending cleanly on logout and password change.
- Public profiles and the heatmap now fully respect your strategy privacy settings, and screenshot uploads validate the real file type and clean up after themselves.
v1.0.72-Beta
Jun 18, 2026 12:13PMYour trade chart just got hands-on. Drag a stop or target line and a live dialog lets you dial in the exact price — with the chart previewing the move as you type. Underneath, price updates run faster and a stack of reliability fixes lands across imports, MT5, and forex.
Interactive Stop & Target Editing
- Drag-to-edit stop and target lines — grab a line on the trade chart and an editable dialog opens with a numeric input and ± steppers at the right precision for your instrument, previewing the new price live before you commit.
- Lines that follow your cursor — stop and target lines now track the drag handle in real time, TradingView-style, with a clean borderless line and floating price label.
- Dragging a stop or target now also moves its linked price alert, so your alert never drifts out of sync.
- One-tap Copy on the price target in trade details.
Faster, Steadier Prices
- Quicker price refreshes — the market-data engine now fetches prices in a single batched call per cycle, keeping your open positions current and ending the occasional stale-price lag.
- Switching a chart to Daily no longer squishes it back to an intraday view after a drag.
Reliability & Fixes
- MT5 Live Balance loads reliably — the balance no longer times out on the first load after connecting; it shows a brief "connecting" state and then fills in.
- Joining a Borg team now shows a clear, friendly message instead of a raw error.
- Trade imports (CSV and MT5) are stricter and safer — bad or incomplete rows are caught instead of silently saved.
- Forex trades now recompute their R-multiple correctly when closed, and dashboard stats refresh immediately after audited fills.
v1.0.71-Beta
Jun 16, 2026 6:59PMFutures traders get charts. Every new trade gets an instant risk read. And switching accounts in the same browser is now airtight. This release leans hard into futures — live price charts in the trade view, faster and unthrottled market data — alongside a sharper new-trade form and a round of reliability fixes.
Futures Charts & Faster Data
- Price charts for futures — candlesticks now render in the trade Chart tab across Daily, 4H, 1H, and 15m for CME, CBOT, NYMEX, and COMEX contracts.
- Two years of history, unthrottled — an upgraded data plan lifts the old rate limit, so futures prices and charts load faster and stay current.
- Futures prices no longer freeze when the market-status feed hiccups — the session clock now falls back to the Globex schedule automatically.
Risk At A Glance
- A new R-multiple panel on every new-trade form — see your Risk (1R), Reward, and R-Multiple update live as you set entry, stop, and target, across stocks, forex, crypto, and futures.
Reliability & Fixes
- Rock-solid account switching — signing into a different account in the same browser now fully resets the session and data, with no chance of one account's view bleeding into another.
- Logging a crypto trade no longer fails on certain price-validation edge cases.
- The Backtester now shows a clear upgrade prompt when you hit your monthly run limit, instead of a confusing block.
- A freshly connected MT5 account is no longer mislabeled "disconnected" during the broker handshake.
- In-app News is now available on the Pro plan, and the plan comparison reflects it.
v1.0.70-Beta
Jun 15, 2026 3:23PMNews comes to SignalDeck. Every trade now carries the headlines that surrounded it — so you can see what the market was saying when you got in, and what's moving your symbols right now — without leaving your journal.
Market News (Elite)
- A News tab on every trade — one clean timeline of relevant headlines with a marker showing exactly where your entry falls, so "before" and "after" the trade are obvious at a glance.
- A dedicated News screen — filter the feed by Stocks, Crypto, CFD indices, or Macro, with sentiment tags and fast pagination.
- Coverage is tailored per instrument: per-symbol headlines for stocks and crypto, index-proxy headlines for CFD indices (US500→SPY, US100→QQQ) and metals (XAUUSD→GLD), and broader macro context where symbol-specific news doesn't exist.
- Forex and futures news are coming soon.
Polish & Fixes
- The Today dashboard snapshot now shows the correct Net P&L for closed forex and CFD trades instead of $0 on first load.
- The public-profile username field lowercases as you type with a clear inline hint, so the URL you get is the one you expect.
- Faster, more reliable market-data behind the scenes, plus host-stability and housekeeping improvements.
v1.0.69-Beta
Jun 14, 2026 3:26PMA focused hardening release ahead of paid launch. This one is all about getting the numbers right and keeping you signed in — sharper P&L across shorts, futures, and forex, more accurate execution-quality and dashboard stats, plus a round of journaling, chart, and sign-in reliability fixes.
More Accurate P&L & Stats
- Short trades calculate correctly — distance-to-target, R-multiples, and entry guards are now side-aware instead of assuming long.
- Futures & forex close-outs — batch-closing futures and closing forex positions now report real realized P&L with the correct tick and lot sizing.
- Dashboard unrealized P&L — open forex and futures positions now show live unrealized value instead of $0.
- Execution Quality — friction and slippage are now dollar-weighted, so large positions count properly, and the waterfall uses consistent units.
- Daily P&L in the background worker now uses the right pip size for CFDs and metals and includes open futures.
Journaling, Charts & Alerts
- Deleting a trade screenshot or a note now works reliably and updates the view immediately.
- Pip-distance alerts can be edited inline again, and the advanced-filter "Clear All" fully resets and refreshes your list.
- The chart right-click menu now positions correctly in Firefox, and market-holiday handling extends through 2030.
- Close-summary and share cards no longer show odd values (NaN/Infinity or a misleading green) for edge-case trades.
Sign-In & Reliability
- No more surprise logouts — a mid-session refresh race that could sign you out around the 30-minute mark is fixed, and "Keep me signed in" now sticks across refreshes.
- Re-logging in no longer doubles up live-price updates and notification sounds.
- A pass over plan features closes a few gaps so each tier sees exactly what it should — no more brief flashes of gated sections.
v1.0.68-Beta
Jun 12, 2026 5:04PMChart interactions get a major upgrade: drag your price target directly on the chart, set it from the right-click menu, and see the price line update instantly on Refresh. Keyboard-first traders can now save alert dialogs and submit add-alert forms with Enter. The Backtester gains interactive signal charts so you can visualise exactly when your strategy fired. Plus a round of chart sync, filter, and Borg polish.
Chart Interactions
- Drag price target on chart — grab and move your price target line directly without opening a modal.
- Set price target from right-click — context menu now includes "Set as Price Target" when no target exists.
- Refresh Price updates the price line — clicking Refresh now repositions the live price line immediately.
- Enter key shortcuts — Enter saves the chart-alert dialog, generic confirm modal, and the add-alert form from any focused field.
Backtester Signal Charts
- Interactive signal chart — visualise exactly when your backtest strategy fired buy/sell signals on a TradingView-powered chart.
- Minimum-close price badge — snapshot cards now show the minimum closing price over the backtest window.
- Start-date picker rejects future dates to prevent invalid backtests.
Fixes & Polish
- Alert tab and badge refresh automatically after stop/target changes from chart drag or right-click.
- Post-mortems triage card on Today now correctly aggregates all strategies (not just one).
- Tag filter include/exclude mode-first logic fixed — mode toggle migrates tags and auto-applies the filter.
- Premarket line suppressed on Daily chart during Regular Trading Hours.
- Server error detail surfaces on failed stop/target chart updates instead of a silent failure.
- Stop drag syncs the stop field in the trade modal; Escape closes the stop-move modal cleanly.
- Borg loading spinners and audit polling JSON error resolved (SD-054).
v1.0.67-Beta
Jun 10, 2026 5:17AMThe biggest structural update since launch: the app gets a new home. Today replaces the dashboard as your default landing — a calm, habit-forming hub that surfaces exactly what needs attention each session. And as your daily ritual, it now tracks a streak. Charts get a full round of polish too: loading spinner, default timeframe preference, smarter alert UX, and the TradingView logo is gone.
Today Hub — Your New Home
- Today as default landing — triage action cards (needs notes, post-mortems due, missing stops), snapshot tile (Net P&L, win rate, open risk), and equity sparkline with a "what changed" callout.
- Daily ritual ring + streak — complete your pre-session checklist and watch the ring fill. Your streak is tracked in the database and resets if you skip a day.
- Market status pill — live equities / forex / crypto / futures session indicator, always visible at the top of Today.
- Open positions at a glance — click any open trade from Today to open its trade details directly.
Analytics — Progressive-Disclosure Dashboard
- Dashboard renamed to Analytics with a new Overview tab: 4 hero KPIs up front, then collapsible "Go Deeper" groups so you see what matters without scrolling past everything you don't.
- Greeting header on Overview, Standard, and Quant tabs. Go Deeper tile values are colour-coded by performance.
Chart Polish
- Loading spinner with the SignalDeck logo while the chart initialises.
- Default timeframe preference — set your preferred timeframe in Settings → Charting and the chart opens on it every time.
- Step precision on alert prices — the alert dialog now increments by the correct tick size for the instrument.
- Show Alerts auto-enables when you add an alert via the right-click menu. No more "where's my alert?"
- TradingView attribution logo suppressed. Scale margins prevent smushed bars at the edges.
Fixes & Polish
- Move-alert confirm button now says "Move alert" instead of "Delete" — no more accidental deletions.
- Alerts tab badge refreshes immediately after adding/editing/deleting a chart alert.
- Strategy-change on the new-trade form re-evaluates concentration and compliance risk checks on the spot.
- Tags no longer falsely blocked as duplicates when names differ only by case.
- Strategy names are now unique per-user, not globally — two users can each have a "Momentum" strategy.
- Connect-to-trade modal: selected row shows an accent border, background tint, and radio fill so you always know what's selected.
- Add-on position: checkbox replaced with a labelled button + chip for clarity on the new-trade form.
v1.0.66-Beta
Jun 8, 2026 5:13AMThe biggest update yet: interactive price charts land right inside your trade details. Every trade now opens on a full TradingView-style chart — with your stop, fill, target, current price and alerts drawn in — so you can read and act on a position without leaving the page.
Interactive Charts in Every Trade
- Full price chart with pre-market in the trade-details view, with color-coded stop, fill, target, current-price and alert lines.
- Right-click anywhere to copy the price at your cursor, or add an alert with a title — straight from the chart.
- Drag an alert line to a new price and confirm — it saves to your account instantly.
- Fullscreen mode, four timeframes (15m / 1H / 4H / Daily), and up to ~4 months of history.
- Toggleable overlays — volume, crosshair, reward-to-risk zones, and max adverse / favorable excursion markers.
- Session-aware — the chart knows pre-market vs market-open vs closed. Futures charting is coming soon.
Fixes & Polish
- Quant dashboard charts render reliably again, onboarding no longer shows a stale username, and tag / signal validation is tightened.
- New-trade tags gain a text-color control, calendar picker icons are legible site-wide, and admins get an in-app view of connected accounts.
v1.0.65-Beta
Jun 5, 2026 5:29AMPortfolio Heat lands — a pre-trade risk dashboard that shows your total open risk, flags correlated exposure, and checks prop-firm rules before you commit. Plus a faster path to your Risk Profile, a new Help hub, and a smarter entry checklist.
Portfolio Heat — Know Your Total Risk Before You Click Buy
- Open-risk meter shows aggregate risk in dollars, R, and percent of account — with leverage validation — right on your dashboard and the new-trade screen.
- Correlated-exposure check auto-detects each position's sector and warns when too much of your risk is clustered in one place.
- Prop-firm compliance check validates a planned trade against prop-account rules before you take it.
- All three feed a live entry guard on the new-trade form so the risk picture is in front of you at the moment of decision.
Faster Risk Profile Setup
- One-click deep link takes you straight to your Risk Profile settings — and a friendly banner reminds new traders to set an account size so the percent-risk limits work from day one.
Help & Support Hub
- A dedicated Help hub under your account menu, so support and guidance are always one click away.
Smarter Entry Checklist
- Cleaner new-trade layout with the entry checklist at the top, full width, plus a setup nudge that helps you build your checklist the first time.
v1.0.64-Beta
Jun 3, 2026 6:18PMBorg teams are now open to everyone, AI coaching gets a clearer home across plans, and the journal grows into a searchable feed — plus a round of input and dashboard polish.
Borg Teams — Open to All
- Join a Borg on any plan — team accountability is no longer paywalled. Every trader can join a Borg and share group alerts; paid plans simply lift the cap on how many Borgs you can be part of.
AI Coaching, Tiered
- AI trade post-mortems on Pro and above, and the weekly AI review on Elite — with clear in-app prompts so you always know what an upgrade unlocks.
Journal: All-Notes Feed
- A searchable, paginated feed of every note — with a one-click "+ New Note" button, so your trading journal reads like a timeline instead of a calendar lookup.
Faster Screenshot Capture
- Paste straight from your clipboard (Cmd/Ctrl+V) and drag-and-drop multiple charts at once when logging a trade.
Input & Dashboard Polish
- One-cent steppers on every New-Trade price and quantity field — the arrows nudge by a cent, not a dollar.
- Self-healing dashboard stats — a freshly-emptied dashboard now refreshes itself instead of showing stale zeros.
v1.0.63-Beta
Jun 2, 2026 9:31AMA focused reliability and polish release — smarter session management, trade validation that prevents nonsensical setups, a new login cadence chart, and a batch of backtester, email, and journal improvements.
Session Stability
- "Keep me signed in" actually keeps you signed in — the silent token-refresh introduced in v1.0.61 now fires reliably on every app load, so 30-minute surprise logouts are gone for good.
Smarter Trade Validation
- Stop-loss, target & entry checks — SignalDeck now rejects inverted or zero-risk setups before they hit your journal. Long and short trades are validated independently, so a misplaced decimal no longer silently corrupts your R-multiples.
Stats: Login Cadence Chart
- See your consistency at a glance — a new chart in your stats dashboard shows how often you log in over time, turning trading discipline into a measurable metric.
Backtester Polish
- Sensible name limits & clearer errors — notebook and strategy names now have enforced length limits with plain-English error messages, and the delete confirmation dialog works correctly.
Journal
- Multiple notes on the same day — you can now add more than one journal entry per day, so a mid-session thought and an end-of-day review both have a home.
Other Improvements
- Clearer timezone picker — UTC offsets are now shown alongside city names, and the list includes more locations (including Vietnam), making it easier to find your local timezone.
- Refreshed emails — transactional emails (welcome, password reset, and password changed) have been redesigned to match the current sgnldk brand.
v1.0.62-Beta
Jun 1, 2026 8:54PMMore ways to slice your trade log, a refreshed sgnldk look across the app, and the foundational groundwork for a future Plans phase. Every existing account keeps full access.
Advanced Filters
- Broker, funding account & trading style — filter your trade log by broker, funding account, and trading style directly from the Advanced Filters modal, alongside the existing side, asset, date, and tag filters.
Fresh Brand
- sgnldk refresh — new logos, app icons, favicons, social preview images, and wordmark across the entire app.
Plans Groundwork
- Foundational structure — this release rolls out the backend mechanics and foundational structure for a future paid Plans phase (details TBD). Every existing account is grandfathered with full access.
Reliability
- CFD & futures — CFD enrichment routing fix plus expanded futures regression coverage.
- Audit worker — surfaces errors instead of silently exiting, so background processing failures are caught immediately.
v1.0.61-Beta
May 29, 2026 10:29PMAdvanced filter bar, security hardening across five XSS surfaces, and a wide net of backtester and scanner reliability fixes. Sessions now silently refresh on startup so "Keep me signed in" actually keeps you signed in.
Advanced Filter Bar
- Collapsed filter bar — Side, Asset type, and Needs Review are always visible; an Advanced button opens the full filter panel without crowding the trade list.
- Active filter chips — every active filter appears as a dismissible chip inline below the bar. One click clears it and instantly re-fetches your trade list.
Session Stability
- Silent token refresh on startup — if your 30-minute session token has expired but your 14-day refresh token is still valid, SignalDeck now renews it automatically in the background. No more surprise logouts for users who have "Keep me signed in" enabled.
Security
- XSS hardening across five surfaces — trade symbols, display names, exit reasons, and verdict labels are now HTML-escaped in the Borg feed, calendar post-mortem modal, needs-attention widgets, and dashboard note preview.
- Post-mortem ownership check tightened — the API now returns 404 for both missing and unauthorised records, eliminating a subtle record-existence leak.
- Input validation — leverage is capped at 500× on both create and edit paths; entry prices below 0.000001 are rejected on both paths.
Backtester & Scanner Reliability
- Backtester — Sharpe/Sortino guard against zero-equity periods; Kelly sizing excludes break-even trades from the loss sample; trailing ATR stop caches the last valid ATR to prevent freezing on shorts; max_length constraints on strategy name and notebook fields.
- Scanner — divide-by-zero guards in CMF, MFI, and stochastic logic; true-range ATR used in VSA absorption logic; batch fetch exceptions are now logged instead of silently swallowed.
Other Fixes
- Forex margin_used — correctly computed from leverage on every trade update instead of staying null after a PUT.
- Rate limits — broker and funding account mutation routes are now throttled alongside the rest of the API.
- Edit-modal time inputs — widened so the AM/PM segment is never clipped.
v1.0.60-Beta
May 29, 2026Performance hardening, API rate limits, and input validation across the stack. No new UI features — this release is entirely backend reliability and security work.
Performance
- Needs Review filter rewritten as a SQL predicate — no more application-side filtering; the query now runs entirely at the DB layer for proportionally faster review-queue loads.
- trade_audit_runs timestamp index + Redis cache — a DESC index on the timestamp column, plus a 60-second Redis cache on the latest audit run lookup, cuts repeated DB reads proportionally to polling frequency.
API Rate Limits
- Mutation routes throttled — notes, calendar, and tags endpoints are now rate-limited (30–120 req/min depending on route), preventing unbounded DB writes from tight loops.
Input Validation
- max_length on 12 schema fields — NoteBase, PostMortemBase, DailyJournalEntry, EntryChecklistItem, TradeBase currencies, and UserUpdate.display_name now enforce max_length constraints. Long strings return 422 instead of hitting MySQL strict mode.
Infrastructure
- S3 backup integrity verification — the backup script now verifies gzip integrity after upload and fires a Slawk alert on failure.
- change_audits retention policy — prune script and timestamp index added for efficient range-deletes on the audit log table.
- Redis RDB persistence disabled — cache-only config in E2E/CI stack; no point snapshotting a pure cache.
- MySQL slow query log enabled — via migration 039 for production visibility into slow queries.
Fixes
- Superuser tag/signal/checklist scope — GET /tags, /signals, and /entry-checklist now return only the current user's own data (was returning all users' data for superusers).
- Duplicate tag pill on quick-create — adding a tag that already exists no longer renders a duplicate pill in the new trade form.
- entry_timestamp future buffer widened to 24h — the previous 1h buffer rejected valid trades from users in UTC+ timezones submitting trades at midnight local time.
v1.0.59-Beta
May 28, 2026 8:14AMThe biggest instrument expansion since launch. Full futures trading support lands across the entire stack — live CME price feeds, tick-based P&L, session-gated worker alerts, and a zero-API product pill picker. Plus: clickable Borg leaderboard rows with rich member profile cards, and a Remember Me option on login.
Futures Trading — Full Stack
- Live CME futures support — trade ES, NQ, CL, GC, SI and the full CME product suite with real-time Polygon price feeds, tick-based P&L, and contract spec auto-population.
- Product pill contract search — a zero-API-call product picker pre-loads the full CME futures schedule locally. Select your product, pick a contract month, and the spec fills in automatically without a network round-trip.
- Tick-accurate P&L — all futures P&L is computed in ticks and converted to dollars using the contract's tick value. The calc panel, close modal, and trade detail cards show futures-specific fields.
- Session-gated worker — the audit worker skips futures price updates outside active CME trading hours and stamps futures_audit_at on each cycle, keeping data clean without unnecessary API calls.
- Stop detection and alerts — stop loss breach detection and price alerts work for futures trades using the same bar high/low logic as equities.
- Demo data — 10 futures sample trades in the demo account with realistic specs, P&L, and contract details.
Borg Member Profile Modal
- Clickable leaderboard rows — every row in the Borg leaderboard now opens a full member profile card showing display name, avatar, trading stats, and last-login timestamp.
- Social links — X (Twitter) and Discord handles appear as icon sub-lines when the member has them set, making it easy to connect with teammates.
Remember Me
- 30-day sessions — a Remember Me checkbox on the login form extends your session cookie TTL to 30 days so you stay signed in across browser restarts.
Fixes
- Auth: concurrent token refresh no longer returns 500 — a race between two simultaneous refresh requests now correctly returns 401 instead of crashing.
- Deploy: root-level SPA files included in S3 sync — the deploy script now syncs spa/*.js at the root path so all assets are served correctly after deploy.
v1.0.58-Beta
May 26, 2026 2:01PMA focused admin panel upgrade. The user management modal is redesigned for clarity, deactivated users are now filtered out of team stats and charts everywhere, and a live MT5 connection status column makes it easier to diagnose broker issues at a glance.
Admin Panel Redesign
- Two-column trade list in the user modal — the user-stats modal now uses a 60/39 split layout with a compact, scrollable trade list so you can see trade history alongside account metrics without switching views.
- Stat rows styled as dashboard cards — account size, risk profile, and session stats use the same card treatment as the main dashboard for visual consistency.
- MT5 connection status column — the admin user table now shows a live MT5 broker connection badge (Connected / Disconnected / None) so you can spot import issues immediately.
- Charts repaint on deactivate and restore — signup and activity charts update in real time when you deactivate or restore a user, so the numbers are always accurate without a page reload.
Deactivated User Filtering
- Deactivated users excluded from all team stats — Borg group charts, leaderboards, and aggregate stats no longer count deactivated members, keeping team metrics clean and accurate.
- Admin metric cards reflect active users only — the signup and retention metric cards now count only active accounts.
Fixes
- Broker dropdown preserved on fetch error — the New Trade broker dropdown no longer disappears when a background refresh fails; your last selection stays in place.
- Quick-tag crash on new tag creation fixed — creating a tag from the quick-tag modal no longer crashes when the API returns an unexpected response.
- Release broadcast subject line versioned — announcement emails and in-app broadcast titles now include the version number so recipients know exactly what changed.
- Referral code pill hidden when unset — the referral code pill in the admin user modal no longer shows an empty badge when a user has no referral code.
v1.0.57-Beta
May 25, 2026 4:43PMA security and compliance-focused release. Session tokens move out of browser storage and into secure HttpOnly cookies, email validation gets stricter, and a new admin workflow lets you manage user accounts without touching the database.
Secure Cookie Session Auth
- Session tokens now live in HttpOnly cookies — your JWT and refresh token are no longer accessible to JavaScript, eliminating the XSS token-theft attack surface present in localStorage-based storage.
- Refresh token reuse detection — if a stolen refresh token is presented after you've already used it to rotate, the entire session family is immediately revoked and an alert is fired.
- CSRF protection added — all state-changing requests now require a double-submit cookie token, transparently attached by the SPA.
- Logout and password reset fully purge all tokens — changing your password invalidates every active session across all devices.
Admin: User Soft-Delete & Restore
- Deactivate and restore accounts from the admin panel — admins can now disable a user account in one click from the User Stats panel without database access. The account is preserved and fully recoverable.
- Deactivated users are automatically excluded — they stop receiving broadcasts, coaching emails, and AI weekly reviews the moment they're deactivated.
Stricter Input Validation
- Email fields reject emoji and non-ASCII characters — registration, login, and password reset now validate that email addresses contain only standard ASCII characters.
- Passwords capped at 128 characters — an upper limit is now enforced at every auth flow: register, login, reset, and change-password.
- Risk Profile field caps — account size and daily loss limit are capped at $10,000,000; max trades per day capped at 1,000. The UI inputs also enforce these limits directly.
- Short passwords no longer blocked at sign-in — the sign-in form previously rejected passwords shorter than 8 characters, which could lock out legacy accounts. The floor is removed; the minimum remains at signup only.
CAN-SPAM Compliance
- One-click unsubscribe from all marketing emails — every non-transactional email now includes a signed unsubscribe link that works for a full year without requiring you to log in.
- Email preferences in Settings — toggle marketing and coaching emails on or off at any time from your account settings.
Fixes
- Bottom toast notification restored — a CSS class conflict was pushing the notification banner behind other page content. Fixed.
- Backtester fixed-risk error message — selecting fixed-risk mode without a stop loss now shows a clear explanation instead of the raw
[object Object]text.
v1.0.56-Beta
May 24, 2026 12:07PM UTCA wide-ranging update: a new composite scanner strategy combines two proven signals into a single higher-confidence entry, the dashboard gets a proper empty-state treatment so it's never confusing when you're looking at a blank section, and the production deploy pipeline gets a serious reliability overhaul.
Champion Composite Scanner Strategy
- EC27 + DefSwitch-030 combined into a single signal — the new Champion strategy weights EC27's equity-curve momentum at 40% and the credit-spread defensive switch at 60%, requiring both to agree before triggering. Back-tested across 18+ years: +1394% return, 19.5% max drawdown, Walk-Forward Analysis pass (5/5).
- More signal, less noise — compositing two independent indicators reduces false entries versus either signal alone.
Dashboard Empty States
- Every dashboard section now tells you something useful when it's empty — instead of a blank panel, each of the seven standard-view sections shows a short actionable message (e.g. "All caught up — no trades from the last 48h are missing notes" or "No open positions right now").
- Table headers hide when there's nothing to show — column headings no longer float above an empty table, removing visual clutter when you're starting fresh or caught up on everything.
Backtester Quality Pass (23 Fixes)
- Profit factor and win rate are now accurate — force-closed end-of-backtest positions are excluded from win rate, profit factor, and expectancy calculations so the numbers reflect real trade outcomes.
- Monte Carlo and Walk-Forward panels are always visible — previously these panels could disappear silently when the sample was too small; they now show a clear placeholder instead.
- Notebook names are unique per user — duplicate notebook names are now blocked at save, preventing silent overwrites.
- Styled in-app modals for rename and delete — notebook actions no longer use the browser's native confirm/prompt popups.
- Error messages are sanitized — backtester errors shown in the UI no longer leak internal tracebacks.
UI Fixes
- Login screen: single Google button — the "Continue with Google" button was occasionally appearing twice. Now strictly one.
- /profile and /account route correctly — both paths now redirect to Settings as intended.
- Fill/Entry Price back at the top of the sizing section — the field order in the New Trade form was reshuffled so the most important price input appears first.
- BETA badge no longer overlaps nav buttons — at mid-width screen sizes the badge was clipping into the Calendar navigation button. Fixed.
Deploy Reliability
- Migration tracking table — a new
schema_migrationstable records every applied database migration, replacing the previous brittle git-diff heuristic with a proper server-side audit trail. - Hardened deploy runbook — tag disambiguation guard, pre-deploy container snapshot, updated credential helper scripts, and a clearer preflight checklist reduce the risk of operator error during production releases.
v1.0.55-Beta
May 24, 2026 10:51AM UTCThis release is about making SignalDeck safer to use and easier to clean up. Your session security got a meaningful upgrade, email unsubscribes now work with one click, and the New Trade screen pre-selects whichever broker you've flagged as your default.
One-Click Email Unsubscribe (CAN-SPAM)
- Every non-essential email now has an unsubscribe link — click it and you're opted out immediately, no login required. SignalDeck uses a signed token so the link works even if you've reset your password.
- One-click unsubscribe in compatible mail clients — List-Unsubscribe headers let Gmail, Apple Mail, and others show a native unsubscribe button at the top of the email.
- Toggle it back on in Settings — Settings → Notifications shows the current preference with a toggle to flip it without visiting your inbox.
- Transactional emails aren't affected — password reset and security notifications still go through regardless of the preference.
Session Security Hardening
- Rotating refresh tokens with reuse detection — each time SignalDeck silently refreshes your session it issues a new token and retires the old one. If a stolen token is ever replayed, the entire session family is revoked immediately and a security alert fires internally.
- Legacy token keys purged after login — if your browser held a pre-cookie-era access token in localStorage, it is removed the moment you sign in with the new cookie auth, so stale credentials don't accumulate.
- Force-logout bug fixed — a bug introduced in v1.0.54 was silently failing the background token refresh every 30 minutes, kicking users back to the login screen. Fixed in this release.
Default Broker on New Trades
- Flag your go-to broker in Settings — Settings → Brokers now has a Set Default button on each row. Your first broker is pre-selected when you upgrade.
- New Trade pre-selects it automatically — the broker dropdown on the New Trade screen opens with your default already chosen, saving the click for the common case.
MT5 Reliability
- Ghost broker rows on delete are gone — deleting an MT5 connection now cleans up the auto-created broker label it left behind in the trade dropdown.
- Atomic connection + broker creation — if the broker row fails to create during MT5 setup, the connection row is also rolled back, so you no longer get dangling half-created entries.
- Investor-password recommendation — the MT5 connection modal now recommends using your investor (read-only) password instead of the main trading password.
Infrastructure
- API healthcheck alerting — a cron on the production host now monitors the API every 5 minutes and fires an internal alert after two consecutive failures, so downtime is caught before users report it.
v1.0.54-Beta
May 22, 2026 3:06PMA security-led release. SignalDeck completed its 2026 penetration test and shipped the full remediation suite, alongside a much-requested admin tool to deactivate accounts without losing the trading history, and desktop browser notifications for alerts.
Tightened Account Security
- Your session lives in a secure cookie now — your login token has moved out of browser storage into an HttpOnly cookie that scripts can't read. Closes the XSS-token-theft vector flagged by the pentest.
- Shorter session windows with silent refresh — sessions now expire after 30 minutes instead of 7 days. SignalDeck transparently refreshes your session in the background so you don't notice; if it can't, you'll see the sign-in screen instead of a broken page.
- Logout actually invalidates your token everywhere — clicking logout now signs you out on every device that was holding that token, not just the browser you're in.
- User-typed notes get sanitised — trade exit reasons, journal notes, post-mortems, and strategy notes now have HTML and script payloads stripped before storage. The pentest direct-API-bypass vector is closed.
- Less personal info exposed by the API — your registration IP, last-login IP, and accountability email no longer appear in the /users/me response.
Desktop Browser Notifications for Alerts
- Get a desktop pop-up the instant an alert fires — turn on browser notifications in Settings → Notifications and a desktop banner appears as soon as a price/stop/break-even alert triggers, even when SignalDeck is in a background tab.
- Choose when they fire — pick Always (notify even when SignalDeck is the active tab) or Background only (only when you're looking at another tab). The existing alert sound and in-app toast still fire either way.
- Browser-aware — Safari on iOS doesn't support web notifications, so SignalDeck hides the toggle there with a one-line explanation rather than letting you opt into something that won't work.
Admin: Deactivate Users Without Losing Their Data
- New deactivate + restore actions in the admin console — soft-deleting a user signs them out everywhere, frees up their email and username so they (or someone else) can re-register, and keeps all of their trades, strategies, referrals, and journaling intact. Restore brings the account back to full active state.
- Service accounts and admins are protected — the scanner service account and your own admin account can't be soft-deleted by accident.
Fixes
- Trade edits stopped silently failing — a regression from the security pass was turning trade-note saves into empty lists on the server. Fixed; every Trade PUT now round-trips your notes correctly.
- Release announcements now reach admins too — the in-app release-announcement broadcast was skipping anyone flagged as a superuser, so admins missed their own announcements. The filter is now explicit (just the two scanner service accounts).
- Goodbye to the mojibake announcement — release-announcement headlines / bodies / CTA labels are now ASCII-only, with a clear 422 error if you try to ship em-dashes or smart quotes. (You may remember the v1.0.53 announcement that rendered "→" as "â†'".)
- No more uvicorn version in HTTP headers — small information-disclosure fix from the pentest list.
v1.0.53-Beta
May 21, 2026 3:34PMThree new scanner strategies built for the current macro regime, a fix for the journal-note save bug that hit anyone leaving the compose modal open for a while, and a round of hardening across the backtester and edit-trade flow.
Gold-Regime Scanner Strategies
- GOLD-R21 Tactical — Tactical trend-follow on the GLD basket (GLD, GDX, GOLD, NEM, WPM, RGLD, AEM, FNV). Enters when price is above its 50-day SMA and either VIX is calm or SPY is above its 200-day. Exits on a trend break or a sharp rise in 10-year yields.
- GOLD-EC-VIX-27 — Contrarian Williams %R setup on NDX-energy names (XOM, CVX, COP, EOG, OXY, PSX, VLO, MPC, SLB, DVN, FANG, BKR, XLE, XOP) that adapts its entry threshold based on where VIX sits in its 252-day percentile rank.
- GOLD-UNIVERSAL-DEFENSIVE — A defensive signal that goes long TLT and GLD when VIX clears 35 or SPY drops below its 200-day. Complements the equity strategies that go flat during stress.
Release Announcements in Your Review Queue
- In-app heads-up for every release — Each time SignalDeck ships, you'll see a release-announcement card at the top of your Review Queue with a one-line summary and a link straight to the release notes here.
- Email follow-up — The same announcement arrives in your inbox so you don't miss it if you only catch up on email.
Link an Existing Trade as an Add-on
- Edit a trade to mark it as an add-on — The edit-trade modal now has an "Is Add-on?" checkbox. Tick it, pick the parent trade from the dropdown, and SignalDeck groups them into the same campaign for P&L and journaling.
- Unlink at any time — Untick the box and the trade detaches into its own campaign. Your existing journaling is preserved either way.
Fixes
- Journal notes saved after a long compose session — If you left the compose modal open long enough for your session to age out, hitting Save would silently fail and the note would vanish on refresh. SignalDeck now refreshes your session transparently and retries the save — no more lost notes.
- Backtester returns clearer errors — Submitting a backtest with a bad parameter value (empty, non-numeric, or infinity) used to fail with "submission failed: internal error". You now get a specific 422 that tells you which parameter is wrong.
- Live Trade Feed matches sidebar height on desktop — The Borg live feed column now matches the height of the right-side leaderboard column at desktop widths instead of cutting off at a fixed 500 px.
- Review Queue email link opens the Review Queue — The CTA in coaching-event email notifications now deep-links to your Review Queue instead of dumping you on the home screen.
v1.0.52-Beta
May 21, 2026 8:25AMThis release focuses on the MT5 broker-import flow. After a session with a beta tester importing live forex trades, we addressed every snag he hit — stop-loss capture, multi-position stacking, post-import journaling, preview ordering, and a handful of polish items across the dashboard and journal.
MT5 Import — Needs Review
- Per-row pill cluster on imported trades — Each MT5-imported trade shows quick-add pills for fields the broker doesn't supply: stop, target, trading style, psychology scores, entry screenshot. Tap a pill to add the value in a single-field popover without opening the full edit modal.
- Needs Review filter chip — A new chip on Trade History lets you filter to just the imported trades that still need journaling. A counter shows how many remain.
- Post-import CTA — Right after importing, a soft prompt links you directly to the filtered list so you can journal the new trades in one sitting.
MT5 Import — Multi-Position Stacking
- Sibling positions detected at preview — When you import multiple broker positions that share the same symbol, side, and entry window, SignalDeck now groups them as one campaign automatically. A cluster band on the preview shows the link, with a checkbox you can untick if you really want them imported as separate trades.
- Group linkage propagated on import — Approved clusters share a campaign ID across all sibling trades. Re-importing later never overwrites your manual journaling or group changes.
MT5 Import — Stop-Loss Accuracy
- Original stop captured at fill, not after trailing — If you trailed your broker stop closer to entry before importing, SignalDeck used to capture that trailed value as your "original stop" — wrecking your R-multiple math. The importer now reads the at-entry stop from the broker's deal log.
- Suspicious-stop warning banner — When the imported stop still looks unreliable (very close to entry, or on the wrong side of price), the trade-detail modal shows a warning banner with an "Update Original Stop" CTA so you can fix it.
- Preview lists newest trades first — Recent trades now appear at the top of the import preview where you'd expect them, not the bottom.
MT5 Import — Reliability
- Import button no longer gets stuck — If the broker took too long to respond, the import button could lock up with no way to recover except a hard refresh. There's now a 60-second timeout, the button always re-enables, and you get a clear error if something goes wrong.
Polish
- Calendar date-picker icon is now white on dark mode — The journal date picker indicator stays visible on macOS dark mode instead of inverting to black.
- Journal keep-card action buttons no longer overlap text — Cards now have proper bottom padding so the absolute-positioned action buttons sit cleanly below the note content.
- Downloaded share-modal screenshots no longer show duplicate branding — Removed a hardcoded SGNLDK.COM footer that was duplicating the watermark added at capture time.
- Dashboard streak label fixes "lossing day" — "1 lossing day" now correctly reads "1 losing day".
v1.0.51-Beta
May 20, 2026 7:59PMSignalDeck's journal gets a complete overhaul. Free-form daily notes now live in a Google Keep-style card grid with mood tracking, milestone celebrations, and a richer day-detail view — all accessible at a permanent URL you can bookmark and share.
Daily Journal — Keep Layout
- Card grid replaces the table — Journal entries for each day are displayed as Keep-style cards with your note text, a timestamp chip, and a mood badge. Action buttons appear on hover, pinned to the bottom-right of each card.
- Bookmarkable URLs — Every journal date has its own URL at
/journal/YYYY-MM-DD. Hard-refreshing or sharing the link takes you straight to that day's entries. - Date picker in the header — A calendar picker sits to the right of the date label so you can jump to any date without scrolling through the week strip.
- Mood on every entry — Pick a mood (great, good, neutral, bad, awful) when you write a note. The mood appears as a badge on the card and in the day-detail view.
- Per-entry delete with undo — Each card has its own delete button. An undo toast gives you a moment to reverse the action before it's permanent.
- Day-detail timestamps and sort — Clicking a card opens a day-detail modal showing all entries for that date in newest-first order, each with a precise timestamp.
Journal Milestones
- Milestone coaching events — SignalDeck recognises your first journal entry ever, a 7-day consecutive journaling streak, and a mood recovery (good or great mood after a bad stretch). Each milestone appears once in your Review Queue as a coaching card.
- Streak counts both notes and journal entries — Your daily streak now advances whether you left a trade note or wrote a freeform journal entry, so mixed journaling habits still build your streak consistently.
AI Weekly Review — Mood Context
- Mood data included in your weekly AI review — Gemini now sees your mood ratings alongside your trades when generating your weekly coaching digest. The result is a more complete picture of how your emotional state tracked against your trading performance that week.
Fixes
- Trade modal counter no longer wraps — On modals with more than nine trades in the navigator, the position counter (e.g. "10 / 14") now stays on a single line instead of breaking across two.
v1.0.50-Beta
May 18, 2026 10:21AMSignalDeck now generates a personalized AI coaching digest every week using Gemini. Each Monday your trade history from the past 90 days is analysed and a structured coaching report lands in your new AI Reviews screen — complete with a first-time explainer, a "data used" disclosure, and a one-click flag if a review misses the mark.
AI Weekly Review
- Weekly Gemini coaching digest — A structured AI review of your last 90 days of trades lands in your new AI Reviews screen every Monday morning. It covers execution patterns, strategy consistency, and specific areas to focus on.
- New AI Reviews screen — All your AI coaching reports live in one place at AI Reviews in the navigation. A badge shows when new reviews are waiting.
- First-time explainer + data disclosure — Your first review opens a short explainer so you know what to expect. Every review includes a collapsible section showing exactly which trades and strategies went into it.
- Small-sample mode — If you have fewer than 10 trades in the window, the review adapts its language to focus on early patterns and what to watch as you build your track record.
- Flag low-quality reviews — A single-click flag button in every review lets you mark unhelpful output. Flagged reviews feed an admin investigation queue so quality can be improved over time.
- Opt-out in Settings — AI Weekly Review is enabled by default. Turn it off anytime under Settings → AI Features.
Borg Ownership Guard
- Post-mortem access scoped to your own trades — In Borg team view, the post-mortem tab and the PM review nudge now only appear on trades you entered. Teammate trades remain read-only, keeping the review surface focused on your own work.
CSV Export: Signal Name Column
- Export signal names alongside your trades — The Reports screen now includes Signal Name as a selectable column under Relationships, so scanner signal names travel with your export data.
Fixes
- Admin Referral column — The User Stats referral column now shows the code a user typed at signup, not their own auto-generated shareable code.
- Borg closed trade modal — Null profit and risk values in teammate trade cards now show an em-dash instead of rendering blank or green.
- Mailjet CI kill-switch — Real emails no longer fire during test runs. A new MAILJET_ENABLED flag short-circuits sends in CI and local dev environments.
- Post-close share modal branding — The SGNLDK.COM footer now appears consistently in the post-close summary modal, matching the open-trade share modal.
v1.0.49-Beta
May 15, 2026 12:23PMThe Borg live feed gets a dedicated post-mortem card, MT5 imports now capture your full risk profile at the moment of the trade, and every trade shows its origin — MT5, CSV, or manually entered.
Borg PM Feed Card
- Post-mortem completion as a distinct feed event — When you review a trade, a separate purple Reviewed card appears in the Borg live feed below the original trade entry. It shows your verdict, setup quality rating, and how long ago you wrote it.
- Always accurate, never duplicated — The card is broadcast once on first save, so refreshing the feed won't create double entries.
MT5 Risk Fields at Import
- Complete risk snapshot captured at import — For open positions, SignalDeck now fetches your pip value, original stop, price target, dollar risk, and account risk percentage directly from MetaAPI at the moment you import. Your risk context is preserved even after the position closes.
- Smarter batch imports — When importing a closed-only batch, the live position and balance API calls are skipped entirely, keeping imports fast and avoiding unnecessary API usage.
Entry Method Badge
- See how every trade entered SignalDeck — Trade details now show an Entry Method badge: Manual for trades you entered by hand, MT5 for broker imports, and CSV for spreadsheet uploads. The source is stored permanently and enforced at the database level.
Fixes
- MT5 import wizard feedback — The loading step now shows the correct label while fetching history, an animated spinner displays during fetch and import, the Back button correctly re-enables the Preview button when stepping backward, and the connection refresh button behaves as expected.
- Duplicate MetaAPI account prevention — Provisioning a connection that already exists in MetaAPI now reuses the existing account instead of creating a new one, eliminating orphaned accounts that continued billing.
v1.0.48-Beta
May 14, 2026 1:14PMThe largest MT5/MT4 broker integration release yet. Connect directly from the New Trade screen, share your open positions, run multiple broker accounts at once, and cut MetaAPI costs by ~95% with automatic idle undeployment.
MT5 Inline Broker Connect
- Connect without leaving the flow — The MT5/MT4 connect modal now opens directly from the New Trade screen. Provision, authenticate, and start trading without switching screens.
- Closes in ~5-10 seconds — The overlay completes as soon as MetaApi confirms the account is provisioned. Balance appears automatically in the background once CONNECTED — no waiting around.
Share Open Trade
- Screenshot-optimised share modal for open positions — Every open trade now has a Share Open Position button. It opens a clean modal showing your P&L, position details, friction cost, and thesis — formatted for screenshots with SGNLDK.COM branding.
- Download PNG or copy a link — Save the image directly or share a link to the trade detail page.
Multi-MT Connections
- Connect more than one MT account — The one-per-user broker limit is lifted. Connect a live account and a demo account, or accounts at different brokers, and switch between them.
- Adaptive broker-connect modal — The modal detects your existing connections and shows them first. Adding another account is one click from the existing list.
Server Autocomplete
- Find your broker server instantly — The server name field shows popular brokers grouped by name when you click it. Type two or more characters for live filtered search across all known servers.
~95% MetaAPI Cost Savings
- Idle accounts undeployed automatically — Broker accounts that haven't been used for over an hour are automatically undeployed by the background worker. They redeploy transparently the next time you request a balance or history. Cuts typical per-user MetaAPI cost from ~$28/month to ~$1.50/month.
Fixes
- Disconnect warning badge — A warning now appears in the MT5 panel when a connection is detected as DISCONNECTED between sessions, instead of failing silently.
- Balance and history retries — Requests now retry up to 10 times on cold-deploy lag, so a slow MetaAPI start no longer surfaces as an error.
- Recovery guidance on connection failure — Persistent DISCONNECTED state (wrong credentials) and terminal DEPLOY_FAILED state now return clear 409 responses with actionable next steps.
- SSL verification on by default — All MetaAPI requests now use the certifi CA bundle for certificate verification.
v1.0.47-Beta
May 13, 2026 5:11AMA targeted release: a UI swap for Psychology and Confidence inputs, a stability fix for risk percentage, and a correctness pass on CFD dollar P/L and dashboard scoping.
Psychology & Confidence — Button Rows
- 1-10 button rows replace sliders — The Psychology and Confidence fields on the New Trade and Edit Trade screens now use a row of 1-10 buttons. Easier to set on touch, easier to read at a glance, and easier to land on the exact value you mean.
Risk Percent is Now Stable
- % of Account captured at submit time — The risk percentage shown on a trade is now stored when you log it. Growing your account no longer retroactively shrinks the displayed risk on an open trade, and color coding stays anchored to the value at entry.
Fixes
- Dashboard "Needs Attention" respects superuser sessions — When logged in as a superuser, the Trades Needing Post-Mortems list now scopes to your own trades, no longer bleeding in trades from other accounts.
- Trade charts no longer 401 — Historical and intraday price requests now use the auth-aware fetch, so charts load correctly on auth-enforced environments.
- CFD dollar P/L corrected — Closed CFD trades on XAUUSD, XAGUSD, NAS100, US500, US30, and GER40 now show dollar P/L correctly. Existing closed trades are backfilled.
- Admin users table shows the right code — Admins now see the referral code each user typed at signup, separate from the user's own auto-generated share code.
v1.0.46-Beta
May 11, 2026 5:54AMReview Queue email notifications, worker reliability improvements, and a security fix pass.
Review Queue Email Notifications
- Get notified when feedback arrives — When a reviewer posts a message on your trade in the Review Queue, you now receive an email. No more checking back manually to see if someone responded.
Fixes
- Trade time inputs accept non-ET hours — Entry, exit, and close time fields no longer enforce hardcoded Eastern Time min/max limits. Traders in other sessions can now enter times outside the 9:30 AM – 4:00 PM ET window without the browser clamping the value.
- Worker auto-recovers from session expiry — The audit worker now re-authenticates automatically when it receives a 401 response, instead of silently failing until a manual restart.
- Security hardening — XSS protections, rate limit tuning, and datetime edge-case fixes across several endpoints.
v1.0.45-Beta
May 7, 2026 2:58PMThe dashboard gets a full redesign — a new Standard view puts your performance snapshot front and center, while the existing analytics charts move to a dedicated Quant tab. Unlimited daily journal entries, an MT5 connecting overlay, and fractional crypto quantity support round out the release.
Dashboard Standard View
- Standard / Quant tab strip — Switch between the new trader-focused Standard view and the existing analytics Quant view. Your preference is saved across sessions.
- Stat cards — Net P&L, Win Rate, Avg R:R, and Profit Factor displayed prominently with color-coded green/red values. Secondary row shows Trades Today, Average Pips, current streak, and your top-performing pair.
- Accountability tables — Two live tables: trades created in the last 48 hours with no note, and all closed trades without a post-mortem. Both tables update in real time when you add a note or save a post-mortem from the trade modal.
- Recent Daily Notes — Your last 10 journal entries shown directly on the dashboard. Click any row to read the full entry or edit it without leaving the dashboard.
- Recent Post-Mortems and Recent Closed trades — Side-by-side widgets showing your latest reviews (with verdict, quality, and trigger badges) alongside open and recently closed positions.
Calendar — Unlimited Daily Notes
- Multiple notes per day — The daily journal now supports unlimited entries per date. Create as many notes as you like for a given trading session.
- Edit by ID — Each note is independently editable. Opening a note from the dashboard or calendar shows it in a view modal with a dedicated Edit button — no more replacing the entire day's entry to fix a typo.
- Note indicator on all calendar views — The daily-note badge now appears on the week view and mobile dot strip, not just the month grid.
MT5 Connecting Overlay
- Loading overlay during connection — A full-screen spinner with an elapsed-time counter appears the moment you click Connect, so the app doesn't look frozen during the 10–30 second MetaApi provisioning call.
- Readable validation errors — MT5 API errors now show human-readable messages ("Login ID must be numeric") instead of the raw internal field name or [object Object].
Fixes
- Fractional crypto quantities — The shares / quantity input now accepts decimal values like 0.00123 BTC. Previously, browser validation rejected anything that wasn't a whole number.
v1.0.44-Beta
May 6, 2026MT4/MT5 MetaApi integration — sync your live broker balance directly into the account balance modal with one click.
MT4/MT5 Balance Sync
- Connect your MT5 account — Enter your MT5 login, password, and server in the account balance modal. Click "Use MT5 Balance" to pull your live balance directly from MetaApi — no manual entry required.
- Read-only display after sync — Once connected, the manual input fields are replaced with a clean read-only balance display showing your synced amount. Clear it to return to manual entry.
- Credentials persist per session — Your MT5 connection details are remembered so you don't need to re-enter them each time you open the modal.
Fixes
- Account balance modal clears on reset — Re-opening the modal after clearing your saved balance now shows an empty input instead of retaining the previous value.
- Docker healthcheck — The API container now includes curl so the Docker healthcheck no longer fails on cold start.
v1.0.43-Beta
May 5, 2026 2:13PMAccount balance tracking, a live risk-to-account display on forex trades, a max risk per trade gate, and a cleaner Borg nav.
Account Balance
- Set your balance once, use it everywhere — Enter your trading account balance from the new trade form. From that point, the forex entry form shows your dollar risk and risk % of account in real time as you type your entry price and stop.
- Works for all forex and CFD instruments — EURUSD, XAUUSD, NAS100, and all other forex/CFD pairs show the live risk breakdown.
Max Risk Per Trade
- Set a hard limit on per-trade risk — A new setting in your Risk Profile lets you cap risk as a percentage of account balance. If a forex trade would exceed the limit at submit time, a blocking modal appears — you can override and trade anyway, or cancel and resize.
Borg Nav Consolidated
- Borg is now in the Team button — The standalone Borg link has been removed. Access Borg via the Team button dropdown — "View Borg" is the first option. The activity badge moves with it.
Fixes
- Forex calc panel no longer shows stale values — Returning to the new trade screen after a previous entry now clears all six calc fields (pips, R:R, risk, margin) immediately.
- Price input step precision — All price inputs across the app now adapt their step to match the decimal places you've typed, preventing unwanted rounding when using spinners.
- Filter bar desktop layout — The single-row filter bar on desktop is restored after it was broken by the mobile audit restructure in v1.0.42.
v1.0.42-Beta
May 1, 2026 12:11PMNew onboarding step, referral ambassador links, pips on forex trades, and a batch of mobile layout fixes.
Timezone Step in Onboarding
- Required step added — Timezone is now step 3 of 4 in the onboarding flow. You select from 50 IANA zones before continuing. Setting your timezone ensures P&L calculations and journal timestamps are accurate from the start.
Referral Ambassador Links
- Copy your link — A new Copy Link button in the Referrals screen generates a shareable UTM URL. Anyone who opens it gets the register form with your referral code pre-filled and locked — no manual entry required.
Pips Display
- See your pips at a glance — Closed forex and CFD trades now show pips result in the exit details card. Open trades show live pips in the P&L card, updating as price moves. The post-close summary includes a pips row too.
Mobile Layout Fixes
- Filter bar — On narrow screens, status and symbol search always stay visible. A Filters toggle reveals the remaining controls.
- Settings navigation — A section-jump dropdown replaces the invisible sidebar on phones and tablets.
- Calendar, trades table, pagination, modals — Week view collapses to two columns, year heatmap scrolls horizontally, trades table renders as labelled cards, pagination stacks vertically, trade modal buttons wrap instead of overflow.
Fixes
- CFD/metal pip calculation — XAUUSD, XAGUSD, NAS100, US500, US30, and GER40 trades now close with the correct pip size. Previous versions produced inflated pips and P&L for these instruments.
- Referral code deletion — Deleting a referral code no longer removes referred users from your stats. The code disappears from your list, but the signups stay.
v1.0.41-Beta
Apr 30, 2026 12:25PMEmoji reactions on Borg trade cards, a Signal field preference toggle, and clearer stop loss exit reason labels.
Trade Reactions (Borg)
- React to your team's trades — Four emoji reactions are available on Borg live feed cards: 🔥 fire, 💪 strong, ✅ perfect, and 😬 tough. Tap the same emoji again to remove your reaction.
- Live counts — Reaction totals update in real time for all team members via WebSocket — no refresh needed.
- Review queue notification — The trade owner receives a review queue item the first time someone reacts to their trade.
Signal Field Toggle
- Hide or show Signal UI — A new toggle in Settings → Trade Preferences controls whether the Signal dropdown and filter bar appear. Off by default — enable it if you actively log signals.
- Data is always preserved — Hiding the Signal field does not affect signal data already logged on your trades. You can re-enable the toggle at any time to see it again.
Stop Loss Label Updates
- New exit reason: Stop Loss (Trailed or Moved) — For trades where you moved your stop before it was hit. Appears between Original Stop and Take Profit in the close-trade dropdown.
- Clearer label names — "Manual Override" is now "Original Stop" in the exit reason list. The stop display in the trade detail panel now reads "Edited Stop."
v1.0.40-Beta
Apr 29, 2026 6:01PMNew forex pair picker, Borg team analytics charts, a delete confirmation modal, and an expanded admin progress view.
Forex Pair Picker
- Click to select your pair — The forex search dropdown is replaced with 10 pill buttons for major pairs (EUR/USD, GBP/USD, USD/JPY, and more) plus 6 CFD instruments. No typing required.
- Clear visual feedback — Unselected pills gray out when you make a choice. Submitting without a pair shows an inline error instead of a silent fail.
- Close Trade button — The icon-only close button is now a labelled "Close Trade" text button so its purpose is obvious.
Borg Team Analytics
- Team R vs SPY — New benchmark chart plots your team's cumulative R-multiple alongside the S&P 500 for the same period.
- Member R Contribution — Stacked bar chart breaks down each month's team R by individual member so you can see who is driving performance.
- Green-day streak — Flame badge in the Borg header shows the team's current consecutive winning-day streak.
Delete Trade Confirmation
- No more browser pop-ups — Deleting a trade now opens a styled confirmation modal that matches the rest of the app, rather than the default browser confirm() dialog.
Admin: User Progress Modal
- Full profile on row click — Clicking any row in the User Stats admin screen opens a detailed progress modal: cumulative P&L chart, monthly win/loss breakdown, win rate, average R-multiple, best and worst trade, and profile metadata including timezone and social links.
Fixes
- Journal typing — Digits 0–9 no longer trigger trade navigation shortcuts while typing in the journal tab.
- Fractional shares — Quantities like 0.5 and 0.25 are now accepted and stored correctly across the new trade form and edit modal.
- Leverage, checklist, and Borg roster — Leverage display and edit corrected; checklist items show correctly after the guard triggers; checkbox state persists after toggle; Borg roster correctly reflects lifetime membership.
v1.0.39-Beta
Apr 28, 2026 4:15PMCorrect fill prices after entry, crypto precision improvements, and a round of audit worker reliability fixes.
Editable Fill Price
- Fix wrong fills without re-entering trades — The fill price in the trade detail modal is now editable. Change it, confirm, and the engine recalculates your breakeven, R-multiple, and profit % automatically.
- Safe confirm flow — A styled modal appears before recalculating so you don't trigger it by accident. Cancel reverts the input with no changes saved.
Crypto Precision
- Sub-dollar altcoins — Breakeven targets now use 8 decimal places for crypto, so 0.00001234 stays meaningful instead of rounding to zero.
- Realized P&L on close — Crypto trades now correctly record realized P&L when you close them.
- Fractional quantities accepted — Entering 0.25 BTC in the edit modal no longer silently truncates to 0.
- Cleaner detail view — Stock context, VIX/RSI indicators, and the stock post-mortem section are now hidden for crypto trades.
Fixes
- Confidence slider colour — Setup confidence label now goes green above 7, yellow above 4, red below — was always blue regardless of your score.
- Digit keys in edit mode — Pressing 1, 3, or 4 while typing in a fill price or shares input no longer switches tabs mid-entry.
- Audit worker reliability — Three targeted fixes to the worker QA checks covering null guards, stale breached position detection, and EC2 parameter binding errors.
v1.0.38-Beta
Apr 28, 2026Trade deletion is now safe and reversible, plus a new referral stats view and a post-mortem nudge that keeps review discipline front of mind.
Soft Delete
- Nothing is lost permanently — Deleted trades are now soft-deleted (hidden, not gone). The row is preserved for recovery while disappearing from your view immediately.
Referral User Progress
- Stats at a glance — Click any row in your Referrals table to open a breakdown for that user: total P&L, win rate, average R-multiple, and their best and worst trades.
Post-Mortem Nudge
- Built-in review reminder — Closed trades without a post mortem now show an amber prompt across every tab of the trade detail, with a direct link to write the review.
Fixes
- Exit Slippage — No longer shows a value when your exit price was at or better than your stop. Favorable execution now correctly records no slippage.
- Calendar Refresh — Post-mortem counts and P&L totals update immediately after saving a review, closing a trade, or deleting one.
- Close Trade Form — Exit price and exit reason fields now have a prominent orange border so they're impossible to miss. P&L preview appears above the screenshot upload. Exit price no longer pre-fills from the previous trade.
- Same-Day Duration — Trades opened and closed the same day now show hours and minutes instead of "0 days".
- Confidence Sliders — Setup Confidence, Psychological Confidence, and Emotional Scale sliders now reset cleanly when you return to the New Trade screen.
v1.0.37-Beta
Apr 24, 2026 2:36PMThree new features centred on coaching and onboarding.
Review Queue
- Coaching Inbox — New clipboard icon in the header with an amber unread badge. Filters between All, Unread, and Pending events. Stale items collapse behind a toggle.
- Action vs. Passive Events — Action-required items need explicit acknowledgement; passive items auto-read on open. Modal renders full payload, AI reports scroll inline, trade-linked events have a "View trade →" deep link.
- Live Badge — WebSocket push keeps the unread count current without a refresh.
Welcome Event on Sign-up
- First-Login Welcome — Every new account gets a welcome coaching event in their Review Queue on registration, with a link to the onboarding tour.
Referral Signup Alerts
- Code Owner Notifications — Share a referral code and get notified the moment someone signs up with it. Shows the new user's name, email, code, and signup time. "View referrals →" opens the Referrals screen.
Fixes
- Trailing Stop Prices — Column type aligned with other price fields, preventing silent truncation on forex trades with tight stops.
v1.0.36-Beta
Apr 24, 2026 4:56AMReal-time AI post-mortem analysis and a full post-mortem redesign. The biggest update to the review workflow since launch.
Real-Time AI Review
- Live Streaming — Click "Generate AI Review" and watch the analysis stream in as it's generated. A progress overlay appears immediately with rotating coaching quips while you wait.
- Auto-Fill — The AI fills in setup quality, entry trigger, stop management, verdict, training gap, and mentor feedback based on your trade data and journal notes.
- Upgraded to Gemini 2.5 — Faster and more accurate analysis across all markets and methodologies.
Post-Mortem Redesign
- New Fields — Entry trigger, exit timing, training gap, and instrument-specific context (market condition for stocks, session timing for forex). Lesson learned is yours to write.
- Display View — After saving, a clean summary card shows all your ratings. Click Edit to revise any field.
- Closed Trades Only — Post-mortems are now locked to closed trades. Open trades show a notice directing you to close first.
v1.0.35-Beta
Apr 23, 2026 6:51PMNew profile fields and a hotkey polish pass. Add your X.com handle and Discord username to your account, and the journal keyboard shortcut now works cleanly.
Profile Connections
- X.com Handle — Add your X.com profile link in Settings. It appears on your public trading profile with a direct link. Set it during onboarding or any time from Settings.
- Discord Username — Add your Discord handle in Settings. It's private — only visible to your Borg teammates in the team leaderboard.
Backtester
- Redis Cache — OHLCV data is now cached between backtests. Repeated runs on the same tickers load significantly faster.
Fixes
- Journal Hotkey — Pressing 2 in a trade modal now switches to the Journal tab cleanly with no stray character in the note field. Pressing 1, 3, or 4 to switch away works correctly even after the journal textarea has focus.
- Audit Status — The status widget now shows a dash outside market hours instead of a stale cycle timestamp.
- Onboarding — X.com and Discord fields now save correctly when completing account setup.
v1.0.34-Beta
Apr 23, 2026 3:29PMBackend rewrite and a couple of UI updates. The audit worker now enforces stop-losses correctly for all scanner strategies — scanner paper trades close when they should, at the right price, on the right date.
Audit Worker — Stop Enforcement
- Real ATR Stops — Stop distances are now calculated using a proper 14-period Wilder ATR, matching the scanner's own exit logic exactly. The old approximation was routinely off.
- Spring Low Stops — VSA strategies (Stopping Volume, Shakeout Trap, No Supply, Pocket Pivot, and others) now close when price breaks below the signal bar's low. Previously these trades had no automatic stop at all.
- Signal Reversal Exits — When the scanner flips from a buy to a sell signal, open trades on that strategy close immediately — no more waiting for a manual close.
- Trailing Stops — ATR trailing stop strategies ratchet the stop up daily as the trade moves in your favour. Stop never moves down.
- End-of-Day Exits — Intraday strategies close at the Day 0 market close price automatically.
UI
- Avatar in Nav — Your profile picture now shows in the top-right navigation button.
Fixes
- Screenshot Uploads — Fixed a bug causing screenshots to silently fail on upload in some server environments.
- Calendar Share Button — The share button now works correctly when viewing the current (empty) month.
v1.0.33-Beta
Apr 21, 2026 2:17PMBiggest release in a while. Calendar gets a full v2 overhaul with nine new features, public profiles gain two new stat sections, and a fix pass covers crypto routing, alert nudges, and session stability.
Calendar v2
- Month / Week / Year Views — Toggle between a monthly grid, a weekly breakdown, and a full-year heatmap showing your trading activity at a glance.
- Instrument Filter — Filter the calendar down to Stocks, Forex, or Crypto with one tap. All is the default.
- Monthly Goals — Set a P&L target for the month and track progress with a live progress bar in the summary strip.
- Summary Strip Upgrades — Prior-month comparison deltas on every summary card, a new Worst Day widget, and the Borg team streak leaderboard — all in the 7-widget strip.
- Share Button — Copy your monthly stats summary to the clipboard in one click.
- Year Heatmap on Public Profiles — Your trading activity heatmap is now visible on your public profile page.
Public Profile Stats
- Trading Consistency Score — A new score card on public profiles showing how consistently you traded over the past period.
- Last 20 Trades Dot Grid — A compact 10×2 grid of your most recent trades, colour-coded green / red / blue for win / loss / breakeven at a glance.
Fixes & Polish
- Spinner — Page load spinner replaced with the animated SignalDeck logo.
- Alert Nudge — The nudge banner no longer appears on trades that already have alerts configured.
- Crypto Prices — BTCUSD, ETHUSD, and similar symbols now route to the correct price feed instead of falling through to the forex path.
- Fractional Crypto Quantities — Entering quantities like 0.25 BTC no longer triggers browser validation errors.
- Session Stability — Auth expiry on alerts, strategies, and team screens now redirects cleanly. Corrupted filter state in local storage is caught and cleared on load.
v1.0.32-Beta
Apr 21, 2026 8:07AMFour features shipped: in-modal trade navigation, profile avatar upload with a canvas crop editor, public profile avatar display, and an internal admin dashboard for tracking signups and activity.
Trade Navigation in Modal
- Arrow Buttons & Keyboard Shortcuts — Step forward and back through your filtered and sorted trade list without closing the trade details modal. Keyboard ← / → also works, guarded against input focus.
- Position Counter — Shows your current position in the list (e.g. 3 / 14) at a glance. Buttons are hidden outside Trade History and in Borg read-only view.
Profile Avatar Upload + Crop Editor
- Canvas Crop Editor — A circular crop editor opens before upload: drag to reposition, scroll or use the slider to zoom, and preview the final circle before confirming.
- Upload & Remove — Set or clear your profile photo from Settings. Images are validated client-side (type + 5 MB limit) and stored in S3. Google sign-in avatars are preserved on replace.
- Public Profile Display — Your avatar is shown on your public profile page with an initials fallback when none is set.
Admin User Stats Dashboard
- Users Table — Visible only to admins: email, signup date, days since last trade, last login (relative: "3h ago"), referral source, and paying status — all in one view.
- Goal-Progress Cards — Signup and paying-user targets displayed as colour-coded progress bars (red / amber / emerald).
- Activity Charts — Signups per week (12-week rolling bar chart) and a user activity histogram bucketed by recency (0–7 days through Never), powered by Chart.js.
Modal Scroll Reset
- Always Opens at the Top — The trade details modal resets its scroll position on every open, so you never see the bottom of the previous trade when opening a new one.
v1.0.31-Beta
Apr 17, 2026 9:18PMFive targeted improvements across team tools, onboarding, and the registration flow.
Borg Feed Notification Badge
- Live Activity Indicator — A red badge appears on the Borg nav button when your team posts new feed activity while you're away from the Borg screen. Navigating to Borg clears it.
Onboarding Team
- Auto-Join on Registration — New accounts are automatically added to a starter Borg team on signup so team features are active from day one.
Referral Code Validation
- Clear Error on Invalid Code — Entering an invalid or nonexistent referral code at signup now returns an explicit error message instead of silently ignoring the code.
Welcome Email
- HTML Template with Plain-Text Fallback — The welcome email is now generated from an editable HTML template with an automatically derived plain-text version — one template to maintain, both formats delivered.
Brand Ambassador
- Ambassador Badge on Public Profiles — Official SignalDeck brand ambassadors are flagged by an admin and receive a badge on their public profile page.
v1.0.30-Beta
Apr 16, 2026The biggest feature addition to date. A full strategy backtesting engine with seven built-in strategies, a custom rule builder, parameter optimizer, notebooks, and deep analytics — all powered by Polygon data.
Strategy Backtester
- Run Backtests — Pick a strategy, a date range, and one or more symbols. The engine simulates every trade and produces an equity curve, drawdown chart, monthly returns heatmap, and a full trade log.
- 7 Built-In Strategies — SMA Crossover, EMA Crossover, RSI Mean Reversion (long-only and long/short), MACD, Bollinger Bands, and Mean Reversion — all configurable with custom parameters.
- Short Selling — Strategies can go short. P&L, entry/exit logic, and all metrics are fully side-aware.
- Stop Types — None, percent, ATR, trailing percent, and trailing ATR. Stops are evaluated bar-by-bar during the simulation.
- Position Sizing — Fixed size, percent of equity, or risk-based (Kelly criterion, volatility targeting).
Custom Rule Builder
- Build Your Own Strategy — Define entry and exit rules using a visual rule builder. Combine indicator comparisons, crossovers, and logical operators (AND/OR) into a rule tree.
- Save & Reuse — Custom strategies are saved to your account and can be loaded into any future backtest.
Monte Carlo, WFA & Benchmark
- Monte Carlo Simulation — Randomised trade-sequence resampling with confidence intervals to stress-test your edge.
- Walk-Forward Analysis — Rolling in-sample/out-of-sample window validation to detect overfitting.
- SPY Benchmark — Overlay a buy-and-hold SPY equity curve against your strategy and compute alpha, beta, and correlation.
Parameter Optimizer
- Grid Search — Define parameter ranges and the optimizer tests every combination, ranking results by Sharpe ratio, profit factor, or total return.
Notebooks
- Save & Compare Runs — Save any backtest result to a notebook with an optional annotation. Load a saved run back into the backtester UI to review charts and metrics.
- Journal Overlay — Link your real trades to a backtest run and compare plan vs. execution side by side.
Extended Metrics
- New Metric Cards — Kelly criterion, average win/loss, payoff ratio, max consecutive wins and losses, longest win/loss streak, and per-trade MFE/MAE.
v1.0.29-Beta
Apr 16, 2026Crypto is now a first-class instrument type. BTC/USD, ETH/USD, and other pairs join stocks, forex, and CFDs — with live price updates and full indicator tracking from Polygon's crypto feed. Password reset also gets a UX polish pass.
Crypto Trading
- Crypto as a First-Class Instrument — BTC/USD, ETH/USD, and 8 other pairs can now be logged as crypto trades. The audit worker pulls live prices from Polygon's crypto feed and evaluates alerts the same way it does for stocks and forex.
- Indicator Backfill — All 8 Polygon indicators (RSI, MACD, EMA, Bollinger Bands, etc.) now populate correctly for crypto trades. A routing bug that silently misfiled crypto tickers as forex pairs has been resolved.
Password Reset UX
- Show / Hide Password Toggle — The reset-password form now has a visibility toggle so you can confirm what you're typing before submitting.
- Clean Confirmation State — After a successful reset the form is replaced with a confirmation message. No stale fields left behind and no ambiguity about whether it worked.
v1.0.28-Beta
Apr 13, 2026 2:48PMThe largest auth and onboarding release to date. SignalDeck now supports Google sign-in, a guided 3-step onboarding flow for new accounts, full email-based password reset, and a referral program — all shipped alongside a clean-up of Borg session-switch edge cases.
Google OAuth
- Sign in with Google — New and existing accounts can now authenticate with their Google account. No password required. The sign-in button on the login screen triggers a Google ID token flow; SignalDeck verifies the token server-side and returns a standard JWT bearer — the rest of the app is unchanged.
- Confirmation Step Before Account Creation — If Google authentication would create a new account, SignalDeck shows your name and email for confirmation before committing. No surprise accounts from mis-taps.
- Google-Only Accounts Stay Google-Only — Accounts created via Google sign-in cannot request a password reset email. The forgot-password form returns a generic response for those addresses to prevent account enumeration.
Password Reset
- Email-Based Reset via Mailjet — Standard accounts can now recover access through a time-limited reset link sent to the registered email address. Tokens are single-use and expire after a configurable TTL.
- Session Revocation on Reset — Resetting your password immediately invalidates all existing sessions. If your account was accessed elsewhere, a password reset locks it back down.
- Silent Token Refresh — Mid-session token expiry is now handled transparently. If your JWT is close to expiry the app refreshes it in the background — no unexpected logouts during long sessions.
3-Step Onboarding
- Username — New accounts pick a public username during registration. Availability is checked in real time as you type so you never hit a conflict at submit.
- Risk Guard-Rails — Step 2 lets you set your account size, daily loss limit, maximum open trades at once, default instrument type (Stocks, Forex / CFD, or Crypto), and preferred trading style. SignalDeck uses these to surface warnings when you approach your own limits.
- Accountability Email — Step 3 lets you opt in to a weekly accountability digest sent to a nominated email address — useful for coaches, prop firm oversight, or just keeping yourself honest.
- Existing Accounts Unaffected — Users who registered before this release are defaulted to
onboarding_complete = trueand land directly in the app as normal. No forced re-onboarding on deploy.
Referral Program
- Referral Codes — Every account can generate shareable referral codes from the new Referrals screen under the user menu. Codes are case-insensitive and can be deactivated at any time.
- Referral Dashboard — The Referrals screen shows how many accounts have registered using each of your codes, with a per-code breakdown and lifetime total.
- Code Captured at Registration — If a new user registers with a referral code in the URL, it is stored on their account automatically. No manual entry required.
Stability
- Borg Session-Switch Fixes — Several edge cases where logging out and back in as a different user left stale Borg nav state visible have been resolved. The team switcher, nav buttons, and membership data are all cleared immediately on logout before any bootstrap call fires.
- Login Always Opens Calendar — Logging out from a non-default screen (e.g. the Referrals page) no longer routes the next login back to that same screen. The URL is reset on logout so every new session starts on Calendar.
v1.0.27-Beta
Apr 7, 2026 10:43AMTwo focused feature releases: profile notes now broadcast to the Borg Live Trade Feed, and the public profile page gains a full advanced analytics dashboard with eight new metric widgets and four new charts.
Borg Feed Note
- Notes in the Live Feed — The profile note you write when closing a trade now appears directly on the trade card in the Borg Live Trade Feed. Team members can see your thinking alongside the R-multiple and status badge — no need to click into the trade detail.
- Long Notes Truncated Cleanly — Notes longer than two lines are clamped with CSS
line-clamp-2so the feed card stays compact. The full note is always accessible from the trade detail modal.
Public Profile — Advanced Analytics Dashboard
- 8 Advanced Metric Widgets — A new two-row widget strip above the CTA shows Avg. R (Closed), SQN Score, Kelly Criterion %, Risk Leakage, Limit Alpha, Expectancy Momentum, Win Rate Velocity, and Entry Friction — all period-aware and updating with every filter change.
- Cumulative R-Multiple Curve — The equity curve is now paired 50/50 with a cumulative R-multiple curve, showing the shape of your edge independent of dollar size.
- Strategy Decay Chart — Monthly P&L is now paired with a rolling 20-trade win rate line chart. The amber line against a 50% reference makes edge erosion immediately visible.
- Realized R-Multiple Over Time — A mixed bar + rolling 5-trade average line chart showing each closed trade's R-multiple in sequence. Green bars for wins, red for losses.
- Duration vs. Result Scatter — Each trade plotted by hold time (X axis, days) against R-multiple (Y axis), colored by win/loss. Reveals whether longer or shorter holds produce better outcomes for your style.
- Server-Side Computation — SQN Score (
mean(R) / stdev(R) × √n), Kelly Criterion (full Kelly formula), Win Rate Velocity (first vs. second half of period), and Expectancy Momentum are all computed in the API and returned alongside existing stats. No client-side estimation.
v1.0.26-Beta
Apr 7, 2026 7:50AMA broad release covering CSV trade import, Borg feed improvements, public profile upgrades, and a full local Docker E2E stack so the test suite no longer touches production.
CSV Trade Import
- Broker Presets — Import trades directly from Schwab, TD Ameritrade, IBKR, MetaTrader, Vanguard, and a Generic CSV format. Column mapping is handled automatically per preset — no manual field matching required.
- Preview & Validation — A preview step shows parsed trades before they're saved, with per-row validation errors clearly flagged. Duplicate detection via skip-duplicates mode.
- Pair Mode — Brokers that export separate open and close rows (rather than one completed trade row) are handled via pair mode, which stitches matching rows into a single closed trade.
- Default Side — Set a default direction (LONG or SHORT) for brokers that don't include side in their export format.
Borg Live Trade Feed — Status Badges
- Open / Closed Badges — Each trade card in the Borg Live Trade Feed now shows a green Open or gray Closed badge, so you can see at a glance which positions are still active without opening the detail modal.
Public Profile — Trade Thinking Notes
- Profile Note on Close — A new optional "Profile Note" field on the close trade modal lets you capture a post-trade reflection at the moment of closing. The note is separate from your private trade notes.
- Trade Thinking Section — Up to five of your most recent profile notes appear in a dedicated "Trade Thinking" card section on your public profile, with symbol, direction, and close date for context.
- Team Memberships Shown — Your Borg team name(s) now appear on your public profile below the display name. Multiple teams display with a separator dot.
- Holdings & Trades Grid — Current Holdings and Recent Closed Trades are now displayed side by side in a 50/50 grid instead of stacked vertically, making better use of wide screens.
Local E2E Docker Stack
- No More Production Hits — Playwright E2E tests now run against a local Docker stack (MySQL + Redis + FastAPI). Tests create, mutate, and delete real data without touching the live database.
- Auto-Teardown — The Docker stack spins up before the test run and is automatically torn down with volumes wiped when tests complete.
- API URL Auto-Detection — The SPA detects when it's served from localhost and routes all API calls to
localhost:8000automatically — no manual config needed per environment.
Improvements & Fixes
- Worker: RTH-Only Bars — The audit worker now uses regular-trading-hours-only price bars for stock alert evaluation, preventing pre/post-market prices from triggering alerts incorrectly.
- Alert Guard on Closed Trades — Creating an alert on an already-closed trade is now blocked at the API level, preventing orphaned alerts.
- Intraday Chart Timezone Fix — Intraday bars on the trade lifecycle chart were using millisecond timestamps incorrectly, causing bars to appear at wrong times. Fixed to use ISO date strings.
- Borg Team Switching — Fixed several issues with Borg team switching: stale team names, stat cards not updating, and the team dropdown closing unexpectedly after navigation.
- Worker: Skip Key in Summary — The audit worker summary object now always includes a
skippedkey even when both markets are inactive, preventing downstream key errors. - Google Auth Guard — The Google OAuth endpoint now returns a clean error if
GOOGLE_CLIENT_IDis not configured, instead of crashing with an unhandled exception.
v1.0.25-Beta
Apr 2, 2026 8:40PMA packed release with seven new features, a full Playwright E2E test suite, health monitoring infrastructure, and a deep fix pass across the worker, frontend, and backend.
Playwright E2E Test Suite
- 127 Spec Files, 402 Tests — Full behavioral test coverage across auth, CRUD, filters, modals, forex flows, alerts, calendar, post-mortem, CSV export, navigation, and settings.
- Quality Over Quantity — An Opus-level audit removed 427 low-value tests (52% of the original suite). Every remaining test exercises real user interactions with state changes and outcome assertions.
- Fixtures & Page Objects — API-based setup/teardown fixtures prevent test pollution. Reusable page objects for the New Trade form, Trade Modal, and Post-Mortem form.
Health Monitoring & Instant Recovery
- Uptime Webhook — A new webhook endpoint receives down/up events from external uptime monitors (UptimeRobot, Freshping, Better Uptime) and forwards notifications to the team via Slawk.
- Instant Recovery Detection — When the API comes back online, the app detects it instantly through the WebSocket reconnect cycle. No more waiting for the next five-minute poll.
- Offline Banner on Disconnect — A persistent API Offline banner now appears immediately when the WebSocket connection drops, instead of waiting for a failed data fetch.
Post-Mortem Redesign
- Universal Form — The post-mortem review form has been redesigned to work identically for stocks, forex, and CFDs. The old VSA-specific fields have been removed.
- New Fields — Emotional state selector (emoji-based), setup quality star rating, plan adherence toggle, key lesson text field, and a would-take-again flag.
Adaptive Chart Granularity
- Intraday Bars for Short Holds — The trade lifecycle chart now automatically selects the right bar size based on how long you held the trade. Under a day: 5-minute bars. One to two days: 15-minute bars. Three or more days: daily bars as before.
- Graceful Fallback — If intraday data is unavailable for a ticker, the chart falls back to daily bars so you always see something.
Trade Preferences
- Default Strategy — Set your preferred strategy in Settings. The New Trade form auto-selects it every time you open it.
- Default Trading Style — Set your default trading style (Day Trading, Swing, Position, or Scalping). Same auto-select behavior on the New Trade form.
Checklist Submit Guard
- Require All Items Checked — A new toggle in Settings lets you require that every entry checklist item is checked before a trade can be logged. A progress banner on the New Trade screen shows how many items remain.
- Smart No-Op — If you haven't configured any checklist items, the guard stays out of your way entirely.
Public Profile — Notes & Post-Mortem Graphs
- Notes Count Widget — A new stat in the public profile stats row showing your total notes count.
- Timeline Charts — Two new bar charts on public profiles: notes entered per period and post-mortems completed per period.
Improvements & Fixes
- Tags & Checklist Layout — Behavioral Tags, Entry Checklist, and Add-on position have been promoted to a full-width strip on the New Trade form for better visibility.
- Input Precision — Price inputs throughout the app now step at the correct decimal precision: 0.01 for stocks, 0.0001 for forex. Covers buy limit, buy stop, entry price, stop, and price target fields.
- Per-User Tags & Signals — Tag and signal names are now unique per user instead of globally. Two different users can now have identically named tags without errors.
- Worker: SHORT P&L Fixed — The audit worker was computing unrealized P&L with an inverted sign for SHORT positions. Daily loss alerts never fired for short traders. Now fixed.
- Worker: Account Alert Lifecycle — Stale ACTIVE account-level alerts could permanently suppress new alert creation. Fixed to properly transition through the alert lifecycle.
- Deep-Link Hard Refresh — Navigating directly to a URL like /trades/123 and hitting refresh no longer returns a 404.
- Borg View Fixes — Fixed missing timestamp and visible header dividers in the read-only Borg trade detail modal.
- Thesis Capture — The thesis tracking row is now hidden when no price target is set, instead of showing a misleading 0% bar.
v1.0.24-Beta
Mar 31, 2026 1:52PMA major release across every part of the platform. The forex trade entry form has been substantially improved, alerts gain a new pip-based trigger type, the app now supports full browser history navigation, and the Settings page has been redesigned with a sticky sidebar. A large wave of forex display fixes, audit worker reliability improvements, and public profile corrections round out the release.
Forex Trade Entry — Major Improvements
- LONG / SHORT Selection — Forex trades can now be entered as either LONG or SHORT from the New Trade form. Previously the direction was hardcoded to LONG.
- Entry Date & Time — Dedicated date and time fields for forex trades, with no market-hours restriction — forex is 24/5 and the form now reflects that.
- Stop Price & Target Price — The forex form now shows Stop Price and Target Price as actual price fields instead of raw pip numbers. The pip distance is calculated and saved automatically behind the scenes. Stop and target sit side-by-side for a cleaner layout.
PIP_DISTANCE Alerts
- Pip-Based Alert Triggers — A new alert type for forex trades. Set a pip distance and the alert fires the moment your trade reaches that many pips of profit from entry. Works for both LONG and SHORT. No need to manually calculate a target price first.
- Alongside Existing Price Alerts — PIP_DISTANCE appears alongside the existing PRICE alert type as a selectable option on the alert form for forex trades.
Browser History & URL Navigation
- Back & Forward Buttons Work — The app now uses real browser history. Navigate between screens and use the browser back/forward buttons just like any website.
- Bookmarkable Screens — Every screen has a clean URL path — bookmark your Dashboard, Trades list, Calendar, or any other screen and it reopens directly.
- Trade Deep Links — Link directly to a specific trade. Opening the link takes you straight to that trade's detail modal.
Settings Page Redesign
- Sticky Sidebar Navigation — A left sidebar stays fixed as you scroll through Settings, with the active section highlighted automatically. Click any link to jump directly to that section.
- Account Info at the Top — Your display name, username, email, and member-since date are now shown at the very top of the Settings page for quick reference.
- Default Instrument Type — Set your preferred default instrument (Stock or Forex) in Trade Preferences. The New Trade form opens to your preference every time.
- Profile Strategy Filter — Pill Select — The public profile strategy filter has been replaced with a cleaner pill/tag multiselect, with Select All / Deselect All toggle.
Quick-Add in New Trade Form
- Create a Strategy On the Fly — A "+ New Strategy" link below the strategy dropdown opens a mini-modal to create a strategy inline — name, description, and date. No need to navigate to Settings first.
- Create a Tag On the Fly — Same idea for tags. A "+ New Tag" button opens a mini-modal with a name field and 12-colour picker. The new tag is created and auto-selected instantly.
- Tag Descriptions — Tags now support an optional description field, available when creating from the quick-add modal or the Settings > Tags screen.
Closed Trade Improvements
- View Summary on Any Closed Trade — A "View Summary" button now appears on any closed trade's detail modal. Click it to open the full post-trade analysis — P&L breakdown, slippage bars, thesis capture — at any time, not just immediately after closing.
- Thesis Capture % Fixed — The "Captured" percentage in the Thesis section was incorrectly showing 100% on losing trades. It now correctly reflects how much of the intended move from entry to target you actually captured.
- Forex Close Modal Precision — Exit price, stop price, and the estimated outcome card in the close modal now display full forex decimal precision instead of rounding to 2 decimal places.
Forex Display Precision
- Full Precision Throughout — Forex prices now display correctly at up to 5 decimal places across the trade detail modal, close modal, and clipboard copy buttons. Previously many fields were rounding to 2 decimal places (e.g. showing $1.09 instead of 1.08523).
- Increment Arrows Fixed — Clicking the up/down arrows on forex price input fields now increments by one pip (0.0001) instead of one cent (0.01).
- Unrealized P&L for Open Forex — Open forex trades now show a live unrealized P&L and risk unit in the trade detail, calculated from the current price. Previously these showed as zero.
- Forex P&L Percentage — Small forex moves now display correctly (e.g. 0.001% instead of 0.00%) so single-pip moves are no longer invisible in the P&L column.
Improvements & Fixes
- TradingView Links Fixed for Forex — Chart links on forex trades now open the correct chart in TradingView. The Polygon symbol format was being passed through unchanged, resulting in broken links.
- Screenshots Open Fullscreen — Clicking a trade screenshot now opens it in a fullscreen viewer overlay instead of opening a new browser tab.
- Toast Notifications Always Visible — Success and error toast messages are now always visible even when modals are open. Previously they could appear behind an open modal.
- Null P&L Shown in Gray — When live price data isn't available, unrealized P&L now shows in gray rather than green, so the absence of data isn't mistaken for a profit.
- Signal Column Removed from Trade List — The Signal column has been removed from the trades table to reduce clutter. Signal is still accessible inside the trade detail modal and via the Setup menu.
- Public Profile Strategy Filter Fixes — Several bugs in the public profile strategy filter have been fixed. Deselecting all strategies now correctly hides all trades instead of showing everything.
- Audit Worker — Risk Alerts Fixed — Daily trade count and daily P&L limits in risk alerts were silently broken and not evaluating correctly. Both are now fixed and firing as expected.
- Audit Worker — Price Updates for All Users — Live price updates from the audit worker are now saved for all users, not just the primary scanner account.
- Editable Entry Date — The entry date on a trade is now editable from the trade detail modal. Changing it automatically re-fetches the Polygon technical indicators for the new date.
v1.0.23-Beta
Mar 25, 2026 9:20AMThe biggest release to date. Public shareable trading profiles, funding account tracking, freeform daily notes with a monthly notes list, multiple screenshot reordering, and a set of reliability fixes under the hood.
Public Trading Profiles
- Your Own URL — Set a username in Settings and get a shareable public profile at
my.sgnldk.com/u/yourname. Fully opt-in — profiles are off by default and only go live when you enable them. - Period Selector — Visitors can filter your stats by 1W, 1M, 3M, 6M, YTD, or ALL. The equity curve, monthly P&L chart, holdings table, and recent trades all update for the selected window.
- Privacy Control — A single toggle hides raw dollar P&L while still showing win rate, percentages, and R-multiples. Share your edge without exposing your account size.
- Strategy Filter — Choose which strategies appear on your public profile. Leave it open or restrict it to specific setups.
- Copy Link — A one-click copy button appears in Settings once your profile is live.
Funding Accounts
- Account Tracking — Log which funding account each trade was placed in — prop firm accounts, personal accounts, or any other structure. Add and manage accounts in Settings, then assign from the New Trade form.
- Protected Deletion — Deleting a funding account is blocked server-side if any trades reference it, so you can't accidentally orphan your history.
Daily Notes
- Freeform Day-Level Journal — Write a note for any trading day that isn't attached to a specific trade. Market conditions, mindset, pre-session plan — whatever you need to capture about the session as a whole.
- Grey Badge on Calendar — Days with a daily note show a Daily Note badge alongside the existing Journal and Post Mortem badges. Click to read or edit.
- Compose on Hover — Hovering any past weekday without a note shows a faint "+ Add daily note" prompt. Click the cell (anywhere outside a badge) to open the compose modal.
- Monthly Notes List — A chronological list of every daily note for the current month appears below the calendar grid. Each row shows the day, weekday label, and a two-line preview, with individual Copy buttons and a Copy All that formats the full month cleanly for pasting into a doc or sharing with a mentor.
Screenshot Reordering
- Drag to Reorder — When attaching multiple screenshots to a trade, left and right arrow buttons on each thumbnail let you reorder them before uploading. First and last arrows hide automatically so the controls are never confusing.
- Fullscreen Preview — A "view" link under each thumbnail opens the image at full size before you commit to uploading.
Improvements & Fixes
- Equity Curve Date Guard — A single trade with a corrupted
exit_date(e.g. year 0003) could previously compress your entire equity curve into an invisible sliver on the chart. All trades with dates before 2000-01-01 are now excluded from time-series charts. - S3 Upload Uniqueness — Screenshot S3 keys now include a UUID suffix, preventing rapid back-to-back uploads in the same second from silently overwriting each other.
- Audit Worker — Instrument Scheduling — Stock and forex trade processing are now gated independently. Stock trades are skipped outside regular market hours (9:30 AM–4:15 PM ET) even when the forex session is active.
v1.0.22-Beta
Mar 20, 2026 2:18PMThis release ships a full Calendar View screen — the largest feature addition to date. Browse your trading activity by month, drill into daily journal notes, review post mortems, and track streaks and best-day stats. The nav is also streamlined with a Setup dropdown, and the calendar is now your default landing screen after login.
Calendar View
- Monthly Calendar Grid - A new Calendar screen shows every trading day at a glance. Each day cell displays Journal, Post Mortem, and P&L badges so you can see your activity density without opening a single trade.
- Journal Modal - Click any Journal badge to open a day-level modal listing every trade note you wrote that day, with the symbol, entry date, and a View Trade button that opens the full trade details on top.
- Summary Strip - Six stat cards sit below the grid: Total P&L, Win Rate, Avg P&L, Streak, Days Traded, and Best Day — all computed for the month in view.
- Today Button - Jump back to the current month instantly. The button dims automatically when you're already there.
- Empty State - Months with no activity show a contextual message instead of a blank grid, with different copy for past vs. current months.
- Default Screen - The Calendar is now your landing screen after login instead of the Dashboard.
Mobile Responsive Calendar
- Dot Mode - On screens under 768px, badge pills are replaced with a compact dot strip (blue = journal, purple = post mortem, green/red = P&L) so each day cell stays readable on a small screen.
- Tap to Open - Tapping a day on mobile opens the journal modal if you have notes that day, otherwise the post mortem modal. A debounced resize listener re-renders automatically when you cross the breakpoint.
- Responsive Summary Strip - The six stat cards reflow to 2 columns on mobile, 3 on tablet, and the full 6-column layout on desktop.
Nav — Setup Dropdown
- Cleaner Navigation - Strategies, Tags, Checklist, and Signals have been moved out of the top-level nav and consolidated into a Setup dropdown (sliders icon), keeping the main bar focused on screens you visit daily.
Improvements & Fixes
- Escape Key Priority - Fixed a bug where pressing Escape with the trade details modal open on top of the calendar modal would close the calendar first. It now correctly closes the topmost modal first, every time.
- No More Dashboard Flash - Removed hardcoded active state on the Dashboard nav button that caused a brief flash of the wrong screen before JavaScript finished loading.
- Execution Indicators Restyled - The Execution Indicators section in the trade details modal has been visually updated to match the modal's design language, with a purple section header and tighter label/value typography.
v1.0.21-Beta
Mar 19, 2026 11:43AMThis release ships a full visual redesign of the trade details modal, unlimited multi-file screenshot uploads, and a series of audit worker reliability fixes. The modal redesign is the largest frontend change to date.
Trade Details Modal — Full Redesign
- 3-Column Layout - The Overview tab is now a persistent 3-column grid. Col 1 covers execution details (entry, exit, fees, slippage). Col 2 covers P&L and risk (live position for open trades, final P&L hero card for closed, stops, breakeven, price target). Col 3 covers context and psychology (stock indicators, confidence scales, admin info).
- Always-Visible Header - Symbol, strategy, tag pills, and entry checklist pills now live in the modal header — visible at all times without having to click into the Overview tab.
- Live P/L Card - Open trades show a live position card with current price, unrealized P/L, and distance to stop. Closed trades show a colour-coded Final P/L hero card (amount, %, and R-multiple).
- Edit Mode - Entering edit mode gives the modal a blue ring and header tint, and dims the tabs — matching the approved mockup. All fields editable inline without leaving the modal.
- Close Trade Modal - Also redesigned to match the new design language.
Unlimited Screenshot Uploads
- Multiple Files - Both the New Trade form and Close Trade modal now accept multiple screenshot files at once. Drop a batch, or pick them individually.
- Preview Grid - Each selected file shows as a thumbnail with a hover × button to remove it before uploading.
- Per-File Toasts - Uploads happen sequentially with individual progress notifications so you always know what's happening.
- Delete from Modal - Hover any screenshot thumbnail in the trade detail to reveal a delete button. Removes from S3, database, and the view instantly — no page reload.
Audit Worker Fixes
- Batch Update Fix - A missing trade ID in the forex stop-loss payload was causing every batch containing a stopped-out forex trade to fail silently. Fixed — all trades now update correctly.
- CFD Price Monitoring - NAS100 and XAUUSD stop monitoring now works correctly after the CFD routing fixes were extended to the worker's daily bars logic.
Copy Button Improvements
- Smart Visibility - Copy buttons next to N/A fields are now hidden automatically rather than copying useless placeholder text.
- Trailing Zeros - Price values copied to clipboard now preserve trailing zeros (e.g.
2.00instead of2).
v1.0.20-Beta
Mar 17, 2026 1:46PMThis release ships CFD and index instrument support for Vantage Markets traders, a new Entry Checklist feature for pre-trade discipline tracking, psychological and emotional scale inputs, and a series of trade audit worker reliability fixes.
CFD & Index Instrument Support
- Gold & Silver (XAUUSD / XAGUSD) - CFD metals traders on Vantage Markets can now log and track Gold and Silver trades. The platform correctly routes these to Polygon's forex endpoint using the
C:XAUUSDformat automatically. - NASDAQ 100 (NAS100) - Index CFD traders can now log NAS100 trades. The platform maps this to Polygon's indices endpoint (
I:NDX) for accurate price data and stop monitoring. - Additional Index CFDs - US500, US30, GER40 and other common broker CFD tickers are now recognised and correctly handled throughout the platform.
- Broker Ticker Input - You enter tickers the way your broker shows them. The platform handles the translation to the correct data source automatically — no manual formatting required.
Entry Checklist
- Build Your Checklist - New Checklist item in the nav. Create your personal pre-trade checklist items with a name and description — things like "Trend confirmed on HTF", "R:R minimum 1:2", or "No major news within 1hr".
- Attach to Trades - When logging a new trade, select which checklist items were met at entry. Multiple items can be attached to each trade.
- Visible in Trade Detail - Attached checklist items are displayed in the trade detail modal. In edit mode, toggle items on or off directly from the modal.
Psychological & Emotional Scales
- Psychological Confidence (1–10) - Rate your mental clarity and focus going into a trade. 1 = distracted or anxious, 10 = fully focused and clear-headed. Displayed on the trade detail alongside Setup Confidence.
- Emotional Scale (1–10) - Rate your emotional state at entry. 1 = fearful, revenge-trading, or euphoric. 10 = calm, neutral, and disciplined.
- Colour-Coded Sliders - Both fields use the same slider pattern as Setup Confidence — faded until touched, then colour-coded green (7–10), yellow (4–6), or red (1–3).
Forex Trade Detail Fixes
- Entry & Exit Time - Fixed a bug where entry time and exit time were displaying as N/A on all forex trades.
- Session Formatting - Sessions like "New_York" now display correctly as "New York".
- Field Visibility - Shares row correctly hidden for forex trades. Pip value row hidden for CFD instruments where it isn't applicable. Run ID row hidden when no run is linked.
Audit Worker Reliability
- CFD Price Monitoring - The audit worker now correctly fetches live prices for Gold (XAUUSD) and NAS100 trades using the right Polygon endpoints. Previously these were silently failing every cycle.
- Batch Update Fix - Fixed a bug where forex stop-loss trades were failing to batch update due to a missing trade ID in the payload, causing silent data loss on every affected cycle.
v1.0.19-Beta
Mar 16, 2026 09:24 AMThis release cleans up a massive amount of technical debt while shipping major quality-of-life updates to the UI, including true image previews for trade screenshots, a mandatory Trading Style classification, and robust backend fixes for Forex math.
Image Upload Previews & Fixes
- True Image Previews - Swapped text-only filenames for full-width thumbnail previews directly within the dropzones for both new and closed trades.
- Modal Reset Hotfix - Resolved a critical scope bug that caused the close-trade modal to freeze when resetting the screenshot preview.
- Format & Memory Safety - Enforced strict PNG/JPEG format validation and added object URL revocation to prevent memory leaks during screenshot replacements.
Forex Math & Modal Overhaul
- Target & Risk Computations - The engine now accurately derives risk units and break-even targets server-side using pip stops (handling both standard and JPY pairs).
- Auto Pip Value - Pip values are now calculated and saved automatically during trade creation for USD-quoted and USD-base pairs.
- Unified Layout - Merged Session, Lot Size, and Pip Value cleanly into the Execution & Entry section, replacing dollar distances with native pip targets.
Taxonomy & Team Dashboards
- Trading Styles - Added a mandatory "Trading Style" classification (Scalping, Day Trading, Swing, Position) to lay the groundwork for strategy analytics.
- Leaderboard Cleanup - Team members without qualifying closed trades in the rolling window are now excluded from the leaderboard entirely.
- Feed Sorting - Updated the team activity feed to strictly sort by last edited time for an accurate real-time log.
Technical Debt & Docs
- Legacy Cleanup - Permanently removed the deprecated 4GB legacy notes column across the API and worker.
- Router Patches - Fixed a URL prefix mismatch that was breaking frontend market data polling.
- Documentation - Pushed an 800-line overhaul mapping out the architecture, request lifecycles, and system gotchas.
v1.0.18-Beta
Mar 11, 2026 10:10 AMThis release ships the major "Borg" (Teams) infrastructure, introducing a shared, real-time team dashboard, collaborative filtering, and critical security patches to ensure data ownership across the collective.
The Borg Collective & Dashboard
- Real-Time Team Feed - Implemented a live-streaming blotter of teammate activity, locked to chronological order and synchronized via WebSockets.
- Interactive Leaderboard - Added a rolling 30-day leaderboard with active member filtering. Users can now click any teammate to instantly isolate their specific feed and post-mortem history.
- Dynamic Stats Widgets - Deployed a new stats engine calculating collective Win Rate, Profit Factor, Total R, and Active Members for the pod.
- Read-Only Deep Links - Integrated secure deep-linking, allowing members to view teammate trade details, notes, and screenshots in a restricted, view-only mode.
Security Hardening
- IDOR Vulnerability Patch - Implemented strict ownership verification across all trade mutation endpoints (PUT/DELETE), securing trades, post-mortems, and screenshots against unauthorized cross-user modifications.
- Ownership Guards - Refactored backend routing to enforce authorization boundaries, verified by a new comprehensive security test suite.
UX Refinements & Fixes
- Borg Configuration - Added a standalone settings section for Borg Alias (display name) updates and team status tracking.
- Login Recovery - Resolved a critical UI bug preventing the login screen from rendering correctly on certain viewport sizes.
- API Standardization - Cleaned up internal routing and standardized environment URLs for production parity.
- Precise Timestamping - Optimized the live feed to prioritize creation time over entry date for more accurate "just now" relative timing.
v1.0.17-Beta
Mar 10, 2026 10:09 AMThis release introduces the highly anticipated redesign of the New Trade modal, expands the media pipeline to support side-by-side entry and exit screenshots, and implements robust live-rate calculations for non-USD Forex pairs. It also ships a suite of UX refinements, including step-by-step toast processing and price-aware alert guards.
New Trade Screen Redesign
- Layout Overhaul - Refactored the modal into a modern 3-column grid (Sizing & Entry, Risk & Target, Context & Logic) with a full-width bottom row for the journal and screenshot dropzone.
- Native Asset Toggle - Replaced the clunky JS dropdown with fast native HTML toggle buttons for Stock/Forex.
- Isolated Submission Logic - Payload creation splits into two independent branches, ensuring zero cross-contamination of asset-specific fields.
- Required Field Validation - Built 17 new backend tests to enforce API constraints, while dynamically toggling HTML required attributes in the UI so hidden fields don't block submission.
Exit Screenshots & Media Pipeline
- Context-Aware Storage - Added a new
contextcolumn to the TradeScreenshot database model and updated the API to accept context via Form data. - Close Trade Integration - Added a drag-and-drop zone to the Close Trade flow. The screenshot POST request runs concurrently with the trade closure so it won't block the summary modal if the upload fails.
- Split Gallery View - Redesigned the Trade Details media section into a two-column layout showing "Entry" and "Exit" screenshots side-by-side with clickable thumbnails.
Live Forex Calculations
- Real-Time Rate Cache - Added a live rate cache to fetch and store real-time exchange rates from Polygon.
- Accurate Economics - Rebuilt forex calculation logic to use correct formulas for Pip Value, Risk, and Margin, accurately converting base/quote currencies to USD.
- Testing Coverage - Added 44 new tests to independently verify the pure math helpers and rate-routing logic.
UX Enhancements & Fixes
- Progressive Toasts - Upgraded the create/close trade flows to use step-by-step persistent toast notifications, preventing the app from feeling frozen during complex background tasks.
- Price-Based Alert Guards - Fixed a bug where Quick-Add alert buttons would stay disabled improperly. The UI now checks for active alerts using a strict mathematical price match instead of matching string names.
- Days Held Metric - Added a new "Days Held" calculation to the Trade Details modal.
- Infrastructure & UI - Cleaned up legacy development IPs, defaulting the base URL to production, and shipped initial structural HTML mockups for the upcoming Alpha Pod Teams dashboard.
v1.0.16-Beta
Mar 9, 2026 7:50 AMThe "Global Markets & Forex" update transitions SignalDeck into a multi-asset performance suite with full-scale support for Forex trading and instrument-aware analytics.
Forex Core
- New Asset Class - Full support for lot sizes, pip values, and leverage calculations.
- Smart Search - Currency pair resolution that handles Polygon's prefixing (e.g., "EURUSD" to "C:EURUSD") and substring matching.
- Session & DXY Tracking - Automatic market session tagging (London, NY, Asia) and DXY capture at entry for deep confluence analysis.
UI & Dashboard
- Global Filter Bar - New functional dashboard filter to instantly toggle views between All, Stocks, and Forex trades.
- Dynamic Forms - Reactive "New Trade" forms that toggle fields between "Shares/Cents" and "Lots/Pips" based on your symbol.
- Emerald UI - Redesigned "Trade Closed" summary with performance tracking, slippage progress bars, and emerald-themed styling.
- Visual Badges - FX and EQ indicators throughout the table and detail modals for clear asset distinction.
Intelligence & Reliability
- Self-Healing Metrics - Centralized financial logic that auto-recalculates 1.5R break-even points and pips with 5-decimal precision for FX.
- Direction-Aware Stops - Upgraded stop-breach detection that monitors Lows for LONGs and Highs for SHORTs, preventing false triggers during favorable gaps.
- Live Monitoring - Real-time bid/ask/midpoint polling every 15 seconds for all open FX positions.
- Standardized Performance - Profit Factor calculations now prioritize R-multiples to provide a consistent success metric across mixed portfolios.
v1.0.15-Beta
Mar 3, 2026 10:01 AMThe "Sentinels & Stability" update overhauls the notification management system and adds granular control over trade automation.
Alert Management
- Dismiss All Alerts - Clear the "Recently Triggered Alerts" table in one click with a new confirmation modal.
- Enhanced Alert Actions - Dedicated action column to jump straight to TradingView charts or trade details from notifications.
- Zombie Alert Cleanup - Active alerts are now automatically deactivated as soon as a trade is closed via batch update.
- Precision Stop Syncing - Switched to ID-based matching for stop alerts to eliminate de-syncs caused by decimal rounding errors.
Risk & Automation
- Independent Settings - Separate controls for auto-creating Stop Loss and Breakeven alerts are now available in User Settings.
- Daily Reset Logic - Account-level risk alerts now reset to inactive at the start of each trading day and map to the correct accounts.
- Admin Privacy - Superusers now only see their own alerts by default in the UI to keep the workspace clean.
Stability & UI
- Notifications Stability - Fixed a bug causing unexpected logouts when visiting the Notifications page.
- UI Refinements - Added clock icons to live price displays and updated record count text for better clarity.
- Under the Hood - Added 16 new system tests and resolved 404 errors in the alert audit worker.
v1.0.14-Beta
Feb 24, 2026 11:31 AMThe "Alert & Automation" update introduces institutional-grade notification logic and real-time risk monitoring to the SignalDeck engine.
Notifications & Alerts
- Real-Time WebSocket Delivery - Added a live notification system with audio alerts and toast warnings that trigger the moment price hits your targets.
- System Alert Monitor - Refactored the Notifications screen into a dual-table layout featuring real-time proximity tracking (distance to target) for all active monitors.
- Trade Automation - Opt-in to auto-set Stop Loss and 1.5R Breakeven alerts immediately upon trade creation.
- Smart Management - Triggered alerts now show a "Days Old" calculation, and you can "Mark as Managed" to cleanly clear them from your active view.
Risk & Account Engine
- Account-Level Guardrails - Set global alerts for daily loss limits and max trades per day to protect your capital across the entire portfolio.
- Overnight Risk Logic - The risk manager now includes unrealized P&L from overnight holds to ensure your daily limits account for all open exposure.
- Market-Aware Daemon - The audit worker now respects market hours and holidays, utilizing a non-blocking sleep loop to preserve resources during off-hours.
Workflow & Infrastructure
- Broker Management - Full CRUD support for managing multiple broker accounts and associating them with specific trades.
- Stamped Change Audits - Every trade edit is now tagged by its source (GUI vs. Audit Worker) for complete forensic transparency.
- Instant Pricing - Automatic Polygon.io price fetching on trade creation for immediate unrealized P&L calculation.
v1.0.13-Beta
Feb 17, 2026 1:00 PMThe "Redis Rigging" update is officially live on production, moving our dashboard from a 16s crawl to near-instant delivery.
Performance & Infrastructure
- 70x Speed Increase - Implemented a "Stale-While-Revalidate" caching layer. Dashboard and stats now serve from Redis in ~0.06s instead of blocking on the database.
- Infrastructure Hardening - Added Redis connection pooling with 500ms timeouts and a 512MB RAM cap to ensure server stability under heavy load.
- Live Telemetry - Upgraded
/healthto report real-time cache stats, including active keys and memory usage.
New Features & Refactors
- Share Screenshot - Generate public share links for trade summaries, hosted on our custom domain via S3.
- Database Cleanup - Completely removed the deprecated Trade Grade feature to simplify the scanner ingestion pipeline.
- Smart Auditing - Fixed race conditions during strategy creation and automated risk unit backfilling for closed trades.
GUI Polish
- Fixed Unrealized P/L color coding and exit date formats.
- Optimized form inputs to disable during submission to prevent duplicate data.
v1.0.12-Beta
Feb 12, 2026 2:30 PMMajor Features
- New "Post-Trade" Experience - Completely overhauled the trade close modal. Now features a soft-styled chart with entry/exit points, clear P&L positioning, visible broker fees, and a new execution rating system (Excellent/Good/Weak).
- Mobile Polish - Squashed 9 layout bugs for mobile/tablet users. Fixed filter bar, chat chips, and chart sizing for smaller screens.
Security & Stability
- Hardening - Centralized sanitization to block CSV injection and 12 new types of "prompt injection" attacks (DAN mode, jailbreaks, [INST] tokens).
- Auth Audit - Enforced strict ownership checks on every API endpoint to prevent cross-user data leaks.
Performance & Fixes
- Dashboard Speed - Refactored the stats service and optimized SQL to handle large datasets without choking.
- MySQL Fix - Patched a production-specific crash regarding DISTINCT queries.
- Batch Updates - Failed trades in a batch update now report specific errors instead of silently failing.
What's New in Detail
- > Post-trade modal: added chart, realized P&L, fees, and rating input
- > Security: added checks for [INST] tokens and XML role tags
- > API: Stats.py refactored from 711 lines to 298 lines
- > API: Added 41 new security tests (CSV + Prompt Injection)
- > UI: Fixed text sizing consistency in trade details modal
v1.0.11-Beta
Feb 10, 2026 7:56 PMMajor Features
- Polygon Indicator Tracking - Capture exact market conditions at entry/exit with SMA, EMA, RSI, and MACD indicators.
- Search by Trade ID - Find trades by ID or symbol in one search box.
- Fixed Performance Widgets - Tag and Signal widgets now show ALL entries with proper horizontal axes.
Security & Performance
- Chat endpoint hardened against prompt injection.
- Bounded context limits (30-50 trades max).
- Optimized DOM caching in pagination (11 fewer lookups per update).
- Auto-timestamps on trade edits (no more manual updates).
UX Improvements
- CLOSED status badge in post-close modal.
- Modal tabs scroll to top on switch.
- Better chat error handling when API fails.
- Distance to target price shown in post-close summary.
- Entry/exit indicator data visible in all trade modals.
v1.0.10-Beta
Feb 10, 2026 8:36 AMMajor Features
- New Trade Efficiency scatter plot visualizing MAE vs MFE in R-multiples.
- Click any point to drill down into trade details.
- 45-degree breakeven efficiency line helps identify optimal exits.
- Automatic MFE/MAE calculation when closing trades (no more manual backfill!).
- Performance by Signal widget - track which signals are delivering results.
- Performance by Tag reorganized into cleaner 2-column layout.
- Horizontal bar charts with green/red coloring for instant assessment.
- Sorted by total R-multiples to highlight best and worst performers.
- Round-trip slippage tracking - see total friction from entry to exit.
- Entry/Exit slippage visualization with 4 separate widgets.
- Trade Close Summary Modal - instant performance feedback on closure.
- Side-aware calculations (Long vs Short) for accurate metrics.
- Fixed "Risk Leakage" using weighted sums (corrected 9.85% → ~1.5%).
- Price Improvement and Limit Penetration tracking.
- Polygon.io integration for automatic OHLC data fetching.
- Added 16 missing fields - execution metrics, order details, fees, MFE/MAE.
Bug Fixes
- Resolved reports bug related to grade logic.
- Fixed frontend graph rendering for entry slippage.
- Added null safety checks to prevent dashboard crashes.
UI/UX
- Side-aware conditional formatting (red for unfavorable fills).
- "Intended Stop" capture in Close Trade modal.
- Enhanced Trade Details modal with Execution Metrics section.
v1.0.9-Beta
Feb 3, 2026 9:10 PMThis release hardens platform security by enforcing strict CORS policies, sanitizing inputs against injection attacks, and validating financial data integrity. Simultaneously, it improves system stability and performance through new database connection pooling, optimized dashboard indexes, and a migration to native date types.
Security Hardening
- Critical Patches - Fixed CORS credential hijacking, CSV/SQL injection, and DoS vectors.
- Input Validation - Enforced strict limits on financial data (no negative prices) and timestamps (no future dates).
- Internal Access - Whitelisted internal scanners and audit workers from rate limiting to prevent task failures.
Infrastructure & Speed
- Database Stability - Implemented QueuePool (20 persistent connections) to eliminate "Too Many Connections" crashes.
- Dashboard Optimization - Added 5 composite indexes for instant filtering and fixed N+1 query bottlenecks.
- Memory Safety - Capped analytics to the recent 5,000 trades to prevent OOM errors.
Bug Fixes & Frontend
- Data Integrity - Migrated to native SQL Dates and timezone-aware storage to resolve sorting and DST bugs.
- UI Stability - Fixed Chart.js memory leaks and resolved race conditions in the Trade Detail modal.
- Compatibility - Updated local automation scripts to respect new API rate limits.
v1.0.8-Beta
Jan 30, 2026 8:23 PMWe’ve pushed a significant update focused on real-time performance, directional trading support, and deep-risk analytics. Here is what’s new:
Major Features
- Real-Time Dashboard (WebSockets) - We have replaced the old 5-minute polling system with a WebSocket broadcast. Dashboard updates are now instant - no more waiting or manual refreshes.
- Full Long/Short Support - You can now filter the entire dashboard, trade history, and discipline charts by "Side" (Long vs. Short). P&L math and Tag Performance now accurately reflect directional filters.
- Monte Carlo Risk Metric - Added "Pessimistic Estimated Max Drawdown" to the dashboard. Idea taken from r/algotrading conversation. This runs 10,000 simulations of your trade history to estimate your 95th percentile tail risk. Includes an "Early Warning" pulse if your current drawdown exceeds the estimate.
Quality of Life & UI
- Scanner Bulk Copy - Added a "Copy All" button to scanner run details. This copies tickers in bracketed format [ABC,XYZ] for instant import into TradingView watchlists or LLM logic.
- Journaling Layout - The Journal Entry field in the New Trade form is fixed as a full-width row, giving you much more space to write.
- Manual Stop Utility - Added a copy button next to the Manual Override field for quick external use.
- Table List Cleanup - Cleaned up multiple tags breaking the table layout.
- "Unsaved Changes" Fix - Fixed a race condition where saving a trade (Ctrl+Enter) would sometimes falsely trigger the "Unsaved Changes" warning upon closing the modal.
Technical & Stability
- Database Scalability - Upgraded note storage to LONGTEXT to prevent crashes when trade notes exceed 64kb.
- Audit Performance - Optimized the Trade Audit API to prevent database lag and added batch_id tracking for better logging.
v1.0.7-Beta
Jan 27, 2026 1:43 PMThis update transitions SignalDeck to a professional-grade execution platform with full support for short positions and significant workflow improvements.
Full Short Selling Support
- Directional Math - Short trades now calculate profit correctly (price drops = gains). We’ve overhauled the math engine across the API and Dashboard.
- Trade Side Tracking - All trades now track position "Side" (LONG/SHORT).
5-State Trade Status Display
- We’ve implemented descriptive status badges to differentiate how trades are exited - OPEN | CLOSED | STOPPED OUT | NEVER FILLED | CANCELLED
Automated Risk Management
- 1.5R Break-Even - The 1.5R target is now auto-calculated on trade creation. It remains anchored to your initial risk, giving you a fixed target regardless of how you manage the stop later.
Productivity & UX Polish
- Hotkeys - Press E to enter Edit Mode in the modal; Ctrl + Enter to Save.
- Search Fixed - Eliminated the "Search Jump" bug; typing and editing ticker symbols is now seamless.
- Robust Filters - Your saved filters are now verified against the database on startup to prevent "empty screen" bugs from deleted strategies or tags.
- Precision Math - Fixed floating-point "drift" errors (e.g., no more $0.300000000004).
- Smart Alerts - "Unsaved Changes" alerts now only trigger when you actually have unsaved work in the journal or post-mortem.
Mobile & Sync
- Mobile Menu - Overhauled with faster, state-driven logic for a smoother experience.
- Audit Sync - Manual data refreshes now immediately update the "Market Data" timer.
v1.0.6-Beta
Jan 22, 2026 5:03 PMThis release is a massive "under-the-hood" overhaul. While we’ve added some great new features, the primary focus of v1.0.6 was hardening security, improving app stability, and preventing data loss.
New Features & Enhancements
- Strategy Deployment Tracking - Added a "Date Deployed" column to the table and a date picker to the Strategy Details modal.
- "Dirty Form" Protection - The app now detects unsaved changes in the Trade Details modal and prevents accidental data loss if you try to close without saving.
- Clipboard Data - Copying execution data now includes the Original Stop for better external journaling.
- Connectivity Alerts - Added offline/online listeners to instantly warn you if your internet connection drops.
Security & AI
- AI Hardening - Patched a vulnerability regarding Indirect Prompt Injection. The AI now strictly separates user notes from system instructions.
- XSS & CSV Protection - Fixed a cross-site scripting (XSS) vector in the Trades Table and added sanitization to CSV exports to prevent Excel Formula Injection.
Stability & Core Refactors
- "Zombie Chart" Fix - Implemented a "Clean-Slate" policy for charts. Switching views now synchronously destroys old charts, fixing visual glitches where old data would persist.
- Math Fixes - Resolved the "Division by Zero" crash ("Infinite R") when Entry Price equals Stop Price.
- Performance - Switched the UI engine to a Lazy Proxy selector. This reduces memory leaks and ensures the app stays fast even after long sessions.
- CSV Exports - Fixed the pagination bug - exports now correctly fetch up to 10,000 records based on your current filters.
Bug Fixes
- Fixed background tab sync drift.
- Fixed "null" strings appearing in price columns.
- Fixed race conditions when searching for parent trades.
- Empty fee inputs now save as null rather than 0.0 to keep average fee stats accurate.
v1.0.5-Beta
Jan 16, 2026 8:20 PMThis update resolves critical dashboard bugs and adds superuser capabilities, ensuring accurate stats across all strategies and seamless screen navigation.
Bug Fixes
- Dashboard Stats Accuracy - Fixed bug where dashboard showed zero trades for certain strategies despite trades existing in the database. Stats now correctly handle JOIN operations with tags/signals.
- Superuser Support - Superusers can now view dashboard statistics for all users' strategies, matching the behavior of the trades list.
- Screen Switching - Resolved issue where navigating between Dashboard and Trades History showed stale data with incorrect filters.
- Empty State Logic - Fixed false "No Trades" screen appearing when data exists. Added fallback verification and warning messages.
Improvements
- Time Display - Market Data timestamp now shows readable format (e.g., "14h 00m ago" instead of "840m ago").
- Error Handling - Added comprehensive logging and graceful degradation when backend inconsistencies occur.
- Data Verification - Dashboard now cross-checks stats with trades list to prevent incorrect empty states.
Technical
- Fixed SQLAlchemy subquery scope issues preventing discipline stats calculation.
- Improved query performance by eliminating duplicate row generation from JOINs.
- Enhanced frontend-backend discrepancy detection with automatic recovery.
v1.0.4-Beta
Jan 16, 2026 7:37 AMThis update focuses on System Reliability and Customization, featuring strategy protection, health monitoring, and a cleaner UI.
New Features
- Dynamic Audit Protection - New toggle in Strategy settings. When enabled, the Audit Worker updates prices but never auto-closes trades.
- API Health Monitor - Added a persistent offline banner. The app auto-recovers and syncs data once the server returns online.
- Mini-Pagination - Faster navigation via a compact bar added to the Trade History header.
Improvements & Fixes
- No Loading Flash - New sequence removes the "No Trades Found" flicker during initial data load.
- Filter Persistence - Fixed bug where refreshing the browser ignored active filter states.
- ID Shortcuts - Added hover-to-copy buttons for Trade and Run IDs in modals.
- UI & Labeling - Removed deprecated header buttons and renamed status to "Market Data".
- Backend Stability - Fixed route nesting and updated Strategy API for dynamic updates.
v1.0.3-Beta
Jan 14, 2026 9:52 AMThis update is all about Speed and User Experience. We've significantly optimized how the application loads data and added quality-of-life features for power users.
New Features
- Smart Data Loading - We've optimized the initialization process. The app now intelligently checks your profile first - if you have no trade history, we skip the heavy data fetching entirely. This means instant load times for new users and less bandwidth usage for everyone.
- Improved "Zero Data" Experience - No more staring at broken charts or empty grids! Added dedicated Empty State screens to the Dashboard and Trade History. If you have no trades (or your filters hide them all), the app now guides you on how to get started.
- Trade Detail Hotkeys - Power users rejoice! When viewing a Trade Details popup, you can now use keyboard shortcuts to navigate tabs - 1 → Overview, 2 → Journal / Notes, 3 → Post Mortem.
Improvements & Fixes
- Auto-Sync Fixed - Fixed a bug where the app was "too polite" and refused to auto-refresh market data because it incorrectly thought a popup was open. Background syncing is now much more reliable.
- UI Polish - Fixed the "New Data Available" warning banner (it was missing its yellow background color). Removed excess padding on the Trade Details popup tabs for a cleaner look. Increased the default size of the "New Note" text area for easier typing.
- Scroll Logic - Fixed an issue where logging in would sometimes leave you scrolled halfway down the page. You now start at the top, every time.
v1.0.2-Beta
Jan 13, 2026 9:51 AMWe've just deployed a significant update focused on data integrity and automation. No more guessing if your dashboard is up to date!
New Features
- Live Market Data Sync - The dashboard now intelligently detects when our backend audit worker completes a scan. When price updates or stop-loss hits are found, your dashboard will automatically refresh in the background without you needing to reload the page.
- Data Freshness Indicator - Added a "Last Updated" status light in the Trade History header. Green: Data is fresh (< 1 hour). Yellow: Data is aging (< 4 hours). Red: Data is stale (> 4 hours).
- Broker Fee Tracking - You can now record Buy Fees and Sell Fees (Commissions) for every trade. Added fields to the "New Trade" and "Close Trade" popups. Added a "Broker Fees" section to the Trade Details view (editable).
Improvements & Fixes
- Audit Logging - Backend now persists every scanner run to the database, ensuring a permanent audit trail of price updates and automated stops.
v1.0.1-Beta
Jan 12, 2026 10:41 AMThis patch focuses on cross-platform consistency, brand unification, and critical bug fixes for our S3 deployment.
UI & Branding
- The Great Cat Migration - We have officially retired the generic robot emojis. The SignalDeck Cat Logo is now unified across the Favicon, AI Chat Analyst, Post-Mortem suite, and Login screen.
- Enhanced Chat UI - Increased the default width of the AI Analyst window. This provides significantly better readability for long technical trade audits and mentor critiques.
System Fixes
- HTTP Copy Support - Fixed a critical bug where the "Copy Ticker" and "Copy Journal" buttons failed when accessed via the S3 HTTP website endpoint.
- Technical - Implemented a legacy fallback for navigator.clipboard to ensure copy logic works perfectly in "insecure" (HTTP) browser contexts.