github infiniflow/ragflow v1.0.0-rc3

latest release: nightly
4 hours ago

1.0.0-rc3 is the third and final release candidate before the official v1.0.0 release. It fixes several issues found in rc2 and introduces new features and enhancements.

Key updates:

  1. Introduced the decision model for evidence sufficiency judgment within the agentic tool loop, and the Categorize component for agents.
  2. Added support for multiple versions of ingestion pipeline DSL.
  3. Chat history now stores and displays prompts, token usage, and execution time.
  4. Compatible with existing v1.0.0-rc2 schema, allowing a direct upgrade.

What's Changed

  • Fix: An additional retrieval node has appeared in the agent created using the CAJAL Scientific Paper Assistant template. by @cike8899 in #21079
  • fix(agent): preserve and resolve webhook header fields by @T1mn in #20696
  • fix(agent): migrate chunk_summary and title_chunker templates to modular Extractor params by @12britz in #20754
  • fix(s3): honor signature_version and addressing_style for S3-compatible stores by @yaoper in #20815
  • fix(agent): retain webhook completion across incremental polls by @T1mn in #20697
  • fix(mcp): return a private cacheScope from tools/list by @leilei3167 in #20539
  • Fix: The quoted content in agent messages is not displayed correctly. by @cike8899 in #21070
  • fix: use id and kb_id when deleting dataset metadata by @aniketkrs in #20880
  • feat(go): complete the Mistral /v1/ocr client and list mistral-ocr-latest as an ocr model by @Xavierando in #20531
  • fix: expose compile_kwd in dataset search results by @liang0417 in #20859
  • fix(chunker): keep structured tables and images in the title family by @jay77721 in #21040
  • Fix: Error related to the 'UserFillUpForm' type by @cike8899 in #21062
  • Test:migrate router contracts api by @flyingwhit in #21046
  • Test:migrate langfuse routes api by @flyingwhit in #21050
  • fix(metadata): preserve string arrays in in-memory filters by @QAQadws in #21065
  • ci(tests): run migrated Go API tests by @6ba3i in #21077
  • Support jev model interface, part1 by @JinHai-CN in #21087
  • fix(kvrocks): propagate SetNX errors by @eleven914 in #20746
  • refactor(parser): introduce typed Position API for DocItem positions by @xugangqiang in #21049
  • Remove RowsToHTML; render PDF tables via canonical RenderTableHTML by @xugangqiang in #21083
  • feat(parser): extract SVG text in Go picture ingestion by @errmakov in #20523
  • fix(agent): bound the self-managed error body drain by @Tong-bit-art in #21058
  • test(api): migrate and improve search API tests, make the Go API suite self-sufficient by @qinling0210 in #21086
  • fix(ingestion): document and validate extractor timeout env by @jay77721 in #21119
  • Add more server types by @JinHai-CN in #21127
  • feat: migrate permission schema fields by @buua436 in #21085
  • Add token usage for agentic rag by @yingfeng in #21134
  • feat(pipeline): support image and email in general template by @jay77721 in #21072
  • fix(harness): recognize retryable errors beyond string prefixes by @SiyuanChenToDo in #21114
  • fix(parser): write an email's text output in a fixed field order by @L4XB in #21100
  • fix: release , aliyun Personal ACR does not support image proof lists by @myf-bee in #21136
  • Go: update admin client by @JinHai-CN in #21135
  • fix(parser): keep JSON numbers and <, >, & as written in JSON items by @L4XB in #21101
  • test(nlp): stop copying the atomic lookupNum in synonym tests by @12britz in #21102
  • refactor(ingestion): pipeline cleanups by @xugangqiang in #21084
  • fix(parser): decode numeric and all named character references in EPUB text by @L4XB in #21103
  • fix(web): defer retrieval document search until selection settles by @dcc123456 in #21144
  • fix(go-models): unwrap bundled api_key for Azure OpenAI by @errmakov in #20354
  • feat(go-auth): bind tenant context to access tokens and API keys by @buua436 in #21153
  • release: move release workflow from self-hosts to github runner hosts by @myf-bee in #21155
  • Fix template integration tests for typed parser DocItem output by @xugangqiang in #21141
  • refactor(ingestion): cleanup — stdlib reuse and shared component names by @xugangqiang in #21149
  • feat(parser): allow tenant PaddleOCR selection for images by @ZXLyyds100 in #21113
  • fix(parser): read text and inline elements under as one item by @L4XB in #21108
  • docs: Add a Tongyi-Qianwen Base URL reminder to the upgrade guide. by @Yannnnnnny in #21166
  • feat: add TrustedRouter as a model provider by @jperla in #21105
  • refactor(mcp): move MCP client out of utility into internal/mcp/client by @xugangqiang in #21150
  • Fix claim/evidence usage in agentic RAG by @yingfeng in #21170
  • Test: migrate files api by @flyingwhit in #21054
  • fix(web): correct PaddleOCR provider links to AI Studio by @jay77721 in #21196
  • fix(parser): start a new line before every HTML block element by @L4XB in #21107
  • feat(parser): honor MinerU formula and table controls by @ZXLyyds100 in #21109
  • fix(deepdoc): sample English pages deterministically by @leilei3167 in #20689
  • fix(ingestion): port Python's table-tag strip to the tokenizer embedding path by @xugangqiang in #21156
  • Extract shared storage layer: s3Base + retry/move helpers by @xugangqiang in #21158
  • fix(agent/tool): compare hostnames case-insensitively in DoPinned guard by @xugangqiang in #21171
  • fix(api): return nonempty string response messages by @QAQadws in #21194
  • fix(chunker): group DOCX paragraphs into custom-delimiter records by @Souravrajvi0 in #20713
  • Fix(deps): use onnxruntime-v1.29.0-patch2 to restore Clip@13 in minimal ORT by @xugangqiang in #21051
  • feat(parser): add per-method external DeepDoc analyzer dispatch by @xugangqiang in #21182
  • fix(parser): emit DOC tables as structured items instead of plain text by @xugangqiang in #21201
  • fix(parser): caption DOCX tables with their heading hierarchy by @xugangqiang in #21202
  • fix(parser): use selected tenant SoMark and OpenDataLoader instances by @ZXLyyds100 in #21112
  • feat: add EmpirioLabs AI as a model provider by @Adam-Dalloul in #21192
  • Get server type in boostrap by @JinHai-CN in #21204
  • rename job release to publish_sdk by @myf-bee in #21208
  • feat: add AI Stupid Level as a model provider by @StudioPlatforms in #21185
  • Add server type to StartServer function as parameter by @JinHai-CN in #21219
  • fix(parser): preserve PaddleOCR PDF highlight positions by @jay77721 in #21205
  • feat(agentic-rag): support per-chat prompts and tool selection by @6ba3i in #21211
  • fix(parser): merge .doc header-row table fragments split by office_oxide by @xugangqiang in #21222
  • refactor(ingestion): converge global singletons into injected dependencies by @xugangqiang in #21203
  • fix(ingestion): migrate composite PaddleOCR layout selectors by @jay77721 in #21236
  • Refactor: turn on local as last by @wangq8 in #21238
  • CLI: add show quota by @JinHai-CN in #21243
  • refactor(admin): isolate user agent and dataset listings in EE files by @QAQadws in #21210
  • refactor(memory): inject MQ engine into memory publish path by @xugangqiang in #21244
  • fix(retrieval): drop the filter-only fallback by @qinling0210 in #21240
  • Feat: Remove the execution restrictions imposed when an agent fails the checklist validation. by @cike8899 in #21232
  • Fix: Some files in the agent directory are triggering tsc errors. by @cike8899 in #21212
  • fix(agent): render fenced Markdown tables in PDFs by @6ba3i in #21248
  • feat(models): add Radeon Cloud provider for GO by @6ba3i in #21163
  • feat(tenant): add tenant roles and permissions by @buua436 in #21257
  • EE: add function toggle by @JinHai-CN in #21262
  • fix(knowledge_compile): widen backlog columns to LONGTEXT by @lorenzozanee in #20855
  • update heartbeat message by @JinHai-CN in #21269
  • fix(agent): accept typed slices in ListOperations by @6ba3i in #21252
  • fix(admin): honor ADMIN_DEFAULT_PASSWORD for the first superuser by @leilei3167 in #20562
  • refactor(pipeline): remove dead output_format from ingestion templates by @jay77721 in #21266
  • fix(agent): Render Markdown tables in DOCX exports by @6ba3i in #21274
  • docs: restructure the admin docs to make it more user friendly by @Yannnnnnny in #21279
  • fix(models): restore gpustack rerank and audio support by @gitlawr in #21233
  • fix services stale clean by @JinHai-CN in #21277
  • feat(models): add New API model driver by @wanghualoong in #21226
  • fix(parser): break EPUB text at the end of every block element by @L4XB in #21104
  • feat(utility): route WPS private formats to existing office parsers by @xugangqiang in #21251
  • Fix: knowledge compilation skip writting extra field by @wangq8 in #21278
  • fix(ingestion): block video parse while keeping visual upload routing by @jay77721 in #21245
  • Feat: Display both "naive" and "agentic" configurations on the chat settings page. by @cike8899 in #21285
  • refactor(deepdoc): make model filenames, threshold, and post-processing overridable at runtime by @xugangqiang in #21275
  • Fix: 1. update document parser_config does not clean chunks, 2. after update, pop up dialog to notice use to re-parse by @wangq8 in #21281
  • fix server list issue by @JinHai-CN in #21288
  • refactor(ingestion): retire ck_type in favor of layout and doc_type by @jay77721 in #21259
  • feat(decision-model): configure the retrieval judge from the UI and cap run cost by @Caobaining1 in #21250
  • refactor(parser): unify PDF JSON post-processing by @jay77721 in #21228
  • fix(cli): send the dataset_id filter and guard the memory lookup type assertion by @lemonzoey in #21193
  • fix(chunker): preserve list-form PDF positions in title chunkers by @jay77721 in #21258
  • Fix: parse api_key and group_id in Minimax config by @Lynn-Inf in #21289
  • Fix: The names of custom pipelines should be displayed as in the original text. by @cike8899 in #21300
  • fix(parser): normalize inline image base64 before chunk upload by @jay77721 in #21286
  • docs: update admin docs with latest release by @Yannnnnnny in #21302
  • fix(agentic-rag): deliver the final answer after a budget stop by @Caobaining1 in #21301
  • fix(agent): fall through when a Switch numeric comparison cannot parse by @RerankerGuo in #21094
  • fix(meta): keep an empty auto meta filter unscoped instead of matching nothing by @martincivan in #20979
  • fix(infinity): treat dropping a missing table as a no-op by @bharadwaj-pendyala in #20512
  • refactor(ingestion): remove all ck_type tombstones by @jay77721 in #21317
  • fix(parser): leave out the content of elements by @L4XB in #21284
  • fix init admin client status by @JinHai-CN in #21316
  • i18n: translate the tr-TR keys added since the last sync by @bakiburakogun in #20215
  • Fix: chat channel name rule by @flyingwhit in #21294
  • Fix: After successfully creating an agent template, navigate to the agent details page. by @cike8899 in #21328
  • fix(agent): support PostgreSQL connection testing by @6ba3i in #21229
  • fix(agent): resolve single-brace query references by @6ba3i in #21295
  • fix(agent): preserve state outputs for workflow branching by @6ba3i in #21287
  • fix(agent): resolve structured outputs in Message components by @6ba3i in #21311
  • Fix: Admin/user login state collision causes 403s and crashes the home page #20409 by @cike8899 in #21320
  • docs(api): fix dataset parse_type examples and selection rules by @jay77721 in #21333
  • fix(parser): place a table's footer rows after its body by @L4XB in #21283
  • Add typed envelope accessors for ingestion component boundaries by @xugangqiang in #21273
  • fix(chunker): strip the title-family params ManualChunker cannot honour (#20139) by @Harsh23Kashyap in #20220
  • fix(sdk): align Python SDK with RAGFlow 1.0 dataset API by @jay77721 in #21319
  • Fix: Remove the output_format field from the form for the parser operator. by @cike8899 in #21303
  • Fix: TypeScript errors in agent test files by @cike8899 in #21314
  • fix(web): unmount form fields when shouldRender is false by @dcc123456 in #21323
  • disable admin available check by @JinHai-CN in #21335
  • refactor(admin): move ingestion task listing to EE by @QAQadws in #21312
  • refactor(parser): remove dead ParseResult.Text field and text output path by @xugangqiang in #21334
  • Fix: keep all user agent versions by @wangq8 in #21343
  • refactor(parser): remove dead output_format readers by @jay77721 in #21336
  • Agent: add apply version and delete by version APIs by @wangq8 in #21352
  • fix(mcp): remove unused force_refresh parameter by @6ba3i in #21349
  • fix(openai): pass request reasoning level to AsyncChat so reasoning=5 selects the agentic path by @flyingwhit in #21342
  • fix(web): restore auto-metadata checkbox in reparse dialog by @dcc123456 in #21346
  • refactor(deps): rename ragflow_deps directory to deps by @xugangqiang in #21345
  • Fix: Change the naive setting to naive. by @cike8899 in #21353
  • Fix: export deleteIfEqual for ee by @Lynn-Inf in #21351
  • feat(permission): align resource and agent ownership by @buua436 in #21350
  • fix(agent): save incomplete Message drafts and gate Run by @6ba3i in #21355
  • fix(chunker): retain position-only figures in title chunkers by @monsterlag in #21309
  • fix(ingestion): reject disabled model instances during resolution by @Bruce-Yii in #20207
  • CLI: add show model stats by @JinHai-CN in #21376
  • fix(infinity): split InsertChunks into batches of 8192 rows by @zzy1017-crypto in #21380
  • fix(agent): save incomplete data operations and gate Run by @6ba3i in #21363
  • feat(ingestion): generate TOC chunks in the Go Extractor by @devYRPauli in #21090
  • Revert "feat(ingestion): generate TOC chunks in the Go Extractor" by @wangq8 in #21385
  • fix(web): show admin error toasts at the top-right position by @dcc123456 in #21387
  • fix(agent): save incomplete Invoke mappings and gate Run by @6ba3i in #21364
  • fix(chat): relocate decision model to agentic settings and allow inheriting it by @dcc123456 in #21386
  • Refactor: Knowledge compilation: move knowledge_compile_docs column backlog_doc_ids and inflight_doc_ids to seperated tables by @wangq8 in #21381
  • fix(agent): save incomplete Compiler drafts and gate Run by @6ba3i in #21365
  • add python-release workflow on gitHub actions webpage by @myf-bee in #21391
  • fix(parser): make IsPDFParseMethod recognize registered external analyzer methods by @xugangqiang in #21383
  • fix(agent): save incomplete input options and gate Run by @6ba3i in #21366
  • fix(files): make only folder names clickable in the file list by @dcc123456 in #21394
  • fix(agent): save incomplete Loop settings and gate Run by @6ba3i in #21367
  • fix(agent): save incomplete Iteration outputs and gate Run by @6ba3i in #21368
  • fix(agent): save incomplete SQL connections and gate Run by @6ba3i in #21369
  • fix(agent): save incomplete search filters and gate Run by @6ba3i in #21370
  • CLI: model group by @JinHai-CN in #21392
  • build(deps-dev): bump pillow from 12.0.0 to 13.0.0 in /sdk/python by @dependabot[bot] in #21401
  • build(deps-dev): bump vite from 7.3.0 to 7.3.7 in /web by @dependabot[bot] in #21400
  • build(deps): bump certifi from 2026.1.4 to 2026.10.19 in /tools/es-to-oceanbase-migration by @dependabot[bot] in #21404
  • build(deps): bump aiohttp from 3.14.3 to 3.14.4 by @dependabot[bot] in #21402
  • build(deps-dev): bump pillow from 12.3.0 to 13.0.0 by @dependabot[bot] in #21396
  • Fix: super admin should not login to normal page by @wangq8 in #21405
  • fix(agent): save incomplete chunker delimiters and gate Run by @6ba3i in #21371
  • feat(permission): enforce tenant and resource access by @buua436 in #21377
  • refactor(cmd): boot standalone DeepDoc server before infrastructure init by @xugangqiang in #21398
  • Delete toc_enhance (a.k.a. Page Index), it has been moved into knowledge compilation by @wangq8 in #21406
  • refactor(admin): remove user assets tabs from the user detail page by @dcc123456 in #21397
  • fix(agent): save incomplete tool entries and gate Run by @6ba3i in #21372
  • Docs: update wording: chunk method -> parsing mode by @wangq8 in #21408
  • fix: remove system variable API routes by @buua436 in #21410
  • fix(agent): save incomplete model selections and gate Run by @6ba3i in #21373
  • fix(deepdoc): preserve complete PDF figures by @jay77721 in #21390
  • Refactor: add migration versions by @wangq8 in #21395
  • fix(agent): save incomplete aggregation groups and gate Run by @6ba3i in #21374
  • fix: Add tag file format instructions in UI by @Yannnnnnny in #21417
  • fix(deepdoc): crop clean media previews without context bands by @jay77721 in #21412
  • refactor(parser): drop ParseResult.OutputFormat/Markdown, gate on Produced() by @xugangqiang in #21414
  • fix(document): honour apply_kb so reparse applies the dataset config by @Bruce-Yii in #20149
  • fix(agent): honor Tavily raw content settings by @6ba3i in #21422
  • Fix: when save dataset parser_config, warn user only new files take effects by @wangq8 in #21416
  • Refactor: use warn message when retrying by @wangq8 in #21420
  • add model group hook by @JinHai-CN in #21431
  • update base db model by @JinHai-CN in #21437
  • fix migration by @JinHai-CN in #21442
  • Fix decision_id can be null by @wangq8 in #21424
  • feat: bind agent webhooks to user credentials by @buua436 in #21421
  • perf(ingestion): add indexes for task user and status filters by @QAQadws in #21379
  • fix(deepdoc): keep native PDF text when OCR detection misses it by @jay77721 in #21399
  • fix(deepdoc): resolve conflicting caption labels by confidence by @jay77721 in #21415
  • Fix: keep metadata sorted, so that prompt could be the same by @wangq8 in #21459
  • Bugfix: add youcomsearch agent tool by @flyingwhit in #21080
  • refactor by @JinHai-CN in #21445
  • Fix: TypeScript errors in shared components by @cike8899 in #21458
  • fix(agent): resolve Tavily image URLs and prevent overflow by @6ba3i in #21460
  • feat: add Runcrate as a model provider by @heydryft in #21446
  • fix: respect active tenant in service operations by @buua436 in #21462
  • fix(document): persist parser models with the selected pipeline by @jay77721 in #21418
  • fix: increase scheme-safe response header timeout by @buua436 in #21469
  • refactor(agentic_rag): fold internal/rag into internal/agentic_rag by @Caobaining1 in #21464
  • docs: update quickstart docs by @Yannnnnnny in #21304
  • docs: Updated Agent documentation, examples, images, links, and formatting. by @Yannnnnnny in #21471
  • docs: update Build Docker Image docs by @Yannnnnnny in #21339
  • refactor(parser): carry spreadsheet merge geometry through chunkers by @jay77721 in #21463
  • feat(llm): add decision model type and open it to all providers by @dcc123456 in #21472
  • fix(web): gate SystemOne/RAGcon model listing on api key presence by @dcc123456 in #21475
  • Dev: enable LLM_DEBUG for decision model call by @wangq8 in #21473
  • ci : add ttf font to ragflow_deps image by @myf-bee in #21461
  • test: keep EE test placeholders in OSS by @buua436 in #21476
  • fix: add skill_search_test by @zzy1017-crypto in #21457
  • fix(stagehand): route Browser through shared model drivers by @6ba3i in #21477
  • fix(agent): support real streaming in canvas LLM component by @Sanderhoff-alt in #21468
  • fix(browser): use tenant model factory for all providers by @6ba3i in #21478
  • Fix: The 'option' parameter for the 'begin' operator cannot be empty. by @cike8899 in #21484
  • fix(docker): provision Chrome for Stagehand sessions by @6ba3i in #21479
  • fix(parser/mineru): rescale content_list bbox from 0..1000 to PDF points by @why5602337 in #21267
  • fix(ingestion): contain process-fatal errors and bound parser work by @jay77721 in #21480
  • Fix: The exesql operator, when used as an agent tool, does not display mandatory field validation information in the checklist. by @cike8899 in #21490
  • fix(ingestion): support legacy .xls BIFF8 as tag source by @jay77721 in #21483
  • refactor(cmd): make pprof startup testable and split unit/integration tiers by @xugangqiang in #21491
  • test: prepare tenant permission fixtures by @buua436 in #21493
  • Agent: use decision model in Workflow Categorize by @wangq8 in #21487
  • fix: limit API request body size by @buua436 in #21474
  • feat(cli): add admin ingestion log command hooks by @QAQadws in #21470
  • fix: secure channel egress against SSRF by @buua436 in #21486
  • fix(agent): preserve variable assignments across workflow nodes by @6ba3i in #21494
  • fix(reranker): add direct tests for rerank scoring mathFix/reranker and Fix two defects found while testing by @zzy1017-crypto in #21485
  • fix(syncer): preserve context cancellation during task checks by @QAQadws in #21481
  • fix(harness): prepend conversation history when FullChatHistoryAsInput is enabled by @Hrushikesh-ramilla in #21456
  • feat: ingestion dataflow-canvas DSL multi-version (sticky snapshot + missing state) by @xugangqiang in #21261
  • fix: upload Aliyun ASR audio to DashScope storage instead of sending a data URL by @ccclucky in #21441
  • docs: add release date of rc1 &rc2 to the release notes. by @Yannnnnnny in #21506
  • Fix: verify decision model by @Lynn-Inf in #21492
  • fix: secure MWS model requests by @buua436 in #21505
  • fix: update tool tips of decision model by @Yannnnnnny in #21507
  • fix(agent): serialize UserFillUp inputs as objects by @6ba3i in #21508
  • fix(api): send a rerank window that covers top_k in Dify retrieval by @devYRPauli in #21427
  • fix(tokenizer): never send an empty input to the embedding provider by @1BugKiller in #21439
  • docs: Replace the release tag placeholder with v1.0.0-rc2 in quickstart docs by @Yannnnnnny in #21512
  • fix(deepdoc): preserve table rows before cell assignment by @jay77721 in #21489
  • Combine RAGFLOW_MCP_ALLOW_PRIVATE_HOSTS into ALLOW_ANY_HOST by @wangq8 in #21523
  • Docs: update canvas to agent by @wangq8 in #21525
  • fix(agent): show meaningful ExecuteSQL connection test feedback by @6ba3i in #21524
  • fix(agent-logs): capture sub-tool invocations by @6ba3i in #21518
  • Docs: canvas -> agent, and delete not used keys by @wangq8 in #21528
  • Docs: canvas -> agent, and delete not used keys by @wangq8 in #21530
  • fix(web): gate DaoXE/RadeonCloud/DemonRoute model listing on api key by @dcc123456 in #21520
  • feat: configure dataset document upload size by @buua436 in #21517
  • fix: secure Azure DevOps connector requests by @buua436 in #21509
  • Fix: make the provider response-header timeout configurable by @ccclucky in #21434
  • fix(web): number citations per message, not per text node by @dcc123456 in #21531
  • docs: updates docs word with latest UI by @Yannnnnnny in #21521
  • fix(preview): highlight all spreadsheet chunk ranges by @jay77721 in #21511
  • fix(agent): preserve tool errors and redact logs by @6ba3i in #21533
  • Feature: add apply and delete version for agent by @wangq8 in #21538
  • Feat: Split the agent list page into three separate tabs. by @cike8899 in #21529
  • feat: add CloudGPU as a model provider by @mrhy7176 in #21543
  • feat(mcp): expose configurable listener transport settings by @6ba3i in #21547
  • fix(agent): prevent disconnected Message nodes from executing by @6ba3i in #21549
  • fix(parser): preserve table structure across document formats by @jay77721 in #21504
  • Fix: agent version apply bad by @wangq8 in #21555
  • fix: add tenant context to shared permission tests by @buua436 in #21556
  • test(ingestion): pin that the image parser handoff never downgrades to text by @ccclucky in #21500
  • Feat: Create a compilation template using a dialog on the pipeline canvas page. by @cike8899 in #21550
  • Fix: > Cannot be displayed in the message by @cike8899 in #21560
  • fix: honor STORAGE_IMPL and enforce chat dataset access by @buua436 in #21548
  • fix: handle malformed provider and CLI responses by @buua436 in #21546
  • fix(agent): route failure branches only after errors by @6ba3i in #21559
  • test(nlp): add pagination guard coverage for RetrievalService.Retrieval by @zzy1017-crypto in #21557
  • fix: prevent command and path injection by @buua436 in #21539
  • fix(admin): return pagination totals for user lists by @QAQadws in #21540
  • fix: guard Notion downloads and REST auth redirects by @buua436 in #21545
  • test(nlp): cover OB/VB local rerank scoring by @zzy1017-crypto in #21541
  • fix(agent): prefill block test inputs from settings by @6ba3i in #21566
  • fix: harden SMTP, SQL, and tokenizer boundaries by @buua436 in #21558
  • Fix: set variable value by @Lynn-Inf in #21554
  • fix: prevent concurrent state crashes by @buua436 in #21568
  • feat(chat): add SearchApi web search provider by @gabsferreira in #21563
  • fix(parser): emit Docling page positions and real page_count by @Taranum01 in #21330
  • fix(parser): carry OpenDataLoader PDF positions through to parse items by @ccclucky in #21450
  • build(deps): bump certifi from 2025.10.5 to 2026.10.18 in /sdk/python by @dependabot[bot] in #21581
  • docs: clarify admin bootstrap password setup by @buua436 in #21586
  • build(deps): bump serialize-javascript and terser-webpack-plugin in /web by @dependabot[bot] in #21582
  • Feat/claim decision filter by @Caobaining1 in #21587
  • build(deps): bump fast-uri from 3.1.8 to 3.1.9 in /web by @dependabot[bot] in #21579
  • build(deps): bump certifi from 2026.1.4 to 2026.10.18 by @dependabot[bot] in #21580
  • fix: align chat permission tests across editions by @buua436 in #21589
  • Fix: Click "Apply" to sync the parameters from the multi-model comparison page to the chat page. by @cike8899 in #21564
  • Fix: remove sso related code by @Lynn-Inf in #21584
  • fix(parser): apply the OpenDataLoader request timeout by @ccclucky in #21527
  • fix(retrieval): align pagerank and rank-feature scoring by @qinling0210 in #21542
  • remove docs by @JinHai-CN in #21598
  • i18n: translate new tr-TR keys and refresh outdated strings by @bakiburakogun in #21496
  • build(deps): bump github.com/go-jose/go-jose/v4 from 4.1.4 to 4.1.6 by @dependabot[bot] in #21594
  • build(deps): bump qs from 6.16.0 to 6.17.0 in /web by @dependabot[bot] in #21595
  • update go.sum by @JinHai-CN in #21596
  • Apply datasets parser config to all documents by @wangq8 in #21590
  • fix(tokenizer): fold Cyrillic before stemming so Russian keywords match by @ccclucky in #21433
  • fix(ingestion): scale MinerU content_list bboxes for PDF chunk highlights by @Souravrajvi0 in #21498
  • feat: add WorldRouter model provider by @JinJing-tomo in #21603
  • fix(web): use ConfirmDeleteDialog for reparse and parser-config confirmations by @dcc123456 in #21606
  • fix(parser): read PDF bookmarks into remote parse results by @ccclucky in #21499
  • refactor(server): collapse duplicate ingestor concurrency resolver and drop redundant Max prefix by @xugangqiang in #21588
  • Refactor: delete agent browser by @wangq8 in #21599
  • fix(parser): honour the pipeline context in SoMark and Docling PDF calls by @ccclucky in #21536
  • Revert "fix(web): restore auto-metadata checkbox in reparse dialog (#21346)" by @dcc123456 in #21601
  • fix(tokenizer): let the SSE2 loops in ToLower run by @ccclucky in #21436
  • update admin UI by @JinHai-CN in #21605
  • docs: Update documentation to match the latest UI and functionality by @Yannnnnnny in #21600
  • Fix list chat/agent session paging by @wangq8 in #21604
  • test(sdk): restore and relocate Python SDK tests by @6ba3i in #21613
  • Fix: use the Anthropic base URL placeholder for Anthropic by @SergeevDmitry in #21411
  • CI : web not run api tests by @myf-bee in #21615
  • fix(web): show session action menu only on the active conversation by @dcc123456 in #21617
  • fix(dataset): restore previous embedding model after failed validation by @6ba3i in #21602
  • feat(web): place the Agent tab first in the agents page by @dcc123456 in #21621
  • fix(chat): reject unsupported completion content by @6ba3i in #21597
  • fix(dataset): report incomplete bulk document deletion by @6ba3i in #21607
  • Feat: Modify the alias of a published agent by @cike8899 in #21620
  • fix(web): exclude video file format from initial parser values by @dcc123456 in #21622
  • refactor server main by @JinHai-CN in #21623
  • refactor(build): add empty build_ee.sh extension point + guarded hook by @xugangqiang in #21616
  • refactor by @JinHai-CN in #21624
  • refactor by @JinHai-CN in #21626
  • feat(parser): add media references for on-demand image materialization by @jay77721 in #21561
  • fix(embedding): respect provider batch limits by @6ba3i in #21610
  • Feat: Use a tree select component to display different versions of the pipeline. by @cike8899 in #21628
  • fix:Changed the Chinese labels to “Token Chunker”, “Compiler”, and “Indexer” with consistent capitalization. by @Yannnnnnny in #21629
  • fix(parser): recognize a Table of Contents heading when removing a TOC by @L4XB in #21331
  • test(sdk): audit dataset management tests by @6ba3i in #21619
  • fix: isolate analyzer and benchmark worker state by @buua436 in #21583
  • fix: prevent channel error leaks and iterator panics by @buua436 in #21565
  • fix(model): resolve provider names inside the request's tenant by @flyingwhit in #21495
  • fix(storage): reuse MinIO default transport to preserve connection pool by @Sanderhoff-alt in #21466
  • Fix quickstart by @yingfeng in #21650
  • chore(web): remove unused common.figure locale key by @Yuga-60 in #21646
  • update uv.lock by @JinHai-CN in #21636
  • fix(parser): emit page positions for SoMark JSON blocks by @Taranum01 in #21324
  • fix(parser): preserve Markdown image references in chunk text by @jay77721 in #21608
  • fix(chunker): honour Python {,n} level patterns and keep long numbered paragraphs as body by @ccclucky in #21641
  • refactor: keep the enterprise code out of the community build by @yuzhichang in #21614
  • Fix: The alias for a historical version of an agent is too long, pushing the title out of view. by @cike8899 in #21653
  • refactor: drop the ee suffix from the edition-neutral permission fixture by @yuzhichang in #21664
  • feat: add Obscurify.ai as a model provider by @tonydavis629 in #21639
  • Fix: correct chat pipeline timing display by @wangq8 in #21655
  • fix(deepdoc): add the first page height when a crop spans pages by @devYRPauli in #21428
  • fix(agent): preserve Switch routing when recreating ElseIf branches by @6ba3i in #21663
  • fix(agent): initialize omitted optional Begin inputs by @6ba3i in #21652
  • docs: Align user guides with current UI and configuration options by @Yannnnnnny in #21631
  • Docs: fix wording - restore draft by @wangq8 in #21660
  • fix: accept .tiff files in upload whitelist by @tanishqbaweja in #21640
  • fix(widget): resolve agent citations by chunk id by @Ricky-RC in #21438
  • fix(agent): retain ReAct tool calls for output and memory by @Ricky-RC in #21444
  • feat(agent): inspect model inputs during single-node test runs by @okht in #21449
  • fix: harden credential and input handling by @buua436 in #21593
  • fix: protect provider instance credentials by @buua436 in #21618
  • test(sdk): audit chunk management tests by @6ba3i in #21635
  • test(sdk): audit chat assistant tests by @6ba3i in #21654
  • test(sdk): audit session management tests by @6ba3i in #21665
  • fix: Rename Chinese labels to “Title Chunker” “Transformer” "parser" by @Yannnnnnny in #21666
  • feat(web): ship empty enterprise overlays under web/src/ee by @dcc123456 in #21667
  • fix(ingestion): stop the MinerU /file_parse upload when the run is cancelled by @ccclucky in #21573
  • chore: add EE DeepDoc build-artifact ignore rules by @xugangqiang in #21634
  • Fix: When switching between different pipeline versions on the dataset configuration page, the displayed operator configuration information is incorrect. by @cike8899 in #21669
  • Revert "fix: remove sso related code" by @Lynn-Inf in #21657
  • Add ee stub function by @JinHai-CN in #21671
  • fix: isolate community test stubs from EE builds by @buua436 in #21672
  • test(sdk): audit document management tests by @6ba3i in #21633
  • test(sdk): audit agent management tests by @6ba3i in #21668
  • test(sdk): audit memory management tests by @6ba3i in #21670
  • test: audit Python SDK message management by @6ba3i in #21676
  • Fix: Canvas variables are not displaying in the agent's version history. by @cike8899 in #21675
  • fix(syncer): bound Jira/Confluence incremental windows with an exclusive next-minute upper bound so updates in the final minute are not lost by @flyingwhit in #21630
  • fix(parser): drop EE-specific references from OSS parse-method comment by @xugangqiang in #21674
  • Fix: File-level pipeline aliases appear too long by @cike8899 in #21682
  • Feature: chat to store and display prompt, usage and time information by @wangq8 in #21681
  • Fix: Entering a letter in the parser tree selection field and then clicking the collapse icon triggers a data message. by @cike8899 in #21683
  • fix(deepdoc): keep body sentences that cite Table N out of table captions by @ccclucky in #21453
  • fix(parser): remove duplicate figures for extracted PDF tables by @jay77721 in #21673
  • Fix: remove retired OpenAI models from the preset model list by @Anandb71 in #21685
  • feat: add Hostinger Router as a model provider by @ricardasbitinas-jpg in #21419
  • Fix: move to stub by @Lynn-Inf in #21678
  • Docs: update version docs by @wangq8 in #21693
  • Fix: Prevent the saving of dataset configurations when creating compilation templates. by @cike8899 in #21692
  • feat(parser): hand off EPUB images as media refs by @jay77721 in #21677
  • Fix: let agent Http request component honor ALLOW_ANY_HOST by @wangq8 in #21688
  • Fix: Disable clicking on the exclamation mark icon in ParserTreeSelect by @cike8899 in #21695
  • Fix: Clicking the "Run" button on the workflow canvas should output the content of the current canvas draft. by @cike8899 in #21698
  • Refactor: no owner nickname for agent version name by @wangq8 in #21699
  • feat(parser): parse MinerU 4 output and verify the endpoint by @huang-aoqin in #21625
  • ci(sdk): restore Python SDK p2 tests by @6ba3i in #21687
  • feat(web): isolate enterprise routes, admin pages and header slots in src/ee by @dcc123456 in #21696
  • feat(web): save model instances per card instead of a batch button by @dcc123456 in #21708
  • fix(web): keep whitespace-only option values in select-with-search by @dcc123456 in #21706
  • fix(agentic_rag): keep compiled knowledge tools inside the turn's document scope by @flyingwhit in #21658
  • Fix: attach figure captions by adjacency, not nearest figure centre by @ccclucky in #21448
  • fix: isolate dataset test helpers by edition by @buua436 in #21707
  • fix(harness): avoid re-locking when Batch handles ListNamespacesOp by @flyingwhit in #21709
  • fix(syncer): accept rest api response without size limit by @flyingwhit in #21702
  • fix(parser): keep PaddleOCR figure regions as media items by @ccclucky in #21452
  • Refactor: move reference into message table by @wangq8 in #21705
  • test(retrieval): add integration tests for retrieval and search by @zzy1017-crypto in #21690
  • fix(agent/tool): read the Tushare token from node config over https and drop it from the model schema by @flyingwhit in #21679
  • feat: add cheapaimodel as a model provider by @nicho810 in #21612
  • fix(parser): parse email attachments whose names are RFC 2047 encoded by @L4XB in #21361
  • fix(syncer): keep Confluence and Jira rows inside the watermark minute by @ccclucky in #21577
  • fix(parser): stop MinerU polling when the run is cancelled by @ccclucky in #21571
  • fix(service): detach the skill space cleanup from the request context by @ccclucky in #21648
  • fix ut by @yingfeng in #21714
  • build: build the server from ./cmd so build tags select the DeepDoc entry by @yuzhichang in #21704
  • refactor(api): hyphenate the remaining route path segments by @yuzhichang in #21730
  • Add audit log stub by @JinHai-CN in #21712
  • fix(sdk-agent): restore agent API contracts by @6ba3i in #21731
  • fix build.sh by @JinHai-CN in #21738
  • update tips string by @JinHai-CN in #21742
  • feat(media): harden run media cache lifecycle and limits by @jay77721 in #21694
  • Fix text processing to treat input as array if input is an array by @wangq8 in #21743
  • test: seed the permission fixtures the enterprise policy needs by @yuzhichang in #21745
  • Refactor: retrieval test -> retrieval by @wangq8 in #21748
  • fix(web): bind memory message switch state to the message by @dcc123456 in #21752
  • test(service): give two permission-aware tests the data the EE policy needs by @yuzhichang in #21751
  • fix(deepdoc): keep inline superscripts in reading order by @ccclucky in #21447
  • fix: unify saved provider model listing by @buua436 in #21753
  • Fix: Reverse-engineer the parameter values ​​that determine the degrees of freedom for the chat interface, based on the large model's parameters. by @cike8899 in #21750
  • Update for audit by @JinHai-CN in #21754
  • fix(web): localize the Slovak and Czech cross-language options by @ccclucky in #21757
  • fix(web): use plural wording in remove-all-models confirmation dialog by @dcc123456 in #21762
  • Docs: fix token wording by @wangq8 in #21761
  • fix(service): prevent goroutine leaks on SSE stream channel writes by @Sanderhoff-alt in #21179
  • Add ingest log hooks by @JinHai-CN in #21758
  • fix: show pending tenant invitations by @buua436 in #21763
  • docs: Aligning field names, configuration paths, and operating steps, and documenting pending image updates by @Yannnnnnny in #21759
  • Feat: There should be a notification at the file level when a pipeline is deleted. by @cike8899 in #21765
  • fix(sdk-chat): validate chat configuration by @6ba3i in #21732
  • fix(sdk-chunk): correct chunk API behavior by @6ba3i in #21733
  • fix(sdk-sessions): restore session API contracts by @6ba3i in #21746
  • fix(sdk-agent): preserve implicit listing order by @6ba3i in #21747
  • feat(parser): hand off Office images as media refs by @jay77721 in #21700
  • fix(chunker): drop DOCX custom-delimiter record prefix by @jay77721 in #21760
  • Fix: Adjust the parameter order in the agent operator form. by @cike8899 in #21770
  • fix(sdk-documents): restore document API contracts by @6ba3i in #21741
  • fix(sdk-messages): correct message API behavior by @6ba3i in #21744
  • fix(sdk-dataset): fix dataset validation by @6ba3i in #21734
  • refactor by @JinHai-CN in #21771
  • fix(agent): keep uploaded file metadata tied to the selected file by @dakjdakd in #21189
  • fix: show bell for pending tenant invitations by @buua436 in #21778
  • chore(router): gate /pipelines endpoints behind auth by @xugangqiang in #21776
  • add audit hooks by @JinHai-CN in #21774
  • fix(infinity): decode tag_feas JSON text on chunk detail reads by @qinling0210 in #21779
  • test: seed the permission data the enterprise policy reads by @yuzhichang in #21780
  • fix(agent): arxiv send data with https instead of http by @flyingwhit in #21739
  • Fix load agent chat history crashed by @wangq8 in #21786
  • docs: update images locations and links by @Yannnnnnny in #21787
  • Docs: 1.0.0-rc3 release notes by @wangq8 in #21789
  • Docs: Update version references to v1.0.0-rc3 in READMEs and docs by @asiroliu in #21788

    New Contributors

    Full Changelog: v1.0.0-rc2...v1.0.0-rc3

Don't miss a new ragflow release

NewReleases is sending notifications on new releases.