Skip to content

Release history

TradingAgents releases

All releases

6 shown

v0.2.5 Security relevant
Security fixes
  • Ticker path-traversal validation fixed at every filesystem-path site
Notable features
  • Grounded Sentiment Analyst reads real Yahoo News, StockTwits, and Reddit data
  • Dual‑region support added for MiniMax (global & China) with separate API keys
  • Remote Ollama support via OLLAMA_BASE_URL
Full changelog

Summary

TradingAgents v0.2.5 ships the grounded Sentiment Analyst, Qwen/GLM/MiniMax dual-region support, `TRADINGAGENTS_*` env-var configurability with API-key auto-detection, remote Ollama support, configurable alpha benchmarks for non-US tickers, and a ticker path-traversal fix.

Sentiment Analyst

The renamed Sentiment Analyst now reads real Yahoo News, StockTwits, and Reddit data before generating its report, replacing the prior flow that could fabricate social posts under prompt pressure. The new name flows through the CLI dropdown, status panel, and final reports; `AnalystType.SOCIAL = "social"` is kept for saved-config back-compat.

Provider Coverage

  • MiniMax with the full M2.x catalog (204K context), plus dual-region Global (`MINIMAX_API_KEY`) and China (`MINIMAX_CN_API_KEY`).
  • Dual-region Qwen and GLM with separate keys per region (`DASHSCOPE_`, `ZHIPU_`), chosen via a secondary region prompt so the main provider dropdown stays clean.
  • Catalog refresh across every provider: GPT-5.5 frontier, Claude Opus 4.7, Gemini 3.1 Flash-Lite GA, Grok 4.20, Qwen 3.6 line. Versioned IDs only; auto-shifting aliases moved to a "Custom model ID" option.
  • Structured output now works on DeepSeek V4 / reasoner and MiniMax M2.x — those providers reject `tool_choice`; the binding flow now skips it automatically.

Configuration via Environment

`TRADINGAGENTS_*` env vars override `DEFAULT_CONFIG` keys with type-aware coercion (string / int / bool) — `llm_provider`, deep/quick model IDs, `backend_url`, `output_language`, debate-round counts, the checkpoint flag, and the benchmark ticker. When a selected provider's API key is missing, the CLI prompts for it and persists the value to `.env` so the run continues without restart.

Ollama

`OLLAMA_BASE_URL` makes remote `ollama-serve` first-class for both the CLI and programmatic users. The CLI prints the resolved endpoint after selecting Ollama and warns on common malformed inputs. A new "Custom model ID" option lets users pick any model they have pulled via `ollama pull`.

Reflection

Alpha is now computed against a regional benchmark for non-US tickers — `.NS` (^NSEI), `.T` (^N225), `.HK` (^HSI), `.L` (^FTSE), `.TO` (^GSPTSE), `.AX` (^AXJO), `.BO` (^BSESN), SPY for US listings. Eliminates FX drift dominating the alpha figure for non-USD listings. `benchmark_ticker` overrides the suffix map when set explicitly.

News-fetch parameters (per-ticker article limit, macro headline limit, lookback window, macro search queries) are now exposed via `DEFAULT_CONFIG` for strategy-specific tuning.

Multi-language

`output_language` now propagates to every user-facing agent — researchers, risk debators, research manager, and trader — ending the previous partial-localization reports where only analysts and the portfolio manager respected the setting.

Fixes

  • Security: ticker path-traversal validation at every filesystem-path site.
  • `pip install .` installations now pick up the project `.env` when running the CLI as a console script.
  • Reports save end-to-end — streamed chunks were previously dropped from `complete_report.md`.
  • Ticker prompt preserves exchange suffixes (`.SH`, `.SZ`, `.SS`, `.HK`, `.T`, etc.).
  • Docker permission errors no longer block first-run write to `~/.tradingagents/`.
  • Config state no longer leaks between runs when sub-dicts are mutated.
  • `max_recur_limit` config actually applies to the propagator.
  • Missing-API-key error names the exact env var to set.
  • Quieter startup — suppressed the noisy upstream langgraph-checkpoint deprecation warning.

See CHANGELOG.md for the full per-item list with PR / issue references.

