更新日志

及时了解 Quantyx 的最新功能、改进和错误修复。 此处记录所有变更,并附有详细的发布说明。


2026年7月26日
v2026.07.26
2026年7月26日

TradingGoose Studio v2026.07.26

Release date: 2026-07-26

Features

  • feat(mcp): migrate Copilot endpoint to MCP SDK (ae7a545)
  • feat(mcp): expand local agent setup installer (34e9b56)
  • feat(watchlists): migrate watchlists to saved entity documents (1ef7151)
  • feat(watchlists): model lists as document containers (5ba2f2f)
  • feat(ui): use stable entity icon colors (4df9892)
  • feat(widgets): add contract-driven widget runtime (82e65de)
  • feat(dashboard): persist layouts as saved entities (edb0d42)
  • feat(copilot): add dashboard layout widget tools (390833d)
  • feat(dashboard): drive widgets from live layout documents (dae7850)
  • feat(dashboard): create default layout on demand (050e47d)
  • feat(widgets): respect read-only dashboard access (63c1ed0)
  • feat(copilot-tools): harden dashboard layout persistence (90f0440)
  • feat(widgets): handle unknown widget keys in copilot mutations (7346192)
  • feat(copilot-tools): support member dashboards and watchlists (0407da0)
  • feat(copilot): add watchlist create and rename tools (c3df801)
  • feat(copilot): accept full dashboard layout edit documents (8577504)
  • feat(copilot-tools): split dashboard layout editing into raw structures (90da628)
  • feat(copilot-tools): provision dashboard layouts on page load (95f5254)
  • feat(yjs): lock saved entity lists and redact MCP secrets (df39c6d)
  • feat(workspace): gate workflow variables by permissions (05a13e0)
  • feat(tradinggoose): hide data-chart drawings from Copilot (ee719d1)
  • feat(widget-contracts): tighten widget validation and error reporting (74cd92e)
  • feat(i18n): add catalog scanner for localization coverage (983c73e)
  • feat(i18n-catalog): expand scanner coverage and report controls (df937de)
  • feat(yjs): sync entity list widgets through realtime snapshots (887a63d)
  • feat(yjs): propagate workflow folder ids through list sessions (9ef293a)
  • feat(naming): generate available default names for new entities (a498eaf)
  • feat(indicators): sync color metadata through Yjs entity lists (f64a683)
  • feat(folders): promote direct children on folder delete (92404e1)
  • feat(workflows): hydrate workflow list from entity metadata (ec73297)
  • feat(editors): default unlinked editors to first entity (5823074)
  • feat(yjs): surface workflow descriptions in entity lists (54d2044)
  • feat(yjs): expose entity descriptions to dropdown search (fa159f0)
  • feat(yjs): sync MCP server metadata in entity lists (eecb620)
  • feat(workflow-list): sort workflows newest-first (70e7d10)
  • feat(skills): support live skill listings (e0aa357)
  • feat(copilot): stage mutation tools for review (4bb55c8)
  • feat(mcp): use personal API keys for device login (12d81b4)
  • feat(editors): back entity editors with Yjs sessions (d7f4850)
  • feat(workflows): export referenced skills from Yjs state (c39cd33)
  • feat(copilot): refresh state after server tool mutations (cce91db)
  • feat(mcp): issue device login keys from approval state (4ba4ee0)
  • feat(copilot): scope environment variable mutations (c2d5b9e)
  • feat(yjs): persist saved entity session edits (f73e357)
  • feat(copilot): support personal scoped credential reads (d812e46)
  • feat(yjs): persist workflow session state through the socket bridge (866dc2a)
  • feat(api-key): remove embedded ids from generated api keys (1fcbbff)
  • feat(auth): simplify MCP device login approval flow (1f4b72c)
  • feat(copilot): improve workflow editing and tool routing (dc709ab)
  • feat(workflows): persist workflow state to normalized tables (b0bb61a)
  • feat(workflows): preserve workflow variables during import and revert (1ee6511)
  • feat(workflow): rename workflow metadata without republishing state (2b2a14c)
  • feat(indicators): carry color through copilot entity documents (599ffd7)
  • feat(mcp-auth): rate-limit device login starts per requester (ef9edee)
  • feat(copilot-mcp): allowlist external server tools (5384643)
  • feat(api): add shared MCP rate limiting (c17de55)
  • feat(api-key): hash stored keys and simplify auth (546049e)
  • feat(auth): bind MCP approval to a user challenge (ecf2fc8)
  • feat(api-key): stop exposing raw API keys in lists (c7b7033)
  • feat(auth): sign MCP device login codes (74bd54e)
  • feat(workflows): load workflow state through the Yjs snapshot bridge (f422fdd)
  • feat(copilot): localize mention labels and mention search (0601a05)
  • feat(function): support workspace-scoped execution (95cce1c)
  • feat(copilot): localize implicit context labels (d5d5b19)
  • feat(navbar): portal header slots into targets (c090fa2)
  • feat(workspace): centralize current-user access checks and locale aut… (04d786b)
  • feat(workspaces): server-side workspace bootstrap (3ee0b85)
  • feat(auth): replace auth error cookie flow with callback route (656902d)
  • feat(global-navbar): add sidebar user menu trigger (ec7e755)
  • feat(i18n): canonicalize locale-prefixed routing (4de6406)
  • feat(nav): support authenticated public navigation (d35e854)
  • feat(workflow): allow editor run to select trigger variants (a958ea5)
  • feat(settings): bootstrap authenticated settings on app load (383d161)
  • feat(tradinggoose): apply preferred locale during bootstrap (6475649)
  • feat(oauth): normalize callback paths across auth flows (84e5d65)
  • feat(workflow): resolve editor trigger input from session snapshot (d6eedfb)
  • feat(workflow): run selected trigger blocks (36c9cd2)
  • feat(workflows): preserve trigger source in queued executions (2f9170c)
  • feat(workflow): unify workflow trigger resolution (d9f952e)
  • feat(workflows): require explicit trigger blocks for workflow runs (f1f1dde)
  • feat(copilot): record local completion usage (6ce007c)
  • feat(copilot): switch workflow edits to graph-only mermaid (ab2b3c1)
  • feat(import-export): bump TradingGoose export envelope to v2 (6ddbec7)
  • feat(copilot): clarify workflow edit topology semantics (5fa4e05)
  • feat(copilot): standardize entity-scoped tool contracts (cd10f30)
  • feat(copilot): persist staged tool review state (dcbde7d)
  • feat(copilot): enhance tool validation descriptions and auto-execute … (5a3debd)

