From a5cb7cbd61d217fb0bc43f017392a861257afe6a Mon Sep 17 00:00:00 2001 From: Yijia-Xiao Date: Mon, 11 May 2026 09:27:36 +0000 Subject: [PATCH] =?UTF-8?q?chore:=20release=20v0.2.5=20=E2=80=94=20sentime?= =?UTF-8?q?nt=20analyst,=20env-var=20config,=20more=20providers?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Headline themes in v0.2.5: - Sentiment Analyst grounded in real data. Renamed from social_media_analyst and redesigned to pre-fetch Yahoo News, StockTwits, and Reddit before the LLM is invoked, ending the prior fabrication behavior. - MiniMax provider with full M2.x catalog and dual-region split. Qwen and GLM also split into international + China regions with separate API keys and a clean secondary region prompt in the CLI. - TRADINGAGENTS_* env-var overlay for DEFAULT_CONFIG with type-aware coercion; .env loading centralized so every entry point sees the user's keys. Interactive API-key detection prompts and persists missing keys to .env on the fly. - OLLAMA_BASE_URL end-to-end for remote ollama-serve, plus a Custom model ID option in the Ollama dropdown. - Configurable news-fetch parameters and configurable alpha benchmark for non-US tickers (.NS / .T / .HK / .L / .TO / .AX / .BO ship with sensible regional defaults). - Multi-language output now propagates to every user-facing agent (researchers, risk debators, research manager, trader) instead of only the analysts and portfolio manager. - Model catalog refresh across all providers (GPT-5.5 frontier, Claude Opus 4.7, Gemini 3.1 Flash-Lite GA, Grok 4.20, Qwen 3.6 line). - Capability-dispatch table drives provider-specific structured-output quirks (DeepSeek V4/reasoner and MiniMax M2.x tool_choice rejection, MiniMax reasoning_split) so the general client stays clean. - Fixes: ticker path-traversal validation (security), dotenv loading via console script, reports save bug, exchange-suffix truncation in the ticker prompt, Docker permission errors, deepcopy config isolation, max_recur_limit plumbing, clearer missing-API-key error. See CHANGELOG.md for the full per-item list with issue/PR references. --- CHANGELOG.md | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 3 +- pyproject.toml | 2 +- 3 files changed, 78 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3fd6afa2b..f4a6b9fc7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,81 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html). Breaking changes within the 0.x line are called out explicitly. +## [0.2.5] — 2026-05-11 + +### Added + +- **Grounded 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. (#557, #607) +- **MiniMax provider** with the full M2.x catalog (M2.7 / M2.5 / M2.1 / M2 + plus highspeed variants, 204K context). Dual-region: Global + (`MINIMAX_API_KEY`) and China (`MINIMAX_CN_API_KEY`). +- **Dual-region Qwen and GLM** with separate keys per region — international + (`DASHSCOPE_API_KEY`, `ZHIPU_API_KEY`) and China (`DASHSCOPE_CN_API_KEY`, + `ZHIPU_CN_API_KEY`), selectable via a secondary region prompt. (#758) +- **`TRADINGAGENTS_*` env-var configurability for `DEFAULT_CONFIG`.** Override + `llm_provider`, deep/quick model IDs, `backend_url`, `output_language`, + debate-round counts, checkpoint flag, and benchmark ticker via `.env` with + type-aware coercion (string / int / bool). (#602) +- **Interactive API-key detection in the CLI.** When the selected provider's + key is missing, the CLI prompts for it and persists the value to `.env` + so the analysis run continues without restart. +- **Remote Ollama support.** `OLLAMA_BASE_URL` points the CLI and the + programmatic client at a remote `ollama-serve`. The CLI surfaces the + resolved endpoint and warns on common malformed inputs. Adds a + `"Custom model ID"` option for models pulled via `ollama pull`. (#648, #768) +- **Configurable news-fetch parameters** in `DEFAULT_CONFIG` — per-ticker + article limit, macro headline limit, lookback window, and macro search + queries. (#606, #683) +- **Configurable alpha benchmark** for non-US tickers. Replaces hardcoded + SPY with regional indices for `.NS` (^NSEI), `.T` (^N225), `.HK` (^HSI), + `.L` (^FTSE), `.TO` (^GSPTSE), `.AX` (^AXJO), `.BO` (^BSESN); explicit + `benchmark_ticker` override available. Eliminates FX drift dominating + alpha for non-USD listings. (#628, #684) +- **Multi-language output covers every user-facing agent** — researchers, + risk debators, research manager, and trader, ending the previous + partial-localization reports. (#575) +- **Model catalog refresh.** OpenAI GPT-5.5 frontier, Anthropic Claude Opus + 4.7, Gemini 3.1 Flash-Lite GA, xAI Grok 4.20, Qwen 3.6 line. Versioned IDs + only; auto-shifting aliases moved to the `"Custom model ID"` option. + +### Changed + +- **Sentiment Analyst** is now consistently named across the CLI dropdown, + status panel, and final reports (previously the backend was renamed but + the CLI still said "Social Analyst"). The `AnalystType.SOCIAL = "social"` + wire value is kept for saved-config back-compat. + +### Fixed + +- **Structured output works on DeepSeek V4 / reasoner and MiniMax M2.x.** + Those providers reject `tool_choice` per their tool-calling docs; the + binding flow now skips it automatically via a capability table. +- **`pip install .` installations pick up the project `.env`** when running + the CLI as a console script. (#747) +- **Reports save end-to-end** — streamed chunks were previously dropped from + `complete_report.md`. (#719, #736) +- **Ticker prompt preserves exchange suffixes** (`.SH`, `.SZ`, `.SS`, `.HK`, + `.T`, etc.) for A-share, HK, Tokyo, and other non-US flows. (#770) +- **Docker permission errors** no longer block first-run write to + `~/.tradingagents/`. (#519, #627, #672, #771) +- **Config state no longer leaks between runs** when sub-dicts are mutated; + `set_config` partial updates preserve sibling defaults. (#788) +- **`max_recur_limit` config actually applies** — previously read but not + forwarded to the propagator. (#764) +- **Missing-API-key error** names the exact env var to set. (#680) +- **Quieter startup** — suppressed the noisy upstream + `LangChainPendingDeprecationWarning` from langgraph-checkpoint; will be + removed once that package ships its fix. + +### Security + +- **Ticker path-traversal validation** at every filesystem-path site (cache, + checkpoint database, results) so a malicious ticker cannot escape its + intended directory. (#618) + ## [0.2.4] — 2026-04-25 ### Added diff --git a/README.md b/README.md index e1d70e30d..0bba01b8f 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,8 @@ # TradingAgents: Multi-Agents LLM Financial Trading Framework ## News -- [2026-04] **TradingAgents v0.2.4** released with structured-output agents (Research Manager, Trader, Portfolio Manager), LangGraph checkpoint resume, persistent decision log, DeepSeek/Qwen/GLM/Azure provider support, Docker, and a Windows UTF-8 encoding fix. See [CHANGELOG.md](CHANGELOG.md) for the full list. +- [2026-05] **TradingAgents v0.2.5** released with the grounded Sentiment Analyst, GPT-5.5 etc. model coverage, Qwen/GLM/MiniMax dual-region support, `TRADINGAGENTS_*` env-var configurability with API-key auto-detection, remote Ollama support, non-US alpha benchmarks, and ticker path-traversal hardening. See [CHANGELOG.md](CHANGELOG.md) for the full list. +- [2026-04] **TradingAgents v0.2.4** released with structured-output agents (Research Manager, Trader, Portfolio Manager), LangGraph checkpoint resume, persistent decision log, DeepSeek/Qwen/GLM/Azure provider support, Docker, and a Windows UTF-8 encoding fix. - [2026-03] **TradingAgents v0.2.3** released with multi-language support, GPT-5.4 family models, unified model catalog, backtesting date fidelity, and proxy support. - [2026-03] **TradingAgents v0.2.2** released with GPT-5.4/Gemini 3.1/Claude 4.6 model coverage, five-tier rating scale, OpenAI Responses API, Anthropic effort control, and cross-platform stability. - [2026-02] **TradingAgents v0.2.0** released with multi-provider LLM support (GPT-5.x, Gemini 3.x, Claude 4.x, Grok 4.x) and improved system architecture. diff --git a/pyproject.toml b/pyproject.toml index 07cbbd3f7..dcb1a6471 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "tradingagents" -version = "0.2.4" +version = "0.2.5" description = "TradingAgents: Multi-Agents LLM Financial Trading Framework" readme = "README.md" requires-python = ">=3.10"