Repository navigation
Releases: XSirch/OpenAlice
Releases · XSirch/OpenAlice
Release list
v0.89.2-beta
Changelog
All notable changes to OpenAlice will be documented in this file.
[0.89.2-beta] - 2026-08-06
🐛 Bug Fixes
- ui: Scope style-recommended colors
- ui: Flatten Win98 session rows
- pi: Localize workspace provider injection
📚 Documentation
- Complete shadcn migration plan
- Archive runtime style profile plan
- Complete Pi local injection plan
- plans: Record semantic assignee delivery
🚀 Features
- ui: Add focused chat workspace view
- ui: Migrate shadcn primitives to Base UI
- ui: Add runtime style profiles
- ui: Add Windows Classic palette
- issues: Clarify scheduled assignee semantics
v0.89.1-beta
Changelog
All notable changes to OpenAlice will be documented in this file.
[0.89.1-beta] - 2026-08-06
⚙️ CI
- Fetch release tags for broker pack smoke
- Parallelize release build work
- Parallelize desktop broker pack smoke
- Surface failures before package smoke
🐛 Bug Fixes
- market-data: Return latest UTA bars
- analysis: Preserve multi-interval provenance
- ibkr: Arm handshake listeners before greeting
- broker-packs: Reconcile installed releases on upgrade
- demo: Expose Workspace files
- demo: Report current app version
- demo: Reconnect Tracked note workspaces
- demo: Persist news collector config
- demo: Restore issue run conversations
- ui: Preserve Tracked artifact provenance
- issues: Keep scheduled work with one owner
- ui: Open sessions from provenance identity
- ui: Confirm before opening provenance session
- ui: Name session row actions
- settings: Expose selected controls
- connectors: Localize status overview
- trading: Localize broker review
- ui: Label every toggle control
- ui: Make workspace cards keyboard accessible
- inbox: Follow current workspace labels
- news: Show latest articles first
- automation: Label runs with workspace tags
- demo: Keep crypto markets open
- connectors: Preserve secret drafts
- news: Validate RSS feed URLs
- connectors: Stage secret updates explicitly
- ui: Honor UTA account labels
- ui: Identify position close actions
- ui: Expose active order view
- ui: Expose order history details
- ui: Make order history responsive
- ui: Give trading tables full width
- Prevent oversized position closes
- cli: Accept kebab-case workspace flags
- ui: Preserve WebPi reader scroll position
- Preserve Pi and OpenCode context state
- portfolio: Apply validated snapshot settings
- ui: Localize file viewer back action
- ui: Localize the market FX landing
- ui: Ignore IME composition Enter in chat
- ui: Isolate closed mobile page drawers
- ui: Close mobile chat drawer after navigation
- ui: Make workspace files keyboard accessible
- ui: Add keyboard behavior to launch menus
- ui: Surface tracked list refresh failures
- ui: Make portfolio account header responsive
- market: Rank real assets ahead of synthetic derivatives
- ui: Make news article disclosures keyboard accessible
- ui: Scope chat workspace actions
- installer: Verify managed TUI dependency
- ui: Default Files panel to closed
- guardian: Retry transient Windows owner writes
- conversation: Make timeouts opt in
- ui: Expose model suggestions
- release: Verify tag-pinned installer plan
- desktop: Make update handoff observable
- installer: Highlight current shell activation
- release: Unblock desktop 0.89 artifacts
- release: Mirror NSIS updater install mode
- release: Mirror detached NSIS updater launch
- desktop: Run assisted updates silently
- updater: Take over legacy Windows process trees
- updater: Stop residual Windows install processes
- updater: Bypass legacy long-path uninstaller
- cli: Preserve stable updates for release installs
- Surface runtime provider errors
📚 Documentation
- Self-host star history chart
- Refresh star history palette
- Close broker pack release safety plan
- ui: Define warm editorial design contract
- chat: Require AutoQuant handoff paths
🔧 Refactoring
- workspaces: Retire per-workspace agent pins
- cli: Clarify workspace command boundaries
🚀 Features
- workspaces: Disclose launch configuration
- workspaces: Show shell launch configuration
- issues: Reply to unowned comments
- issues: Show effective runtime defaults
- Add new Workspace provider defaults
- demo: Simulate trading order pushes
- ui: Make portfolio positions responsive
- ui: Localize issue detail
- Add pinned AutoQuant V2 harness
- ui: Add global backend offline state
- cli: Persist Supervisor source setup
- cli: Prepare managed local source
- cli: Add instance settings to supervisor TUI
- workspaces: Prefer native session titles
- remote: Identify offline runtime targets
- cli: Manage named runtime instances
- cli: Install standalone runtime bundles
- cli: Streamline parameter-free TUI startup
- cli: Automate source-only first start
- ui: Consolidate mobile navigation chrome
- inbox: Expose absolute attachment paths
- conversation: Add Inbox and Harness targets
- chat: Teach agents to delegate to AutoQuant
- models: Add DeepSeek V4 Flash
- workspaces: Add default session runtime
🧪 Testing
- migrations: Tolerate Windows symlink privilege
- uta: Allow startup contention on slow hosts
- ui: Wait for data-home toggle readiness
- ui: Lock Files panel collapsed default
- ui: Run workspace section in DOM
- cli: Normalize path assertions on Windows
- cli: Preserve Windows default-home semantics
- desktop: Gate releases on N-1 upgrades
- desktop: Normalize upgrade smoke path assertion
- release: Allow slow Windows update replacement
- release: Expand Windows upgrade install path
- release: Wait for detached Windows installer
v0.84.1-beta
Changelog
All notable changes to OpenAlice will be documented in this file.
[0.84.1-beta] - 2026-08-05
🐛 Bug Fixes
- ci: Make R2 release mirror optional
- pluggy: Route setup through portfolio
- connector: Expose health before Telegram startup
- connector: Dedupe restarts and bound Telegram startup
- connector: Start Telegram before command sync
- connector: Report Telegram authentication failures
- connector: Use native Telegram fetch in production
- connector: Route conversation rotation to Alice
- market: Activate configured brapi searches
- auth: Avoid Windows session temp-file collisions
- portfolio: Retain cached view during refresh
- alice: Route Pluggy classification requests to custody tools
- codex: Keep headless Inbox commands runnable
📚 Documentation
- alice-invest: Refresh inbound task validation
- alice-invest: Reconcile local validation evidence
- alice-invest: Plan Brazilian market roadmap
- market: Catalog Brazil data source governance
- alice-invest: Record Telegram E2E evidence
🚀 Features
- connector: Route Telegram conversations to Alice
- ai: Add OpenRouter cost analytics
- chat: Show OpenRouter cost summary
- portfolio: Persist cached portfolio projection
- market: Expose Brazil series provenance
- market: Persist Brazil macro snapshots
- market: Register Brazil macro snapshot migration
- market: Expose Brazil macro snapshot history
- market: Add CVM open data contract
- market: Parse CVM issuer mappings
- alice-invest: Normalize fixed income custody contracts
- alice-invest: Reconcile fixed income custody
- alice-invest: Calculate FGC exposure
- alice-invest: Add fixed income maturity ladder
- market: Show Brazil macro snapshot revisions
- market: Persist Brazil board cache
- market: Add Brazil macro policy calendar
- market: Load official CVM statement archives
- market: Map B3 tickers to CVM issuers
- invest: Add Brazil events and tax policy
- invest: Import B3 brokerage notes safely
- invest: Add fail-closed tax estimates
- invest: Export redacted tax reports
- invest: Associate sourced corporate events
- invest: Show portfolio corporate event calendar
- invest: Separate recorded total return
- invest: Explain Brazil macro exposure
- invest: Add contextual portfolio alerts
- invest: Surface official CVM fundamentals
- market: Expose official CVM capital composition
- portfolio: Classify Pluggy fixed-income holdings
- alice: Classify Pluggy holdings through chat
🧪 Testing
- cli: Cover custody classification commands
v0.84.0-beta
Changelog
All notable changes to OpenAlice will be documented in this file.
[0.84.0-beta] - 2026-07-23
UTA
- Close the order state machine + PnL read-state fix (#325)
Build
- Add Turborepo for workspace build orchestration
- desktop: Dedupe Windows Git runtime
Config
- Default crypto to bybit demo, securities to alpaca paper with tickers
Desktop
- Add in-app update prompt
Merge
- Unified trading architecture + AGPL-3.0 relicense
Polish
- analysis: Date-only daily bars + simulate entry-slip note (dogfooding)
Refine
- analysis: Snapshot bars opt-in + rss window default cap (model-payload ergonomics)
- workspaces: Reframe self-schedule file as an issue declaration
- issues: Make the Issues board sidebar-less + full-width (Linear parity)
Rename
- ui: /trade → /trading-as-git for semantic clarity
Revert
- ui: Drop react-resizable-panels — caused initial-load layout flash
- ccxt: Drop canonical localSymbol; wire format is broker-native identity
⚙️ CI
- Add GitHub Actions workflow and fix time-sensitive test
- Add automatic release workflow on master merge
- Publish opentypebb to both GitHub Packages and npmjs
- Add workflow_dispatch + independent registry checks for publish
- desktop: Build + publish per-platform installers on release
- desktop: Drop macos-13 (Intel) from the build matrix
- release: Pass --tag to git-cliff so notes aren't headed "[Unreleased]"
- alice-invest: Add complete validation workflow
- alice-invest: Enable corepack in validation workflow
- release: Retire macOS release builds
⚡ Performance
- Decouple CCXT init from startup, allow plugins to start immediately
- ui: Bypass React during sidebar drag — update DOM width directly
- uta: Listing-driven sync — hanging stop/TP orders cost zero per pass
- entities: Cache the backlink scan + fix Tracked loading UX
🎨 UI
- Polish frontend design — chat input, sidebar, card system
- Round 2 polish — shared components, transitions, table hover
- Round 3 polish — toast system, send spinner, mobile fixes
- Description-aside layout for config pages (MarketData, News)
- Apply ConfigSection layout to Settings, Connectors, AI Provider
- Unified button classes, HeartbeatPage/ToolsPage layout polish
- TradingPage full redesign — cards, 2-step wizard, visual polish
- Pre-release design polish — branding, layout, micro-interactions
- Replace gradient accent with muted dark buttons
- Add OpenAI backend card + tone down button styling
- flow: Hide dead-side event nodes
- Compact activity rail in short windows
- Add stepped activity rail breakpoints
🐛 Bug Fixes
- Inject persona + brain state into Claude Code provider
- Extract assistant text when Claude Code result is empty
- Align SettingsPanel with actual backend config structure
- Use --disallowedTools instead of --allowedTools for evolution mode
- Restore --allowedTools and hot-reload evolutionMode
- ui: Batch quality fixes — XSS, toggle, SSE dedup, error feedback
- Default mcpPort to 3001 so MCP tools server always starts
- Inject MCP tool permissions via --allowedTools, gitignore .claude/
- Skip crypto trading tools when engine is null
- openbb: Remove commodity from provider config, fix provider option lists
- Pass ccxt options under
optionskey instead of spreading at top level - tools: Set correct providers for equity fundamental and news tools
- openbb: Split news providers and handle 204 No Content
- Make MCP Server always-on — Claude Code provider depends on it for tools
- test: Update engine.spec.ts to match new VercelAIProvider constructor
- Connectors config auto-init and migration defaults
- Derive validSections from sectionSchemas to prevent config API drift
- news-collector: Retry RSS fetch once on failure
- docs: Replace Mermaid & syntax for broader renderer compatibility
- SSE stability — auto-reconnect with exponential backoff
- Clarify searchContracts/getContractDetails tool descriptions
- Update stale equitySearch/cryptoSearch references in tool descriptions
- Soften marketSearchForResearch description to avoid mandatory pre-search
- Seed platforms.json + accounts.json to disk on legacy migration
- Sequential loadMarkets with per-type retries for CCXT
- Add init retry with exponential backoff for AlpacaAccount
- Enforce aliceId as required contract identifier for trading tools
- opentypebb: Point exports to src/ so tsx resolves without build
- Upgrade opentypebb hono 4.7.4 → 4.12.7 to resolve type mismatch
- Allow 'agent-sdk' in backend switch API validation
- ui: Persist streamed tool calls and show thinking dots during text generation
- ci: Let pnpm version come from package.json packageManager field
- streaming: Push intermediate text events from Claude Code and Agent SDK providers
- session: Persist intermediate text blocks during tool loops
- Restore opentypebb src exports for local dev, use publishConfig for dist
- session: Remove duplicate assistant text persistence
- ci: Write local .npmrc for npmjs publish to avoid GitHub Packages auth conflict
- ci: Override NPM_CONFIG_USERCONFIG for npmjs publish
- Add pnpm workspace so opentypebb deps are installed automatically
- ui: Preserve content block order in streaming (text before tools)
- ui: Unify history and streaming message rendering
- ci: Add ui to pnpm workspace for unified dependency install
- ci: Remove pnpm cache from publish job to avoid path error
- openbb: Mount widgets.json on embedded server + align hono version
- Improve Alpaca and CCXT startup error handling for missing/invalid API keys
- build: Fix opentypebb exports for production + add start script
- pipeline: Batch parallel tool results into single user message
- ui: Warn that Anthropic-compatible base URL must end with /v1
- pipeline: Remove double media extraction from text-kind providers
- Restore preview image in README
- Sanitize orphaned tool-calls in toModelMessages
- Correct message dispatch for TWS v201+ protocol
- Include spec files in tsc and fix all type errors
- Add optional chaining for legacy commits without contract/order
- Align frontend types with IBKR-renamed backend fields
- Upgrade deps to resolve 21 of 23 security vulnerabilities
- ci: Build @traderalice/ibkr before tests
- Nullable close price in crypto schema & IME composition guard (#65, #66)
- Order loss in Trading-as-Git — execution detection + precise sync
- Trading system precision — Decimal throughout, add reduceOnly
- AliceId uses market.symbol (unique) instead of market.id (ambiguous)
- Shared e2e setup + fetchClosedOrders without limit/since
- GetOrder uses fetchOpenOrder/fetchClosedOrder (singular)
- AlpacaBroker getOrder, UUID orderId, precision — add Alpaca e2e tests
- Remove duplicate logToolCall from providers — AgentCenter pipeline is the single source
- Rehydrate Decimal fields in TradingGit.restore(), add UTA Bybit e2e
- Trading tool descriptions + show staged ops in push panel
- Stop UTA recovery loop for permanent broker errors (missing API keys)
- Remove CcxtBroker read-only mode, require API keys for all accounts
- Verify broker connection before confirming account creation
- CancelOrder return type + parseOperationResult status mapping
- Backend switch drops stale model config + improve Agent SDK error logging
- Clear handshake timeout on success to prevent uncaught TypeError
- Default exchange=SMART and currency=USD for IBKR contracts
- IBKR getMarketClock timeout fallback + E2E singleFork for shared connections
- E2E tests use conId-based aliceId via searchContracts + getNativeKey
- Explicitly reference static members in broker registry
- Resolve pre-existing tsc errors in trading routes, specs, MockBroker
- Switch IBKR package build from tsup to tsc, restore mixin types
- Resolve remaining tsc errors — E2E null checks, tool return type
- ClosePosition with conId-only contract, quote timeout graceful skip
- Broker init idempotent, UTA E2E shared instance, closePosition SMART routing
- Cron listener routing snapshot fires to AI engine
- Snapshot reliability — no fake data, retry on failure, carry-forward in equity curve
- Recompute netLiquidation from fresh position data instead of cached broker totals
- Add null checks to snapshot builder tests for strict tsc
- IBKR socket error crashes process — match Python's graceful disconnect
- Service tests write snapshots to tmpdir instead of data/trading/
- IBKR account data — replace request-response with persistent subscription cache
- Enforce aliceId pipe format (accountId|nativeKey) across codebase
- TrailingAmount maps to trailStopPrice instead of auxPrice
- Query conditional/trigger orders via { stop: true } fallback (#90)
- Add .js extensions to ibkr ESM imports (#94)
- Heartbeat dedup test race condition on CI
- ModifyOrder null-check bugs in Alpaca/CCXT + extend field forwarding
- FMP provider schema fixes + add EquitySearch fetcher
- Restore lastInteraction on startup + readSession filter + ISO timestamps
- Telegram auth guard hot-reload chatIds + fix misleading comment
- Persona & heartbeat default file auto-copy + UI editing
- Remove stale createAgent re-export + fix spec type errors
- Resolve remaining tsc errors in bbProvider specs and MockBroker
- Add codex provider support to channels CRUD endpoints
- Improve codex provider error logging with request details
- Add store:false and array input for Codex subscription endpoint
- Use output_item.done for function call_id instead of arguments.done
- MiniMax preset uses agent-sdk backend, not vercel-ai-sdk
- Schema form initialization + remove Custom option from presets
- Require explicit model selection for OAuth presets
- Wait for connection test before closing create modal
- Remove slash from Codex preset name + encode profile slugs in URLs
- Codex ask() uses streaming — subscription endpoint rejects non-stream...