Bug Fixes

  • fix(mcp): resolve TypeScript type conflicts and enhance API key handl… (0d45fe9)
  • fix: update environment variable schemas to enforce string values for… (8ee8626)
  • fix(mcp): enhance API key validation and preserve comments in JSONC c… (8fe6271)
  • fix(dashboard): converge layout list after mutations (da22694)
  • fix(dashboard): protect mutation endpoints (a5cac40)
  • fix(dashboard): project pending tab reorders (549d62b)
  • fix(dashboard): consume layout deep links (39cf927)
  • fix(dashboard): unlock acknowledged layout projections (352dc86)
  • fix(dashboard): enhance layout mutation tests with additional scenari… (748d198)
  • fix(yjs): pause raw socket during upgrade (f2fa7ec)
  • fix(yjs): defer websocket upgrade until session admission (a452ee2)
  • fix(yjs): buffer frames during session admission (a0a9d66)
  • fix(watchlist): refactor dropdown actions and improve accessibility (78f675f)
  • fix(watchlist): enhance table layout with fixed columns and improved … (b38184c)
  • fix(dashboard): route structure mutations through HTTP (9a48e17)
  • fix(dashboard): remove resize persistence error state (edffe95)
  • fix(data-chart): stabilize listing resolution (43f89f7)
  • fix(widget-lists): protect the final saved item (713478c)
  • fix(workflow): keep the node editor above floating controls (6413936)
  • fix(route): handle JSON parsing and add tests for dashboard structure (bf090d9)
  • fix(ws-handler): update message handling to support RawData and enfor… (1c9aa70)
  • fix(yjs): defer admission until websocket upgrade (320305e)
  • fix(yjs): preserve structured dashboard bridge errors (b9ea46d)
  • fix(yjs): preserve final saved entity (e21f0e7)
  • fix(tools): keep watchlist execution server side (484580e)
  • fix(copilot-tools): guard workspace entity deletes in transactions (3b9a348)
  • fix(watchlist): reject stale watchlist ids (bb338f1)
  • fix(watchlist): generate persisted item identities (2c824bb)
  • fix(widgets): preserve linked-field clear intent (0072ecd)
  • fix(widgets): respect entity editor access mode (caf545c)
  • fix(copilot): envelope listing search results (4aa039a)
  • fix(workflow): support reader Yjs sessions (3510750)
  • fix(indicators): stream live entity documents (62c4db9)
  • fix(sortable): derive announcements from item order (3b23e7b)
  • fix(watchlist): move nested listings to root boundary (634e9db)
  • fix(watchlist): persist imported names atomically (6aa90e1)
  • fix(copilot): harden collaborative editing boundaries (a704887)
  • fix(copilot): resolve layout tools by entity scope (2969966)
  • fix(mcp): align shared credential contract (f819e36)
  • fix(dashboard): track linked pair review fields (7571ea5)
  • fix(layout): enforce active layout invariant (9e10430)
  • fix(dashboard): preserve concurrent widget topology (75b5fc7)
  • fix(workspaces): merge invitation permissions atomically (e28760f)
  • fix(entities): make reviewed saves atomic (bdb85e9)
  • fix(watchlists): persist Yjs edits through realtime lifecycle (d5c9252)
  • fix(heatmap): aggregate all workspace watchlists (cd6ef8b)
  • fix(watchlists): allow deleting the final list (1f979f1)
  • fix(helm): enforce singleton realtime deployment (6b57063)
  • fix(yjs): restart disconnected sessions from fresh snapshots (32c7f55)
  • fix(copilot): stage reviewed dashboard edits before commit (21e0042)
  • fix(realtime): drain queued updates before shutdown (0a6dcc2)
  • fix(workflow): disable editing for reader sessions (93ea030)
  • fix(watchlist): persist selection in widget parameters (b30f13a)
  • fix(yjs): reject mutations on detached documents (112b235)
  • fix(dashboard): persist widget edits atomically (8f14b41)
  • fix(yjs): harden collaborative document ownership (f87c393)
  • fix(dashboard-layouts): validate create review base under lock (44af3e7)
  • fix(yjs): reconcile access and drain shutdown docs (10ddfd0)
  • fix(watchlists): remove replaced listing rows before persist (d60a26a)
  • fix(layout): reject invalid structure mutations (84df56d)
  • fix(yjs): preserve live document state during saves (1604c69)
  • fix(copilot): validate accepted creates in transactions (3df511b)
  • fix(dashboard): serialize layout lifecycle mutations (cba8727)
  • fix(watchlists): guard controls until documents are ready (3491a33)
  • fix(copilot): preserve owner scope for entity list reads (33f147c)
  • fix(watchlists): serialize root list mutations (24dffff)
  • fix(yjs): merge concurrent dashboard document updates (a3706bd)
  • fix(yjs): reject invalid dashboard widget updates (c5722e3)
  • fix(yjs): validate dashboard child updates at admission (140a0bb)
  • fix(yjs): flush persistence before document discard (57596ae)
  • fix(dashboard): consolidate layout structure mutations (56dd3fd)
  • fix(workflow-variables): gate variable editing by session permissions (5abd4a2)
  • fix(yjs): serialize forced reconciliation and watchlist validation (c77c179)
  • fix(i18n-catalog): align catalog reports with the default locale (0c647a1)
  • fix(workflows): make cleanup notifications best-effort (64d0f55)
  • fix(tradinggoose): use DB-backed custom tool and entity updates (1eeb288)
  • fix(workflows): decouple folder changes from metadata sync (3043893)
  • fix(yjs): refresh MCP servers after entity updates (b9dddec)
  • fix(list-mcp): select new servers after entity hydration (690a138)
  • fix(entity-list): keep entity list sessions aligned with db (df26f3e)
  • fix(widgets): remove stale selection reset effects (5f86c90)
  • fix(workflows): sync workflow list members through realtime helpers (6693fa4)
  • fix(yjs): keep workflow mutations durable on socket errors (0871bb1)
  • fix(widgets): validate requested editor entities (aa91d55)
  • fix(yjs): reseed live entity-list sessions on upgrade (e1d97b7)
  • fix(workflow-list): keep widget selection local (bdcb6c1)
  • fix(workflows): require realtime sync for list projections (6fed214)
  • fix(workflows): make live list sync best effort (a758f12)
  • fix(yjs): skip sync wait for read providers (36dabca)
  • fix(widgets): keep requested ids and selections in sync (0d88a3c)
  • fix(execution): respect deployed context for saved entities (517454d)
  • fix(workflows): hydrate and validate active workflow selection (7fbdb00)
  • fix(widgets): handle missing requested editor entities (d713e01)
  • fix(agent): pass deployed context through MCP tool discovery (291420d)
  • fix(workflow): tolerate missing workflow-linked entities (9b2cdcd)
  • fix(workflows): remove stale workflow cache (01538ed)
  • fix(workflows): persist folder metadata through yjs sync (cef60d3)
  • fix(widgets): clear stale selection after list updates (48c5370)
  • fix(mcp): default deployed discover context (fb52fc2)
  • fix(yjs): retry failed entity lists on reopen (441d3c8)
  • fix(folders): apply workflow metadata before delete (fbd0cc7)
  • fix(widgets): stop auto-selecting the first workflow (60dd078)
  • fix(yjs): drop rollback handling for entity publishes (432ece6)
  • fix(yjs): surface realtime-required errors for list refreshes (2ef7999)
  • fix(workflows): search descriptions and preserve duplicate source (d1503cd)
  • fix(workflow-widgets): resolve widget workflows through shared state (7988646)
  • fix(i18n): remove obsolete workflow auth copy (219c44d)
  • fix(ai): mark tool execution as deployed context (4fc63d2)
  • fix(ai): preserve deployed context flag (716946c)
  • fix(mcp): refresh tool list after server edits (92e0cf4)
  • fix(indicator-list): open source session read-only (ad9da06)
  • fix(mcp): invalidate discovery cache on refresh (02d0a99)
  • fix(yjs): enforce access mode on websocket sync (7dcca3c)
  • fix(workflow): preserve color-pair workflow selection default (36b544d)
  • fix(mcp): retry server list and keep selected status (9ef27b7)
  • fix(widgets): clear selection after deleting list items (e57a765)
  • fix(yjs): surface entity-list refresh failures (67376c1)
  • fix(yjs): discard stale entity-list projections (ce6acc3)
  • fix(workflow-list): use shared widget state for routing (8b9baa6)
  • fix(yjs): reopen disposable read sessions (a68e84e)
  • fix(tradinggoose): surface entity lookup failures (0511afe)
  • fix(tradinggoose): queue entity selections until listed (badc792)
  • fix(agent): fail agent blocks when tool hydration fails (94469e9)
  • fix(widgets): keep explicit entity ids exact (9732772)
  • fix(yjs): keep shared sessions retrying until live (a8e2fc6)
  • fix(workflow): stabilize workflow hydration on dashboard load (02ad9ba)
  • fix(yjs): ignore missing saved entities during bootstrap (fbd5b6a)
  • fix(yjs): serialize entity list reseeds (23143e3)
  • fix(workflow): remove registry-backed workflow activation (ef37afe)
  • fix(workflow): source workflow options from entity metadata (db2a179)
  • fix(workflow): sort workflows by newest createdAt (9da06b6)
  • fix(tradinggoose): stabilize MCP and workflow state (ca890fc)
  • fix(yjs): keep read sessions visible while reopening (b9527b0)
  • fix(entity-session): rename seedEntityListSession to replaceEntityLis… (3b9698d)
  • fix(yjs): keep shared session errors visible (d69e52e)
  • fix(mcp): reject reused device login approvals (fb8ff93)
  • fix(workflows): avoid loading deployed workflow variables (a3c4ea1)
  • fix(mcp): authenticate device login API keys (4ca9b51)
  • fix(copilot): apply reviewed tool changes atomically (0835d96)
  • fix(copilot): prevent stale server tool review acceptance (2b94ebe)
  • fix(copilot): handle malformed MCP batch entries (164ee90)
  • fix(copilot): prevent sensitive tool payload exposure (f34626b)
  • fix(copilot): reject empty JSON-RPC batches (3dcf4be)
  • fix(copilot): redact managed review secrets (6cbb24d)
  • fix(mcp): issue device login keys during approval polling (adb0dd4)
  • fix(workflows): preserve deployment metadata from saved state (bdf6e56)
  • fix(mcp): use shared personal api key auth (5a4b50b)
  • fix(workflows): preserve variables during direct yjs persistence (b87fc13)
  • fix(workflows): persist workflow names through Yjs state (4d0241d)
  • fix(copilot): read saved entities from bootstrapped Yjs state (fc436b4)
  • fix(mcp): consume device login approvals when issuing keys (e78ab77)
  • fix(yjs): fall back to direct state persistence on apply errors (d984f06)
  • fix(custom-tools): reject duplicate titles on update (ee6fd42)
  • fix(copilot): omit generated workflow ids from review staging (20ac127)
  • fix(copilot): require workflow variable ids in documents (8dfcd65)
  • fix(copilot): serialize server tool review acceptance (420d525)
  • fix(workflows): persist normalized workflow state (db6b07c)
  • fix(auth): preserve locale on invalid MCP authorization (62580b1)
  • fix(copilot): reject stale accepted server tool reviews (5c7c3c6)
  • fix(yjs): keep saved entity sessions noncanonical (b3f224c)
  • fix(workflows): preserve deployment metadata from live state (2813eda)
  • fix(yjs): separate saved entity draft persistence (ffebf07)
  • fix(workflows): handle missing normalized saved state (e60fe7c)
  • fix(copilot): scope environment variable writes to workspace (abf674f)
  • fix(api-key): require complete key format for lookup (abe9818)
  • fix(copilot): persist accepted reviewed entity updates (e9c16c0)
  • fix(api-keys): bind generated key material to stored id (935c221)
  • fix(copilot): pass workspace context to environment writes (e40590f)
  • fix(mcp): make device login delivery idempotent (f73a113)
  • fix(yjs): persist state before applying document updates (26809fb)
  • fix(yjs): refresh stale saved target snapshots (e8698a9)
  • fix(yjs): make saved entity persistence best effort (7ff5782)
  • fix(copilot): align contracts after staging rebase (127087c)
  • fix(copilot): align indicator runtime contracts (705863c)
  • fix(copilot): preserve MCP server secrets in documents (6d03e1a)
  • fix(yjs): apply snapshots before database persistence (10c32a2)
  • fix(copilot): normalize entity document fields (ce2b89a)
  • fix(mcp): require urls for URL transports (8f957ef)
  • fix(yjs): persist applied snapshots from live documents (24a6c27)
  • fix(api-key): reject malformed keys before lookup (aa089d3)
  • fix(copilot): keep review acceptance bound to the staged execution co… (138ca5b)
  • fix(yjs): stop deleting live sessions during cleanup (f273641)
  • fix(yjs): restore saved entity state from db on materialization failure (c98e8a6)
  • fix(copilot): deny inaccessible workspaces in server tools (2031c81)
  • fix(mcp): limit delivery retries when polling device login (5495906)
  • fix(yjs): restore workflow state after persistence failure (102ed5e)
  • fix(workflows): load normalized workflow state consistently (4bbe32f)
  • fix(yjs): preserve refresh error cause (02f9b0d)
  • fix(mcp): use configured base URLs in installer flows (c02534f)
  • fix(ui): clear help modal scroll timer (e549b39)
  • fix(auth): generate MCP api keys at approval time (26c0803)
  • fix(mcp): scope public MCP login starts to the deployment (421f7aa)
  • fix(mcp): harden device login approval challenge handling (8b9764c)
  • fix(copilot): stabilize mention submenu reload deps and add staging c… (a830a01)
  • fix(custom-tools): treat titles as canonical tool names (effdcaa)
  • fix(executor): resolve dynamic MCP tool ids at runtime (b5b16e6)
  • fix(agent): require exact skill ids for skill loading (1308d70)
  • fix(function): allow workspace-scoped function execution (19fa88c)
  • fix(copilot): resolve custom indicators by runtime id (b9f8653)
  • fix(custom-tools): separate runtime ids from entity ids (b806923)
  • fix(copilot): keep deleted mentions removed (eff1fb9)
  • fix(copilot): normalize final streamed messages (42db0b8)
  • fix(copilot): filter markdown renderer node props (809929e)
  • fix(agent): preserve custom tool display names (6d22b31)
  • fix(copilot): dedupe docs context mentions (ddc1ff7)
  • fix(function-execution): authorize requests by workflow workspace (1e52cbb)
  • fix(mcp): persist canonical tool identifiers (a842394)
  • fix(mcp): use explicit server and tool params for execution (c19d3b8)
  • fix(copilot): treat punctuation as mention boundaries (14add5b)
  • fix(mcp): preserve selected tool IDs for execution (1744f50)
  • fix(copilot): retain contexts for repeated mentions (978fc35)
  • fix(custom-tools): allow updates with existing titles (ffcf698)
  • fix(copilot): reuse mention boundary detection (4d54091)
  • fix(copilot): refresh selected mention contexts (76cd8c9)
  • fix(custom-tools): normalize function schemas (0225d41)
  • fix(custom-tools): normalize API custom tool titles (3a0d91d)
  • fix(copilot): include log triggers in mention search (a2c69bf)
  • fix(agent): preserve custom tool ids with display names (aeaa099)
  • fix(copilot): preserve duplicate mention insertion order (72f9efa)
  • fix(trace-spans): type tool call ids in trace output (2f69886)
  • fix(workflows): reject invalid custom tool runtime ids (8da6e55)
  • fix(function-execute): require write access for workspace execution (2f67321)
  • fix(auth): pass server user into workspace socket provider (446bf56)
  • fix(socket): improve logging for socket authentication errors (033ef6f)
  • fix(workspace): simplify user prop handling in WorkspaceLayoutClient (78406f6)
  • fix(auth): thread authenticated user id through navbar (28a4fc6)
  • fix(auth): use authenticated user id for workspace dialogs (74428e3)
  • fix(workspace-invite): prevent self-invites (a994211)
  • fix(auth): propagate authenticated email through navbar (0bacd78)
  • fix(auth): preserve auth recovery during workspace permissions fetch (7ac3a5f)
  • fix(workspace-permissions): restore current user row in invite modal (01e3acb)
  • fix(auth): wait for client auth before loading workspaces (cda6e54)
  • fix(auth): reset workspace redirect state per user access key (8433541)
  • fix(auth): avoid refetching session-recovery permissions (e699d94)
  • fix(auth): gate auth-dependent queries until session matches user (b338d17)
  • fix(workspace): gate permissions UI on matching session user (c3deb6b)
  • fix(workspace): gate workspace data on client auth (86b9d93)
  • fix(auth): guard workspace data on stable session state (f66e7df)
  • fix(navbar): keep the latest header owner active (5337db1)
  • fix(auth): scope cached billing queries by user id (c6449e6)
  • fix(workspace): use workspace user identity in invite dialogs (e8c66ca)
  • fix(auth): pass workspace user to global navbar (6914ca9)
  • fix(workspace-auth): require inherited workspace sessions in nested p… (0ff8d2c)
  • fix(workspaces): include workspace owners in access flows (6af2500)
  • fix(workspaces): allow same-origin callback URLs (153fa81)
  • fix(auth): scope workspace permissions to the active user (a38c8ec)
  • fix(workspace): derive callback origin from request headers (dd5a3dc)
  • fix(workspaces): require admin access before member deletion (d578cb9)
  • fix(permissions): treat workspace owners as admins (2c44f3f)
  • fix(auth): standardize reauth callbacks and permission state checks (aff9f34)
  • fix(workspaces): roll back failed default workflow seeding (ae08aed)
  • fix(workspaces): align admin access with workspace ownership (036b893)
  • fix(auth): reuse workspace access checks (f58311e)
  • fix(workflows): centralize workflow permission validation (c3c1d75)
  • fix(workspace-permissions): route missing sessions into auth recovery (684e8e3)
  • fix(workspace): redirect workspace roots without bootstrapping (7cecb3a)
  • fix(copilot): treat workspace owners as workflow admins (cc609d1)
  • fix(workspace): bootstrap root workspace on the server (1b73042)
  • fix(auth): normalize login callback URLs from request headers (8670675)
  • fix(auth): add reauth redirect handling for stale session cookies (f13cf41)
  • fix(workspaces): normalize created workspace payloads (b016ba3)
  • fix(workspaces): clean up seeded workflow on create failure (208f27d)
  • fix(workspaces): handle Yjs seeding failures during workspace creation (21b1597)
  • fix(auth): use canonical app session for socket token route (8b4f5ba)
  • fix(auth): simplify unauthorized session handling (9f140d3)
  • fix(auth): block login form until reauth cleanup finishes (e43730b)
  • fix(auth): remove session cookie cache (4bea925)
  • fix(auth): handle failed session creation by forcing reauth cleanup (31ac45c)
  • fix(auth): remove reauth redirect flag and guard cleanup retries (b450439)
  • fix(auth): route session errors through reauth cleanup (1eeb731)
  • fix(auth): route auth provider failures through error flow (98314ea)
  • fix(auth): preserve callback through auth error flows (1c0c60c)
  • fix(auth): handle reauth cleanup and error callback cookies (b0eb4ee)
  • fix(auth): unify session recovery and SSO error handling (4bcd797)
  • fix(auth): route workspace permissions auth failures through recovery (6316b53)
  • fix(auth): handle login reauth cleanup (e3b2790)
  • fix(auth): remove forced uncached session reads (87493a2)
  • fix(auth): use deployment-aware Better Auth cookies (4aa2996)
  • fix(auth): centralize auth cookie cleanup (3508637)
  • fix(auth): route login-page sign-out failures through reauth cleanup (b2d9497)
  • fix(auth): redirect authenticated users from auth entry pages (14a84ea)
  • fix(proxy): let auth entry routes reach their pages (843bc9a)
  • fix(auth): persist locale through signup verification (6239f95)
  • fix(urls): normalize configured app URL helpers (c72eb31)
  • fix(email): preserve transactional text in fallback delivery (85858af)
  • fix: handle proxy auth cleanup and preview base URL fallback (db26952)
  • fix(tradinggoose): remove preview-only base URL fallback (015422a)
  • fix(auth): log fallback sign-out failures (abda5e7)
  • fix(auth): use browser origin for auth client (ed45d06)
  • fix(i18n): add localized not-found route (5cd9085)
  • fix(billing): settle deleted Stripe subscriptions in webhook flow (06ff221)
  • fix(billing): avoid resetting onboarding usage for entitled subscript… (8d8ebad)
  • fix(billing): ignore orphaned deleted stripe subscription events (118f936)
  • fix(db): enforce unique stripe subscription ids (4b9991c)
  • fix(billing): sync usage limits on subscription deletion (4aa8800)
  • fix(db): enforce unique stripe subscription ids (ead4cd1)
  • fix(billing): reject missing and duplicate deleted subscriptions (83263b1)
  • fix(billing): skip deleted subscriptions without local rows (d677b2a)
  • fix(billing): allow duplicate Stripe subscription rows (7be7d2c)
  • fix(billing): settle subscription webhooks by Stripe id (63bf9f4)
  • fix(billing): sync usage limits from settled subscription (620602f)
  • fix(billing): enforce unique Stripe subscription lookup (5a03c10)
  • fix(billing): use atomic upsert for enterprise subscriptions (3205733)
  • fix(subscription): use stripe subscription id for personal upgrades (1918137)
  • fix(workflow): improve workflow summary tooltip rendering (e90271a)
  • fix(workflows): resolve triggers from workflow graph edges (7d29dc8)
  • fix(settings): keep general settings loading state in sync (80bcf4e)
  • fix(i18n): honor stored locale for authenticated locale-prefixed routes (303916a)
  • fix(workflows): ignore chat-only triggers in editor Run (cd5f668)
  • fix(tradinggoose): scope locale and settings state by user (8fb44b9)
  • fix(tradinggoose): keep locale routing aligned with auth state (103027e)
  • fix(workflows): resolve selected trigger configuration errors (7d08dca)
  • fix(auth): preserve callback pathname during recovery flows (f695823)
  • fix(auth): redirect authed users to their preferred locale (83b0a18)
  • fix(socket): keep auth error handling on the latest pathname (8c48579)
  • fix(workflows): preserve input trigger snapshot values (a6c9724)
  • fix(workflow): stabilize workflow test execution (bde5790)
  • fix(workflows): preserve queued trigger types (6b16362)
  • fix(workflows): require live start block for queued webhook and sched… (2084b76)
  • fix(workflows): remove test-input Yjs special case (14d62ec)
  • fix(workflow): block chat-only workflows from editor run (18ca19d)
  • fix(workflows): select trigger branch for editor Run (13cd70f)
  • fix(workflows): resolve queued trigger identity from workflow state (6697e15)
  • fix(workflows): reject chat triggers in editor runs (eacc094)
  • fix(workflows): relax manual queue trigger matching (95520c1)
  • fix(workflows): use editor test trigger for client workflow execution (6e16466)
  • fix(workflow): preserve trigger identity and live run input (74e98db)
  • fix(workflows): align trigger selection with trigger-mode blocks (7f5b2b0)
  • fix(workflows): align run_workflow trigger handling (196ec1a)
  • fix(workflows): handle missing trigger blocks consistently (123de2a)
  • fix(workflows): preserve resolved trigger input for copilot runs (1247ccc)
  • fix(schedules): delete orphaned schedule rows (cb2d7c8)
  • fix(copilot): update context usage handling and remove unnecessary bi… (1313e33)
  • fix(copilot): refactor tool approval logic and update related tests (bb07e1e)
  • fix(copilot): remove local completion billing logic and update contex… (f276f41)
  • fix(copilot): remove color field from indicator and workflow schemas,… (9575a4c)
  • fix(copilot): update copilot usage handling and improve test coverage… (829a404)
  • fix(copilot): introduce workflow graph document format and update rel… (a048520)
  • fix(copilot): enhance edit_workflow tool with semantic validators and… (0aa0573)
  • fix(copilot): update editWorkflowServerTool tests to reflect changes … (00a9286)
  • fix(copilot): enhance editWorkflowServerTool with block position pres… (d6042ce)
  • fix(copilot): update inline tool call tests and logic for review cont… (055e979)
  • fix(copilot): improve subgraph node handling in parseVisibleWorkflowE… (45e35ae)
  • fix(copilot): remove unused color properties from entity types and up… (3b8b321)
  • fix(copilot): update edit_workflow description for clarity on block d… (2901b71)
  • fix(copilot): remove color property from indicators and workflows; up… (c47905b)
  • fix(copilot): remove color property from indicators and workflows; up… (39ae658)
  • fix(copilot): update workflow document formats and descriptions; adju… (879fc59)
  • fix(copilot): enhance workflow validation and update document format … (ff73078)
  • fix(import-export): update export version from 2 to 1 across various … (0f51f24)
  • fix(export): update export version from 2 to 1 in various components (86dc211)
  • fix(copilot): enhance workflow documentation and validation; update t… (ceadc8e)
  • fix(copilot): implement billing completion usage reporting and update… (b9ec108)
  • fix(copilot): enhance completion usage reporting with validation for … (7e0e3ed)
  • fix(import-export): update tests to ignore generated fields in transf… (8389863)
  • fix(copilot): refine workflow graph handling and improve Mermaid docu… (a791d79)
  • fix(copilot): improve error handling in completion usage reporting an… (8a02389)
  • fix(copilot): rename commitLocalCopilotCompletionUsageReports to mirr… (55610d1)
  • fix(copilot): consolidate usage reservation commits (867ac61)
  • fix(workflows): allow condition source handles (32cd19a)
  • fix(copilot): forward workspace id in context usage (c4b707d)
  • fix(copilot): refine tool parameter handling and enhance error messages (e13fdc1)
  • fix(copilot): remove obsolete custom tool schema tests and update str… (1e28ba7)
  • fix(copilot): propagate workspace context through server tools (921f770)
  • fix(copilot): update streaming logic and refine tool execution handling (f44b341)
  • fix(copilot): standardize tool argument handling and remove legacy to… (973b169)
  • fix(copilot): enhance tool argument handling and implement workspace … (3c65932)
  • fix(copilot): update todo execution state handling in tests and state… (3202eb0)
  • fix(copilot): update showPlanTodos logic to reflect only incomplete t… (c5e515c)
  • fix(i18n): update waitlist text and format JSON for consistency (0790dbc)
  • fix(copilot): enhance tool validation and auto-execution logic for ac… (54e77de)
  • fix(copilot): streamline plan todos hydration by filtering for succes… (73da07a)
  • fix(copilot): refactor tool execution logic and enhance message handl… (d1b3edb)
  • fix(copilot): enhance tool call handling by ensuring unique tool call… (3d2a5d3)