v0.2.4 New feature
⚠ Upgrade required
  • Cache and log directories moved to `~/.tradingagents/` (resolve Docker permission issues)
  • `backend_url` default changed to `None`; providers now fall back to their native endpoints
  • All file I/O uses explicit `encoding="utf-8"` to avoid UnicodeEncodeError on Windows
Notable features
  • Structured‑output decision agents with Pydantic schemas automatically selecting provider‑specific modes
  • Checkpoint resume via `--checkpoint` saving per‑ticker SQLite state for crash recovery
  • Persistent outcome‑grounded decision log replacing BM25 memory and providing reflections
Full changelog

Summary

TradingAgents v0.2.4 ships structured-output decision agents, opt-in checkpoint resume, a persistent decision log with outcome-grounded reflections, four new LLM providers, and a Docker image.

Structured-Output Decision Agents

  • Research Manager, Trader, and Portfolio Manager use llm.with_structured_output(Schema) on their primary call and return typed Pydantic instances.
  • Each provider's native structured-output mode is selected automatically (json_schema for OpenAI / xAI, response_schema for Gemini, tool-use for Anthropic, function-calling for OpenAI-compatible providers).
  • Render helpers preserve the existing markdown shape, so memory log, CLI display, and saved reports keep working unchanged.
  • Five-tier rating scale (Buy / Overweight / Hold / Underweight / Sell) used consistently across Research Manager, Portfolio Manager, signal processor, and the memory log.

Persistence & Recovery

  • LangGraph checkpoint resume via --checkpoint. State is saved after each node so crashed or interrupted runs resume from the last successful step. Per-ticker SQLite databases under ~/.tradingagents/cache/checkpoints/.
  • Persistent decision log replaces the per-agent BM25 memory. Decisions are stored automatically at the end of every analysis; the next same-ticker run resolves prior pending entries with realised return, alpha vs SPY, and a one-paragraph reflection.
  • Optional memory_log_max_entries config caps resolved entries; pending entries are never pruned.

Provider Coverage

  • DeepSeek, Qwen (Alibaba DashScope), GLM (Zhipu), and Azure OpenAI providers added.
  • Dynamic OpenRouter model selection.
  • Default backend_url is now None so each provider client falls back to its native endpoint instead of leaking the OpenAI URL into Gemini and other clients.

Cross-Platform & Deployment

  • Docker support with multi-stage build for cross-platform deployment.
  • Cache and log directories moved to ~/.tradingagents/ to resolve Docker permission issues.
  • All file I/O passes explicit encoding="utf-8", so Windows users no longer hit UnicodeEncodeError.

Stability

  • Empty memory no longer triggers fabricated past-lessons; the redesigned memory layer makes this structurally impossible.
  • SignalProcessor reads the rating from the rendered Portfolio Manager markdown via a deterministic heuristic, eliminating an extra LLM call per analysis.
  • OpenAI structured-output calls default to method="function_calling" to avoid noisy Pydantic serialization warnings from langchain-openai's Responses-API parse path.
  • Tool-call logging processes every chunk message; memory score normalization handles empty arrays.
  • Pytest fixtures (lazy LLM client imports plus placeholder API keys) so the test suite runs cleanly without credentials.

Acknowledgments

We thank the community contributors who shaped this release. The full list is in the CHANGELOG.

v0.2.3 New feature
⚠ Upgrade required
  • Unified `api_key` parameter applies to Google, Anthropic, and OpenAI providers
  • Proxy and custom base URL configuration added for Google and Anthropic clients
  • Graceful handling of invalid indicator names in tool calls
Notable features
  • Multi-language output selection (11 languages) for analyst reports and final decision while keeping internal debate in English
  • Support for GPT‑5.4 Mini and GPT‑5.4 Nano models with unified model catalog and validation warnings
  • Date‑aware data fetching across OHLCV, fundamentals, and news endpoints plus shared caching per symbol for efficient batch backtesting
Full changelog

Summary

TradingAgents v0.2.3 adds multi-language output, GPT-5.4 family models, and improved backtesting fidelity.

Multi-Language Support

  • Output language selection in CLI (Step 3) with 11 languages and custom input
  • Analyst reports and final decision rendered in the selected language
  • Internal agent debate remains in English for reasoning quality

