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:
- Introduced the decision model for evidence sufficiency judgment within the agentic tool loop, and the Categorize component for agents.
- Added support for multiple versions of ingestion pipeline DSL.
- Chat history now stores and displays prompts, token usage, and execution time.
- 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
agentdirectory are triggeringtscerrors. 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_formatfield 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
exesqloperator, 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
- @aniketkrs made their first contribution in #20880
- @eleven914 made their first contribution in #20746
- @Tong-bit-art made their first contribution in #21058
- @SiyuanChenToDo made their first contribution in #21114
- @ZXLyyds100 made their first contribution in #21113
- @jperla made their first contribution in #21105
- @Adam-Dalloul made their first contribution in #21192
- @StudioPlatforms made their first contribution in #21185
- @gitlawr made their first contribution in #21233
- @lemonzoey made their first contribution in #21193
- @monsterlag made their first contribution in #21309
- @zzy1017-crypto made their first contribution in #21380
- @heydryft made their first contribution in #21446
- @Sanderhoff-alt made their first contribution in #21468
- @Hrushikesh-ramilla made their first contribution in #21456
- @1BugKiller made their first contribution in #21439
- @mrhy7176 made their first contribution in #21543
- @gabsferreira made their first contribution in #21563
- @JinJing-tomo made their first contribution in #21603
- @SergeevDmitry made their first contribution in #21411
- @Yuga-60 made their first contribution in #21646
- @tonydavis629 made their first contribution in #21639
- @tanishqbaweja made their first contribution in #21640
- @Ricky-RC made their first contribution in #21438
- @okht made their first contribution in #21449
- @Anandb71 made their first contribution in #21685
- @ricardasbitinas-jpg made their first contribution in #21419
- @nicho810 made their first contribution in #21612
Full Changelog: v1.0.0-rc2...v1.0.0-rc3