Refactors

  • refactor(dashboard): route layout mutations through API (565d357)
  • refactor(dashboard): clarify equal size fallback (fc82229)
  • refactor(watchlists): move document validation contracts (8044cc4)
  • refactor(watchlist): localize params persistence (ceea440)
  • refactor(copilot): pass verified create context to entity creators (7b4ae01)
  • refactor(widgets): remove legacy widget validation layers (386c14e)
  • refactor(copilot-tools): move effective dashboard layout resolution i… (1e694cb)
  • refactor(copilot): canonicalize entity and layout ownership (7f0918f)
  • refactor(layout): normalize dashboard persistence boundaries (da95b43)
  • refactor(copilot): unify dashboard layout tool results (42efd96)
  • refactor(entities): remove obsolete REST save paths (4c6f78b)
  • refactor(watchlists): remove obsolete quote proxy (180f068)
  • refactor(copilot): enforce canonical entity document boundaries (23c8bb3)
  • refactor(listing): remove dashboard hydration helpers (a25b2d1)
  • refactor(layout): remove obsolete inline layout normalizer (cc3b0a7)
  • refactor(dashboard): simplify layout client state (17ef71d)
  • refactor(copilot): scope dashboard mentions to owner list (3ff78c0)
  • refactor(yjs): route workflow edits through session transactions (555e77b)
  • refactor(yjs): centralize saved-entity deletion flows (b70547d)
  • refactor(tradinggoose): simplify entity and copilot access flows (07c0abb)
  • refactor(i18n-catalog): split scanner internals into focused modules … (2d83d1e)
  • refactor(workflow-tree): remove unused folder tree props (1d7e8f4)
  • refactor(mcp): route server renames through saved entity fields (7702e61)
  • refactor(yjs): share entity sessions and simplify editor selection (fcc1bef)
  • refactor(widgets): source editor selectors from yjs entity lists (b165c90)
  • refactor: rename persisted helper APIs (827c9f5)
  • refactor(widgets): simplify workflow list hydration (36f54e6)
  • refactor(workflows): decouple list-member sync from yjs snapshots (aabe204)
  • refactor(yjs): reseed entity lists from db snapshots (d70bc4f)
  • refactor(workflow): simplify workflow session fallback handling (aa0d277)
  • refactor(workflows): remove marketplace publishing state (a997a76)
  • refactor(workflow-selection): remove widget-scoped selection syncing (d7e9aca)
  • refactor(tradinggoose): replace MCP server store with entity list state (292d628)
  • refactor(ui): remove redundant delete selection resets (e529849)
  • refactor(tools): move async tool lookup to package entrypoint (4e5186e)
  • refactor(workflows): resolve workflow state from routed session (0fb4299)
  • refactor(workflows): remove active-workflow coupling (301bc73)
  • refactor(workflows): remove template handling from deletions (b26acc6)
  • refactor(skills): remove the redundant skills store (8c5e816)
  • refactor(tradinggoose): read entity lists from the database (4956a4e)
  • refactor(tradinggoose): remove template subsystem (10dc79c)
  • refactor(yjs): simplify saved entity state sync (321e6c6)
  • refactor(copilot): make MCP tool exposure explicit (6d91300)
  • refactor(operations): prefetch existing workspace entities during upsert (17cff32)
  • refactor(workspace): split entity writes and clean up Yjs sessions (f668a29)
  • refactor(copilot): reuse centralized mention empty states (8afafe8)
  • refactor(mcp): use hyphenated dynamic tool ids (beedc33)
  • refactor(indicators): remove runtime indicator names (7d1b849)
  • refactor(workspace-permissions): thread authenticated user id through… (ff69df9)
  • refactor(workspace-permissions): simplify initial loading fallback (e91f977)
  • refactor(auth): use server-authenticated workspace context (15a4236)
  • refactor(auth): stabilize login reauth callbacks (ea05100)
  • refactor(proxy): use Better Auth session cookies (c11bc64)
  • refactor(tradinggoose): resolve canonical URLs at runtime (301b40d)
  • refactor(billing): centralize Stripe subscription lookup (2620ba0)
  • refactor(environment): simplify environment store state (fc412f0)
  • refactor(workflow): derive run target from awareness (128ce47)
  • refactor(workflows): simplify trigger helpers (94544e4)
  • refactor(workflows): rename workflow start target to trigger target (1c38d7c)
  • refactor(workflow): centralize executable workflow data (504ca5d)
  • refactor(copilot): extract completion billing helpers (94ce3e7)
  • refactor(copilot): remove legacy assistant toolCalls state (068ce4f)
  • refactor(copilot): simplify workflow document validators (bbad92a)

