Skip to content

Releases: assafelovic/gpt-researcher

Major fixes

Choose a tag to compare

@assafelovic assafelovic released this 24 Aug 06:58
6f99857

What's Changed

New Contributors

Full Changelog: v3.6.0...v3.6.1

v3.6.0

Choose a tag to compare

@assafelovic assafelovic released this 18 Jul 07:56
5d84d2f

Introducing a super stable version with enhanced improvements across security, stability and performance. We're also introducing a collaboration with Langchain with the latest deep agents framework here - https://github.com/assafelovic/gpt-researcher/tree/main/deep_agents

Thank you and welcome to all the new contributors!

What's Changed

  • security: sanitize untrusted content, add SECURITY.md, pin brotli by @assafelovic in #1820
  • Fix silently dropped token limits, real usage-based cost tracking, and research pipeline robustness by @assafelovic in #1861
  • Add Deep Agents example: GPT Researcher as the research engine in a LangChain deep agent by @assafelovic in #1857
  • Resolve post-merge conflicts: 4 retriever/context fixes (supersedes #1895-1898) by @assafelovic in #1906
  • Retriever hardening: 20 guard fixes against malformed results (supersedes #1837#1890) by @assafelovic in #1907
  • Scraper robustness: 6 fixes (title/PDF-detection/temp-file/dimensions) (supersedes #1824#1842) by @assafelovic in #1908
  • Multi-agent robustness: bound revision loops + exact sentinels (supersedes #1883/#1885/#1886) by @assafelovic in #1909
  • Core/misc hardening: 11 fixes (costs/query/llm/agent/mcp/config) (supersedes #1822#1902) by @assafelovic in #1910
  • Reconcile master→main: GetXAPI retriever, Claude 4.x temp fix, MiniMax M3, curate_sources fixes by @assafelovic in #1911
  • feat: add Nebius Token Factory as LLM and embedding provider by @teionarr in #1891
  • chore(multi_agents): nest AG2 variant under multi_agents/ag2 by @assafelovic in #1912
  • docs(skill): fix drift in .claude reference docs (retrievers, multi-agents, api) by @assafelovic in #1913

New Contributors

Full Changelog: v3.5.1...v3.6.0

v3.5.1

Choose a tag to compare

@assafelovic assafelovic released this 23 Jun 18:08
409b8b6

What's Changed

  • fix: add MAX_REVISIONS guard to prevent infinite revision loop by @varshiniml7 in #1783
  • Improve SimpleQA eval observability with structured logging and latency metadata by @SeanHe727 in #1790
  • feat(retrievers): add Brave Search support by @agbocsardi in #1793
  • Abstain instead of fabricating a report when no content was gathered by @aaravanmay in #1799
  • fix(deep-research): keep oversized context from collapsing to empty by @XiaojuCH in #1802
  • feat(retrievers): add fastCRW search retriever by @us in #1806
  • feat: Add FactChecker and Visualizer Agents to Multi-Agent Workflow by @KasraBashirioskooei in #1809
  • Add GroundRoute retriever (multi-engine search, cached) by @jp0xz in #1812
  • feat: add Atlas Cloud as an OpenAI-compatible LLM provider by @lucaszhu-hue in #1813
  • Update web_scraping.py by @Joly0 in #1816
  • Fix Azure blob loader path handling by @konnisan in #1817

New Contributors

Full Changelog: v3.5.0...v3.5.1

v3.5.0

Choose a tag to compare

@assafelovic assafelovic released this 28 May 07:24
b364917

Massive update across the stack with critical bug fixes and performance improvements including addition to new models and retrievers. Thanks to the amazing community for pushing this!

What's Changed

  • feat: add ModelsLab image generation provider by @adhikjoshi in #1647
  • fix: NameError when STRATEGIC_LLM lacks colon separator (#1673) by @sudabg in #1679
  • fix: properly resolve report_type imports in websocket_manager and re… by @varadfromeast in #1740
  • Fix: resolve unhashable dict error in detailed report context deduplication by @3mk4yl in #1700
  • Add Codex CLI plugin manifest by @internet-dot in #1721
  • fix: eliminate process-level env pollution from MCP retriever setup by @octo-patch in #1742
  • feat(cli): generate filename from LLM and add YAML frontmatter for re… by @VVjwell in #1743
  • feat: add OpenAlex retriever by @CuiweiG in #1748
  • feat(server): add Agent Discovery Protocol manifest endpoint by @zhao0112 in #1749
  • fix: truncate document content to prevent embedding token limit errors by @octo-patch in #1750
  • fix: support MISTRAL_BASE_URL env var for custom Mistral-compatible endpoints by @octo-patch in #1754
  • Add LLM cost change analysis to CI by @Jwrede in #1761
  • chore: fix some typos across codebase by @box4wangjing in #1768
  • Limit multi-agent human plan revisions by @CalibratedGhosts in #1769
  • fix(deep_research): parse LLM output with json_repair + regex fallback by @RomainROCH in #1773
  • fix(llm): raise max_tokens cap from 32k to 200k for modern long-output models by @RomainROCH in #1775
  • Fix incorrect config file path in Chinese README by @wesssI in #1779
  • fix(retrieval): send Brave snippets to scraper by @RomainROCH in #1780
  • feat(cost): track Anthropic usage from native metadata by @RomainROCH in #1781

New Contributors

Full Changelog: v3.4.4...v3.5.0

v3.4.4

Choose a tag to compare

@assafelovic assafelovic released this 16 Apr 17:40
27abde0

What's Changed

New Contributors

Full Changelog: v3.4.3...v3.4.4

v3.4.3

Choose a tag to compare

@assafelovic assafelovic released this 13 Mar 14:06
7d476fa

Huge release with major fixes and performance improvements. Welcome to all the incredible new contributors and shoutout to @Br1an67 with major contributions!

What's Changed

  • fix: Read all pages in PyMuPDFScraper instead of just first page by @MattBenesch in #1623
  • docs: fix invalid Discord invite link in LLM docs by @Br1an67 in #1649
  • fix: invalidate import caches after runtime package install by @Br1an67 in #1650
  • fix: fallback to OPENAI_API_VERSION for Azure embeddings by @Br1an67 in #1651
  • fix: increase PyMuPDF download timeout and add SSL fallback by @Br1an67 in #1652
  • fix: use all configured retrievers in deep research planning by @Br1an67 in #1653
  • fix: add table styles to FastAPI frontend report container by @Br1an67 in #1654
  • feat: track cost per step in research process by @Br1an67 in #1655
  • feat: add scrape count option to FastAPI frontend by @Br1an67 in #1656
  • feat: add pondering questions section to FastAPI frontend by @Br1an67 in #1657
  • fix: dynamically retrieve agent role if missing in ReportGenerator by @kiwabb in #1658
  • fix docs links and add ag2 pipeline diagram by @qingyun-wu in #1662
  • fix: improve retry handling in create_chat_completion by @jhyz in #1664
  • Add support for connection headers in MCP client/server config by @GeorgelPreput in #1665

New Contributors

Full Changelog: v3.4.2...v3.4.3

v3.4.2

Choose a tag to compare

@assafelovic assafelovic released this 01 Mar 14:20

This release is packed with performance and quality improvements! Welcome to the new and amazing contributors, such a pleasure as always!

What's Changed

New Contributors

Full Changelog: v3.4.1...v3.4.2

v3.4.1

Choose a tag to compare

@assafelovic assafelovic released this 21 Feb 07:19
375677c

Huge release packed with incredible improvements and welcome to all the new contributors! See details below:

What's Changed

New Contributors

Full Changelog: v3.4.0...v3.4.1

v3.4.0

Choose a tag to compare

@assafelovic assafelovic released this 29 Jan 11:56

Such an exciting release with powerful new features.

🖼️ Inline Image Generation

GPT Researcher can now automatically generate and embed AI-created illustrations directly in your research reports using Google's Gemini models.

Key features:

  • Pre-generation flow - Images are generated during research, not after, for seamless UX
  • Context-aware - LLM analyzes your research to identify the best visualization opportunities
  • Dark mode styling - Generated images match the app's aesthetic by default
  • Fully configurable - Control max images, style (dark/light/auto), and model

Quick setup:

IMAGE_GENERATION_ENABLED=true
GOOGLE_API_KEY=your_key
IMAGE_GENERATION_MODEL=models/gemini-2.5-flash-image
IMAGE_GENERATION_STYLE=dark

📖 Image Generation Documentation


🔍 LangSmith Integration

Added native support for LangSmith tracing and observability. Monitor your research workflows, debug LLM calls, and analyze performance with full visibility into the research pipeline.

Quick setup:

LANGCHAIN_TRACING_V2=true
LANGCHAIN_API_KEY=your_langsmith_key
LANGCHAIN_PROJECT=gpt-researcher

What you can track:

  • LLM calls and token usage
  • Research planning and sub-query generation
  • Report generation steps
  • Cost analysis per research task

📖 LangSmith Logs Documentation


🤖 Claude Code Skills Integration

Added comprehensive .claude/skills/ directory that enables Claude Code to understand, use, and extend GPT Researcher effectively.

What's included:

  • SKILL.md (1,500+ lines) - Complete architecture, workflows, method signatures, data flow diagrams, and the 8-step feature pattern for adding new features
  • REFERENCE.md - Quick lookup for all config vars, API endpoints, and WebSocket events
  • Real case studies including the Image Generation implementation as a reference

Benefits:

  • Faster contributor onboarding with AI assistance
  • Consistent code patterns across contributions
  • End-to-end feature development following established patterns

📖 AI-Assisted Development Documentation


📚 Documentation Updates

  • ✨ New: Image Generation guide
  • ✨ New: AI-Assisted Development guide for Claude Code users
  • 📝 Updated README with new features section

Installation

pip install --upgrade gpt-researcher

Or with Docker:

docker pull gptresearcher/gpt-researcher:latest

Full Changelog: v0.14.5...v0.14.6

What's Changed

Full Changelog: v3.3.9...v3.4.0

Performance improvements

Choose a tag to compare

@assafelovic assafelovic released this 25 Jan 06:41
50383b4

What's Changed

  • Fix CORS defaults: remove wildcard origins when allow_credentials=true by @PriscaAmajuoyi in #1595
  • docs: add docstrings to memory and context compression modules by @kga245 in #1589
  • refactor: Implement ECR and GitHub Actions Terraform setup with necessary configurations and outputs by @huytran-gg in #1590
  • feat: Implement WebSocket chat command handling & make Tavily optional by @tiandee in #1593
  • Persist /api/reports history to local JSON store (enables Next.js history sync) by @PriscaAmajuoyi in #1594
  • Remove hardcoded authentication token by @E-G-C in #1596

New Contributors

Full Changelog: v.3.3.8...v3.3.9