v0.20.0

infiniflow/ragflowv0.20.0Aug 1, 2025by yuzhichang

AI Summary

Major refactor of the Agent system with unified orchestration, visual capabilities, and full MCP support. Integrates Infinity as the document engine and introduces OpenAI-compatible APIs.

Key Highlights

  • Unified orchestration of Agents and Workflows
  • Visual Agent refactor with Multi-Agent configurations and planning
  • Full MCP functionality (Server import, Client operation)
  • Infinity integration for auto-tagging
  • OpenAI-compatible API supporting file references
  • 10 new Agent templates including Deep Research and Resume Analysis

Breaking Changes

  • From v0.20.0 onwards, Agents are no longer compatible with earlier versions, and all existing Agents from previous versions must be rebuilt following the upgrade.

New Features

  • Multi-Agent configurations
  • Runtime logs for Agents
  • Chat history management
  • New models: Kimi K2, Grok 4, Voyage

Full Release Notes

Released on August 1, 2025.

## Features and improvements

- Unified orchestration of both Agents and Workflows.
- A comprehensive refactor of the Agent, greatly enhancing its capabilities and usability, with support for Multi-Agent configurations, planning and reflection, and visual functionalities.
- Fully realized MCP functionality, allowing for MCP Server import, Agents functioning as MCP Clients, and RAGFlow itself operating as an MCP Server.
- Access to runtime logs for Agents.
- Chat histories with Agents available through the management panel.
- Integration of a new, more robust version of Infinity, enabling the auto-tagging functionality with Infinity as the underlying document engine.
- An OpenAI-compatible API that supports file reference information.
- Support for new models, including Kimi K2, Grok 4, and Voyage.

## 10 new Agent templates are now available:

- Multi-Agent based Deep Research: Collaborative Agent teamwork led by a Lead Agent with multiple Subagents, distinct from traditional workflow orchestration.
- An intelligent Q&A chatbot leveraging internal knowledge bases, designed for customer service and training scenarios.
- A resume analysis template used by the RAGFlow team to screen, analyze, and record candidate information.
- A blog generation workflow that transforms raw ideas into SEO-friendly blog content.
- An intelligent customer service workflow.
- A user feedback analysis template that directs user feedback to appropriate teams through semantic analysis.
- Trip Planner: Uses web search and MCP maps to assist with travel planning.
- Image Lingo: Translates content from uploaded photos.
- An information search assistant that retrieves answers from both internal knowledge bases and the web.

## Breaking changes
From v0.20.0 onwards, Agents are no longer compatible with earlier versions, and all existing Agents from previous versions must be rebuilt following the upgrade.