Documentation

  • docs(changelog): document July 24 changes (28ec5c9)
  • docs(changelog): add feat/copilot-tools staging review (16046d5)
  • docs(changelog): document independent layout document owners (c01ac3e)
  • docs(changelog): add staging entry for i18n tooling (536e0f7)
  • docs(changelog): add July 1 branch summary (e5846de)
  • docs(changelog): document entity selection validation (36cad27)
  • docs(changelog): note shared Yjs and workflow retry behavior (a70c23f)
  • docs(changelog): note workflow list newest-first ordering (24d9788)
  • docs(yjs): clarify live list snapshot freshness (3cfb320)
  • docs(changelog): refresh July 1 entry (15b20fb)
  • docs: update project agent testing guidance (82adab9)
  • docs(mcp): clarify device grant retry window (9d332c6)
  • docs(changelog): add June 24 Copilot MCP branch summary (e5bc23e)
  • docs(api-key): remove API_ENCRYPTION_KEY references (980388e)
  • docs(changelog): add June 23 changelog (73cedfa)
  • docs(changelog): add June 11 2026 branch summary (3f755b0)

Other Changes

  • style(ui): widen API key dialogs (3f43381)
  • test(dashboard): cover layout activation convergence (53aadda)
  • style(watchlist): format list actions trigger (5a40d12)
  • style(widgets): trim legacy test wording and formatting (a934a5b)
  • style(workflow): format identifier validation deps (1b5dbf8)
  • perf(watchlists): bootstrap identities from root rows (65940e0)
  • style(helm): normalize yaml whitespace (c6d830c)
  • test(copilot): align saved entity mutation expectations (95e0f30)
  • test(yjs): consolidate entity apply-state coverage (8390188)
  • test(widgets): consolidate layout widget coverage (5342e57)
  • build(helm): require internal API secret for realtime (9e92671)
  • build(helm): require longer internal api secret (b1049fc)
  • style(i18n): align catalog tooling with biome (9455388)
  • test(yjs): update snapshot bridge failure coverage (8bf246b)
  • style(copilot): wrap copilot registry assertions (560b549)
  • style(mcp): reorder authorize page imports (15af5d3)
  • style(copilot): wrap credential prompt metadata (6bc4146)
  • test(copilot): update test files (8fedcb9)
  • test(copilot): cover entity document normalization (479e585)
  • test(trading): cache the order route handler in the test (52b081a)
  • style(yjs): reformat snapshot bridge import (477e278)
  • build(config): remove API_ENCRYPTION_KEY from deployment samples (893d6a2)
  • style(ui): normalize tool call and copilot route formatting (c5949b4)
  • chore: restore recovered local changes (91d60d0)
  • test(agent): remove stale MCP agent handler coverage (b0c1156)
  • test(custom-tools): reject function names in imported schemas (1554689)
  • test(copilot): align custom tool schema fixture (57bf4b6)
  • test(generic-handler): remove stale mcp id resolution coverage (9268e89)
  • style(custom-tools): format entity state import (360aa97)
  • style(tools): sort utility imports (80ffffa)
  • style: normalize formatting in agent and indicator files (f012aa9)
  • style(indicators): format runtime imports (cb97136)
  • test(custom-tools): align export schema fixture with canonical shape (b78c5de)
  • test(auth): adjust auth error handler workspace permission case (c6dafaa)
  • style(workflow): format edit-workflow-block test (d897f30)
  • test(copilot): stabilize workflow tool suites (1f342d9)
  • test(tradinggoose): update workflow test setup (390bf58)
  • style(sidebar): normalize sidebar formatting (5fea951)
  • test(global-navbar): cover compact avatar trigger outside sidebar (4c6424f)
  • style(tradinggoose): wrap proxy route test case (4c5fa9e)
  • test(tradinggoose): cover authenticated locale routing fallback (44df2e4)
  • style(workspace): format integrations oauth helpers (8c91269)
  • perf(control-bar): memoize workflow run trigger derivation (e74ef77)
  • test(workflows): add coverage for editor trigger resolution (0e55bd8)
  • test(yjs): cover shared workflow session bootstrap loading (c8dc570)
  • style(workflows): reorder accessible reference imports (3f3095a)
  • test(resolver): clarify trigger block alias expectation (17843af)
