SignalDeck logo - a minimalist cat icon representing the forensic trading engine. SignalDeck Changelog

Release History

Track the evolution of the Forensic Performance Engine.

v1.0.23-Beta

LATEST Mar 25, 2026 9:20AM

The 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:18PM

This 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:43AM

This 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.00 instead of 2).

v1.0.20-Beta

Mar 17, 2026 1:46PM

This 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:XAUUSD format 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 AM

This 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 AM

This 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 AM

This 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 context column 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 AM

The "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[cite: 694].
  • Smart Search - Currency pair resolution that handles Polygon's prefixing (e.g., "EURUSD" to "C:EURUSD") and substring matching[cite: 1240, 1241].
  • Session & DXY Tracking - Automatic market session tagging (London, NY, Asia) and DXY capture at entry for deep confluence analysis[cite: 703, 746].

UI & Dashboard

  • Global Filter Bar - New functional dashboard filter to instantly toggle views between All, Stocks, and Forex trades[cite: 1146, 1240].
  • Dynamic Forms - Reactive "New Trade" forms that toggle fields between "Shares/Cents" and "Lots/Pips" based on your symbol[cite: 659].
  • Emerald UI - Redesigned "Trade Closed" summary with performance tracking, slippage progress bars, and emerald-themed styling[cite: 824, 892].
  • Visual Badges - FX and EQ indicators throughout the table and detail modals for clear asset distinction[cite: 622, 638].

Intelligence & Reliability

  • Self-Healing Metrics - Centralized financial logic that auto-recalculates 1.5R break-even points and pips with 5-decimal precision for FX[cite: 1162, 1165].
  • Direction-Aware Stops - Upgraded stop-breach detection that monitors Lows for LONGs and Highs for SHORTs, preventing false triggers during favorable gaps[cite: 775, 785].
  • Live Monitoring - Real-time bid/ask/midpoint polling every 15 seconds for all open FX positions[cite: 370, 380].
  • Standardized Performance - Profit Factor calculations now prioritize R-multiples to provide a consistent success metric across mixed portfolios[cite: 1262].

v1.0.15-Beta

Mar 3, 2026 10:01 AM

The "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 AM

The "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 PM

The "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 /health to 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 PM

Major 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 PM

Major 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 AM

Major Features

Trade Efficiency Analytics
  • 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 Insights Dashboard
  • 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.
Execution Quality Engine
  • 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.
CSV Export Enhancements
  • 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 PM

This 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 PM

We’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 PM

This 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 PM

This 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 PM

This 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 AM

This 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 AM

This 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 AM

We'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 AM

This 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.