Model Coverage

  • GPT-5.4 Mini and GPT-5.4 Nano support
  • Unified model catalog as single source of truth for CLI and validation
  • Model validation warnings for unrecognized model names

Backtesting Fidelity

  • Date-aware data fetching across all OHLCV, fundamentals, and news endpoints
  • Shared caching per symbol for efficient batch backtesting

Provider Integration

  • Unified api_key parameter across all providers (Google, Anthropic, OpenAI)
  • Proxy and custom base URL support for Google and Anthropic clients
  • Graceful handling of invalid indicator names in tool calls

Stability

  • Rate limit retry coverage for yfinance news endpoints
  • CLI step reordering for improved user flow
v0.2.2 New feature
Notable features
  • Five-tier rating scale (Buy/Overweight/Hold/Underweight/Sell) with structured executive summary and investment thesis
  • Unified LLM provider integration: OpenAI Responses API, Anthropic effort level control for Claude 4.5+/4.6, normalized responses across providers, exchange‑qualified ticker support
Full changelog

Summary

TradingAgents v0.2.2 introduces a professional five-tier rating framework, unified LLM provider integration, and improved system reliability.

Decision Framework

  • Five-tier rating scale (Buy / Overweight / Hold / Underweight / Sell) with structured executive summary and investment thesis
  • Portfolio manager as the standardized final decision agent

Provider Integration

  • OpenAI Responses API support across all native models
  • Anthropic effort level control for Claude 4.5+ and 4.6
  • Unified response normalization across OpenAI, Google, and Anthropic
  • Exchange-qualified ticker support (e.g. CNC.TO, 7203.T, 0700.HK)

Reliability

  • Cross-platform UTF-8 consistency
  • Consolidated dependency management
  • CLI progress tracking and portability improvements
v0.2.1 Breaking risk
Security fixes
  • CVE-2026-22218 — dependency vulnerability patched
Notable features
  • Added support for OpenAI GPT-5.4 and GPT-5.4 Pro (1M token context)
  • Added Anthropic Claude Opus 4.6 and Sonnet 4.6
  • Added Google Gemini 3.1 Pro and 3.1 Flash Lite
Full changelog

Summary

TradingAgents v0.2.1 brings expanded model coverage, improved robustness, and security hardening.

Model Coverage

  • OpenAI GPT-5.4 and GPT-5.4 Pro support with 1M token context
  • Anthropic Claude Opus 4.6 and Sonnet 4.6 support
  • Google Gemini 3.1 Pro and 3.1 Flash Lite support
  • Streamlined model selection with intuitive ordering in CLI

Robustness

  • Resilient stock data parsing with automatic handling of malformed CSV and NaN values
  • Robust indicator tool that gracefully handles comma-separated inputs from LLMs
  • Complete debate state initialization preventing KeyError in edge-case configurations
  • Configurable debate rounds now correctly passed through to ConditionalLogic
  • Cross-platform UTF-8 file encoding for Windows compatibility

Security

  • Dependency vulnerability patched (CVE-2026-22218)

Maintenance

  • Triaged 93 open PRs, closing resolved and stale submissions
  • Cleaned up deprecated model entries
  • Fixed pip install package metadata
v0.2.0 Breaking risk
⚠ Upgrade required
  • Replace ChromaDB with BM25 for memory retrieval
  • Codebase cleanup and documentation updates
Breaking changes
  • Renamed agents: risky → aggressive, safe → conservative
Notable features
  • Multi-provider LLM support (OpenAI, Google, Anthropic, xAI, OpenRouter, Ollama) using factory pattern
  • Provider-specific thinking/reasoning configurations
  • Post-analysis report saving with organized subfolder structure
Full changelog

Summary

TradingAgents v0.2.0 introduces multi-provider LLM support and system architecture improvements.

Features

  • Multi-provider LLM support with factory pattern (OpenAI, Google, Anthropic, xAI, OpenRouter, Ollama)
  • Provider-specific thinking/reasoning configurations
  • Post-analysis report saving with organized subfolder structure

Improvements

  • Fixed streaming display truncation and message deduplication
  • Replace ChromaDB with BM25 for memory retrieval
  • Renamed risky/safe agents to aggressive/conservative aligning with industry standard
  • Codebase cleanup and documentation updates

Beta — feedback welcome: [email protected]