2026年6月5日
v2026.06.05
2026年6月5日

TradingGoose Studio v2026.06.05

Release date: 2026-06-05

Features

  • feat(i18n): add next-intl localization for public, auth, admin, workspace, chat, invite, changelog, and unsubscribe routes with English, Spanish, and Chinese support
  • feat(monitors): add source-aware portfolio monitors with portfolio conditions, socket runtime subscriptions, workflow dispatch, and trigger blocks
  • feat(watchlists): add watchlist workflow block and tools for reading lists/items plus adding and removing listings by structured listing identity
  • feat(listings): promote listingIdentity to a first-class workflow value type across tools, blocks, triggers, variables, selectors, and executor parsing
  • feat(execution): stream queued workflow executions directly from the queue route with terminal event reconstruction from durable logs
  • feat(copilot): move Copilot workflow and saved-entity document reads to canonical Yjs snapshots and shared workflow sessions
  • feat(trading): resolve broker access through user OAuth connection accounts and introduce portfolio detail contracts for broker account data
  • feat(email): localize transactional emails and persist preferred locale for authenticated users and waitlist entries

Improvements

  • improvement(execution): simplify pending_execution into a lease-only queue while moving terminal workflow state to execution logs
  • improvement(runtime): harden queued execution drains, require Trigger.dev for queued drains, and add a root Trigger.dev dev workflow
  • improvement(console): centralize workflow execution event ingestion, stream buffering, cancellation, CSV export, and JSON output rendering
  • improvement(ai): centralize server-side AI provider execution, OpenAI-compatible stream conversion, token usage, and model cost calculation
  • improvement(trading): use OAuth connection accounts for broker discovery, order access, portfolio identity selection, and socket portfolio streams
  • improvement(market): share provider-aware listing selectors across widgets, monitor forms, workflow fields, and watchlist controls
  • improvement(records): preserve log and order detail controls during loading or unavailable states and enforce workspace access on execution metrics
  • improvement(dev): add i18n scripts, update Vitest/Vite test setup, and upgrade Turborepo schema handling

Refactors

  • refactor(routes): move visible app routes under [locale] while keeping API, callback, asset, sitemap, Monaco, and LLM routes canonical
  • refactor(monitors): replace indicator-only monitor APIs and runtimes with source-aware monitor routes, reconciliation, locks, logs, and background dispatch
  • refactor(trading): rename holdings surfaces to portfolio detail across tools, blocks, API routes, provider capabilities, and broker contracts
  • refactor(execution): centralize workflow execution events, SSE formatting, stream replay, job state reconstruction, and access checks
  • refactor(stores): narrow the console store around entries, event ingestion, cancellation, clear, and export behavior
  • refactor(components): move market, trading, provider, OAuth, and listing selector UI into shared component ownership
  • refactor(email): replace standalone email templates with a localized email renderer and message-driven copy
  • refactor(workflows): centralize workflow value types, workflow editor localization, block copy, trigger copy, and variable parsing helpers

Documentation

  • docs(changelog): add dated changelog entries for May 16, May 18, May 21, May 23, May 26, May 29, and June 5
  • docs(readme): update README screenshot assets and refresh visual documentation references
  • docs(tools): refresh Hugging Face tool documentation and related copy
  • docs(project): update changelog template conventions for the TradingGoose release workflow

Other Changes

  • chore(deps): add next-intl, upgrade better-auth to 1.6.2, pin Vite/Vitest, and upgrade Turborepo to 2.9.16
  • chore(db): add generated migrations for preferred locale fields and the pending execution queue schema simplification
  • chore(config): add i18n/Lingo configuration, update Turborepo schema, and adjust Helm chart metadata
  • fix(knowledge): preserve knowledge document storage keys and streamline queued document processing
  • fix(execution): stabilize queued drains, cancellation, durable terminal state, and workflow log reconstruction
  • fix(auth): make auth redirects, callbacks, invitations, password reset, and verification flows locale-aware
2026年5月15日
v2026.05.15
2026年5月15日

TradingGoose Studio v2026.05.15

Release date: 2026-05-15

Features

  • feat(billing): refine pricing and plan chooser display (3031915)
  • feat(nav): add documentation link to sidebar (f46ca9c)
  • feat(knowledge): support context-aware uploads and embeddings (fcc2447)
  • feat(knowledge): scope knowledge bases to workspaces (ae71f02)
  • feat(trading): resolve holdings from portfolio identity (cca0bcf)
  • feat(serializer): support canonical param ids and user-only inputs (41e202f)
  • feat(copilot): include workflow parent ids in summaries (8d8eca6)
  • feat(workflows): stream workflow chat output and normalize file inputs (3e32845)
  • feat(access): add workspace credential access controls (6f45bce)
  • feat(oauth): support account-level connection management (7b34a91)
  • feat(workflows): stream execution results through queued API (f6fc123)
  • feat(trading): support richer order and review-target context (351a636)
  • feat(logs): add structured workflow log filtering (9d44f96)
  • feat(records): add order records and logs workspace (24ac935)
  • feat(migrations): update journal and add lethal ikaris migration (57dea34)
  • feat: add Gantt chart component for execution monitoring timeline (6f91703)
  • feat(monitor): add dedicated monitor workspace (b76a4c0)
  • feat(monitor): add execution workspace views (31c59e7)
  • feat(monitor): unify execution and config workspaces (4a33640)
  • feat(widgets): add portfolio snapshot widget (cdad1cf)
  • feat(widgets): add quick order widget (f8b1dd0)
  • feat(widgets): add heatmap market APIs (a59c4a7)
  • feat(widgets): add heatmap widget (066ab27)
  • feat(widgets): stream shared trading portfolio data (b41998a)
  • feat(widgets): refine portfolio widgets and workflow layout (7258814)
  • feat(portfolio): enhance trading performance window support and widge… (64cbd35)
  • feat(ai): expand provider support and normalize hosted model handling (1ce9f9a)
  • feat(copilot): standardize workflow references and indicator tooling (58b0588)
  • feat(copilot): align webhook request prompt with exact tags (ce446eb)
  • feat(markdown): add public markdown rendering and discovery (49b9e0a)
  • feat(seo): refresh public metadata and canonicals (58001ce)
  • feat(copilot): overhaul mention input and context rendering (f6705e0)
  • feat(copilot): simplify workflow review summaries (ef5561a)
  • feat(markdown): support HEAD responses (c68da79)
  • feat(link-headers): add catalog item links and enhance API catalog do… (f882d8f)
  • feat(copilot&SEO): enhance public markdown delivery and SEO metadata,… (76039da)
  • feat(copilot): unify workspace entity context handling (cd5d01a)
  • feat(markdown): authenticate changelog release fetch (b32b11e)
  • feat: update workspace routing to use '/dashboard' instead of '/w' an… (1024419)
  • feat(landing): add pressure cross triggers (10f9824)
  • feat(copilot): propagate streamed turn state (a137f78)
  • feat(billing): add personal PAYG backend (99a6c21)
  • feat(subscription): add personal PAYG management UI (92dd03a)
  • feat(billing): consolidate billing portal and allowance flows (0292f5d)
  • feat(billing): reconcile PAYG activation idempotently (a2e2d19)
  • feat(admin-billing): require Stripe monthly price IDs for new tiers (c24db18)
  • feat(billing): implement personal PAYG lifecycle and enhance admin bi… (d0d8b5d)
  • feat(billing): enhance PAYG subscription handling and improve test co… (f51e373)
  • feat(billing): update resetUsageForSubscription to accept dbClient pa… (6369964)

