v0.24.0

infiniflow/ragflowv0.24.0Feb 10, 2026by github-actions[bot]

AI Summary

Major release introducing Memory features with APIs/SDK, new Agent conversation management with multi-Sandbox support, and enhanced Chat with Thinking mode. Significant ecosystem additions include OceanBase database support, PaddleOCR-VL, and new data source integrations.

Key Highlights

  • Memory feature with APIs, SDK, and extraction log display
  • New Chat-like Agent conversation management with Sessions and history
  • Multi-Sandbox mechanism supporting local gVisor and Alibaba Cloud
  • OceanBase database alternative to MySQL
  • New models: Kimi 2.5, Stepfun 3, doubao-embedding-vision
  • PaddleOCR-VL support for document parsing
  • Streaming output in chat with think button
  • New data sources: Zendesk, Bitbucket, Seafile, MySQL, PostgreSQL

Breaking Changes

  • ToC renamed to PageIndex
  • Reasoning config removed (replaced by Thinking mode)
  • Environment prefix changed to VITE_*
  • RAGFlow Admin CLI renamed to RAGFlow CLI
  • Python >= 3.12 required

New Features

  • Memory APIs and SDK for developer integration
  • Memory extraction log display in console
  • Batch management of Metadata
  • Chat-like Agent conversation interface
  • Multi-Sandbox architecture (pluggable)
  • Thinking mode in Chat
  • Multiple Admin accounts support
  • Model connection test feature
  • OceanBase database support
  • PaddleOCR-VL parser support
  • New model integrations
  • Data source connectors
  • Streaming chat output
  • Web search button
  • Think button in chat
  • Audio to text and text to speech APIs
  • Multi-file upload for chat/agent
  • Explore page
  • Translation page index
  • German language support

Full Release Notes

# Summary

## New features

- Memory
  - Introduces APIs and an SDK for developer integration.
  - Adds Memory extraction log display in the console for improved debugging and tracing.
- Dataset
  - Added support for batch management of Metadata.
  - Renamed "ToC (Table of Contents)" to "PageIndex".
- Agent
  - Launches a new Chat-like Agent conversation management interface that retains Sessions and dialogue history.
  - Introduces a multi-Sandbox mechanism, currently supporting local gVisor and Alibaba Cloud, with compatibility for mainstream Sandbox APIs (configurable in the Admin page).
- Chat
  - Adds a new "Thinking" mode and removed the previous "Reasoning" configuration option.
  - Optimizes retrieval strategies for deep-research scenarios, enhancing recall accuracy.
- Admin
  - Adds support for configuring multiple Admin accounts.
- Model configuration center
  - Adds a model connection test feature when adding new models.
- Ecosystem
  - Adds support for OceanBase as a database alternative to MySQL.
  - Adds support for PaddleOCR-VL.
- Model
  - Adds new model support for Kimi 2.5, Stepfun 3, and doubao-embedding-vision, among others.
- Data sources
  - Adds new data source integrations for Zendesk, Bitbucket, and others.

