Skip to content

Releases: TraderAlice/OpenAlice

v0.42.0-beta.1

11 Jun 23:28
18e3915

Choose a tag to compare

v0.42.0-beta.1 Pre-release
Pre-release

Changelog

All notable changes to OpenAlice will be documented in this file.

[Unreleased]

UTA

  • Close the order state machine + PnL read-state fix (#325)

⚡ Performance

  • uta: Listing-driven sync — hanging stop/TP orders cost zero per pass

🐛 Bug Fixes

  • trading: Asset class is venue-decided, not a secType guess (CCXT ≠ commodity)
  • workspaces: Auto-trust project MCP servers in claude adapter spawns
  • docker: Repair self-host image after the desktop package split
  • ui: Terminal renderer escape hatch + unified WebGL degradation
  • ports: Wildcard-aware port probe + bind MCP to loopback by default
  • mcp: Lock MCP/CLI listener to loopback, never honor BIND_HOST
  • market,tools: OECD house/share price fetchers — post-reshuffle dataflows
  • market: FMP insider-trading aliases for the stable endpoint
  • market: Normalize FMP etf-sectors weight to decimal — same units as the yfinance fallback (consumers must not see provider-dependent units)
  • market: Per-board hub breaker, tripped only by transport failures
  • uta: Collapse the FX currency client to SDK-only — the missed openbb-api consumer
  • tool: SectorRotation goes hub-first like the UI route — agents and the UI must read the same board
  • remote-access: Same-origin PTY WS upgrade + trusted-proxy-gated X-Forwarded-* trust
  • ui: Template detail page — metadata header, 13px prose, list markers
  • security: Mask credentials in POST/PUT /uta response echoes
  • ui: Close the create-UTA wizard on save, not on first connect
  • uta: Close the order state machine — auto-sync poller, fill data, PnL invariant
  • uta: Cost basis consumes sync fills at execution price
  • uta: Bybit open-orders listing sweeps spot+swap — unscoped call silently hides spot
  • uta: Surface Alpaca error bodies — opaque 422s carried the real reason all along

📚 Documentation

  • Introduce the Data Hub in README — zero-key market data story
  • workspace: Teach the three-CLI split in template instructions
  • Data root → ~/.openalice + sealed accounts.json across docs

🔧 Refactoring

  • ui: Unify asset search (one logic, both boxes) + source-aware sidebar
  • ui: One board hook + one meta grammar
  • market: Remove the openbb-api backend — divorce step 1
  • tools,cli: News → rss — the name should say what the data is
  • paths: Unify on OPENALICE_HOME + route stray data/ literals through dataPath()

🚀 Features

  • market,ui: Federated K-line sources in the chart — pick the provider (Phase 3)
  • market,ui: Reform the asset search to be source-aware (explicit provider)
  • market,ui: Reference-data contract + Movers board (own standard, not OpenBB-compat)
  • market,ui: Calendar board (earnings / IPO / ex-dividend, FMP)
  • market,ui: Macro board (curated FRED regime dashboard)
  • market,ui: Term Structure board (Deribit BTC/ETH futures curve)
  • market,ui: S&P 500 valuation strip on the market landing (multpl, keyless)
  • market,tools,ui: Global Macro board + OECD country tools
  • market,tools,ui: IMF PortWatch shipping data — stub provider retired
  • config: User-global data-vendor keys (~/.openalice/provider-keys.json)
  • market,tools: Keyless yfinance fallbacks for FMP-only cells
  • guardian: Configurable ports via data/config/ports.json + env
  • market,tools,ui: Land the salvageable no-consumer endpoints
  • market,tools: Fix the broken long-tail fetchers and land the rest
  • market,ui: Fed board + Global Macro house/share columns + batched OECD
  • market: Reference cache — the hub's cache layer in single-node form
  • market: Hub-first reference boards — zero-key out of the box
  • market: Endpoint-grain hub coverage — FRED/EIA/BLS proxy sentinel + hub calendars
  • ui: Surface meta.origin on boards — hub/local/stale badges
  • market: Hub-first rotation + detail panels off the legacy passthrough + settings reorder
  • uta: Hub FX table — one cached GET replaces per-currency vendor fetches
  • cli: traderhub — a dedicated CLI for low-frequency market data
  • workspace: Bundle a self-maintained opencli-reader skill into chat
  • workspace,ui: CLI as the default tool access + community template tier
  • ui: I18n for template/create surfaces, spawn → create, auto-derived tags
  • cli: Alice-uta — trading lands on the CLI surface (cron stays MCP-only)
  • ui: Make the secondary sidebar per-activity optional — News goes full-width
  • ui: Status-first Market Data settings — coverage map + Advanced fold
  • guardian: Own the Vite dev port — probe, strictPort, truthful banner, origin allowlist
  • workspaces: Headless runs capture their agent session id + full output log
  • webui: Spawn-with-resume accepts adapter-native session ids
  • ui: Headless runs as a collapsed second tier under each workspace
  • paths: Default user-data home moves to ~/.openalice
  • desktop: Relocate packaged user data into ~/.openalice on first launch
  • security: Seal broker credentials at rest (AES-256-GCM, machine-bound key)
  • uta: Record externally-placed orders as squashed [observed] commits
  • uta: External-order observation cadence is configurable, default 15m
  • ui: External-order monitoring cadence is editable from the Trading page

🧪 Testing

  • config: Sandbox the global-provider-keys spec (OPENALICE_HOME temp dir)
  • market: Strict-type the cache spec helper (tsc-only issue post-merge)
  • Pin OPENALICE_HOME to sandbox roots in vitest + smoke harness

v0.41.0-beta.1

09 Jun 11:39
333839a

Choose a tag to compare

v0.41.0-beta.1 Pre-release
Pre-release

Changelog

All notable changes to OpenAlice will be documented in this file.

[Unreleased]

🐛 Bug Fixes

  • quant: Calc-v2 diagnostic polish from adversarial dogfooding
  • workspace: Launch opencode/pi from the frontend on Windows
  • ui: Restore preset enumeration — region dropdown + model combobox, shared
  • ui: Endpoint URL is a read-only input box (unlocks on Custom), not tiny text
  • ui: Credential edit round-trips the API key (was redacted → looked unsaved)
  • ui: Loading a credential resets the model to the matched provider's default
  • ai-config: Codex tab Test clamped to responses; workspace test authMode by baseUrl
  • ai-config: Probe gives reasoning models room; clean message on empty reply
  • bars: UTA Bar.timestamp arrives as a string over the wire — normalize

📚 Documentation

  • quant: Align v1/v2 + expose calculateQuant via CLI + sync skill
  • ai: Update CLAUDE.md for the World-B deletion; drop orphaned agent-sdk-notes
  • readme: Reflect the World-B deletion — native-CLI execution + credential vault
  • Refresh adapter list (+ opencode/pi) and web-subchannels description

🔧 Refactoring

  • ui: WorkspaceAIConfigModal shares the useTestGate abstraction
  • ai: Delete World B — in-process AI loop, AgentWork, heartbeat
  • config: Remove the now-dead profile + heartbeat machinery
  • trading: UTA health as a capability ladder (connect / read / write)

🚀 Features

  • market-data: Federated bar layer — Phase 0 (vendor, behavior-preserving)
  • market-data,trading: Broker K-lines via UTA + federated search — Phase 1 (CCXT)
  • trading: Alpaca getHistorical — equity broker bars (Phase 4a)
  • trading: Keyless read-only data UTAs — OOTB crypto K-lines, no key
  • analysis: Quant Calculator v2 — barId-keyed Python-subset DSL (Phase 2)
  • ai-config: Refresh provider model catalog to current lineups
  • workspace: Central credentials — template injection + bidirectional modal
  • automation: Cron fires a headless Workspace run, not in-process AgentWork
  • ui: Reframe AI Provider page as a credential vault; Test via probe
  • ui: Add Agent runtimes panel to the AI Provider page
  • ai-config: First-class wire-shape registry + modern test-gated credential form
  • ai-config: Persist wireShape on the credential + show the resolved endpoint URL
  • ai-config: Unify Test on a shared wireShape dispatcher + honor it at runtime
  • ai-config: Credential holds a wires map (multi-wire), dedup by key
  • ai-config: Multi-wire credentials — one key declares every shape it speaks
  • quant,trading: Retire v1 indicator from the tool surface + harden UTA bootstrap
  • quant: Expose searchBars — the unified barId search handle for v2
  • cli: Expose searchBars as alice analysis search-bars — workspace agents run v2 via CLI
  • quant: Panels — dict/list result so v2 batches many computations in one call
  • quant: 7 more primitives + a dedicated openalice-quant skill

v0.40.0-beta.2

08 Jun 02:34
e191b62

Choose a tag to compare

v0.40.0-beta.2 Pre-release
Pre-release

Changelog

All notable changes to OpenAlice will be documented in this file.

[Unreleased]

🐛 Bug Fixes

  • workspace: Codex headless reports via the alice-workspace CLI (CLI-mode)

🚀 Features

  • cli: Split the alice CLI into an export family (data + workspace)
  • workspace: Headless task management plane (registry + async dispatch + panel)
  • ui: Headless Runs panel — frontend for the management plane
  • workspace,ui: Runs panel — store full prompt + collapsible task cell

v0.40.0-beta.1

05 Jun 15:08
e3b4c8a

Choose a tag to compare

v0.40.0-beta.1 Pre-release
Pre-release

Changelog

All notable changes to OpenAlice will be documented in this file.

[Unreleased]

🐛 Bug Fixes

  • core: Use AgentWorkResultProbe in agent-work spec gate
  • demo: Wire Chat sidebar — add chat-template workspace + align templates to real names
  • demo,ui: Correct /api/news handler shape + bump persist version v4→v5
  • tests: Isolate session-store specs from shared on-disk file
  • workspaces: Exclude Codex key files from workspace git
  • equity: Ratios returns TTM + history, not just a TTM snapshot
  • ui: Render the toolAccess dropdown on all create surfaces
  • guardian: Resolve .cmd shims on Windows dev spawn + CI smoke
  • guardian/smoke: Strip ANSI before matching; block on Windows cleanup
  • guardian: Tree-kill children on Windows so UTA restart doesn't orphan
  • guardian: Windows-safe basename in flag watcher (broker-config restart)
  • codex: Use responses.create stream instead of responses.stream()
  • workspace/codex: Don't quote openalice-workspace MCP key in -c override
  • entity-store: Serialize mutations + tolerate malformed lines (concurrent-write corruption)
  • workspace: Headless live-smoke — pi prompt terminator + codex approval

📚 Documentation

  • claude: Add demo-mode subsystem guide — check handlers when changing /api/* surfaces

🔧 Refactoring

  • workspaces: Unify AI-config IO behind CliAdapter
  • workspaces: Launcher-owned context injection + uniform initial commit
  • workspaces: Tool-use disposition to persona, drop internal/external framing
  • workspaces: Neutral instruction.md source → copied to CLAUDE.md + AGENTS.md
  • ui: Centralize locale-aware formatting (i18n stage 1)

🚀 Features

  • demo: Add Vercel Web Analytics, gated to demo mode only
  • cli: Add alice workspace CLI adapter over the tool registry
  • demo: Snapshot AAPL market data, serve in demo mode
  • skills: Pre-trade pipeline — sector-rotation + build-thesis, tool-agnostic
  • workspaces: Tell chat agents to hand finished work back via the inbox
  • workspaces: Chat-cli template — tools via alice CLI, inbox via MCP
  • workspaces: Launcher-level toolAccess option (MCP vs CLI); merge chat-cli into chat
  • devtools: Pre-fill Tools tab from a tool's declared example input
  • devtools: Declare example inputs for the read-only data tools
  • devtools: Example inputs for trading tools (mutations conservative)
  • ui: Create-workspace dialog + single-source the form across surfaces
  • entities: Phase 1 — entity store + entity_upsert/entity_search MCP tools
  • entities: Phase 2 — Tracked tab + [[name]] backlinks
  • entities: Surface entity_upsert / [[name]] in the chat workspace instruction
  • entities: Self-describing asset names — kind-prefixed (stock-vst, crypto-btc)
  • workspace: Drop the git panel; fold the files panel from a top-bar toggle
  • workspace: Add opencode as a third agent adapter
  • workspace: Add Pi as a fourth agent adapter (CLI-injection tools)
  • ui: React-i18next foundation + language picker (i18n stage 2)
  • ui: Translate ActivityBar + Settings page (i18n slice)
  • ui: Translate nav secondary sidebars (i18n batch 1)
  • ui: Translate login gate (i18n batch 2)
  • devtools: Tool-audit skill + repo-root .mcp.json for dev-side auditing
  • analysis: Right-side volume signals — RVOL/OBV/MFI/VWAP + relative-volume movers
  • discovery: Add dollar_volume (traded notional) as the absolute volume axis
  • tool: Expose ETF tools to the agent (ANG-79) — thematic-ETF self-serve
  • workspace: Give Pi full MCP via an injected bridge extension
  • ui: Show all agents on template cards + opencode/pi glyphs
  • analysis: Sector rotation map — GICS-11 cross-section (ANG-80)
  • ui/market: Sector rotation map — quadrant chart + ranked table
  • ui/workspace: Top-right Spawn button on template detail, unify create flow
  • ui/workspace: Always-visible "New session" button in workspace header
  • ui: Dedicated file viewer tab + clickable [[wikilinks]]
  • workspace: Pi by-id session resume via launcher-assigned id
  • workspace: Codex + opencode by-id session resume (post-spawn harvest)
  • workspace: Unified headless launch interface + standard dispatch API
  • ui: Add Traditional Chinese (zh-Hant)
  • ui: Translate Inbox / Tracked / News pages (i18n)
  • ui: Translate Chat workspace surface (i18n)

v0.30.0-beta.1

31 May 12:57
681f8e3

Choose a tag to compare

v0.30.0-beta.1 Pre-release
Pre-release

Changelog

All notable changes to OpenAlice will be documented in this file.

[Unreleased]

🐛 Bug Fixes

  • build: Resolve UI dist caching footgun + electron pack readiness
  • test: Sync workspace aliases to e2e + bbProvider configs
  • electron: Upgrade to v38 + restore full turbo build
  • workspaces: Templates resolution survives tsup bundling
  • ui: Mobile secondary sidebar accessible via drill-down drawer
  • workspaces: Override PWD env to match spawn cwd
  • workspaces: PWD env override + observable resume failure
  • workspaces/codex: Read MCP URL from spawn env, not backend env
  • workspaces/claude: Drop fragile --continue, fresh-spawn when no id
  • ui/sidebar: Trim ActivityBar, widen secondary, popover BETA hint
  • ui/sidebar: Inline disclosure for BETA hint, avoid overflow clip
  • ui/routing: Land on Inbox instead of Traditional Chat by default
  • ui/routing: Redirect /chat URLs to /inbox
  • ui/sidebar: Move Chat above Workspaces in top nav
  • trading-proxy: Rewrap upstream Response so middleware can mutate headers
  • trading-proxy: Use * catch-all instead of /* (Hono routing)
  • docker: Restore broker SDK deps to root package.json
  • uta: Make services/uta typecheck clean (closes ANG-65)
  • ui: Activate matching sidebar on URL adoption
  • workspaces: De-stale chat / finance-research / auto-quant templates
  • ui: Retarget store.spec off the removed chat ViewSpec
  • ui: Unwire deleted chat/channels demo MSW handlers from the barrel
  • ui: Bump tab-store persist version (drop stale chat/notif tabs)

📚 Documentation

  • todo: Record vitest config consolidation followup
  • todo: Retire mcp-ask connector
  • readme: Rewrite Quick Start for the dev orchestrator + 5173 reality
  • readme: Reflect UTA-split architecture — two-process model + carrier framing
  • readme: Add Authentication section + Docker login hint
  • claude.md: Rewrite Project Structure + Key Architecture
  • claude.md: Rewrite Git Workflow + retire TODO.md to Linear
  • claude.md: Point future-work surface at Linear (follow-up to d1d417f)
  • claude.md: Rewrite Quick Start + Pre-commit Verification
  • claude.md: Refuse external PRs before pull, not after
  • claude.md: Reframe architecture around Workspace launcher + Trading-context injector
  • claude.md: Note --filter='!@traderalice/desktop' for cloud sessions
  • claude: Update CLAUDE.md for the legacy-chat excision
  • readme: Align README with legacy-chat excision

🔧 Refactoring

  • config: Single-source port architecture, derive everything from connectors.json
  • build: Dev/test consume workspace package source, drop predev hook
  • paths: Centralize fs resolution behind paths.ts, prep for DMG
  • uta-protocol: Lift broker preset catalog into shared package
  • telegram: Await UTA-manager calls in prep for SDK swap
  • uta-service: Relocate simulator routes from Alice to UTA
  • tool/trading: Await UTA-manager + per-account async calls (Phase A)
  • trading: Move aliceId expansion into UnifiedTradingAccount
  • uta-split: Physically move src/domain/trading into services/uta
  • ui: Split Trading Accounts × Portfolio responsibilities
  • workspaces: Drop CLI-pick checkboxes from create flow
  • build: Extract Electron shell to apps/desktop
  • ui: Move Automation from Legacy to Beta in sidebar nav
  • core: Excise legacy chat cluster + retire AgentCenter (backend)
  • ui: Remove traditional-chat / notifications-legacy / connectors surfaces

🚀 Features

  • electron: Introduce guardian skeleton (port probe + backend spawn)
  • dev: Orchestrator unifies pnpm dev to single command with auto port adjustment
  • workspaces: Path-centric debug infra for session spawn/resume
  • workspaces: Headless probe API for self-debug closure
  • docker: Self-host image with bundled claude + codex CLIs
  • ui/workspace: Collapsible side panels + Git status labels
  • workspaces: Template catalog + README convention + version lineage
  • uta-protocol: Bootstrap shared wire protocol package
  • uta-service: Bootstrap co-located UTA service process
  • guardian: Introduce L2 supervisor module, replace scripts/dev.ts
  • guardian: Add flag-based UTA restart protocol
  • uta-split: Cut Alice trading routes over to BFF proxy
  • uta-client: Lift trading types to uta-protocol + build SDK skeleton
  • uta-service: Add 4 routes the AI tool layer needs
  • uta-client: Wire SDK's commit/sync/simulatePriceChange/getContractDetails
  • uta-service: Add 4 stage-only wallet routes for the AI tool layer
  • uta-service: Expand aliceId server-side in contracts/details route
  • uta-service: Add POST /quote with aliceId expansion + SDK envelope fixes
  • alice: Swap main.ts to UTAManagerSDK — Alice no longer holds broker state
  • docker: Dual-bundle build + tini-supervised Guardian prod entry
  • safe: Add agent-first red-team penetration kit
  • auth: Admin token + session cookie + middleware (L1+L2 gate)
  • auth: Gate WebSocket upgrades + close TDD loop on playbooks 01-03
  • auth: UI login gate + /api/auth/status localhost passthrough
  • auth: SPA shell exception + bind 0.0.0.0 in container
  • ui: Stage 1 demo mode — UI runs with no backend
  • workspace: Bearer auth option for Claude provider config
  • workspace: Carry authMode through profile Apply + MiniMax preset
  • ai-providers: Honor profile authMode in GenerateRouter runtime (ANG-72)
  • demo: Stage 2 PR-1 — Vercel-deployable + visual skeleton
  • demo: Stage 2 PR-2 — PTY transcript replay + recorder tool
  • demo: Stage 2 PR-3 — flagship scenario (Inbox ↔ workspace ↔ transcript)
  • demo: Stage 2 PR-4 — secondary fixture richness
  • migrations: Add 0007 to retire legacy-chat config orphans

🧪 Testing

  • paths: Cover dataPath/defaultPath/uiBundlePath/templatesPath
  • auth: Unit tests for token-store, session-store, and middleware
  • core: Rewrite AgentWork/heartbeat/cron specs for the rewired path

v0.21.0-beta.5

16 May 09:25
e4d09eb

Choose a tag to compare

v0.21.0-beta.5 Pre-release
Pre-release

Changelog

All notable changes to OpenAlice will be documented in this file.

[Unreleased]

🚀 Features

  • activitybar: Introduce Beta section; promote trading-related entries

v0.21.0-beta.4

16 May 09:16
228d43c

Choose a tag to compare

v0.21.0-beta.4 Pre-release
Pre-release

Changelog

All notable changes to OpenAlice will be documented in this file.

[Unreleased]

🐛 Bug Fixes

  • workspaces: Allow port 3002 origin for web terminal CORS

📚 Documentation

  • claude.md: Cover cloud claude/* side-branch hotfix pattern
  • readme: Add Workspace + Inbox to Key Concepts
  • readme: Post-Workspace generation pass — Brain retired, two-layer Automation, Inbox + Workspace surfaced
  • claude-md: Add README maintenance discipline
  • readme: Drop "Roadmap to v1" section

🔧 Refactoring

  • activitybar: Linear-style widened sidebar with collapsible sections

🚀 Features

  • workspaces: Windows compat via Git for Windows bash wrap
  • inbox: Per-entry delete (trash button + Delete shortcut)
  • workspace: AI provider test button with test-before-save gating
  • workspace: Lock Codex wire_api to "responses" + chat-only provider hint
  • activitybar: Split Chat into workspace-shortcut + Legacy section
  • activitybar: Promote Connectors to Legacy section, drop from Settings

v0.21.0-beta.3

15 May 13:46
fc998a0

Choose a tag to compare

v0.21.0-beta.3 Pre-release
Pre-release

Changelog

All notable changes to OpenAlice will be documented in this file.

[0.21.0-beta.2] - 2026-05-15

🔧 Refactoring

  • workspace: Finance-research uses cp-discovery, not plugin install

🚀 Features

  • workspace: Finance-research template + satellite-repo pattern

v0.10.0-beta.5

13 May 09:58
b6706b0

Choose a tag to compare

v0.10.0-beta.5 Pre-release
Pre-release

Changelog

All notable changes to OpenAlice will be documented in this file.

[Unreleased]

📚 Documentation

  • TODO: Flag profile + AI Provider model needs structural rethink

🔧 Refactoring

  • workspaces: Drop global-config inheritance, wire MCP per-spawn

🚀 Features

  • workspaces: Per-workspace AI provider config via CLI-native files
  • workspaces/ui: Add ⚙ AI Provider button to sidebar workspace row
  • workspaces/ui: Readable tab titles + sidebar truncate + SDK icons
  • workspaces: Overview dashboard with card-based status view
  • workspaces: Group Overview dashboard by template type
  • chat: Two-section sidebar — workspace chat (recommended) + traditional
  • chat: Chat sidebar UX — default tag, collapsible groups, visual parity

v0.10.0-beta.4

12 May 12:12
82dd759

Choose a tag to compare

v0.10.0-beta.4 Pre-release
Pre-release

Changelog

All notable changes to OpenAlice will be documented in this file.

[Unreleased]

🚀 Features

  • workspaces/auto-quant: Zero-config via public mirror + per-workspace isolated data