Bug Fixes

  • fix(billing): simplify public price labels (ff72e95)
  • fix(knowledge): return structured tag filter validation errors (0d39855)
  • fix(workflows): tighten visible mermaid edge validation (d469b1d)
  • fix(tests): update expectations for user ID and request parameters in… (8be1990)
  • fix(trading): tolerate portfolio identity lookup failures (8ef0a6e)
  • fix(copilot): gate approval and skip handling by tool registry (b9dc82c)
  • fix(chat): preserve queued selected outputs (0737d7d)
  • fix(orders): neutralize csv formula exports (20a1d87)
  • fix(workflow-editor): require edit access to run (98ef037)
  • fix(trading): key portfolio identities by credential and resolve orde… (2997e86)
  • fix(copilot): preserve conditional blocks and forward tool execution … (48bc4ba)
  • fix(chat): stop queued chat polling after cancellation (a05d124)
  • fix(copilot): enforce workspace scope for trading detail tools (3122618)
  • fix(trading): resolve order detail from stored credential context (99cd661)
  • fix(logs): enforce workspace access scope (28ad7b2)
  • fix(workflow): evaluate advanced sub-block conditions (78ca12c)
  • fix(copilot): scope workflow log reads by workspace (cb13bbb)
  • fix(workflow): reset streamed block output per run (66855fa)
  • fix(copilot): preserve review state and text blocks (93e2df6)
  • fix(workflow): normalize tool ids and sub-block rendering (e3978a7)
  • fix(trading): require workspace-scoped holdings access (b3d64c7)
  • fix(trading): improve account labels and search matches (9f04aa5)
  • fix(trading): tighten order submission inputs and capabilities (56794ce)
  • fix(copilot): enforce session and workflow access (8313315)
  • fix(trading): harden broker request handling (09ec564)
  • fix(workflow-editor): render preview rows from stored values (fff1629)
  • fix(workflows): harden workflow execution api handling (8918580)
  • fix(copilot): gate live review context on resolved entity sessions (e089220)
  • fix(trading): refresh order type options on listing changes (55c363f)
  • fix(trading): persist broker results and refresh order views (c4f7c2f)
  • fix(execution): cancel timed out queued workflows (6e5d68d)
  • fix(auth): scope workflow credential lookups to workflow owner (64a0a60)
  • fix(workflows): stop cancelling queued api executions on http timeout (ab78a37)
  • fix(workflows): route child api executions through input triggers (3265c18)
  • fix(copilot): enforce access checks for entity and workflow contexts (e62235c)
  • fix(trading): normalize provider-specific order payload handling (91a6861)
  • fix(editor): reset stale trading selections and surface account fetch… (4ac0c6c)
  • fix(execution): dispatch local pending execution drain asynchronously (cdb726a)
  • fix(copilot): ignore empty block mention contexts (522a791)
  • fix(trading): support workspace-shared broker credentials (101c0ff)
  • fix(copilot): match draft entity sessions by review target (7752e9f)
  • fix(workflows): harden queued execution responses (3ef7498)
  • fix(copilot): route workflow edits into review flow (b2701cd)
  • fix(review): enable writable entity sessions (3111f2c)
  • fix(trading): add idempotent order submissions (a6bec23)
  • fix(workflow): scope child workflow job output (551ac5a)
  • fix(auth): scope google drive credential access (237dd86)
  • fix(executor): propagate tool execution identity (3548933)
  • fix(market): scope quote snapshot cache (fdafac2)
  • fix(yjs): wait for writable workflow session sync (37fcfad)
  • fix(quick-order): reset idempotency key on failed attempts (d31b13e)
  • fix(workflows): treat empty selections as streamable content (ae9d356)
  • fix(copilot): gate input on active review target (31cbb5a)
  • fix(copilot): hide stale review target while resolving (602100a)
  • fix(widget): correct short position day change (19018eb)
  • fix(records): use unified trading account selector (0ef3efd)
  • fix(logs): restore filter type checks (6511860)
  • fix(records): keep monitor logs integration compatible (165fd0b)
  • fix(records): tolerate legacy workflow log shape (b202b54)
  • fix(logs): accept monitor asset type export alias (2061d63)
  • fix(monitor): sanitize public execution data (83439e3)
  • fix(tradinggoose): preserve falsy finalOutput values (fa6a233)
  • fix(admin): restore registration snapshot table layout (e6871b1)
  • fix(logs): treat date-only filters as full-day ranges (4e31c79)
  • fix(records): handle empty trace spans safely (a0e621a)
  • fix(webhooks): use transformed execution payload in log deliveries (a9df99d)
  • fix(copilot): allow workspace-scoped trading tools (cab40fc)
  • fix(tools): preserve workflow provenance in post-processing (633169a)
  • fix(webhooks): cancel active log deliveries (6e8c2de)
  • fix(logs): scope workflow completion to the active log (caa3003)
  • fix(tools): require explicit trading order context (cfe5c45)
  • fix(ai): preserve workflow context for tool-enabled provider requests (9451679)
  • fix(monitor): stretch config workspace shell (d6b203c)
  • fix(monitor): pad board shell consistently (426adeb)
  • fix(monitor): align toolbar control styling (1210574)
  • fix(monitor): open config detail on selection (a699333)
  • fix(monitor): compact config search suggestions (cb5e5f2)
  • fix(monitor): use tabs for mode switcher (f5b4d07)
  • fix(monitor): align toolbar controls (e4712db)
  • fix(monitor): normalize toolbar dropdowns (e417dd5)
  • fix(monitor): create monitors from config board (5c0d5f8)
  • fix(monitor): unify kanban board styling (f297ede)
  • fix(monitor): prevent toolbar control truncation (f774f8a)
  • fix(monitor): simplify config board group headers (8c5af37)
  • fix(monitor): align tab active styling (8af4dc0)
  • fix(monitor): avoid kanban group title prop collision (750d183)
  • fix(monitor): soften control bar corners (9fbda21)
  • fix(monitor): point execution logs to logs components (0ad37bd)
  • fix(monitor): align standalone log types (ae7f747)
  • fix(monitor): request full execution log details (c463bc8)
  • fix(monitor): align execution export filters (57b6614)
  • fix(monitor): enforce kanban column limits (a797a93)
  • fix(monitor): preserve execution context (fad5e0a)
  • fix(monitor): avoid workflow inputs in config form (f15792b)
  • fix(monitor): align tab list surface (274f981)
  • fix(monitor): tune tab control sizing (cff31c7)
  • fix(monitor): guard saved views by workspace permission (5b04d07)
  • fix(monitor): enforce view write permission (2be61e6)
  • fix(monitor): load workflow targets from list (59a1ea7)
  • fix(monitor): allow deleting stale view rows (e953ccc)
  • fix(monitor): preserve indicator input overrides (025627a)
  • fix(monitor): omit decrypted auth from responses (9329b3b)
  • fix(monitor): tighten saved view writes (2311046)
  • fix(monitor): preserve stored config auth (f2a2b1c)
  • fix(monitor): scope saved view updates (349c0f2)
  • fix(monitor): sanitize public execution data (611c1b4)
  • fix(monitor): stabilize saved view filters (b67a5a3)
  • fix(monitor): handle secret replacement safely (35628c5)
  • fix(widgets): keep quote snapshot contract client safe (c49e5b4)
  • fix(widgets): simplify trading account selection (e13c2e9)
  • fix(workflow): clarify output select icon state (4c17fb5)
  • fix(trading): align Alpaca crypto availability (330112a)
  • fix(copilot): normalize reasoning envelopes (ea305c7)
  • fix(copilot): hide unknown thought duration (25f268d)
  • fix(copilot): clarify finished thinking label (9b18fc2)
  • fix(copilot): render thinking markdown (4e4e512)
  • fix(copilot): preserve reasoning with content blocks (7506fe2)
  • fix(copilot): stabilize reasoning block timestamps (9a29943)
  • fix(docker): align compose defaults and guardrails stage (6d7a0fd)
  • fix(docker): use browser-accessible socket URLs in compose (1b05299)
  • fix(docker): slim runtime copies and create realtime build dir (88fb820)
  • fix(docker-compose): restore GPU device reservation for ollama (b7b6ce0)
  • fix(billing): refresh subscription allowance state (6c61d90)
  • fix(widgets): align header selector sizing (4fe14f4)
  • fix: preserve billing backfill overrides and use service config (194289a)
  • fix(billing): improve logging for subscription handling and refactor … (13247ed)
  • fix(billing): update onboarding allowance logic and improve subscript… (d1b3818)
  • fix(billing): require included usage limits for overage billing (5b6b0cf)
  • fix(billing): log missing Stripe subscription IDs (cc766dc)
  • fix(posthog): remove bundled fallback key (62fbce7)
  • fix(ui): reduce hydration noise and escape structured data (98f9d96)

Refactors

  • refactor(workflow): remove legacy webhook trigger block (c3bfa96)
  • refactor(workflow): simplify edge management in useWorkflowMutations (7e767c9)
  • refactor(editor-workflow): consolidate subflow config and deploy modal (f924edf)
  • refactor(ui): streamline records and listing presentation (92ab2ae)
  • refactor(landing): remove integrations JSON-LD (0e5c643)
  • refactor(trading): unify portfolio identity across provider flow (156ce42)
  • refactor(tradinggoose): streamline copilot and trading account detail (b828f28)
  • refactor(tradinggoose): simplify trigger resolution and remove deprec… (42db042)
  • refactor(runtime): resolve skills and trading credentials server-side (78e38d3)
  • refactor(workflows): queue execution and normalize workflow readers (415bb82)
  • refactor(copilot): align read-only tools and reader helpers (5a8d5cf)
  • refactor(trading): unify canonical order submission (eac6001)
  • refactor(workflow): canonicalize output selection (fc78c56)
  • refactor(tests): enhance mock implementations and streamline test cases (870bffc)
  • refactor(trading): enhance trading account workflows and unify data c… (f4e2c6c)
  • refactor(trading): use recorded order detail metadata (64616ac)
  • refactor(dashboard): persist canonical review targets (352ccc1)
  • refactor(oauth): move token helpers into lib (f292139)
  • refactor(trading): extract shared trading services (b332311)
  • refactor(workflows): share execution stream handling (8996fac)
  • refactor(executor): streamline deferred and streamed output handling (5e19060)
  • refactor(copilot): simplify linked entity review state (a05c215)
  • refactor(trading): rename credential service state to service ids (fb05cc8)
  • refactor(workflows): drop legacy execution and import paths (ab687d6)
  • refactor(access): use workspace access helpers consistently (107a4ea)
  • refactor(trading): share provider credentials by workspace (1be4c5b)
  • refactor(trading): centralize order history search (89a63ab)
  • refactor(copilot): remove legacy integration execution (11d5406)
  • refactor(widgets): simplify entity review resolution and editor flows (f14ad0b)
  • refactor(copilot): align app shell with shared review target helpers (739d76a)
  • refactor(trading): simplify credential access and failure handling (0da95c0)
  • refactor(trading): centralize order capabilities and quick-order vali… (177c752)
  • refactor(auth): tighten oauth workspace scoping (06dc14a)
  • refactor(trading): remove legacy option order plumbing (b0b3e18)
  • refactor(auth): add owner-aware oauth credential resolution (2ee8bb7)
  • refactor(records): consolidate order routes (a3fb2fb)
  • refactor(records): use shared trading provider connection (fc75404)
  • refactor(records): use shared tabs in header (c35212d)
  • refactor(records): normalize order sort keys (9991818)
  • refactor(logs): remove legacy fallback paths (ee8acf1)
  • refactor(executor): remove legacy workflow fallbacks (0ec245b)
  • refactor(variables): remove deprecated string variable type (dfc8c71)
  • refactor(logs): simplify selection resolution logic in useMonitorWork… (98e8708)
  • refactor(logs): enhance pagination and parameter validation in logs e… (88b4cc1)
  • refactor(logs): enhance log level filtering and test coverage (c2c63f7)
  • refactor: change exported types to local types for better encapsulation (7c3cdb2)
  • refactor(order-records): cast order record IDs to text for search mat… (3f144dc)
  • refactor(monitor-preview): streamline entry creation and remove unuse… (00de0a0)
  • refactor: enhance variable type handling and validation across the co… (9ebd871)
  • refactor: improve workspace access checks and enhance loading state m… (b351ab9)
  • refactor(order-history): enhance search functionality for UUIDs and i… (f218541)
  • refactor: enhance order filtering and logging with workspace context … (2223fc3)
  • refactor(logs): enhance SQL handling for trace span statuses and impr… (1fb8a8f)
  • refactor: enhance context handling in API and generic block tests wit… (98f14ed)
  • refactor(logs): enhance ordering and filtering logic in log queries a… (f626d9d)
  • refactor(logs): improve listing filter handling and enhance error res… (047c73a)
  • refactor(logs): enhance permission checks and SQL handling in workflo… (e3a29f6)
  • refactor(logs): improve handling of workflow and folder filters in lo… (417b901)
  • refactor(logs): simplify workflowId retrieval in emitWorkflowExecutio… (fb2479b)
  • refactor(records): remove legacy logs workspace (e98253c)
  • refactor(widgets): remove explicit dropdown alignment (04bc348)
  • refactor(biome): add exclusion for migration metadata in package dire… (2cf2250)
  • refactor(orders): drop workflow provenance from order history (a903522)
  • refactor(logging): split workflow log start and completion (5dd2488)
  • refactor(order-id-selector): replace workflowId with workspaceId in f… (a840510)
  • refactor(order-logs): update submission source logic and enhance work… (996f9c5)
  • refactor(monitor): compact workspace toolbars (656e5e5)
  • refactor(monitor): make workspace controls searchable (16a1964)
  • refactor(monitor): share saved view activation helper (48787dc)
  • refactor(widgets): unify provider header controls (26f3898)
  • refactor(widgets): consolidate provider APIs and portfolio UI (72d6221)
  • refactor(widgets): stream market quote snapshots (2aed601)
  • refactor(widgets): require explicit market providers (ae3ecd2)
  • refactor(market): centralize TradingGoose Market requests (cdf7d40)
  • refactor(auth): normalize credential service resolution (49b701e)
  • refactor(trading): route portfolio requests by credential service (5d576be)
  • refactor(widgets): persist trading credential services (93f7a92)
  • refactor(indicators): run chart indicators in browser (6a1ba23)
  • refactor(widgets): simplify shared widget context (f184f1a)
  • refactor(editor-workflow): simplify controls and action bar interactions (dc5d10f)
  • refactor(data-chart): remove market depth tool (332154d)
  • refactor(stores): switch Zustand consumers to equality helpers (159938f)
  • refactor(billing): simplify validation and enhance customer creation … (7dd40d1)

