From c95f83dfafa748801ab2be4855e6fcffc93804e4 Mon Sep 17 00:00:00 2001 From: Yijia-Xiao Date: Mon, 31 Aug 2026 02:55:21 +0000 Subject: [PATCH] chore: release v0.4.0 - look-ahead / point-in-time fixes across FRED macro, social sentiment, and the decision-log memory; clearer decision signals; CLI checkpoint resume; Trader price grounding - GPT-5.6 / GLM-5.3 models --- CHANGELOG.md | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 7 ++++--- pyproject.toml | 2 +- 3 files changed, 62 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8e926b004..9071c0445 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,63 @@ 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.4.0] — 2026-08-31 + +Look-ahead and point-in-time fixes across the data and memory layers, clearer +decision signals, working CLI checkpoint resume, and the GPT-5.6 / GLM-5.3 models. + +### Fixed + +- **FRED macro look-ahead.** Historical macro requests were served from today's + data vintage, leaking later revisions into a backtest; both the observations + and metadata requests now pin the vintage to the as-of date. (#1275) +- **Social sentiment look-ahead.** StockTwits and Reddit were fetched with no + date, so a historical run showed today's chatter as if it were from the as-of + date; the social path is now trimmed to the analysis window, via one shared + UTC half-open window rule (`dataflows/date_window`) used by news too. (#1220) +- **Memory point-in-time guard.** `get_past_context` returned every resolved + lesson regardless of the run date; each resolved entry now records the date + its outcome became known, and a historical run only sees lessons resolved by + the trade date. (#1251) +- **Premature reflection.** A decision was settled on a partial return if a rerun + happened before its holding window fully traded; resolution now waits for the + full window. (#1169) +- **Latest OHLCV bar dropped.** The newest bar with a NaN close was silently + dropped before the date cutoff, making the previous trading day look like the + latest; dates are normalized per element (DST- and non-US-market safe) and a + missing latest close raises rather than falling back. (#1201) +- **Debate opening fabrication.** The first speaker in each debate round rebutted + an empty opponent response, fabricating the other side; all five debators now + open with their own case when no opponent has spoken. (#1176) +- **Silent Hold.** An unparseable Portfolio Manager rating (including a fullwidth + colon) was coerced to a tradeable Hold; it now surfaces a `REVIEW` sentinel, + with `parse_rating` keeping its silent default for compatibility callers. (#1170) +- **`--checkpoint` was a no-op on the CLI.** Checkpoint setup lived only in + `propagate()`; the CLI streamed the checkpointer-less graph. The lifecycle is + now shared, and a resume feeds `None` so LangGraph continues the interrupted + run instead of duplicating messages. (#1249) +- **DeepSeek via OpenRouter.** `deepseek/` fell through to default + capabilities and had object-form `tool_choice` forced on it; the official + namespace is stripped so it reuses the native DeepSeek quirks. (#1199) +- **Trader price grounding.** The Trader saw only the digested plan; it now also + receives the technical market report so entry/stop levels anchor to real price + structure. (#1167) + +### Added + +- **Configurable output-token cap.** `max_tokens` / `TRADINGAGENTS_MAX_TOKENS`, + forwarded to every provider (Gemini as `max_output_tokens`), so a model that + emits unbounded reasoning can be bounded instead of hanging. (#1204) +- **Latest models.** Added the GPT-5.6 family (`gpt-5.6` / `gpt-5.6-terra` / + `gpt-5.6-luna`) and GLM-5.3 (`glm-5.3`, `glm-5.3-flash`). The default models + are now `gpt-5.6` (deep) and `gpt-5.6-luna` (quick). + +### Contributors + +Thanks to everyone who reported these or sent a fix: + +[@PyriteResearch](https://github.com/PyriteResearch), [@yiran1268](https://github.com/yiran1268), [@fabiolenine](https://github.com/fabiolenine), [@lx7720](https://github.com/lx7720), [@taro0915](https://github.com/taro0915), [@Jaswanth-Sriram-Veturi](https://github.com/Jaswanth-Sriram-Veturi), [@ariesy](https://github.com/ariesy), [@liangzj1999](https://github.com/liangzj1999), [@zkwang616](https://github.com/zkwang616), [@aniketshukla1](https://github.com/aniketshukla1), [@loulanyue](https://github.com/loulanyue), [@hudsonwa](https://github.com/hudsonwa), [@daleselaji-dev](https://github.com/daleselaji-dev), [@wolfoswald777-crypto](https://github.com/wolfoswald777-crypto). + ## [0.3.1] — 2026-07-05 Correctness and stability patch: data look-ahead, graph-router crash-safety, diff --git a/README.md b/README.md index def85acbe..505b69df4 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,8 @@ # TradingAgents: Multi-Agents LLM Financial Trading Framework ## News -- [2026-07] **TradingAgents v0.3.1** released with correctness and stability fixes: Alpha Vantage look-ahead filtering, graph-router crash-safety, graph-shape-aware checkpoint resume, working crypto sentiment sources, a configurable LLM retry budget, Bedrock API-key auth, and Claude Sonnet 5 / Fable 5 support. See [CHANGELOG.md](CHANGELOG.md) for the full list. +- [2026-08] **TradingAgents v0.4.0** released with look-ahead / point-in-time fixes across FRED macro, social sentiment, and the decision-log memory; clearer decision signals; working CLI checkpoint resume; Trader price grounding; and the GPT-5.6 and GLM-5.3 models. See [CHANGELOG.md](CHANGELOG.md) for the full list. +- [2026-07] **TradingAgents v0.3.1** released with correctness and stability fixes: Alpha Vantage look-ahead filtering, graph-router crash-safety, graph-shape-aware checkpoint resume, working crypto sentiment sources, a configurable LLM retry budget, Bedrock API-key auth, and Claude Sonnet 5 / Fable 5 support. - [2026-06] **TradingAgents v0.3.0** released with a verified data-access contract, an expanded provider registry (NVIDIA, Kimi, Groq, Mistral, Bedrock, and any OpenAI-compatible endpoint), FRED and Polymarket data vendors, a current-generation model catalog, and a CI gate. - [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. - [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. @@ -222,8 +223,8 @@ from tradingagents.default_config import DEFAULT_CONFIG config = DEFAULT_CONFIG.copy() config["llm_provider"] = "openai" # e.g. openai, google, anthropic, deepseek, groq, ollama; openai_compatible covers any OpenAI-compatible endpoint (vLLM, LM Studio, llama.cpp, ...) -config["deep_think_llm"] = "gpt-5.5" # Model for complex reasoning -config["quick_think_llm"] = "gpt-5.4-mini" # Model for quick tasks +config["deep_think_llm"] = "gpt-5.6" # Model for complex reasoning +config["quick_think_llm"] = "gpt-5.6-luna" # Model for quick tasks config["max_debate_rounds"] = 2 ta = TradingAgentsGraph(debug=True, config=config) diff --git a/pyproject.toml b/pyproject.toml index c3021a5bf..b6e2974a7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "tradingagents" -version = "0.3.1" +version = "0.4.0" description = "TradingAgents: Multi-Agents LLM Financial Trading Framework" readme = "README.md" requires-python = ">=3.10"