## What's Changed
* Fix: KG search issue. by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/12364
* Feat: add Zendesk data source integration with configuration and sync capabilities by @buua436 in https://github.com/infiniflow/ragflow/pull/12344
* Refactor docs of RAGFlow admin by @JinHai-CN in https://github.com/infiniflow/ragflow/pull/12361
* Docs: Added v0.23.1 release notes by @writinwaters in https://github.com/infiniflow/ragflow/pull/12371
* Fix urls for basic docs by @yingfeng in https://github.com/infiniflow/ragflow/pull/12372
* Docs: Updated v0.23.0 release notes by @writinwaters in https://github.com/infiniflow/ragflow/pull/12374
* Feat: Bitbucket connector by @Magicbook1108 in https://github.com/infiniflow/ragflow/pull/12332
* Fix: metadata data synchronization issues; add memory tab in home page by @dcc123456 in https://github.com/infiniflow/ragflow/pull/12368
* Fix: webdav connector by @Magicbook1108 in https://github.com/infiniflow/ragflow/pull/12380
* Feat: Refactoring the documentation page using shadcn. #10427 by @cike8899 in https://github.com/infiniflow/ragflow/pull/12376
* Fix Tika version mismatch in Dockerfile.deps (3.0.0 → 3.2.3) by @mmtmr in https://github.com/infiniflow/ragflow/pull/12267
* Update README by @yingfeng in https://github.com/infiniflow/ragflow/pull/12386
* ADMIN CLI: support grant/revoke user admin authorization by @JinHai-CN in https://github.com/infiniflow/ragflow/pull/12381
* Update HELP command of ADMIN CLI by @JinHai-CN in https://github.com/infiniflow/ragflow/pull/12387
* Feat: read web api testcases by @Lynn-Inf in https://github.com/infiniflow/ragflow/pull/12383
* Fix: Fixed the issue where the upload DSL dialog box was too narrow. #10427 by @cike8899 in https://github.com/infiniflow/ragflow/pull/12384
* refactor:re order logics in clean_gen_conf by @Woody-Hu in https://github.com/infiniflow/ragflow/pull/12391
* Remove duplicated tag_feas assignment in create route (api/apps/chunk_app.py) by @kyuengmanKim in https://github.com/infiniflow/ragflow/pull/12392
* security: harden OpenDAL SQL initialization against injection by @RinZ27 in https://github.com/infiniflow/ragflow/pull/12393
* Fix: remvoe async wrappers  by @Magicbook1108 in https://github.com/infiniflow/ragflow/pull/12405
* Fix: Not able to add MCP Server [#12394](https://github.com/infiniflow/ragflow/issues/12394) by @dcc123456 in https://github.com/infiniflow/ragflow/pull/12406
* Improve task executor heartbeat handling and cleanup by @maoxiaowang in https://github.com/infiniflow/ragflow/pull/12390
* Test: get message content testcase by @Lynn-Inf in https://github.com/infiniflow/ragflow/pull/12403
* feature: add system setting service by @JinHai-CN in https://github.com/infiniflow/ragflow/pull/12408
* doc: update admin CLI by @JinHai-CN in https://github.com/infiniflow/ragflow/pull/12413
* Feat: message write testcase by @Lynn-Inf in https://github.com/infiniflow/ragflow/pull/12417
* Chore(compose): remove unnecessary history_data_agent volume mount by @asiroliu in https://github.com/infiniflow/ragflow/pull/12418
* Refactor: UmiJs -> Vite by @dcc123456 in https://github.com/infiniflow/ragflow/pull/12410
* Fix:bug fix by @buua436 in https://github.com/infiniflow/ragflow/pull/12423
* Refactor setting type by @JinHai-CN in https://github.com/infiniflow/ragflow/pull/12425
* Refactor: Refactoring VolcEngine and Yiyan modal using shadcn. #10427 by @cike8899 in https://github.com/infiniflow/ragflow/pull/12426
* Feat: PDF vision figure parser supports reading context by @yongtenglei in https://github.com/infiniflow/ragflow/pull/12416
* Refa: improve TOC building with better error handling by @asiroliu in https://github.com/infiniflow/ragflow/pull/12427
* Fix: handle invalid img_id format in chunk update by @majiayu000 in https://github.com/infiniflow/ragflow/pull/12422
* Add list configs and environments by @JinHai-CN in https://github.com/infiniflow/ragflow/pull/12438
* Update admin doc by @JinHai-CN in https://github.com/infiniflow/ragflow/pull/12439
* Refactor: Refactoring AzureOpenAIModal using shadcn. #10427 by @cike8899 in https://github.com/infiniflow/ragflow/pull/12436
* Fix: Some bugs by @dcc123456 in https://github.com/infiniflow/ragflow/pull/12441
* Feat: process memory by @Lynn-Inf in https://github.com/infiniflow/ragflow/pull/12445
* Refactor: Refactor FishAudioModal and BedrockModal using shadcn. #1036 by @cike8899 in https://github.com/infiniflow/ragflow/pull/12449
* fix: add 'mom_id' column to OBConnection chunk table by @whhe in https://github.com/infiniflow/ragflow/pull/12444
* Fix: add uv binary archive to ignored files by @AAAkater in https://github.com/infiniflow/ragflow/pull/12451
* Fix:  The avatar and greeting message no longer appear in the Agent iFrame. [#12410] by @dcc123456 in https://github.com/infiniflow/ragflow/pull/12459
* Refactor: import_test_cases use bulk_create by @Woody-Hu in https://github.com/infiniflow/ragflow/pull/12456
* Docs: Fixed a display issue. by @writinwaters in https://github.com/infiniflow/ragflow/pull/12463
* Fix: try handle authorization as api-token by @Lynn-Inf in https://github.com/infiniflow/ragflow/pull/12462
* Fix: update uv python installation to version 3.12 in Dockerfile by @buua436 in https://github.com/infiniflow/ragflow/pull/12464
* refactor: migrate env prefix to `VITE_*` by @JimmyBenKlieve in https://github.com/infiniflow/ragflow/pull/12466
* fix: task executor with status "timeout" corrupts page when checking its details by @JimmyBenKlieve in https://github.com/infiniflow/ragflow/pull/12467
* Feat: adapt to , arglist by @Lynn-Inf in https://github.com/infiniflow/ragflow/pull/12468
* docs: update docs icons by @JimmyBenKlieve in https://github.com/infiniflow/ragflow/pull/12465
* Fix: Issues and style fixes related to the 'Memory' page by @dcc123456 in https://github.com/infiniflow/ragflow/pull/12469
* fix: prevent MinIO health check failure in multi-bucket mode by @maoxiaowang in https://github.com/infiniflow/ragflow/pull/12446
* Fix: display agent name for extract messages by @Lynn-Inf in https://github.com/infiniflow/ragflow/pull/12480
* Feat: Memory-message supports categorized display by @dcc123456 in https://github.com/infiniflow/ragflow/pull/12482
* Fix: Fixed an issue where ESLint suggestions were not working in VS Code after upgrading to Vite. #12483 by @cike8899 in https://github.com/infiniflow/ragflow/pull/12484
* Feat: support context window for docx by @Magicbook1108 in https://github.com/infiniflow/ragflow/pull/12455
* Fix: toc async issue. by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/12485
* Feat: The chat feature supports streaming output, displaying results one by one. #12490 by @cike8899 in https://github.com/infiniflow/ragflow/pull/12493
* Fix:Bedrock assume_role auth mode fails with LiteLLM "Extra inputs are not permitted" error by @Woody-Hu in https://github.com/infiniflow/ragflow/pull/12495
* Doc: memory http api by @Lynn-Inf in https://github.com/infiniflow/ragflow/pull/12499
* optimize doc id check: do not query db when doc id to validate is empty by @paulluap in https://github.com/infiniflow/ragflow/pull/12500
* Refactor: Enhance delta streaming in chat functions for improved reasoning and content handling by @buua436 in https://github.com/infiniflow/ragflow/pull/12453
* Refa(sdk/python/test): remove unused testcases and utilities by @asiroliu in https://github.com/infiniflow/ragflow/pull/12505
* Fix: apply kb setting while re-parsing.... by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/12501
* Fix: add multimodel models in chat api by @Magicbook1108 in https://github.com/infiniflow/ragflow/pull/12496
* Fix adding column error by @JinHai-CN in https://github.com/infiniflow/ragflow/pull/12503
* Refactor: Replace Ant Design with shadcn in SparkModal, TencentCloudModal, HunyuanModal, and GoogleModal. #1036 by @cike8899 in https://github.com/infiniflow/ragflow/pull/12510
* docs: fix embedding model switching tooltip by @lys1313013 in https://github.com/infiniflow/ragflow/pull/12517
* Fix: "AttributeError(\"'list' object has no attribute 'get'\")" by @Woody-Hu in https://github.com/infiniflow/ragflow/pull/12518
* Fix: Bugs fixed by @dcc123456 in https://github.com/infiniflow/ragflow/pull/12524
* Refactor: Refactoring OllamaModal using shadcn.  #1036 by @cike8899 in https://github.com/infiniflow/ragflow/pull/12530
* fix: keep password in opendal config to fix connection initialization by @whhe in https://github.com/infiniflow/ragflow/pull/12529
* Fix: Baiduyiyan key invaild by @dcc123456 in https://github.com/infiniflow/ragflow/pull/12531
* Feat: The translation model type options should be consistent with the model's labels. #1036 by @cike8899 in https://github.com/infiniflow/ragflow/pull/12537
* Feat:memory sdk by @Lynn-Inf in https://github.com/infiniflow/ragflow/pull/12538
* Feat: support openapi by @puhaiyang in https://github.com/infiniflow/ragflow/pull/12521
* feat: add paddleocr parser by @Bobholamovic in https://github.com/infiniflow/ragflow/pull/12513
* refactor: remove debug print statements by @lys1313013 in https://github.com/infiniflow/ragflow/pull/12534
* CI collect ragflow log by @yuzhichang in https://github.com/infiniflow/ragflow/pull/12543
* Feat: SandBox docker CLI error in ARM CPU #12433 by @lizhizhou in https://github.com/infiniflow/ragflow/pull/12434
* refactor: introduce common normalize method in rerank base class by @Woody-Hu in https://github.com/infiniflow/ragflow/pull/12550
* Add time cost when start servers by @JinHai-CN in https://github.com/infiniflow/ragflow/pull/12552
* Fix:Automatically enable metadata and optimize parser dialog logic by @dcc123456 in https://github.com/infiniflow/ragflow/pull/12553
* Doc: python sdk document by @Lynn-Inf in https://github.com/infiniflow/ragflow/pull/12554
* Feat: Enhanced metadata functionality by @dcc123456 in https://github.com/infiniflow/ragflow/pull/12560
* revert white-space changes in docs by @JimmyBenKlieve in https://github.com/infiniflow/ragflow/pull/12557
* Feat: support tree structured deep-research policy. by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/12559
* feat: PaddleOCR PDF parser supports thumnails and positions by @Bobholamovic in https://github.com/infiniflow/ragflow/pull/12565
* Fix: Use uv pip install for Docling installation by @LGRY in https://github.com/infiniflow/ragflow/pull/12567
* Add MIME types for PPT and PPTX files by @LiruiYu33 in https://github.com/infiniflow/ragflow/pull/12562
* Fix: zip extraction vulnerabilities in MinerU and TCADP by @yongtenglei in https://github.com/infiniflow/ragflow/pull/12527
* Fix: image not displaying thumbnails when using pipeline by @yongtenglei in https://github.com/infiniflow/ragflow/pull/12574
* Feat: Exported Agent JSON Should Include Conversation Variables Configuration #11796 by @cike8899 in https://github.com/infiniflow/ragflow/pull/12579
* fix: add uv-aarch64-unknown-linux-gnu.tar.gz to deps image by @whhe in https://github.com/infiniflow/ragflow/pull/12516
* Fixed typos and added pptx preview for frontend by @LiruiYu33 in https://github.com/infiniflow/ragflow/pull/12577
* Feat: The MetadataFilterConditions component supports adding values ​​via search. by @dcc123456 in https://github.com/infiniflow/ragflow/pull/12585
* fix(ob_conn): avoid reusing SQLAlchemy Column objects in DDL by @whhe in https://github.com/infiniflow/ragflow/pull/12588
* Fix: wrong input trace in Category component by @yongtenglei in https://github.com/infiniflow/ragflow/pull/12590
* Align p3 HTTP/SDK tests with current backend behavior by @6ba3i in https://github.com/infiniflow/ragflow/pull/12563
* Docs: Use memory by @writinwaters in https://github.com/infiniflow/ragflow/pull/12599
* Added to the HTTP API test suite by @6ba3i in https://github.com/infiniflow/ragflow/pull/12556
* refactor: remove debug print statements by @lys1313013 in https://github.com/infiniflow/ragflow/pull/12598
* Fix: Unable to copy category node. #12607 by @cike8899 in https://github.com/infiniflow/ragflow/pull/12609
* Feat: add CN regions for AWS by @yongtenglei in https://github.com/infiniflow/ragflow/pull/12610
* Feat: Benchmark CLI additions and documentation by @6ba3i in https://github.com/infiniflow/ragflow/pull/12536
* Fix enable_thinking parameter for Qwen3 models by @eureka928 in https://github.com/infiniflow/ragflow/pull/12603
* Fix: chunk list async issue. by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/12615
* Fix: skip internal bookmark references in DOCX parsing (#12604) by @MkDev11 in https://github.com/infiniflow/ragflow/pull/12611
* Fix: the styles of the multi-select component and the filter pop-up. by @dcc123456 in https://github.com/infiniflow/ragflow/pull/12628
* Fix: langfuse connection error handling #12621 by @mohansinghi in https://github.com/infiniflow/ragflow/pull/12626
* Refa: async retrieval process. by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/12629
* Feat: Hash doc id to avoid duplicate name. by @Magicbook1108 in https://github.com/infiniflow/ragflow/pull/12573
* fix: add fallback parser list for empty parser_ids by @MkDev11 in https://github.com/infiniflow/ragflow/pull/12632
* Fix: async invocation isssue. by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/12634
* Fix: validate regex pattern in split_with_pattern to prevent crash by @eureka928 in https://github.com/infiniflow/ragflow/pull/12633
* fix: ensure deleted chunks are not returned in retrieval (#12520) by @VedantMadane in https://github.com/infiniflow/ragflow/pull/12546
* Fix: Editing the agent greeting causes the greeting to be continuously added to the message list. #12635 by @cike8899 in https://github.com/infiniflow/ragflow/pull/12636
* feat: add oceanbase mount to gitignore by @longbingljw in https://github.com/infiniflow/ragflow/pull/12642
* chore: bump pyobvector from 0.2.18 to 0.2.22 by @longbingljw in https://github.com/infiniflow/ragflow/pull/12640
* fix(infinity): Use comma separator for important_kwd to preserve mult… by @liuxiaoyusky in https://github.com/infiniflow/ragflow/pull/12618
* Docs: Added share memory by @writinwaters in https://github.com/infiniflow/ragflow/pull/12647
* Fix: empty chunk issue. by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/12638
* Fix:Some bugs by @dcc123456 in https://github.com/infiniflow/ragflow/pull/12648
* fix(entrypoint): Preserve $ in passwords during template expansion by @zagnaan in https://github.com/infiniflow/ragflow/pull/12509
* Fix : Web API tests by normalizing errors, validation, and uploads by @6ba3i in https://github.com/infiniflow/ragflow/pull/12620
* Fix: duplicate content in chunk by @Magicbook1108 in https://github.com/infiniflow/ragflow/pull/12655
* Fix: In the agent loop, if the await response is selected as the variable, the operator cannot be selected. #12656 by @cike8899 in https://github.com/infiniflow/ragflow/pull/12657
* Fix PDF Generator output variables not appearing in subsequent agent steps by @PentaFrame-Development in https://github.com/infiniflow/ragflow/pull/12619
* Fix : p3 level sdk test error for update chat by @6ba3i in https://github.com/infiniflow/ragflow/pull/12654
* Fix: Infinity keyword round-trip, highlight fallback, and KB update guards by @6ba3i in https://github.com/infiniflow/ragflow/pull/12660
* Feat: metadata settings in KB. by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/12662
* fix(ob_conn): ignore duplicate errors when executing 'create_idx' by @whhe in https://github.com/infiniflow/ragflow/pull/12661
* Add User API Token Management to Admin API and CLI by @hetavi-bluexkye in https://github.com/infiniflow/ragflow/pull/12595
* Docs: Added configure memory by @writinwaters in https://github.com/infiniflow/ragflow/pull/12665
* Use RAGFlow CLI to replace RAGFlow Admin CLI by @JinHai-CN in https://github.com/infiniflow/ragflow/pull/12653
* fix: Add proper error handling for database reconnection attempts by @mohansinghi in https://github.com/infiniflow/ragflow/pull/12650
* fix: Correct gitlab_url access in sync_data_source.py by @francisye19 in https://github.com/infiniflow/ragflow/pull/12681
* Round float value of minimum_should_match by @qinling0210 in https://github.com/infiniflow/ragflow/pull/12688
* Fix chat error by @JinHai-CN in https://github.com/infiniflow/ragflow/pull/12693
* Refactor:memory delete will re-use super method by @Woody-Hu in https://github.com/infiniflow/ragflow/pull/12684
* fix: Handle NaN/Infinity values in ExeSQL JSON response by @GlobalStar117 in https://github.com/infiniflow/ragflow/pull/12666
* feat: Add n1n provider by @n1n-api in https://github.com/infiniflow/ragflow/pull/12680
* Fix CVE-2025-59466 by @loganaden in https://github.com/infiniflow/ragflow/pull/12679
* An issue involving node.js OOM happened by @LiruiYu33 in https://github.com/infiniflow/ragflow/pull/12690
* fix: Update answer concatenation logic to handle overlapping values by @Hwwwww-dev in https://github.com/infiniflow/ragflow/pull/12676
* feat: add seekdb which is lite version of oceanbase by @longbingljw in https://github.com/infiniflow/ragflow/pull/12692
* fix: Ensure pip is available in venv for runtime installation by @GlobalStar117 in https://github.com/infiniflow/ragflow/pull/12667
* Bump to infinity v0.7.0-dev1 by @qinling0210 in https://github.com/infiniflow/ragflow/pull/12699
* Fix: When large models output data rapidly, the scrollbar cannot remain at the bottom. #12701 by @cike8899 in https://github.com/infiniflow/ragflow/pull/12702
* Add dataset with table parser type for Infinity and answer question in chat using SQL by @qinling0210 in https://github.com/infiniflow/ragflow/pull/12541
* Fix: The time zone is unable to update properly in the database #12696 by @cike8899 in https://github.com/infiniflow/ragflow/pull/12704
* Docs: Added ingestion pipeline quickstart by @writinwaters in https://github.com/infiniflow/ragflow/pull/12708
* fix(raptor): handle missing vector fields gracefully by @GlobalStar117 in https://github.com/infiniflow/ragflow/pull/12713
* fix: inaccurate error message when uploading multiple files containing an unsupported file type by @lys1313013 in https://github.com/infiniflow/ragflow/pull/12711
* Refa: asyncio.to_thread to ThreadPoolExecutor to break thread limitat… by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/12716
* Refactor: Replace antd with shadcn by @cike8899 in https://github.com/infiniflow/ragflow/pull/12718
* Unify MySQL configuration by @longbingljw in https://github.com/infiniflow/ragflow/pull/12644
* Docs: Updated configuration file name by @writinwaters in https://github.com/infiniflow/ragflow/pull/12720
* Fix:  Not within a request context by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/12723
* fix: missing route for user detail page by @JimmyBenKlieve in https://github.com/infiniflow/ragflow/pull/12725
* chore: redirect to login page if api reports unauthorized in admin page by @JimmyBenKlieve in https://github.com/infiniflow/ragflow/pull/12726
* Make document change-status idempotent for Infinity doc store by @6ba3i in https://github.com/infiniflow/ragflow/pull/12717
* Feat: update and add new tests for web api apps by @6ba3i in https://github.com/infiniflow/ragflow/pull/12714
* Doc: add README for test by @darkness789 in https://github.com/infiniflow/ragflow/pull/12728
* feat: add batch delete for conversations in chat(web) by @LGRY in https://github.com/infiniflow/ragflow/pull/12584
* Feat: Improve metadata logic by @dcc123456 in https://github.com/infiniflow/ragflow/pull/12730
* Refactor:better handle list agent api desc param by @Woody-Hu in https://github.com/infiniflow/ragflow/pull/12733
* Chore(ci): use new Web API test cases in CI by @asiroliu in https://github.com/infiniflow/ragflow/pull/12738
* Refa(test): improve code formatting and remove debug prints by @asiroliu in https://github.com/infiniflow/ragflow/pull/12739
* Feat: Add a think button to the chat box. #12742 by @cike8899 in https://github.com/infiniflow/ragflow/pull/12743
* Fix: Optimize the metadata code structure to implement metadata list structure functionality. by @dcc123456 in https://github.com/infiniflow/ragflow/pull/12741
* Fix: Allow classification operators to be followed by other classification operators.  #9082 by @cike8899 in https://github.com/infiniflow/ragflow/pull/12744
* Add more commands to RAGFlow CLI by @JinHai-CN in https://github.com/infiniflow/ragflow/pull/12731
* Add ping command to test ping API by @JinHai-CN in https://github.com/infiniflow/ragflow/pull/12757
* Feat: Adjust the icons in the chat page's collapsible panel. by @cike8899 in https://github.com/infiniflow/ragflow/pull/12755
* Fix: After deleting metadata in batches, the selected items need to be cleared. by @dcc123456 in https://github.com/infiniflow/ragflow/pull/12767
* Feat: API adds audio to text and text to speech functions by @huang-aoqin in https://github.com/infiniflow/ragflow/pull/12764
* Fix: aliyun oss need to use s3 signature_version by @LinkedDestiny in https://github.com/infiniflow/ragflow/pull/12766
* [Feat]Automatic table orientation detection and correction by @zhanxin-xu in https://github.com/infiniflow/ragflow/pull/12719
* top_k parameter ignored, always returned page_size results by @LiruiYu33 in https://github.com/infiniflow/ragflow/pull/12753
* Feat: enhance metadata arranging. by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/12745
* Fix: The minimum size of the historical message window for the classification operator is 1. #12778 by @cike8899 in https://github.com/infiniflow/ragflow/pull/12779
* Fix: Metadata supports precise time selection by @dcc123456 in https://github.com/infiniflow/ragflow/pull/12785
* Feat: Add a web search button to the chat box on the chat page. by @cike8899 in https://github.com/infiniflow/ragflow/pull/12786
* Fix: Use tiktoken for proper token counting in OpenAI-compatible endpoint #7850 by @JulienDeveaux in https://github.com/infiniflow/ragflow/pull/12760
* feat(deepdoc): add configurable ONNX thread counts and GPU memory shrinkage by @apps-lycusinc in https://github.com/infiniflow/ragflow/pull/12777
* Fix: missing parent chunk issue. by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/12789
* RAGFlow CLI: ping server before input password when login user by @JinHai-CN in https://github.com/infiniflow/ragflow/pull/12791
* Fix: Metadata time Picker by @dcc123456 in https://github.com/infiniflow/ragflow/pull/12796
* Fix: add tokenized content by @Lynn-Inf in https://github.com/infiniflow/ragflow/pull/12793
* feat: support admin assign superuser in admin ui by @JimmyBenKlieve in https://github.com/infiniflow/ragflow/pull/12798
* Fix:  Fixed the error on the login page. by @cike8899 in https://github.com/infiniflow/ragflow/pull/12801
* Docs: Added webhook specific configuration tips by @writinwaters in https://github.com/infiniflow/ragflow/pull/12802
* Fix RAGFlow CLI bug by @JinHai-CN in https://github.com/infiniflow/ragflow/pull/12811
* Fix: reset conversation variables. by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/12814
* Add Copilot setting and conventions by @Da22wei in https://github.com/infiniflow/ragflow/pull/12807
* Fix: Cancel tasks before document or datasets deletion to prevent queue blocking by @LiruiYu33 in https://github.com/infiniflow/ragflow/pull/12799
* Refactor: improve task cancellation checks in RAPTOR by @Woody-Hu in https://github.com/infiniflow/ragflow/pull/12813
* Update RAGFlow CLI by @JinHai-CN in https://github.com/infiniflow/ragflow/pull/12816
* Feat: Add the history field to the agent's system variables. #7322 by @cike8899 in https://github.com/infiniflow/ragflow/pull/12823
* Fix: Parent chunking fails on DOCX files by @yongtenglei in https://github.com/infiniflow/ragflow/pull/12822
* Fix: Issues with metadata parameter addition failures and single-file chunk saving failures. by @dcc123456 in https://github.com/infiniflow/ragflow/pull/12818
* Fix: metadata update issue by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/12815
* Feat: Support PaddleOCR-VL-1.5 interface by @Bobholamovic in https://github.com/infiniflow/ragflow/pull/12819
* Bump to infinity v0.7.0-dev2 by @yuzhichang in https://github.com/infiniflow/ragflow/pull/12839
* Feat: Add German language support for agent template and various UI elements by @Jonah879 in https://github.com/infiniflow/ragflow/pull/12830
* Fix: overlap cannot be properly applied by @yongtenglei in https://github.com/infiniflow/ragflow/pull/12828
* Refa: convert RAGFlow MCP server from sync to async by @yongtenglei in https://github.com/infiniflow/ragflow/pull/12834
* shortcut metadata_condition if there is none by @panzi in https://github.com/infiniflow/ragflow/pull/12835
* Fix:Redis configuration template error in v0.22.1 by @Woody-Hu in https://github.com/infiniflow/ragflow/pull/12685
* Fix: Handle whitespace-only question in /retrieval endpoint by @Angel98518 in https://github.com/infiniflow/ragflow/pull/12831
* Fix: Hunyuan cannot work properly by @yongtenglei in https://github.com/infiniflow/ragflow/pull/12843
* Fix error handle in RAGFlow CLI by @JinHai-CN in https://github.com/infiniflow/ragflow/pull/12829
* feat(ci): Add Redis service port configuration to test environment by @asiroliu in https://github.com/infiniflow/ragflow/pull/12855
* Docs: Added build Ecommerce customer support guide by @writinwaters in https://github.com/infiniflow/ragflow/pull/12832
* Refact: update description for max_token in embedding #12792 by @Magicbook1108 in https://github.com/infiniflow/ragflow/pull/12845
* fix: enable auto-resize for chat input textarea by @bittoby in https://github.com/infiniflow/ragflow/pull/12836
* Update quickstart by @JinHai-CN in https://github.com/infiniflow/ragflow/pull/12866
* Refactor: Remove the brute-force deduplication method for agent logs. by @cike8899 in https://github.com/infiniflow/ragflow/pull/12864
* Fix:OSConnection.create_idx 4 arguments by @Woody-Hu in https://github.com/infiniflow/ragflow/pull/12862
* Feat: add kimi-k2.5 by @yongtenglei in https://github.com/infiniflow/ragflow/pull/12852
* feat: Implement pluggable multi-provider sandbox architecture by @yuzhichang in https://github.com/infiniflow/ragflow/pull/12820
* Put document metadata in ES/Infinity by @qinling0210 in https://github.com/infiniflow/ragflow/pull/12826
* fix: avoid ZeroDivisionError when fulltext column weights sum to zero by @dive2tech in https://github.com/infiniflow/ragflow/pull/12856
* Fix: key error "content" #12844 by @Magicbook1108 in https://github.com/infiniflow/ragflow/pull/12847
* Fixed bug: Prevent 400 errors from Image2Text providers by skipping images smaller than 11px on any side during figure enhancement.    by @LiruiYu33 in https://github.com/infiniflow/ragflow/pull/12868
* Chore(deps): Bump urllib3 from 2.4.0 to 2.6.3 in /agent/sandbox by @dependabot[bot] in https://github.com/infiniflow/ragflow/pull/12877
* Chore(deps): Bump starlette from 0.46.2 to 0.49.1 in /agent/sandbox by @dependabot[bot] in https://github.com/infiniflow/ragflow/pull/12878
* Fix metadata filter by @HeyPhiS in https://github.com/infiniflow/ragflow/pull/12861
* Remove filter (kb_id) in infinity by @zpf121 in https://github.com/infiniflow/ragflow/pull/12853
* Refa: Clean the folders. by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/12890
* fix: task executor bar chart error by @JimmyBenKlieve in https://github.com/infiniflow/ragflow/pull/12894
* Feat: Add CLI retrieval test to CI workflow by @6ba3i in https://github.com/infiniflow/ragflow/pull/12881
* Refact: Updated UI tips. by @writinwaters in https://github.com/infiniflow/ragflow/pull/12898
* Fix: codeExec return types & error handling; Update Spark model mappings by @eviaaaaa in https://github.com/infiniflow/ragflow/pull/12896
* Docs: minor by @writinwaters in https://github.com/infiniflow/ragflow/pull/12899
* Pref: fix thread pool workers by @yongtenglei in https://github.com/infiniflow/ragflow/pull/12882
* feat: Add OceanBase Performance Monitoring and Health Check Integration by @Angel98518 in https://github.com/infiniflow/ragflow/pull/12886
* Fix(test): Update error message assertions for unsupported content type tests by @asiroliu in https://github.com/infiniflow/ragflow/pull/12901
* fix: preserve line breaks in prompt editor and add auto-save on blur by @bittoby in https://github.com/infiniflow/ragflow/pull/12887
* Refa: remove ppt image. by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/12909
* Refa: remove aspose dependency. by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/12910
* Fix metadata in get_list() by @qinling0210 in https://github.com/infiniflow/ragflow/pull/12906
* fix: close file handles when loading JSON mapping in doc store connectors by @dive2tech in https://github.com/infiniflow/ragflow/pull/12904
* Test: Add code coverage reporting to CI by @darkness789 in https://github.com/infiniflow/ragflow/pull/12874
* Docs: Fixed a docusaurus display issue by @writinwaters in https://github.com/infiniflow/ragflow/pull/12914
* Fix(test): downgrade test priorities by @asiroliu in https://github.com/infiniflow/ragflow/pull/12913
* feature:Add OceanBase Support to Text-to-SQL Agent by @Rynzie02 in https://github.com/infiniflow/ragflow/pull/12919
* feature:Add OceanBase Storage Support for Table Parser by @Rynzie02 in https://github.com/infiniflow/ragflow/pull/12923
* feat: add Peewee ORM support for OceanBase as primary database (#12769) by @NTLx in https://github.com/infiniflow/ragflow/pull/12926
* feat(tools): add Elasticsearch to OceanBase migration tool by @cr7258 in https://github.com/infiniflow/ragflow/pull/12927
* Fix: remove unused imports and f-string formatting by @asiroliu in https://github.com/infiniflow/ragflow/pull/12935
* Fix:Duplicate enum member causes backend startup failure by @Rynzie02 in https://github.com/infiniflow/ragflow/pull/12931
* Fixed regression issue that unable to start the service by @paulhuiseismic in https://github.com/infiniflow/ragflow/pull/12933
* Fix duplicate POSTGRES enum entry causing backend startup failure     by @LiruiYu33 in https://github.com/infiniflow/ragflow/pull/12936
* Add secondary index to infinity by @zpf121 in https://github.com/infiniflow/ragflow/pull/12825
* feat: Implement legacy .ppt parsing via Tika (alternative to Aspose) by @eviaaaaa in https://github.com/infiniflow/ragflow/pull/12932
* fix(llm): Fix Gitee AI links and update the reranker model configuration by @fchange in https://github.com/infiniflow/ragflow/pull/12916
* Fix: pdf page_number error by @Magicbook1108 in https://github.com/infiniflow/ragflow/pull/12938
* refactor: optimize agent list payload and improve multimodal detection logic by @eviaaaaa in https://github.com/infiniflow/ragflow/pull/12942
* Fix: custom delimeter in docx by @Magicbook1108 in https://github.com/infiniflow/ragflow/pull/12946
* Sandbox by @writinwaters in https://github.com/infiniflow/ragflow/pull/12951
* Fixed 12787 with syntax error in generated MySql json path expression by @paulhuiseismic in https://github.com/infiniflow/ragflow/pull/12929
* Refactor: improve close for presentation by @Woody-Hu in https://github.com/infiniflow/ragflow/pull/12957
* Update default Docling version to 2.71.0 to resolve table parsing issues by @JosefAschauer in https://github.com/infiniflow/ragflow/pull/12952
* feat: Add a custom header to the SDK for chatting with the agent. by @LeiZhang-Hunter in https://github.com/infiniflow/ragflow/pull/12430
* Support operator constraints in semi-automatic metadata filtering by @HeyPhiS in https://github.com/infiniflow/ragflow/pull/12956
* feat: memory status by @JimmyBenKlieve in https://github.com/infiniflow/ragflow/pull/12959
* Fix:Optimize metadata and optimize the empty state style of the agent page. by @dcc123456 in https://github.com/infiniflow/ragflow/pull/12960
* feat(connector): add Seafile as data source by @yesidc in https://github.com/infiniflow/ragflow/pull/12945
* Fix: docx parser output consistent by @Magicbook1108 in https://github.com/infiniflow/ragflow/pull/12965
* Fix: default admin tenant by @Lynn-Inf in https://github.com/infiniflow/ragflow/pull/12964
* Fix:Incorrect ingestion pipeline template by @sunsui in https://github.com/infiniflow/ragflow/pull/12961
* fix(docs): fix #12963 ,  rename "total" field to "total_datasets" for clarity by @Yunkou in https://github.com/infiniflow/ragflow/pull/12967
* feat: add OceanBase memory store by @whhe in https://github.com/infiniflow/ragflow/pull/12955
* Fix "metadata table not exists" by @qinling0210 in https://github.com/infiniflow/ragflow/pull/12949
* chore(tests): move oceanbase peewee test under test/ and fix enum check by @Rynzie02 in https://github.com/infiniflow/ragflow/pull/12969
* Fix: If the agent debug sheet contains too much content, some of it will not be displayed. #12974 by @cike8899 in https://github.com/infiniflow/ragflow/pull/12975
* Refact: Updated UI tips by @writinwaters in https://github.com/infiniflow/ragflow/pull/12976
* feat/add MySQL and PostgreSQL data source connectors by @MkDev11 in https://github.com/infiniflow/ragflow/pull/12817
* Docs: Update error message example in HTTP API reference by @asiroliu in https://github.com/infiniflow/ragflow/pull/12984
* Fix: pdf chunking / table rotation by @Magicbook1108 in https://github.com/infiniflow/ragflow/pull/12981
* Fix: Variables within multiple parentheses cannot be displayed correctly. #12987 by @cike8899 in https://github.com/infiniflow/ragflow/pull/12988
* feat: enable multi-file upload for chat and agent workflows by @bittoby in https://github.com/infiniflow/ragflow/pull/12977
* Feat: Move the reasoning field to the root of the payload in the completion interface. by @cike8899 in https://github.com/infiniflow/ragflow/pull/12990
* Fix: Fixed the issue where deleted images in the agent chat box would still be sent to the backend. by @cike8899 in https://github.com/infiniflow/ragflow/pull/12992
* Feat: support doubao-embedding-vision model by @yongtenglei in https://github.com/infiniflow/ragflow/pull/12983
* Refact: Updated Agent template description. by @writinwaters in https://github.com/infiniflow/ragflow/pull/12995
* feat: Add optional document metadata in OpenAI-compatible response references by @levischd in https://github.com/infiniflow/ragflow/pull/12950
* Feat: update stepfun list by @yongtenglei in https://github.com/infiniflow/ragflow/pull/12991
* Fix: adressing style without a default value by @Magicbook1108 in https://github.com/infiniflow/ragflow/pull/13009
* fix: support date comparison operators (>=, <=, >, <) in metadata filtering by @Clint-chan in https://github.com/infiniflow/ragflow/pull/12982
* Feat: Add model verify by @dcc123456 in https://github.com/infiniflow/ragflow/pull/13005
* Fix: ingestion pipeline by @Magicbook1108 in https://github.com/infiniflow/ragflow/pull/13012
* Fix: example code in session.py by @Magicbook1108 in https://github.com/infiniflow/ragflow/pull/13004
* Fix: parser bug by @dcc123456 in https://github.com/infiniflow/ragflow/pull/13014
* Fix: prevent streaming message width collapse by @skylarkoo7 in https://github.com/infiniflow/ragflow/pull/12999
* Feat: Control interface documentation directory display and hiding by @cike8899 in https://github.com/infiniflow/ragflow/pull/13008
* Feat: support verify to set llm key and boost bigrams. by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/12980
* Refactor: Improve Picture.py resource usage by @Woody-Hu in https://github.com/infiniflow/ragflow/pull/13011
* fixed vulnerabilities CVE-2025-53859 & CVE-2025-23419 by @LiruiYu33 in https://github.com/infiniflow/ragflow/pull/13016
* fix: ensure all metadata filters are processed in AND logic by @Clint-chan in https://github.com/infiniflow/ragflow/pull/13019
* Update basics by @yingfeng in https://github.com/infiniflow/ragflow/pull/13033
* Fix: correct llm_id for graphrag by @Magicbook1108 in https://github.com/infiniflow/ragflow/pull/13032
* Fix: dataset page enter key to save  by @dcc123456 in https://github.com/infiniflow/ragflow/pull/13035
* fix: optimize Excel row counting for files with abnormal max_row by @yuehong136 in https://github.com/infiniflow/ragflow/pull/13018
* fix(rdbms): use brackets around field names to preserve distinction after chunking by @MkDev11 in https://github.com/infiniflow/ragflow/pull/13010
* Fix: task cancel by @Magicbook1108 in https://github.com/infiniflow/ragflow/pull/13034
* Fix: Lazy loading adds a loading state to the page by @dcc123456 in https://github.com/infiniflow/ragflow/pull/13038
* Feat: MCP host mode supports STREAMABLE-HTTP endpoint by @yongtenglei in https://github.com/infiniflow/ragflow/pull/13037
* Chore/upgrade dashscope to 1.25.11 by @Clint-chan in https://github.com/infiniflow/ragflow/pull/13007
* Fix:  whyDidYouRender error by @dcc123456 in https://github.com/infiniflow/ragflow/pull/13040
* Fix: launch an agent. by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/13039
* fix: remove 10-item display limit in Agent Canvas configuration tables by @eviaaaaa in https://github.com/infiniflow/ragflow/pull/13049
* Refactor: improve ppt shape order logic by @Woody-Hu in https://github.com/infiniflow/ragflow/pull/13054
* Clean directories by @yingfeng in https://github.com/infiniflow/ragflow/pull/13061
* Fix: failing p3 test for SDK/HTTP APIs by @6ba3i in https://github.com/infiniflow/ragflow/pull/13062
* Fix: gemini model names by @Magicbook1108 in https://github.com/infiniflow/ragflow/pull/13073
* Fix parameter of calling self.dataStore.get() and warning info during parser by @qinling0210 in https://github.com/infiniflow/ragflow/pull/13068
* Fix: enable chat input resizing by @skylarkoo7 in https://github.com/infiniflow/ragflow/pull/12998
* Fix: agent files issue, by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/13067
* Fix: Add authentication validation to the document API interface for embedded pages. by @dcc123456 in https://github.com/infiniflow/ragflow/pull/13078
* Feat: Add Explore page by @cike8899 in https://github.com/infiniflow/ragflow/pull/13043
* Docs: Replaced TOC Enhance with Page Index. by @writinwaters in https://github.com/infiniflow/ragflow/pull/13075
* Feat: Translation page index. by @cike8899 in https://github.com/infiniflow/ragflow/pull/13083
* Fix: Bugs fixed by @dcc123456 in https://github.com/infiniflow/ragflow/pull/13086
* Feat: Hide log button by @cike8899 in https://github.com/infiniflow/ragflow/pull/13085
* Fix: Memory log style by @dcc123456 in https://github.com/infiniflow/ragflow/pull/13090
* Refa: boost OpenAI-compatible reranker UX by @yongtenglei in https://github.com/infiniflow/ragflow/pull/13087
* Refact: Updated UI tips. by @writinwaters in https://github.com/infiniflow/ragflow/pull/13093
* Fix issue #13084 by @zpf121 in https://github.com/infiniflow/ragflow/pull/13088
* Fix: judge table name prefix before migrate by @Lynn-Inf in https://github.com/infiniflow/ragflow/pull/13094
* Docs: Update version references to v0.24.0 in READMEs and docs by @asiroliu in https://github.com/infiniflow/ragflow/pull/13095

## New Contributors
* @mmtmr made their first contribution in https://github.com/infiniflow/ragflow/pull/12267
* @kyuengmanKim made their first contribution in https://github.com/infiniflow/ragflow/pull/12392
* @majiayu000 made their first contribution in https://github.com/infiniflow/ragflow/pull/12422
* @AAAkater made their first contribution in https://github.com/infiniflow/ragflow/pull/12451
* @paulluap made their first contribution in https://github.com/infiniflow/ragflow/pull/12500
* @puhaiyang made their first contribution in https://github.com/infiniflow/ragflow/pull/12521
* @Bobholamovic made their first contribution in https://github.com/infiniflow/ragflow/pull/12513
* @lizhizhou made their first contribution in https://github.com/infiniflow/ragflow/pull/12434
* @LGRY made their first contribution in https://github.com/infiniflow/ragflow/pull/12567
* @LiruiYu33 made their first contribution in https://github.com/infiniflow/ragflow/pull/12562
* @6ba3i made their first contribution in https://github.com/infiniflow/ragflow/pull/12563
* @eureka928 made their first contribution in https://github.com/infiniflow/ragflow/pull/12603
* @MkDev11 made their first contribution in https://github.com/infiniflow/ragflow/pull/12611
* @mohansinghi made their first contribution in https://github.com/infiniflow/ragflow/pull/12626
* @VedantMadane made their first contribution in https://github.com/infiniflow/ragflow/pull/12546
* @longbingljw made their first contribution in https://github.com/infiniflow/ragflow/pull/12642
* @liuxiaoyusky made their first contribution in https://github.com/infiniflow/ragflow/pull/12618
* @zagnaan made their first contribution in https://github.com/infiniflow/ragflow/pull/12509
* @hetavi-bluexkye made their first contribution in https://github.com/infiniflow/ragflow/pull/12595
* @francisye19 made their first contribution in https://github.com/infiniflow/ragflow/pull/12681
* @GlobalStar117 made their first contribution in https://github.com/infiniflow/ragflow/pull/12666
* @n1n-api made their first contribution in https://github.com/infiniflow/ragflow/pull/12680
* @loganaden made their first contribution in https://github.com/infiniflow/ragflow/pull/12679
* @Hwwwww-dev made their first contribution in https://github.com/infiniflow/ragflow/pull/12676
* @darkness789 made their first contribution in https://github.com/infiniflow/ragflow/pull/12728
* @LinkedDestiny made their first contribution in https://github.com/infiniflow/ragflow/pull/12766
* @zhanxin-xu made their first contribution in https://github.com/infiniflow/ragflow/pull/12719
* @JulienDeveaux made their first contribution in https://github.com/infiniflow/ragflow/pull/12760
* @apps-lycusinc made their first contribution in https://github.com/infiniflow/ragflow/pull/12777
* @Da22wei made their first contribution in https://github.com/infiniflow/ragflow/pull/12807
* @Angel98518 made their first contribution in https://github.com/infiniflow/ragflow/pull/12831
* @bittoby made their first contribution in https://github.com/infiniflow/ragflow/pull/12836
* @dive2tech made their first contribution in https://github.com/infiniflow/ragflow/pull/12856
* @zpf121 made their first contribution in https://github.com/infiniflow/ragflow/pull/12853
* @eviaaaaa made their first contribution in https://github.com/infiniflow/ragflow/pull/12896
* @Rynzie02 made their first contribution in https://github.com/infiniflow/ragflow/pull/12919
* @NTLx made their first contribution in https://github.com/infiniflow/ragflow/pull/12926
* @cr7258 made their first contribution in https://github.com/infiniflow/ragflow/pull/12927
* @paulhuiseismic made their first contribution in https://github.com/infiniflow/ragflow/pull/12933
* @fchange made their first contribution in https://github.com/infiniflow/ragflow/pull/12916
* @JosefAschauer made their first contribution in https://github.com/infiniflow/ragflow/pull/12952
* @sunsui made their first contribution in https://github.com/infiniflow/ragflow/pull/12961
* @Yunkou made their first contribution in https://github.com/infiniflow/ragflow/pull/12967
* @Clint-chan made their first contribution in https://github.com/infiniflow/ragflow/pull/12982
* @skylarkoo7 made their first contribution in https://github.com/infiniflow/ragflow/pull/12999
* @yuehong136 made their first contribution in https://github.com/infiniflow/ragflow/pull/13018

**Full Changelog**: https://github.com/infiniflow/ragflow/compare/v0.23.1...v0.24.0