Documentation

  • docs(changelog): update May 10 and May 15 entries (734c0f1)
  • docs(changelog): remove stale May 15 changelog (d4336ea)
  • docs(changelog): clarify subscription UI branch scope (a6582f8)
  • docs(copilot): clarify review-session mapping comment (86484a5)
  • docs(changelog): add May 10 branch summary (ba20ad4)
  • docs(readme): refresh footer artwork (84ef712)
  • docs(tools): update trading order history reference (2bcf7af)
  • docs(monitor): document kanban branch (b56f3fa)
  • docs(changelog): update April feature notes (1c3d199)
  • docs(changelog): document portfolio widgets branch (b0408eb)
  • docs(blocks): update loop and parallel guidance (4f705ba)
  • docs: add design system spec (ab44931)

Other Changes

  • build(tradinggoose): upgrade trigger.dev and pdf parsing deps (8e976b4)
  • chore(changelog): add detailed entry for subscription UI improvements… (729366b)
  • style: format subscription UI branch files (638a512)
  • Refactor code structure for improved readability and maintainability (cf8953f)
  • test(tradinggoose): align rebased validation tests (0f07c6a)
  • test(runtime): cover server-side skill and token resolution (9f19725)
  • style(ui): polish provider labels and spacing (833204d)
  • style(workflows): format queue route (650b240)
  • perf(executor): extract stream chunk flush thresholds (bb7b6a5)
  • style(cleanup): clarify local names and comments (3c162cf)
  • build(deps): bump Next.js to 16.2.6 (dba3cc7)
  • test(widgets): cover entity selection and review target refactor (942f66b)
  • test(logs): align route timing fields (e36a487)
  • style(tradinggoose): format logs and records modules (a25ad8a)
  • build(db): regenerate migration 0031 (b7d7f9d)
  • Update apps/tradinggoose/lib/indicators/monitor-config.ts (1387376)
  • Update apps/tradinggoose/app/workspace/[workspaceId]/monitor/componen… (9f33716)
  • Update apps/tradinggoose/app/api/indicator-monitors/[id]/route.ts (b6234c7)
  • test(workflow): update auto layout expectations (63f4b6e)
  • build(docker)!: modernize image builds and compose deployment config (4be9e9c)
  • chore(docker): trim env template whitespace (f2bc833)
  • chore(docker): clarify env template comments (307ff2c)
  • test(cost): add test for resolving dotted Claude model IDs through pr… (3cb09e2)
  • chore: trim review fix diff (6a60cc1)
  • chore: add changelog for copilot billing enhancements and AI provider… (793a477)
  • chore(ai): include Google in hosted models (018f8ae)
  • style(fonts): disable Soehne preload (bfb17d5)
  • build(vitest): exclude Next build artifacts (779ddb3)
  • test(copilot): cover workflow provenance from explicit contexts (e1d74a7)
  • test: stabilize workflow and API harnesses (c2efe5e)
  • build(next): harden monaco asset tracing (0ddad7f)
  • Refactor billing portal API to streamline Stripe customer management (d101833)
  • test: align billing and proxy expectations (d9041ca)
2026年4月21日
v2026.04.21
2026年4月21日

TradingGoose Studio v2026.04.21

Release date: 2026-04-21

Features

  • feat(auth): migrate Trello OAuth callback flow to API routes (65cf324)
  • feat(trello): wrap TrelloCallbackContent in Suspense for improved loa… (36f9c42)
  • feat(theme): implement useXYFlowColorMode hook and integrate color mo… (72893bd)
  • feat: add landing section skeleton fallbacks (0bb60da)
  • feat(uploads): add Azure and Vercel storage providers (668d221)
  • feat(billing): rename tier multipliers and refresh admin editor (5ea4d7f)
  • feat(copilot): add channelId to client tool context (a3021b2)
  • feat: update background colors for various tool blocks (856697f)
  • feat(workflow): migrate to @xyflow/react (2321812)
  • feat(copilot): migrate to document-based tool contracts (4e035c8)
  • feat(tradinggoose): refresh branding assets (64f6ae7)
  • feat(auth): add auth error recovery flow (1d662bd)
  • feat(tradinggoose): modernize copilot, workflow, and access flows (ab0d77a)
  • feat(organization): gate team access by billing state (b1daed2)
  • feat(workflows): preserve Mermaid direction in live state (7df626d)
  • feat(copilot): unify usage billing and reservations (432092e)
  • feat(copilot): rework streaming persistence and tool routing (48166de)
  • feat(copilot): require explicit tool targets (65952ed)
  • feat(billing): add tier execution limit controls (d5debcb)
  • feat(execution): queue background work through pending executions (ffff574)
  • feat(market): require explicit provider auth for quote snapshots (0a7a427)
  • feat(workflows): centralize execution runner (8b70b5e)
  • feat(copilot): stabilize tool state transitions (25bee37)
  • feat(copilot): persist reasoning blocks in chat streams (c879382)
  • feat(execution): centralize queued workflow dispatch (ed607ed)
  • feat(copilot): scope generic chat history by workspace (9babad6)
  • feat(copilot): add indicator catalog and entity mutation tools (c2e6278)
  • feat(copilot): add workflow block editing and Monaco diagnostics (a09bef1)
  • feat: update blog metadata and structured data for improved SEO and u… (07df18a)
  • feat: specify target branch for release creation in workflow (a3af074)
  • feat: update release workflow to generate notes from merged PRs since… (ad7516d)
  • feat(release): add contributors section to release notes (b2f26b8)
  • feat: enhance release workflow to categorize and deduplicate commits … (c457c00)
  • feat(oauth): support system-managed OAuth credentials (3e4469e)
  • feat(admin): add system integration admin console (220caff)
  • feat(workspace): move navbar into workspace layout (47feaa4)
  • feat(registration): add waitlist signup and approval flow (6d6f340)
  • feat(billing): add tiered billing and admin surfaces (397462c)
  • feat(changelog): add detailed changelog for user waitlist feature and… (850f509)
  • feat(auth): hydrate system-managed social OAuth credentials (11f9db4)
  • feat(registration): use live registration mode across auth and landing (3b9c2cc)
  • feat(admin): scope SSO and admin routes to organizations (50dcf06)
  • feat(billing): gate billing on runtime enablement (1deb993)
  • feat(execution): gate billing work on runtime enablement (153537e)
  • feat(admin-billing): enforce default tier rules (73af8bc)
  • feat(auth): require issuer discovery for SSO registration (c14ef14)
  • feat(changelog): add detailed entry for admin panel enhancements (c658810)
  • feat(admin-registration): enhance error handling and logging for unau… (54e3879)
  • feat(admin-registration): implement bootstrap admin claim logic and e… (ad09561)
  • feat(import-export): add unified TradingGoose resource import/export … (e89b26c)

Bug Fixes

  • fix(realtime): standardize socket URL handling (ecf09e6)
  • fix: discover internal realtime service in kubernetes (b3726a1)
  • fix auth integrations (d3a7ef2)
  • fix: prevent xyflow dark mode flash (5640c1a)
  • fix: make xyflow theme hydration-safe (d99094a)
  • fix: scope theme classes to root (7cd5199)
  • fix: remove xyflow theme class from workflow components (c38bfa5)
  • fix: remove landing page loading fallbacks (b2eca83)
  • fix: scope landing tooltips to lazy feature section (a356123)
  • fix: reorder imports and handle billing settings error in catalog (c756048)
  • fix: remove landing skeleton fallbacks (749cfe2)
  • fix(stores): preserve copilot error state on reset (8cfff67)
  • fix: tighten vercel blob upload contract (9cc96f0)
  • fix: guard subscribed tier execution multipliers (52f12cb)
  • fix: align vercel upload token expiry (3004c12)
  • fix: strip query params from delete keys (3059503)
  • fix(monaco-editor): serve workers and map diagnostics locally (5809c27)
  • fix(billing): avoid build-time plan resolution (023b287)
  • fix(stores): use equality-aware zustand hook (c4ee408)
  • fix(changelog): add detailed entry for better auth error handling and… (b5def39)
  • fix(auth): reorganize imports and improve session error handling (f6cede5)
  • fix(monaco-editor): update Cache-Control header for .js.map files; ch… (463916d)
  • fix(workflow-preview): allow preview nodes to drag locally (dfc92e9)
  • fix(copilot): stabilize chat history and tool approvals (6964122)
  • fix(security): tighten CSP and rate-limit failures (4333f53)
  • fix(ui): polish auth hydration and block branding (8319912)
  • fix(organization): keep SSO access when billing is disabled (6763b38)
  • fix(copilot-widget): keep chat mounted during workflow hydration (5132705)
  • fix(data-chart): preserve listing query while syncing selection (3aaf396)
  • fix(data-chart): prevent dropdown update loop (4816ce6)
  • fix(billing): count pending invitations toward seat limits (bd1bd33)
  • fix(admin): accept partial system settings updates (fabe781)
  • fix(workflows): reject non-canonical workflow sub-blocks (ff3d244)
  • fix(copilot): bypass usage billing when disabled (9da5c29)
  • fix(api): guard missing chat workspace id (5aae8de)
  • fix(dashboard): ignore stale layout switch responses (7839a7f)
  • fix(workflows): reuse normalized persisted state (300f752)
  • fix(system-integrations): handle missing lineage roots (0f7f593)
  • fix(auth): preserve protected-route callback redirects (e08fd50)
  • fix(release): use individual PR commits for release notes (5161f01)
  • fix(ui): enable horizontal table scrolling (c1af28b)
  • fix(billing): keep personal billing context isolated (f91e21d)
  • fix(function-execute): require workflow access before execution (fe34134)
  • fix(workspaces): surface billing owner validation errors (7e3e223)
  • fix(workflow-diff): use conversationId for checkpoint creation (f2e4a60)