## What's Changed
* Feat: Add Tavily operator #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8400
* Docs: Added v0.19.1 release notes by @writinwaters in https://github.com/infiniflow/ragflow/pull/8398
* Fix: Document parse via API will alot problen by @Woody-Hu in https://github.com/infiniflow/ragflow/pull/8407
* Fix: rank feature score should be greater than 0. by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/8416
* Feat: Solved the conflict between the Handle click and drag events of the canvas node #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8413
* Fix: doc_aggs issue. by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/8418
* Fix: Database Query Vulnerable to Injection Attacks in rag/utils/opendal_conn.py by @kira-offgrid in https://github.com/infiniflow/ragflow/pull/8408
* Feat: The delete button is displayed only when the cursor is hovered over the connection line #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8422
* Feat: Add HTTPS setup instructions and configuration for Nginx by @yesidc in https://github.com/infiniflow/ragflow/pull/8401
* Fix: AzureChat model code by @asiroliu in https://github.com/infiniflow/ragflow/pull/8426
* Update .env ,Defaults to the v0.19.1-slim edition by @jason-this in https://github.com/infiniflow/ragflow/pull/8412
* Refa: upgrade MCP SDK to v1.9.4 by @yongtenglei in https://github.com/infiniflow/ragflow/pull/8421
* Docs: Miscellaneous editorial updates by @writinwaters in https://github.com/infiniflow/ragflow/pull/8430
* Feat: Scratch MCP tool calling support. by @notsyncing in https://github.com/infiniflow/ragflow/pull/8263
* Feat: Use the message_id returned by the interface as the id of the reply message #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8434
* fix a bug when using huggingface embedding api by @Rainman5042 in https://github.com/infiniflow/ragflow/pull/8432
* Feat: Delete the agent and tool nodes downstream of the agent node #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8450
* Refactor:Improve insert file logic by @Woody-Hu in https://github.com/infiniflow/ragflow/pull/8445
* Test: Add document app tests by @asiroliu in https://github.com/infiniflow/ragflow/pull/8456
* FIX:Saving an RGBA image directly as JPEG will cause an error. If the… by @WuWeiFlow in https://github.com/infiniflow/ragflow/pull/8399
* Feat: Add IterationNode component #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8461
* Fix the bug of long type value overflow by @HaiyangPeng in https://github.com/infiniflow/ragflow/pull/8313
* Docs: exporting created knowledge graphs is not supported by @writinwaters in https://github.com/infiniflow/ragflow/pull/8465
* Feat: add MCP dashboard operations by @yongtenglei in https://github.com/infiniflow/ragflow/pull/8460
* Fix: some cases Task return but not set progress by @Woody-Hu in https://github.com/infiniflow/ragflow/pull/8469
* Feat: add MCP treamable-http transport by @yongtenglei in https://github.com/infiniflow/ragflow/pull/8449
* Fix: Solve the OOM issue when passing large PDF files while using QA chunking method. by @liuzhenghua in https://github.com/infiniflow/ragflow/pull/8464
* Feat: Insert the node data of the bottom subagent into the tool array of the head agent #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8471
* RAGFlow service_conf using .env  variable by @ruansheng8 in https://github.com/infiniflow/ragflow/pull/8454
* Fixes typo in variable name by @tuankg1028 in https://github.com/infiniflow/ragflow/pull/8476
* Refa: improve GraphRAG similarity sensitivity to numeric differences by @yongtenglei in https://github.com/infiniflow/ragflow/pull/8479
* Feat: Filter the query variable drop-down box options by type #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8485
* fix the error 'Unknown field for GenerationConfig: max_tokens' when u… by @Rainman5042 in https://github.com/infiniflow/ragflow/pull/8473
* Fix: Enforce default embedding model in create_dataset / update_dataset by @asiroliu in https://github.com/infiniflow/ragflow/pull/8486
* Adds retrieval result fields to Chunk by @tuankg1028 in https://github.com/infiniflow/ragflow/pull/8478
* Feat: Add retrieval tool #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8491
* Feat: Allow operators inside the loop operator to reference the output parameters of external operators #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8498
* Fix parser_config access for layout_recognize in presentation.py by @tuankg1028 in https://github.com/infiniflow/ragflow/pull/8492
* Feat: add MCP dashboard functionalities list_tools and test_tool by @yongtenglei in https://github.com/infiniflow/ragflow/pull/8505
* Perf: ignore concate between rows. by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/8507
* Feat: Add UserFillUpForm component #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8508
* Feat: Customize the output variable name of the loop operator #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8514
* Fix: Add input validation to chunk creation endpoint by @asiroliu in https://github.com/infiniflow/ragflow/pull/8516
* Feat: Displays the output variable type selected by the loop operator #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8515
* Fix: chunk number error after re-parsing by @yongtenglei in https://github.com/infiniflow/ragflow/pull/8513
* fix(prompt-editor): resolve initial cursor position and auto-newline … by @FatMii in https://github.com/infiniflow/ragflow/pull/8511
* Feat: Add StringTransform operator #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8520
* fix: list index out of range by @LeiZhang-Hunter in https://github.com/infiniflow/ragflow/pull/8518
* Fix: user_default_llm configuration doesn't work for OpenAI API compatible LLM factory by @Woody-Hu in https://github.com/infiniflow/ragflow/pull/8502
* Refactor:improve the logic to check cancel by @Woody-Hu in https://github.com/infiniflow/ragflow/pull/8524
* Refactor: remove useless initialize logic in list_doc by @Woody-Hu in https://github.com/infiniflow/ragflow/pull/8523
* Fix memory leaks in PIL image and BytesIO handling during chunk processing by @tuankg1028 in https://github.com/infiniflow/ragflow/pull/8522
* Feat: allow users to choose which MCP tools are enabled by @yongtenglei in https://github.com/infiniflow/ragflow/pull/8519
* Fix: chat with tools bug. by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/8528
* Feat: Fixed the issue where the prompt menu content was hidden #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8530
* Feat: Display sub-agents in agent form #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8536
* Feat: Fixed the issue where the begin operator parameters could not be submitted during debugging #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8539
* Refa: limit embedding concurrency and fix `chat_with_tool` by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/8543
* Feat: add gitee as LLM provider. by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/8545
* Feat: Allow users to enter text in the middle of a chat #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8569
* Feat: Support GiteeAI model  #1853 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8573
* Feat: add GiteeAI as a llm provider. by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/8572
* Feat: Fixed the issue that the top toolbar disappears when opening the agent operator form #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8579
* Adding semaphore usage on the '/run' endpoint  by @RafaelFFAumo in https://github.com/infiniflow/ragflow/pull/8526
* Feat: In a dialog message, users can enter different types of data #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8583
* Refa: change mcp_client module to rag/utils/conn by @yongtenglei in https://github.com/infiniflow/ragflow/pull/8578
* doc: change to chunk_token num by @Woody-Hu in https://github.com/infiniflow/ragflow/pull/8590
* Pass Form Instance to GoogleModal Form Component by @tuankg1028 in https://github.com/infiniflow/ragflow/pull/8586
* Feat: Add file management HTTP_API by @huang-aoqin in https://github.com/infiniflow/ragflow/pull/8395
* Fix: the output log is incorrect by @symvation in https://github.com/infiniflow/ragflow/pull/8577
* Feat: Add agent advanced settings form #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8592
* Trivals. by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/8597
* fix: Correctly format message parts in GoogleChat by @tuankg1028 in https://github.com/infiniflow/ragflow/pull/8596
* Fixed the issue where variables were not displayed in the switch operator #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8601
* Fix: Fixed the issue that the global variables of the code operator cannot be selected #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8605
* Fix: docx parse error. by @zhangwenxuanQAQ in https://github.com/infiniflow/ragflow/pull/8600
* Test: Add tests for chunk API endpoints by @asiroliu in https://github.com/infiniflow/ragflow/pull/8616
* Feat: Construct the to field of the classification operator when saving data #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8610
* Add service_conf and llm_factories options to Helm chart by @sd109 in https://github.com/infiniflow/ragflow/pull/8607
* Add Google Cloud Vision API Integration (Image2Text) by @tuankg1028 in https://github.com/infiniflow/ragflow/pull/8608
* fix opendal config 'oss_table' and 'max_allowed_packet' by @whhe in https://github.com/infiniflow/ragflow/pull/8611
* Feat: Convert the arguments parameter of the code operator to a dictionary #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8623
* Update Chrome download URL in use_china_mirrors configuration by @huansinho in https://github.com/infiniflow/ragflow/pull/8628
* make dirs with 'exist_ok=True' by @whhe in https://github.com/infiniflow/ragflow/pull/8629
* Fix: anthropic llm issue. by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/8633
* Refa: more robust mcp tool call by @yongtenglei in https://github.com/infiniflow/ragflow/pull/8631
* Fix: page_size can be None error by @CamWang in https://github.com/infiniflow/ragflow/pull/8603
* Minor: fixed broken links. by @writinwaters in https://github.com/infiniflow/ragflow/pull/8636
* Feat: add MCP server test endpoint by @yongtenglei in https://github.com/infiniflow/ragflow/pull/8632
* Feat: Combine the output logs of the same operator together #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8638
* Optimize the style and logic of the profile  by @dcc123456 in https://github.com/infiniflow/ragflow/pull/8639
* Feat: Display the iteration operator toolbar #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8645
* Feat: Edit the output data of the code operator #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8649
* Update svg of SiliconFlow with new LOGO by @jackalcooper in https://github.com/infiniflow/ragflow/pull/8647
* Fix: Fixed the issue of retrieval operator text overlapping #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8652
* Refa: automatic LLMs registration by @yongtenglei in https://github.com/infiniflow/ragflow/pull/8651
* Fix: Fixed the issue where the debug form Switch component had no default value #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8662
* Fix: The data set created by API call failed to parse after uploading the file. by @Woody-Hu in https://github.com/infiniflow/ragflow/pull/8657
* feat: use official sources for chromedriver-linux in download_deps.py by @gnowland in https://github.com/infiniflow/ragflow/pull/8665
* Fix(docker-compose)Update docker-compose-base.yml by @Hwting in https://github.com/infiniflow/ragflow/pull/8650
* fix:Optimized the style of the dataset configuration page and added the l… by @dcc123456 in https://github.com/infiniflow/ragflow/pull/8655
* Refa: refactor prompts into markdown-style structure using Jinja2 by @yongtenglei in https://github.com/infiniflow/ragflow/pull/8667
* fix: optimize the chunk result page by @dcc123456 in https://github.com/infiniflow/ragflow/pull/8676
* Fix: Wrong Citation Display #8594 #8474 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8671
* Fix: secure canvas by @yongtenglei in https://github.com/infiniflow/ragflow/pull/8670
* Fix a small typo in count of used fragments by @djstrong in https://github.com/infiniflow/ragflow/pull/8673
* fix(docker-compose):The old base image lost the curl command, and the image has been updated to fix this issue. Add Health Check by @Hwting in https://github.com/infiniflow/ragflow/pull/8672
* Fix: add ES re-connect once request timeout. by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/8678
* fix task_service.py by @feeingHe in https://github.com/infiniflow/ragflow/pull/8687
* fix: retry embedding with Qwen family models when limits temporarily reached. by @6607changchun in https://github.com/infiniflow/ragflow/pull/8690
* Feat: Support uploading files when running agent #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8697
* Refa: Update Minio image to specific release version in docker-compose-base.yml by @asiroliu in https://github.com/infiniflow/ragflow/pull/8693
* Fix: Prevent Duplicate Retrieval Requests on Knowledge Testing by @cutiechi in https://github.com/infiniflow/ragflow/pull/8683
* Fix: typo process_duration by @yongtenglei in https://github.com/infiniflow/ragflow/pull/8696
* fix:Use use-chunk-request.ts to replace chunk-hooks.ts; implement chunk selectAll, enable, disable and other functions by @dcc123456 in https://github.com/infiniflow/ragflow/pull/8695
* Fix:disallowed special token while embedding by @Woody-Hu in https://github.com/infiniflow/ragflow/pull/8692
* Fix: suppress docker-compose warning by @yongtenglei in https://github.com/infiniflow/ragflow/pull/8698
* Fix: Fix text errors #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8708
* Fix: EsLint Problem of index.tsx by @feeingHe in https://github.com/infiniflow/ragflow/pull/8710
* Feat: Get the running log of each message through the trace interface #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8711
* fix:Added support for preview of txt, md, excel, csv, ppt, image, doc and other files by @dcc123456 in https://github.com/infiniflow/ragflow/pull/8712
* Refactor:Improve the logic in search.py by @Woody-Hu in https://github.com/infiniflow/ragflow/pull/8716
* Test: Add dialog app test suite and update common.py with dialog endpoints by @asiroliu in https://github.com/infiniflow/ragflow/pull/8729
* Feat: Add note node #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8728
* fix: Change the data in the dataset page to be obtained using the interface by @dcc123456 in https://github.com/infiniflow/ragflow/pull/8726
* Fix: Add validation for dialog name by @asiroliu in https://github.com/infiniflow/ragflow/pull/8722
* Docs: miscellaneous editorial updates by @writinwaters in https://github.com/infiniflow/ragflow/pull/8731
* Fix:use the same logic to handle pos in tokenize_chunks_with_images by @Woody-Hu in https://github.com/infiniflow/ragflow/pull/8732
* Feat: List MCP servers #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8730
* Feat: add advanced document filter by @yongtenglei in https://github.com/infiniflow/ragflow/pull/8723
* Feat: Display MCP multiple selection bar #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8737
* Fix: Change Ollama Embedding Keep Alive by @Woody-Hu in https://github.com/infiniflow/ragflow/pull/8734
* Fix: graphrag, raptor can be null for api created kb issue by @CamWang in https://github.com/infiniflow/ragflow/pull/8743
* Docs: Updated upgrading guide by @writinwaters in https://github.com/infiniflow/ragflow/pull/8746
* Feat: Test MCP server #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8757
* Refactor: Improve How To Handle QWenEmbed by @Woody-Hu in https://github.com/infiniflow/ragflow/pull/8765
* fix: use tenant_id of kb to get index name in rm chunk func by @whhe in https://github.com/infiniflow/ragflow/pull/8760
* Feat: Avoid the form sheet covering the chat sheet #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8768
* Feat: Delete MCP server #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8772
* Refa: refine retry gap. by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/8773
* Fix: Resolve typo in /list route function by @haol-co in https://github.com/infiniflow/ragflow/pull/8769
* Feat: Modify the agent tool name #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8780
* Feat: Edit MCP server #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8784
* Feat: add xAI provider by @yongtenglei in https://github.com/infiniflow/ragflow/pull/8781
* Feat: change document status in bulk by @yongtenglei in https://github.com/infiniflow/ragflow/pull/8777
* Fix: Wrong_Input_type_for_Gemin by @Woody-Hu in https://github.com/infiniflow/ragflow/pull/8783
* fix: fix dataset-page's bugs by @dcc123456 in https://github.com/infiniflow/ragflow/pull/8786
* Fix: Improve Memory Usage For Presentation by @Woody-Hu in https://github.com/infiniflow/ragflow/pull/8792
* Feat: Import and export MCP Server #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8806
* Docs: Updated tips by @writinwaters in https://github.com/infiniflow/ragflow/pull/8809
* Fix: better_handle_different_types by @Woody-Hu in https://github.com/infiniflow/ragflow/pull/8775
* Refa: better MIME content type by @yongtenglei in https://github.com/infiniflow/ragflow/pull/8801
* Feat: Add text and markdown file view by @EchoEkhi in https://github.com/infiniflow/ragflow/pull/8767
* fix redundancy package import. by @zhanluxianshen in https://github.com/infiniflow/ragflow/pull/8754
* BugFix:  AgentCreateBUGFix:required argument are missing: dsl; by @yungongzi in https://github.com/infiniflow/ragflow/pull/8794
* Feat: Filter MCP server list by text. #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8820
* Perf:Remove Useless Convert When BGE Embedding by @Woody-Hu in https://github.com/infiniflow/ragflow/pull/8816
* Feat: refine create and list operations for MCP dashboard by @yongtenglei in https://github.com/infiniflow/ragflow/pull/8823
* Feat: Render the mcp list on the agent page #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8829
* Fix:Better Support Table Value Type by @Woody-Hu in https://github.com/infiniflow/ragflow/pull/8822
* Perf: Enhance timeout handling. by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/8826
* Feat: Synchronize MCP data to agent #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8832
* Feat: Adjust agent mcp style #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8841
* Fix: no chunks parsed out for Law by @yongtenglei in https://github.com/infiniflow/ragflow/pull/8842
* Adds 'Vietnamese' to the list of available languages in the cross-language item components by @tuankg1028 in https://github.com/infiniflow/ragflow/pull/8843
* Fix: fixed context loss caused by separating markdown tables from original text by @yongtenglei in https://github.com/infiniflow/ragflow/pull/8844
* Update embedding_model.py by @Woody-Hu in https://github.com/infiniflow/ragflow/pull/8836
* Perf: make `do_cancel` quicker. by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/8846
* Feat: Add authorization token field to the MCP form #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8850
* Fix: Remove antd  from dataset-page by @dcc123456 in https://github.com/infiniflow/ragflow/pull/8830
* Pref: use redis to check if canceled. by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/8853
* Fix: fixed invalid save() arguments for slide thumbnails by @yongtenglei in https://github.com/infiniflow/ragflow/pull/8851
* Feat: Display file references for agent dialogues #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8854
* Feat: Add CrawlerForm component #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8857
* Perf: retryable mysql connection. by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/8858
* Docs: Updated tag set tips. by @writinwaters in https://github.com/infiniflow/ragflow/pull/8860
* Feat: Add agent tool CrawlerForm #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8859
* Adds new Voyage embedding models by @tuankg1028 in https://github.com/infiniflow/ragflow/pull/8845
* Fix: graphknowledge Tree structure not found for treeKey: combo (#7819) by @wingjson in https://github.com/infiniflow/ragflow/pull/8862
* Feat: Add sql form #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8874
* Feat: Add bing form #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8875
* Perf: set timeout of some steps in KG. by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/8873
* Perf: add limit to embedding druing KG. by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/8881
* Refa: Remove useless conver and fix a bug for DefaultRerank by @Woody-Hu in https://github.com/infiniflow/ragflow/pull/8887
* Feat: Display the thinking process according to the start_to_think flag of the message #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8888
* fix s3 init config . by @zhanluxianshen in https://github.com/infiniflow/ragflow/pull/8886
* fix settings global docStoreConn for opensearch by @zhanluxianshen in https://github.com/infiniflow/ragflow/pull/8885
* fix: Fix the problem that the custom footer of modal component by @dcc123456 in https://github.com/infiniflow/ragflow/pull/8877
* Refa: add more logs to KG. by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/8889
* Fix: Fixed the issue that the knowledge graph could not be displayed #8890 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8891
* Fix: parameter missing. by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/8895
* Perf: test llm before RAPTOR. by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/8897
* Feat: Add TavilyExtract operator #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8899
* Fix: wrong parameters. by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/8900
* Feat: Add knowledge graph http api by @huang-aoqin in https://github.com/infiniflow/ragflow/pull/8896
* Feat: Show agent embed dialog #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8903
* Feat: Adjust the EmbedDialog style #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8911
* Fix: when parse markdown support extract image at local by @Woody-Hu in https://github.com/infiniflow/ragflow/pull/8906
* Fix: Fixed the issue that the content of the Dropdown section cannot be seen when selecting the next operator #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8918
* Add OpenSearch support to Helm chart by @sd109 in https://github.com/infiniflow/ragflow/pull/8921
* Feat: Adjust the style of the agent canvas connection line #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8922
* Perf: limit embedding in KG. by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/8917
* Docs: Updated knowledge graph-specific APIs by @writinwaters in https://github.com/infiniflow/ragflow/pull/8927
* Refactor improve codes for ranker by @Woody-Hu in https://github.com/infiniflow/ragflow/pull/8936
* Fix:Add a component of calendar by @dcc123456 in https://github.com/infiniflow/ragflow/pull/8923
* Perf: set timeout for building chunks. by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/8940
* Feat: Display agent history versions #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8942
* Fix: support cross language for API. by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/8946
* Feat: Display agent version in pages #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8947
* Fix: Fixed the issue that variables defined in the begin operator cannot be referenced in the switch operator. #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8950
* Fix: Generate avatar; Add knowledge graph; Modify the style of the MultiSelect component by @dcc123456 in https://github.com/infiniflow/ragflow/pull/8952
* Feat: Add model editing functionality with improved UI labels by @adrianad in https://github.com/infiniflow/ragflow/pull/8855
* Fix: Fixed the issue of clicking to run the agent causing an error #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8956
* Fix:Improve float operation when rerank by @Woody-Hu in https://github.com/infiniflow/ragflow/pull/8963
* Fix: Fixed the issue that the key parameter duplication check of the begin operator was incorrect #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8964
* Feat: Add the option to use the knowledge graph to the retrieval form #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8968
* Feat: Adjust the page header to breadcrumbs #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8971
* Fix: correct cancel logic error by @yongtenglei in https://github.com/infiniflow/ragflow/pull/8973
* Refa: improve usability of Node.js/JavaScript code executor by @yongtenglei in https://github.com/infiniflow/ragflow/pull/8979
* Fix: Refactor parser config handling and add GraphRAG defaults by @asiroliu in https://github.com/infiniflow/ragflow/pull/8778
* Refa: remove temperature since some  LLMs fail to support. by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/8981
* use quote_plus to escape password in opendal's mysql url by @whhe in https://github.com/infiniflow/ragflow/pull/8976
* Fix: Adds newest Gemini models to fit google's standard API rate limits by @es-zx in https://github.com/infiniflow/ragflow/pull/8970
* Refactor:remove use less convert for FastEmbed by @Woody-Hu in https://github.com/infiniflow/ragflow/pull/8984
* Switch to StatefulSet resources for stateful components by @sd109 in https://github.com/infiniflow/ragflow/pull/8985
* fix: use consistent filenames for chrome & chromedriver by @gnowland in https://github.com/infiniflow/ragflow/pull/8991
* Fix: Increase timeouts for document parsing and model checks by @asiroliu in https://github.com/infiniflow/ragflow/pull/8996
* Fix: Fixed the issue where the error prompt box on the Agent page would be covered #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/8992
* Feat: OpenAI-compatible-API supports references by @yongtenglei in https://github.com/infiniflow/ragflow/pull/8997
* Feat: Share agent dialog box externally #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/9005
* Feat: add model provider DeepInfra by @yongtenglei in https://github.com/infiniflow/ragflow/pull/9003
* Fix: typo Bearer token by @yongtenglei in https://github.com/infiniflow/ragflow/pull/8998
* Bump to infinity v0.6.0-dev4 by @yuzhichang in https://github.com/infiniflow/ragflow/pull/9013
* Fix:Optimize Agent template page,  fix bugs in knowledge base by @dcc123456 in https://github.com/infiniflow/ragflow/pull/9009
* Fix OpenSearch liveness probe by @sd109 in https://github.com/infiniflow/ragflow/pull/9012
* Trival. by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/9015
* Ensure Redis volumeClaimTemplate labels are deterministic by @sd109 in https://github.com/infiniflow/ragflow/pull/9016
* fix: obfuscate additional server secrets values by @gnowland in https://github.com/infiniflow/ragflow/pull/9014
* Feat: Modify the background color of the agent canvas #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/9020
* Fix issue with `keep_alive=-1` for ollama chat model by allowing a user to set an additional configuration option by @vdmitriyev in https://github.com/infiniflow/ragflow/pull/9017
* Feat: Allows users to delete a condition of a conditional operator #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/9022
* Fix: exception layout_type in is_caption by @yongtenglei in https://github.com/infiniflow/ragflow/pull/9028
* Feat: Upload files in the chat box on the agent page #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/9035
* Docs: Updated UI tips by @writinwaters in https://github.com/infiniflow/ragflow/pull/9033
* Feat: Downstream operators can get the variables defined by the user input operator #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/9036
* Bug fix: OpenSearch chunk update some api error  by @pyyuhao in https://github.com/infiniflow/ragflow/pull/9032
* Feature: Support set chats kbs to empty by @Woody-Hu in https://github.com/infiniflow/ragflow/pull/9038
* Refactor parser code by @JinHai-CN in https://github.com/infiniflow/ragflow/pull/9042
* Fix: Add parsing animations to the agent log and optimize some page styles by @dcc123456 in https://github.com/infiniflow/ragflow/pull/9040
* get keep alive from env by @Woody-Hu in https://github.com/infiniflow/ragflow/pull/9039
* Refa: validation utils to use Pydantic v2 style models by @asiroliu in https://github.com/infiniflow/ragflow/pull/9037
* Refa: suppress DB migration error logs by @yongtenglei in https://github.com/infiniflow/ragflow/pull/9043
* Feat: Keep the workflow page link unchanged #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/9045
* Feat: Filter the agent form's large model list by type #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/9049
* Fix:in the knowledge base operation file will result in an error by @Woody-Hu in https://github.com/infiniflow/ragflow/pull/8962
* Refactor: Remove Useless split for BedrockEmbed by @Woody-Hu in https://github.com/infiniflow/ragflow/pull/9067
* adding platform: linux/amd64 to the mac build by @chopley in https://github.com/infiniflow/ragflow/pull/9059
* Fix: Fixed the issue that the condition of deleting the classification operator cannot be connected anymore #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/9068
* Feat: Add agent log-sheet in cavas and log-sheet in share's page by @dcc123456 in https://github.com/infiniflow/ragflow/pull/9072
* Feat: Click the edit tool button of the agent form to open the corresponding form #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/9071
* Fix:When deleting a knowledge base that is currently performing a parsing task, the parsing queue will not be deleted! by @Woody-Hu in https://github.com/infiniflow/ragflow/pull/9018
* Feat: The operator is displayed only when the number of conditions is greater than 1 #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/9077
* Added infinity rank_feature support by @yuzhichang in https://github.com/infiniflow/ragflow/pull/9044
* Feat: Render the uploaded agent message file #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/9081
* Feat: Add Google operator #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/9086
* Feat: Add Yahoo Finance Operator #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/9088
* Docs: add MCP streamable-http transport by @yongtenglei in https://github.com/infiniflow/ragflow/pull/9093
* Feat: Add Email and DuckDuckGo and Wikipedia Operator #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/9090
* Feat: Add Arxiv GoogleScholar operator #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/9102
* Feat: Enable MCP streamable-http model via docker compose by @yongtenglei in https://github.com/infiniflow/ragflow/pull/9092
* Update embedding_model.py by @Woody-Hu in https://github.com/infiniflow/ragflow/pull/9083
* Feat: parsing supports jsonl or ldjson format by @yongtenglei in https://github.com/infiniflow/ragflow/pull/9087
* Feat: Add agent-log-list page by @dcc123456 in https://github.com/infiniflow/ragflow/pull/9076
* docs: Complete tool calling bash script in MCP client example by @Imyukehan in https://github.com/infiniflow/ragflow/pull/9073
* Add Redis data retention policy config options by @sd109 in https://github.com/infiniflow/ragflow/pull/9080
* Fix: fix error 429 api rate limit when building knowledge graph for all chat model and Mistral embedding model by @es-zx in https://github.com/infiniflow/ragflow/pull/9106
* Feat: Add invoke and github operators #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/9112
* Fix : API /document/thumbnails using wrong method to get ''doc_ids' by @zhangwenxuanQAQ in https://github.com/infiniflow/ragflow/pull/9097
* Image validation of the image2text model without using local paths by @kuschzzp in https://github.com/infiniflow/ragflow/pull/9052
* Feat: Add wencai operator #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/9116
* Refa: Update base64 test image with new sample data by @asiroliu in https://github.com/infiniflow/ragflow/pull/9115
* Feat: Translate operator names and allow mailboxes to reference operator names #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/9118
* Feat: Add log-detail page,Improve the style of chat boxes by @dcc123456 in https://github.com/infiniflow/ragflow/pull/9119
* Feat: Handling abnormal anchor points of agent operators #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/9121
* Feat: Redesign and refactor agent module by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/9113
* Feat: Make the agent dialog window exposed to the outside world fill in the begin form #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/9124
* Fix: Disable Auto-scroll when user looks back through historical chat-Bug 9062 by @chopley in https://github.com/infiniflow/ragflow/pull/9107
* Rafe: Update LLMService type hints by @asiroliu in https://github.com/infiniflow/ragflow/pull/9131
* Feat: Replace the link of the old version of the agent module #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/9130
* Refactor: Improve the try catch logic for XinferenceEmbed by @Woody-Hu in https://github.com/infiniflow/ragflow/pull/9128
* add Kimi-K2-Instruct from Tongyi-Qianwen API by @TeslaZY in https://github.com/infiniflow/ragflow/pull/9125
* Feat/support 302ai provider by @JI4JUN in https://github.com/infiniflow/ragflow/pull/8742
* Feat: Displays the tool operator icon #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/9133
* Feat: Add thought info to every component. by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/9134
* Fix: Improve Agent templates functionality and fix some UI style issues by @dcc123456 in https://github.com/infiniflow/ragflow/pull/9129
* Feat: Display operator icons on the agent form #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/9138
* Feat: Delete the operator node and hide the corresponding sheet #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/9142
* Fix: Redis stream lag can be nil by @yongtenglei in https://github.com/infiniflow/ragflow/pull/9139
* Refactor:Introduce Image Close For GeminiCV by @Woody-Hu in https://github.com/infiniflow/ragflow/pull/9147
* Fix: Fix share-chat bugs by @dcc123456 in https://github.com/infiniflow/ragflow/pull/9150
* Fix: kimi-latest is not authorized by @yongtenglei in https://github.com/infiniflow/ragflow/pull/9151
* Feat: Remove the exception comment field from the agent form #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/9153
* Add a series of qwen3 latest SOTA models by @TeslaZY in https://github.com/infiniflow/ragflow/pull/9140
* Feat: Add industry-related search keyword generation function by @huang-aoqin in https://github.com/infiniflow/ragflow/pull/9156
* Feat: Modify the style of the agent page bright theme #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/9162
* Fix: Fixed share-log UI issues and log-template bugs by @dcc123456 in https://github.com/infiniflow/ragflow/pull/9166
* Feat: Adjust the style of the note node #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/9167
* Docs: Updated docs for 0.20.0 by @writinwaters in https://github.com/infiniflow/ragflow/pull/9169
* Docs: Update version references to v0.20.0 in READMEs and docs by @asiroliu in https://github.com/infiniflow/ragflow/pull/9164
* Docs: Update demo GIFs in README files by @asiroliu in https://github.com/infiniflow/ragflow/pull/9170
* Docs: Add agentic workflow support to latest updates in READMEs by @asiroliu in https://github.com/infiniflow/ragflow/pull/9171
* Refa: add result to callback for agent tool use. by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/9137
* Fix: Share-log bugs by @dcc123456 in https://github.com/infiniflow/ragflow/pull/9172

## New Contributors
* @kira-offgrid made their first contribution in https://github.com/infiniflow/ragflow/pull/8408
* @yesidc made their first contribution in https://github.com/infiniflow/ragflow/pull/8401
* @jason-this made their first contribution in https://github.com/infiniflow/ragflow/pull/8412
* @Rainman5042 made their first contribution in https://github.com/infiniflow/ragflow/pull/8432
* @WuWeiFlow made their first contribution in https://github.com/infiniflow/ragflow/pull/8399
* @ruansheng8 made their first contribution in https://github.com/infiniflow/ragflow/pull/8454
* @tuankg1028 made their first contribution in https://github.com/infiniflow/ragflow/pull/8476
* @FatMii made their first contribution in https://github.com/infiniflow/ragflow/pull/8511
* @RafaelFFAumo made their first contribution in https://github.com/infiniflow/ragflow/pull/8526
* @symvation made their first contribution in https://github.com/infiniflow/ragflow/pull/8577
* @zhangwenxuanQAQ made their first contribution in https://github.com/infiniflow/ragflow/pull/8600
* @huansinho made their first contribution in https://github.com/infiniflow/ragflow/pull/8628
* @CamWang made their first contribution in https://github.com/infiniflow/ragflow/pull/8603
* @jackalcooper made their first contribution in https://github.com/infiniflow/ragflow/pull/8647
* @Hwting made their first contribution in https://github.com/infiniflow/ragflow/pull/8650
* @djstrong made their first contribution in https://github.com/infiniflow/ragflow/pull/8673
* @feeingHe made their first contribution in https://github.com/infiniflow/ragflow/pull/8687
* @6607changchun made their first contribution in https://github.com/infiniflow/ragflow/pull/8690
* @haol-co made their first contribution in https://github.com/infiniflow/ragflow/pull/8769
* @EchoEkhi made their first contribution in https://github.com/infiniflow/ragflow/pull/8767
* @zhanluxianshen made their first contribution in https://github.com/infiniflow/ragflow/pull/8754
* @es-zx made their first contribution in https://github.com/infiniflow/ragflow/pull/8970
* @vdmitriyev made their first contribution in https://github.com/infiniflow/ragflow/pull/9017
* @chopley made their first contribution in https://github.com/infiniflow/ragflow/pull/9059
* @Imyukehan made their first contribution in https://github.com/infiniflow/ragflow/pull/9073
* @JI4JUN made their first contribution in https://github.com/infiniflow/ragflow/pull/8742

**Full Changelog**: https://github.com/infiniflow/ragflow/compare/v0.19.1...v0.20.0