Summary
Released on June 29, 2026.
New features
- Chat channels:
- File parsing: Adds fallback logic for PP-OCRv6 and similar text recognition models, and integrates image parsing within the PaddleOCR pipeline. #16150
Improvements
- Datasets
- Chat channels: Ensures end-user conversation histories persist across restarts but still separate when a channel is bound to a new dialog. #16274
i18n
- Expands i18n coverage and refines translations for the Korean UI. #16203;
- Adds missing French translations for chat channels, username validation, and model editing. #16217
Bug fixes
- File parsing:
- A
ValueErrorwas raised during.docxparsing on 'Heading' styles. #16284 - Tables in
.docxfiles were silently removed by the laws document parser. #16155 - Lone Markdown headers were separated from their subsequent sections when a DeepDoc delimiter was set. #16109
- Markdown tables appeared twice in chunk results, once as a standalone chunk and again within a regular text chunk. #16143
- A
- MCP
- The MCP server hung indefinitely when encountering empty document pages; the final page of documents was silently dropped due to flawed pagination. #16285
- The MCP connection and dataset discovery process failed because the server's hardcoded fetch limit exceeded the introduced
page_sizerestriction. #16148
- Dataflow
- Restores the dataflow rerun endpoint and ensures the ingestion response includes the DSL payload to reliably render the timeline and parser views. #16292
- Restores dataflow parser defaults and returns the actual SSE payload, ensuring pipeline runs correctly surface message IDs and log updates. #16290
- LLM: Failed to use the new
gemini-3.5-flashmodel via the Google Cloud (Vertex AI) provider usingeuorusregion endpoint. This is resolved by explicitly multi-region routing requests to the requiredaiplatform.<region>.rep.googleapis.comdomains instead of synthesized<region>-aiplatform.googleapis.comhosts. #15990 - UI/UX: The metadata add modal sent empty values to the backend. #15229
What's Changed
- Fix the launch script by @wangq8 in #16159
- Refactor(go-cli): improve variable and label naming in CLI parseAddModel by @Hz-186 in #16145
- Fix Chat/Search/Agent bot show image by @wangq8 in #16152
- Fix: MCP dataset discovery fails due to REST API max page size limit … by @xuhaiL in #16148
- Fix: cli points to the wrong api endpoints by @6ba3i in #16171
- feat(go-api): implement Go-side document PATCH API & align parsing/metadata sync behavior by @Hz-186 in #15975
- feat(go-api): migrate MCP server detail and download API to Go by @Hz-186 in #16113
- feat: support wecom websocket channel by @buua436 in #16175
- Fix: Lint error. by @cike8899 in #16172
- fix: fix some bugs in check_conn and drop_inst by @Haruko386 in #16180
- fix(deepdoc): attach lone header lines to the following section when delimiter is set by @jaso0n0818 in #16109
- Go CLI: add support for windows, linux, macos by @Haruko386 in #16082
- Go: add statistics command by @JinHai-CN in #16119
- Fix search rename error with multiple error message (#664) by @wangq8 in #16186
- Go CLI: add support for windows, linux, macos by @Haruko386 in #16184
- fix: use RESTful pipeline detail API with knowledgeId and logId by @euvre in #16182
- Fix: replace tenant_llm apis by @Lynn-Inf in #16131
- fix: add nightly tags by @Haruko386 in #16189
- Go: add command, show tasks summary by @JinHai-CN in #16187
- fix: chat channel defaults and feishu shutdown by @buua436 in #16176
- fix: wrong clang/toolchain for windows by @Haruko386 in #16191
- Go: add command, list, remove, stop tasks by @JinHai-CN in #16190
- feat[Go]: add modelID for delete_model and update_status by @Haruko386 in #16025
- feat[go]: implement /api/v1/datasets/<dataset_id> PUT by @Haruko386 in #16122
- feat[Go]: implement datasets/<dataset_id>/index P/G by @Haruko386 in #16153
- Json add paddleOCR models by @Haruko386 in #16156
- Implement OpenAI chat completions in GO by @qinling0210 in #16177
- fix: hard-coded paths for Windows C compiler by @Haruko386 in #16193
- Fix that agent cannot be the same name by @wangq8 in #16192
- feat: add dingtalk chat channel by @buua436 in #16183
- Go: fix duplicate models by @JinHai-CN in #16197
- Go CLI: add list user commands framework by @JinHai-CN in #16201
- Go CLI: refactor some commands by @JinHai-CN in #16204
- Go CLI: refactor commands by @JinHai-CN in #16213
- Go CLI: admin list configs by @JinHai-CN in #16221
- Fix: preserve tables when parsing DOCX with the laws parser (#16008) by @manan-tech in #16155
- fix: Enhance Windows build process for office_oxide and rag tokenizer by @Haruko386 in #16223
- feat(agent): align Go agent behavior with Python (except retrieval component) by @yuzhichang in #16225
- fix: Enhance Windows build configuration in release.yml by @Haruko386 in #16227
- Fix: metadata add modal sends empty value due to stale closure by @nickmopen in #15229
- Go CLI: Fix alter role by @JinHai-CN in #16226
- fix: fix release workflow for Windows and MAC builds by @Haruko386 in #16235
- feat[Go]: implement api /api/v1/datasets/<dataset_id>/chunks POST by @Haruko386 in #16067
- fix: unable to chat after set model by @Haruko386 in #16195
- feat(go-api): complete chat channel API migration with tests by @Hz-186 in #16139
- feat(go-api): Implement BulkDeleteChats Go API and fix ListChats by @Hz-186 in #16157
- feat(go-api): migrate searchbot share detail endpoint to go by @Hz-186 in #16124
- Add show / set role default models by @JinHai-CN in #16240
- Feat: Add a prefix to the
nameof theFormFieldassociated with the chat. by @cike8899 in #16178 - i18n(fr): add missing French translations for chat channels, username validation and model editing by @vincentlambert in #16217
- test(go): ensure go unit tests pass by @yuzhichang in #16241
- Go CLI: admin list providers by @JinHai-CN in #16243
- fix: handle SIMDe headers installation for arm64 by @Haruko386 in #16244
- Fix: When re-entering the agent page, the data from the previous session flashes briefly. by @cike8899 in #16251
- fix: propagate contextvars through thread_pool_exec by @vincentlambert in #16247
- refactor(log): unify Go logging to zap with rotation, strip per-package levels by @yuzhichang in #16261
- Go CLI: admin model framework by @JinHai-CN in #16252
- Go: default public key by @JinHai-CN in #16265
- feat: add whatsapp web qr chat channel by @buua436 in #16238
- Fix: add /v1/document/upload_info -> /api/v1/documents/upload back by @wangq8 in #16264
- Go CLI: add response output by @myf-bee in #16263
- feat[Go]: implement <document_id>/chunks/<chunk_id> PATCH by @Haruko386 in #16232
- feat[Go]: implement /datasets/<dataset_id>/documents/batch-update-status by @Haruko386 in #16258
- Document[Go-develop]: update Go development docs by @Haruko386 in #16229
- Go: rename ragflow_cli to ragflow-cli by @JinHai-CN in #16270
- Go: show model and list all models by @JinHai-CN in #16272
- Refactor harness framework by @yingfeng in #16271
- fix(rag/raptor): handle max_cluster edge case in GMM cluster selection by @Harsh23Kashyap in #16199
- fix(paddleocr): support PP-OCRv6 ocrResults fallback and integrate image parsing by @Rander7 in #16150
- Fix release by @JinHai-CN in #16278
- fix(i18n): fix missing i18n coverage and refine Korean translations by @yooxdb in #16203
- fix: support Google Cloud Gemini eu/us multipoint endpoints by @glu000 in #15990
- fix: restore dataflow defaults and SSE response by @buua436 in #16290
- fix: keep chat channel bindings consistent by @buua436 in #16274
- fix: guard against missing component IDs in Switch Flow path to prevent NoneType crash by @OSHA-B in #16279
- fix: restore dataflow rerun and detail payload by @buua436 in #16292
- fix(document_service): prevent NoneType error on progress_msg.strip() by @Dimon0000000 in #16289
- Fix: MCP document metadata cache can loop forever when documents returns an empty docs page by @minion1227 in #16285
- Fix: docx parsing raises ValueError on 'Heading' styles by @minion1227 in #16284
- Fix: paginate get_flatted_meta_by_kbs to support datasets with >10k documents (#16034) by @Dr1985 in #16095
- fix: deduplicate markdown table chunks by @helloxjade in #16143
- Fix: handle empty folder when link to datasets by @wangq8 in #16296
- fix(agent): handle different reference data formats by @Ambercssa in #16276
- Go CLI: fix mode switch by @JinHai-CN in #16294
- Fix: guess volc embedding model by @Lynn-Inf in #16298
- fix(api): use dataset-owner tenant for legacy /chunks docstore cleanup by @kiannidev in #15961
- feat(go-api): migrate datasets tags aggregation API to Go by @Hz-186 in #16181
- feat[Go] implement datasets/<dataset_id>/<index_type> DELETE by @Haruko386 in #16257
- feat(go-api): Align document metadata batch APIs and upload_info with Python by @Hz-186 in #16269
- fix(go): normalizeDatasetID by @Hz-186 in #16301
- Go CLI: refactor by @JinHai-CN in #16299
- feat(go-api): add dataset tags endpoints by @Hz-186 in #16231
- feat(go-api): align chat session get/update with python behavior by @Hz-186 in #16239
- Go CLI: fix key commands by @JinHai-CN in #16306
- fix: new dataset can not update configuration by @Haruko386 in #16291
- implement: <dataset_id>/embedding/check POST by @Haruko386 in #16266
- feat[go]: datasets/<dataset_id>/chunks DELETE by @Haruko386 in #16185
- More resilient graph engine by @yingfeng in #16325
- Go CLI: list provider instance models, sync and list provider by @JinHai-CN in #16311
- Example: list_datasets.sh by @JinHai-CN in #16335
- Add Keenable web search tool to the agent by @ilya-bogin-keenable in #16233
- Fix when empty response not set, it report: ERROR: 'knowledge' by @wangq8 in #16338
- feat: unify provider id or name routing by @buua436 in #16336
- fix(agent): log Wikipedia disambiguation and page errors instead of s… by @Willsgao in #16207
- feat(go-api): add dataset search endpoint by @Hz-186 in #16304
- feat(go-api): implement dataset document upload API by @Hz-186 in #16295
- Go CLI: fix list dataset files by dataset name by @JinHai-CN in #16341
- fix(web): agent log refetch and slider percentage rounding by @dcc123456 in #16344
- feat(go-api): add Go support for POST /api/v1/datasets/{dataset_id}/documents/{document_id}/chunks by @Hz-186 in #16256
- fix(agent): coerce None Switch inputs before string operators by @Harsh23Kashyap in #16320
- fix(agent/tools): PubMed tool always returns "Unknown Authors" by @immuhammadfurqan in #16330
- Fix multimodal chat image routing for VLM channel requests by @6ba3i in #16343
- fix(web): bump lodash past vulnerable range by @Harsh23Kashyap in #16281
- fix(agent/tools): DeepL component fails validation and drops errors by @immuhammadfurqan in #16332
- Fix: Flexible Chat Configuration by @cike8899 in #16293
- Go CLI: fix list provider instance tasks by @JinHai-CN in #16345
- fix(html_parser): preserve original text when splitting oversized blocks by @devYRPauli in #16052
- Go:CLI add new response function by @myf-bee in #16347
- Add env ALLOW_ANY_HOST to skip host check by @wangq8 in #16351
- Fix add VLLM without apikey will fail by @wangq8 in #16352
- Fix [ID:0] not converted to Fig. 1 by @wangq8 in #16357
- Fix: An empty message notification pops up at the top of the agent conversation. by @cike8899 in #16353
- fix(api): align use_sql Markdown separator with Source header by @Harsh23Kashyap in #16317
- feat[Go]: implemet api: Search/Get/Update-Messages by @Haruko386 in #16307
- feat[go]: add router for connectors/<connector_id> PATCH by @Haruko386 in #16358
- fix(deepdoc): keep zero and false Excel cells in call by @Harsh23Kashyap in #16318
- fix: naive_merge splits oversized sections and counts overlap tokens correctly by @cleanjunc in #15802
- fix(web): fix layout issues with text, overflow, and spacing consistency by @yooxdb in #16324
- feat(go-api): Langfuse API key migration behavior by @Hz-186 in #16356
- fix(deepdoc): accept GFM table separators with one or more dashes by @Harsh23Kashyap in #16319
- fix(api): validate immutable document fields when value is zero by @Harsh23Kashyap in #16309
- Revert "fix(deepdoc): keep zero and false Excel cells in call" by @wangq8 in #16366
- fix(rag/nlp): treat string input as one phrase in is_english by @Harsh23Kashyap in #16308
- Refactor: migrate pdf_parser.py to golang by @xugangqiang in #16323
- Go CLI: refactor by @JinHai-CN in #16355
- Go CLI: fix model related commands by @JinHai-CN in #16368
- fix(excel_parser): keep zero-valued cells when building Excel text chunks by @devYRPauli in #16287
- Fix: remove deepdoc dep by @xugangqiang in #16372
- Model config: add tools by @JinHai-CN in #16371
- Go CLI: fix show variable by @JinHai-CN in #16370
- Docs: Added v0.26.2 release notes. by @writinwaters in #16373
- feat: add missing qwen models to all_models.json by @Hz-186 in #16379
- Go CLI: Fix show model and list models by @JinHai-CN in #16380
- Fix missing move and copy methods in Python RAGFlowS3 storage implementation by @ondery in #16350
- Fix document progress not set to fail when embedding model error by @wangq8 in #16381
- feat: add log icon to parsing status display by @dcc123456 in #16383
- fix: tighten loop validation by @buua436 in #16374
- Feat: support new qwen model by @Lynn-Inf in #16385
- Fix: If the type of the loop variable in the Loop operator is set to
object, an error occurs when clicking the Variable Replicator operator inside it. by @cike8899 in #16388 - Fix handle move file failed by @wangq8 in #16384
- fix: adjust table height and button position in DatasetTable component by @dcc123456 in #16390
- Feat: Add New API model provider for OpenAI-compatible gateways by @wanghualoong in #15991
- Go CLI: Fix show admin server and api server by @JinHai-CN in #16382
- feat[Go]: implement Add messages for Go by @Haruko386 in #16375
- feat(go-api): add chat update endpoints by @Hz-186 in #16378
- feat[Go]: implement Create-Chat/Session, Delete-Session by @Haruko386 in #16386
- Fix VLM PDF parser only parse first 12 pages, and default page range for PDF files align with backend by @wangq8 in #16394
- fix: remove dup-method by @Haruko386 in #16393
New Contributors
- @xuhaiL made their first contribution in #16148
- @manan-tech made their first contribution in #16155
- @OSHA-B made their first contribution in #16279
- @minion1227 made their first contribution in #16285
- @helloxjade made their first contribution in #16143
- @Ambercssa made their first contribution in #16276
- @ilya-bogin-keenable made their first contribution in #16233
- @immuhammadfurqan made their first contribution in #16330
- @ondery made their first contribution in #16350
Full Changelog: v0.26.1...v0.26.2