Refactors

  • refactor(db): remove workflow checkpoints (1210ed1)
  • refactor(db): remove retired workflow checkpoints and cleanup script (e35825a)
  • refactor(platform): centralize runtime services and normalization (9a8a48d)
  • refactor(settings): centralize trigger execution and remove legacy tr… (546204c)
  • refactor(admin-services): streamline secret editing and required-fiel… (bb611f4)
  • refactor(landing): centralize public navigation (f9b639b)
  • refactor(workflow-editor): share trigger editing layout (7b1708b)
  • refactor(auth): simplify auth error flow (361b613)
  • refactor(studio): consolidate access, copilot, and workflow plumbing (c57779b)
  • refactor(copilot): centralize server tool contracts (d6d1661)
  • refactor(watchlist): share header renderer (a05593b)
  • refactor: extract shared workflow row builder (e46d072)
  • refactor: update vitest configuration to use ES modules and add suppo… (82f469c)
  • refactor(config): remove legacy runtime customization hooks (2ae82bc)
  • refactor(copilot): propagate workflow context and review targets (c0f2537)
  • refactor(ai): simplify hosted model list (486aa94)
  • refactor(execution): remove async execution surfaces (89c1503)
  • refactor(app): inline public env snapshot (8f0dd9b)
  • refactor(landing): extract careers form and use direct layouts (cc6488b)
  • refactor(copilot): improve options rendering logic and enhance auto-s… (b06815f)
  • refactor(copilot): update chat handling to be workspace-scoped and im… (74cc11c)
  • refactor(execution): enhance pending execution handling with local dr… (5fd0de3)
  • refactor(copilot): remove feedback endpoint (3e86d44)
  • refactor(copilot): simplify tool metadata and block catalog (d0857bc)
  • refactor(copilot): split streaming store and message UI (ac597b6)
  • refactor(redis): implement lock renewal mechanism and improve connect… (19f86cd)
  • refactor(workflow): update authentication checks and enhance child ex… (45be8bc)
  • refactor(copilot): improve chat persistence handling and update test … (3649a04)
  • refactor(trading): remove Robinhood brokerage support (b2d030e)
  • refactor(workflows): align trigger metadata with webhook providers (fd841d0)
  • refactor(ai): centralize provider catalog (d338dc4)
  • refactor(executor): share context extension types (89f7e3b)
  • refactor(branding): derive footer copy from brand config (f7c0937)
  • refactor(sso): remove legacy SSO query hook and scripts (b7f4b48)
  • refactor: update admin integrations and system settings to handle sec… (31d5a46)
  • refactor(workflows): remove workflow-diff and use Yjs snapshots for e… (38ef7b9)

Documentation

  • docs(tradinggoose): expand env example (bdf40e7)
  • docs(licenses): refresh upstream attribution (213a72c)
  • docs(changelog): update April 11 branch notes (de7ff55)
  • docs(changelog): update April 11 branch notes (b94ae87)

Other Changes

  • test(security): update CSP socket default coverage (4f13495)
  • build(deploy): remove legacy socket server env config (c150214)
  • chore(routing): remove hosted-mode route restrictions (ec046ad)
  • test: refresh copilot and market suites (fa1b5ba)
  • chore(changelog): add changelog template for consistent entry structure (f3cfa26)
  • test: cover vercel pathname deletes (85ef11a)
  • test(workflow-preview): cover trigger preview rendering (0d9aba9)
  • test(auth): cover auth error copy (0eb1c20)
  • build(billing): move Stripe config to deployment env (b061677)
  • test(workflows): cover live state apply route (28e8680)
  • build(deps): refresh workspace dependency versions (d2f15d6)
  • style(auth): soften social login hover state (49ea4bd)
  • chore(git): preserve recovered local commit c57779b5 (21b9cc9)
  • chore(git): preserve recovered local commit ab0d77a6 (148c30b)
  • test(copilot): enhance reservation release tests and add new scenarios (dd4ae36)
  • build(tradinggoose): simplify dev script (7b878e6)
  • chore(providers): stop fetching vllm models (94c62dc)
  • build(db): refresh migration 0026 metadata (bc07ec5)
  • chore(ci): simplify release tag title (3cce8a3)
  • build(db): add registration and waitlist schema (b299b1d)
  • style(admin): reformat integration secret editor (653aca8)
  • ci(images): add image publishing workflow (e279d3b)
  • build(env): remove obsolete SSO env schema (afc59db)
  • test(sso): update org-scoped SSO and admin coverage (3a46c94)
  • chore(changelog): remove April 11, 2026 changelog entry (dd2b081)
2026年4月8日
v2026.04.08
2026年4月8日

TradingGoose Studio v2026.04.08

Release date: 2026-04-08

Features

  • feat(blog): improve post rendering and image delivery (8c30cbb)
  • feat(yjs): add collaborative workflow editing and review sessions (7d3a9d9)
  • feat(yjs): add collaborative workflow editing and review sessions (b19f350)
  • feat(copilot): unify runtime, review, and service keys (e02e28a)
  • feat(landing): simplify preview canvas and add SEO metadata (6fe3341)
  • feat(workflow): filter unavailable tool blocks (7d42fec)
  • feat(blog): add blog pages and navigation (9337711)
  • feat(landing): always render footer on legal pages (5d1c120)
  • feat(tradinggoose): rebrand metadata and AI reference content (0c6f237)
  • feat(tradinggoose): clarify llms reference canonical repo (002ae49)
  • feat(landing): refresh hero ai prompt copy (bbcff62)

Bug Fixes

  • fix(tests): resolve js/call-to-non-callable code scanning alerts (62db4ab)
  • fix(blog): update image alt attributes and improve image URL resolution (f07ae92)
  • fix: finish post-rebase cleanup (0cab170)
  • fix: address post-rebase typecheck regressions (aae271c)
  • fix(db): restore workspace type-check (6b184c3)
  • fix(workflows): use authoritative yjs workflow state (4f1219c)
  • fix(yjs): observe shared text block updates (1683b77)
  • fix(copilot): resolve workflow snapshots from active channels (fcf1b69)
  • fix(copilot): persist non-streaming tool calls (063e2a0)
  • fix(workflow): harden Yjs session persistence (caa0a81)
  • fix(workflow): use measured layout dimensions (2cb1a08)
  • fix(yjs): preserve rename and variable values (b52ce7c)
  • fix(landing): tighten responsive layout and preview hydration (1883cc8)

Refactors

  • refactor(db): split schema exports into modules (d4df582)

Documentation

  • docs(geo): add audit reports (4b01b35)
  • docs(landing): refresh contribution and project guidance (be7cafd)
  • docs(readme): retitle google ai badge (0470247)

Other Changes

  • chore: update repo guidance and setup docs (759af44)
  • TradingGoose branding and runtime updates (0002408)
  • refresh landing/docs surfaces and hosted-mode access (5ac9ca5)
  • build(blog): add blog dependency and route config (afab8c2)
  • ci(github): replace legacy workflows with manual release (742e7d3)
  • build(tradinggoose): adjust dev and image settings (1d7a3d2)
  • chore(public): remove obsolete assets (ce1a6d9)
2026年4月4日
v2026.04.04
2026年4月4日

TradingGoose Studio v2026.04.04

Release date: 2026-04-04

First public release of TradingGoose Studio, built on top of Sim Studio v0.4.25.

Features

  • feat(branding): launch TradingGoose Studio as a trading-focused fork of Sim Studio v0.4.25
  • feat(indicators): add PineTS execution, verification, monitor dispatch, and 87 built-in technical indicators
  • feat(trading): add Alpaca, Robinhood, and Tradier providers for orders, holdings, and order details
  • feat(market): add market search/get/update APIs, listing helpers, watchlists, and chart-driven workflows
  • feat(widgets): add dashboard widgets for data chart, watchlist, workflow variables, workflow console, MCP, skills, and custom tools
  • feat(api): add indicator monitor, custom indicator execute/verify, watchlist, workspace layout, and trading order APIs
  • feat(blocks): add human-in-the-loop, note, webhook request, historical data, trading action, trading holdings, and trading order history/detail blocks
  • feat(tools): expand the tool catalog from 71 to 126 integrations across trading, analytics, support, sales, storage, and communications
  • feat(triggers): expand the trigger catalog from 12 to 24 families with indicator, RSS, IMAP, Calendly, Circleback, Fireflies, Grain, HubSpot, and Twilio Voice support

Improvements

  • improvement(providers): consolidate model providers under providers/ai and add dedicated market and trading provider layers
  • improvement(runtime): upgrade the monorepo runtime to Bun 1.3 and Next.js 16
  • improvement(dev): split root development workflows into dedicated app, docs, and sockets entry points
  • improvement(socket-server): add live market handlers and indicator monitor runtime support
  • improvement(docs): expand reference coverage to 127 tool pages, 28 trigger pages, 20 block pages, 11 indicator pages, and 13 widget pages
  • improvement(site): rework the public landing and docs experience around TradingGoose workflows, charting, and market analysis

Refactors

  • refactor(app): rename apps/sim to apps/tradinggoose and rename deployment surfaces and Helm chart names from sim to tradinggoose
  • refactor(stores): replace the older panel/sidebar-oriented layout with dedicated chat, console, dashboard, indicators, market, skills, and variables stores
  • refactor(scripts): replace generate-docs.ts with a modular doc-gen pipeline, docs audit tooling, and PineTS helper scripts
  • refactor(api): reorganize provider routing into providers/ai and add separate provider and market handlers
  • refactor(routes): add workspace layout bootstrap flows and a new auth OAuth and Stripe webhook route structure

Documentation

  • docs(indicators): add guides for syntax, inputs, plotting, data series, math, technical analysis, and trigger usage
  • docs(utilities): add custom tools, MCP, and skills documentation
  • docs(widgets): add widget reference pages for chart, watchlist, editor, chat, console, and variable panels
  • docs(navigation): replace the Sim getting-started and top-level MCP sections with TradingGoose-first docs navigation

Other Changes

  • chore(project): rename package, README, compose, devcontainer, and workflow assets from sim to tradinggoose
  • chore(ci): add auto-release and reset-staging GitHub workflows for the TradingGoose project