Release History
Track the evolution of the Forensic Performance Engine.
v1.0.58-Beta
LATEST 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.