New features
- Agentic RAG: Refactored the Agentic RAG retrieval framework, significantly improving reasoning speed and benchmark performance. (#19046, #19112, #19172, #19209, #19424, #19459)
- Knowledge compilation runtime settings (#19254)
- Enforce a rate limit on the knowledge compilation pipeline (#19156)
- Knowledge graph shows total and current node counts (#19142,#19095, #19114)
- Graph search highlights the node when pressing Enter on an entity name (#19320)
- New Sitemap data source for sitemap.xml-based web ingestion (#19344)
- WebDAV connector supports custom CA certificates (#16901)
- MonkeyOCRv2 parsing support (#18887)
- Self-hosted PaddleOCR-VL deployment support (#19011)
- New Sofya search tool for agent (#19323)
- EPUB document preview (#19242)
- Excel citation sources located in document preview (#18853)
Model Support
Improvements
- New RERANK_TOKEN_LIMIT_MODE configuration (#19404)
- Highlight in retrieval testing and search (#18981)
- Similarity threshold displayed as a percentage (#18974)
UI/UX
Bug fixes
- Fixed images uploaded in chat being ignored by vision models (#18884)
- Fixed non-UTF-8 encodings in CSV/TXT preview and document decoding (#19222, #19253)
What's Changed
- fix(agentic_rag): include configured system prompt in RAGTools.sys_prompt() by @chakshu-dhannawat in #18927
- fix(web): make sidebar i18n reactive and refine template card/icon UI by @yooxdb in #16646
- fix(dataset): align parser methods order with python by @6ba3i in #18877
- feat(webdav): support custom CA certificates by @taek105 in #16901
- Fix Azure embedding endpoint handling by @zcxGGmu in #16993
- fix go: migrate missing table chatchannel by @myf-bee in #18944
- Python && Go: fix parse status by @JinHai-CN in #18841
- fix(ollama): preserve native API base URL in OllamaCV by @iwasaki1112 in #17013
- fix(file): stop is_parent_folder_exist raising on a missing parent by @marmar9615-cloud in #18930
- fix(agent): enforce MCP task deadlines in worker by @Lem0nTea2002 in #18869
- fix: upgrade starlette to 1.3.1 (CVE-2026-54283) by @anupamme in #18947
- refactor: delete the unused discord_svr.py bot script by @noron12234 in #17682
- Refactor: make all url inside tooltip as link by @wangq8 in #18943
- Py: add update_time in select list when list data sync logs by @JinHai-CN in #18867
- fix: include filename in file download Content-Disposition header by @huang-aoqin in #17105
- fix(embed): drop_params: True was rejected by Together AI and other strict providers by @Harsh23Kashyap in #18627
- fix(rag): key Infinity field_map by original column names, not pinyin by @Taranum01 in #18318
- feat(go-syncer): add Zendesk connector by @mkaaad in #18961
- Fix: Remove the empty response field from the retrieval operator. by @cike8899 in #18963
- fix(agent): reject fractional integer DSL parameters by @6ba3i in #18964
- Fix: update tooltip url to correct link by @wangq8 in #18966
- fix: Introduce argparse to resolve hardcoded parameter values in the SDK test file by @Ricardo-shuo-liu in #16763
- Fix dataset LLM tooltip by @wangq8 in #18971
- fix(web): block saving an agent when an edited Parser node is invalid by @dcc123456 in #18967
- fix(ingestion): carry component outputs in the pipeline operation log DSL by @euvre in #18774
- feat(web): display similarity threshold as a percentage by @dcc123456 in #18974
- fix(agent): let global variable textareas resize vertically by @dcc123456 in #18972
- fix(web): stop the note node resize handle from covering its textarea by @dcc123456 in #18969
- fix(dataflow): decode non-UTF-8 HTML files before parsing in Go pipeline by @euvre in #18801
- fix(parser): drop merged-block and wrapped PDF TOC entries when remove_toc is enabled by @euvre in #18793
- Fix: On the dataset configuration page of the Go version, no error message appears when saving if mandatory fields are left blank. by @cike8899 in #18970
- Fix the tooltip wrong url by @wangq8 in #18975
- fix(admin): stop silent superuser creation on auth probe and harden bootstrap by @simpleqt in #18702
- docs(deepdoc): point the build examples at the Dockerfile's real path by @marmar9615-cloud in #18820
- Fix: For datasets with doc, docx, or markdown formats, the "remove original directory" toggle fails to save successfully. by @cike8899 in #18976
- fix(ingestor,nats): recover consumption, fail fast on NATS startup and harden reconciliation (P0 blockers) by @jay77721 in #18942
- Fix(chat): reorder Rerank and Cross Language form fields in ChatPromptEngine by @cike8899 in #18978
- Fix: remove deprecated qwen tts model by @Lynn-Inf in #18977
- feat(models): add 13 Volcengine Ark chat models by @chyroc in #18973
- fix(agent): make user added emppty entries fail to save by @6ba3i in #18979
- Feature: add highlight for retrieval testing and search by @wangq8 in #18981
- docs:fix some bugs of documents by @Yannnnnnny in #18984
- Fix: pass the kb id to the wiki page insert-error warning by @muhzuhaib in #18985
- Refine agentic search by @yingfeng in #18798
- Refactor agentic search by @yingfeng in #19000
- feat(parser): zero-alloc rune count, bmp/tiff decoders, and clean OCR gate tests (#18794) by @avikumart in #18829
- feat(dataflow): cap debug-run chunk preview and surface run limits in tooltip by @xugangqiang in #18881
- fix(agent): persist webhook traces as JSON objects by @T1mn in #18883
- feat: locate Excel citation sources in document preview by @huang-aoqin in #18853
- fix(agentic_rag): return calculate tool result by @yzl0ng in #19012
- Refactor: update similarity threshold tooltip from 0.2 to 20 by @wangq8 in #19033
- Revert "Refactor: update similarity threshold tooltip from 0.2 to 20" by @wangq8 in #19034
- Refactor: update similarity threshold tooltip from 0.2 to 20 by @wangq8 in #19036
- fix(agentic_rag): normalize structure answers by @yzl0ng in #19025
- Fix: Limit the input box for automatic tags to only accept integers by @cike8899 in #19038
- Refactor agentic search by @yingfeng in #19040
- Fix llm.py by @qinling0210 in #19037
- Feature: support self-hosted PaddleOCR-VL deployments by @maxiaolong03 in #19011
- fix(parser): make PDF "remove TOC" and "remove header/footer" options work without DeepDoc inference by @euvre in #18602
- feat(deepdoc): in-process static-linked ONNX Runtime DeepDoc backend by @xugangqiang in #18731
- feat(go-syncer): add OneDrive connector with lazy fetch and resume by @mkaaad in #18968
- fix(agent): allow deleting edges inside iteration on canvas by @huang-aoqin in #16925
- fix(web): warn about empty Message component content on agent save by @euvre in #18993
- fix(rag/nlp): include question_tks when reranking with a rerank model by @immuhammadfurqan in #18473
- fix(api): return parsing-status counts at the top level of each dataset (#17595) by @Anai-Guo in #17611
- Fix: pass Qwen3 enable_thinking via chat_template_kwargs by @FJH886 in #17592
- fix(common): redact OAuth / API credentials from ConnectorRunner error logs by @Harsh23Kashyap in #17588
- fix(rag): exclude overflow chunk from kb_prompt token budget by @Harsh23Kashyap in #16377
- fix(chat): keep reasoning chats grounded when LLM lacks tool calling by @georgelichen in #18983
- Add go build files , reduce image size, update entrypoint-go.sh by @myf-bee in #19041
- fix(agent): sanitize Excel output sheet names by @uczltw6 in #18505
- fix(migrations): parse the --config flag the usage line documents by @marmar9615-cloud in #18817
- feat(go-syncer): add Airtable connector with lazy fetch and resume by @mkaaad in #19032
- fix(web): default NumberInput precision to 2 by @dcc123456 in #19051
- fix(docker): let the backend launcher retry loops actually run by @marmar9615-cloud in #18926
- fix: allow special tokens in token counting by @buua436 in #19052
- Fix: KnowledgebaseService.dfs_update crashes on stored None parser_config values by @BaptisteJosh in #15964
- docs: add search docs by @Yannnnnnny in #19057
- Fix: pipeline with compilation + transfomer (extrator) does not work by @wangq8 in #19045
- fix(agent): warn at save time when an Agent node has no model selected by @euvre in #18996
- fix(dify): search the dataset owner's index, not the caller's by @marmar9615-cloud in #18987
- fix(rag): return 1-D vector from BaiduYiyan encode_queries by @Harsh23Kashyap in #16398
- feat(web): complete the Turkish locale and fix broken placeholders by @bakiburakogun in #19009
- Fix: Clicking the save button on the Go version of the dataset configuration page automatically locates the field where the error occurred. by @cike8899 in #19061
- fix(sdk): reject conflicting dataset ID filters by @WOLIKIMCHENG in #19047
- fix(memory): restore Python-side rules in Go TYPE_INSTRUCTIONS by @anneheartrecord in #19002
- Restore visible Markdown list styling in chat by @georgelichen in #19010
- fix(serenedb): keep the available_int=0 chunk filter by @marmar9615-cloud in #18928
- fix(confluence): stop passing start/end to _retrieve_all_slim_docs by @Anai-Guo in #18995
- fix: retrieve with the assistant's configured settings by @martincivan in #19016
- feat(go-syncer): add Asana connector with resume and prune by @mkaaad in #19049
- fix(web): shorten the empty-state copy for the wiki tab by @dcc123456 in #19062
- fix(chat): images uploaded in chat UI were ignored by vision models (agentic loop / Go attachment drop) by @euvre in #18884
- fix(web): bound port and max records in the Execute SQL form by @dcc123456 in #19072
- Feat: List all file type parsing configurations for the parser operator. by @cike8899 in #19050
- docs: delete redundant docs by @Yannnnnnny in #19078
- fix: always use full hierarchical path for Confluence attachment/page identifiers by @OSHA-B in #16711
- fix: compare datasets by resolved embedding model name by @yiheng-kkk in #19069
- fix(test): give the rag_agent dialog stub the retrieval settings it now reads by @marmar9615-cloud in #19081
- Go: refactor by @JinHai-CN in #19084
- fix(search): honor the cached document-deleted flag so deleted docs stay pruned by @marmar9615-cloud in #19070
- fix(agent): prevent concurrent webhook trace overwrites by @T1mn in #19026
- feat(agent): expose Iteration max_concurrency on the canvas by @huang-aoqin in #19066
- feat(go-syncer): add SeaFile connector by @mkaaad in #19073
- fix(agent): avoid shared StringTransform merge arguments by @alaningtrump in #19023
- Fix don't send an empty tools array by @martincivan in #19015
- fix(go): parse PPTX one chunk per slide by @euvre in #18254
- fix(ingestion): make NATS task scheduling crash-safe by @jay77721 in #19074
- Refactor agentic search by @yingfeng in #19046
- fix(go-syncer): always use full hierarchical path for Confluence iden… by @mkaaad in #19085
- fix(web): fall back to backend defaults for unset search LLM parameters by @LuckTerence in #19079
- refactor: add context_length for list_models and refactor content_length by @Haruko386 in #19075
- CI : fix ci step ragflow_native_backend requires the following condition by @myf-bee in #19086
- Fix 2 continuous images, the first image got lost by @wangq8 in #19083
- Refactor: add total/returned entities/relations by @wangq8 in #19095
- fix(nats): use DiscardNew for all JetStream work-queue streams by @jay77721 in #19099
- fix(agent): finalize interrupted webhook traces by @T1mn in #19089
- fix(memory): put the keyword weight in the text slot of the fusion expression by @marmar9615-cloud in #18989
- fix(agent): reject only truly-empty delimiter entries on canvas save by @euvre in #19048
- fix(web): honor webhook trace terminal status by @T1mn in #19087
- feat(go-syncer): add BigQuery connector by @mkaaad in #19106
- Fix: The test database connection failed and repeated errors. by @cike8899 in #19102
- Fix: Allow deletion of selected tags in the extractor operator form. by @cike8899 in #19097
- fix(agent): prevent duplicate tools on one Agent node at creation by @euvre in #19053
- Go: add context, part5 by @JinHai-CN in #19108
- fix(document-preview): keep xlsx sheet tabs on one row, drop duplicate fetch by @dcc123456 in #19105
- fix(memory): use the shared NumberInput for the temperature field by @dcc123456 in #19109
- Fix: check minerU.net connection by @Lynn-Inf in #19115
- fix error where returns a no dataset found error in a 500 wrapper by @6ba3i in #19059
- fix(agentic_rag): table-aware retrieval truncation fixes + action-session loop guards by @Caobaining1 in #19112
- Fix: Use default pipeline configuration when parsing documents via HTTP API- #13297 by @JinHai-CN in #19116
- docs: update glossary docs by @Yannnnnnny in #19077
- fix(agent): propagate deferred stream errors through Message by @Lem0nTea2002 in #18796
- build: bump office_oxide to v0.1.9 and pdf_oxide to v0.3.73 by @xugangqiang in #19124
- build(deps): bump nanoid from 3.3.11 to 3.3.18 in /web by @dependabot[bot] in #19128
- fix(deepdoc): harden ORT build guard, OCR test contract by @xugangqiang in #19082
- Fix(parser): raise legacy .doc parsing fidelity via structured IR by @xugangqiang in #18192
- build(deps): bump google.golang.org/grpc from 1.82.1 to 1.83.1 by @dependabot[bot] in #19127
- fix(utils): round minimum_should_match fraction instead of truncating by @RahilOp in #19031
- fix(docker): disable stale macOS nginx mount by @dynnfa in #19126
- fix(test): expect the bare attachment disposition the download path emits by @marmar9615-cloud in #19132
- test(chunker): pin current applyChildrenDelimText behavior (#17876 partial coverage) by @Taranum01 in #18315
- fix(rag/app/table): keep table cells that column type conversion cannot represent by @OmarFaig in #18460
- fix(file): Fix link folder always use 'add' and use API result to refresh linked datasets by @dcc123456 in #19134
- fix(integration): register in-process DeepDoc backend + correct stale chunk/knn assertions by @xugangqiang in #19107
- Refactor: add total/returned entities/relations 2 by @wangq8 in #19114
- fix(tagging): stop a non-object LLM reply from failing the whole batch by @marmar9615-cloud in #18991
- Feat: Displays the total number of nodes and the current number of nodes in ArtifactForceGraph. by @cike8899 in #19142
- fix(agent): restore message download button when output file type is selected by @euvre in #18955
- build(deps): bump nltk from 3.10.0 to 3.10.3 by @dependabot[bot] in #19129
- fix(mcp): bound metadata cache and prevent partial pagination caching by @6ba3i in #19138
- feat(ingestor): raise default max_concurrent_workers from 1 to 2 by @jay77721 in #19133
- fix(ingestion): preserve run input on resume and detach context for terminal cleanup by @jay77721 in #19088
- fix(agent): reject empty message rows when saving canvas by @6ba3i in #19149
- Fix: link to existing dataset clean the document chunks by @wangq8 in #19143
- Fix: hide forgotten message by default. by @Lynn-Inf in #19144
- fix(parser): propagate cancellation while waiting for vision figure futures by @iwasaki1112 in #17014
- test(deepdoc): add 1.pdf colspan end-to-end replay test by @xugangqiang in #19139
- refactor(go-syncer): route GetConnector access errors through helper by @mkaaad in #19146
- Fix NameError in audio chunker when file extension is missing or unsupported by @blueOf in #19007
- chore(deepdoc): source native testdata from infiniflow/ragflow-testdata by @xugangqiang in #19136
- feat(nats): add shared NatsKVStore helper for cache namespaces by @xugangqiang in #19148
- fix: align wiki alteration provenance by @buua436 in #19140
- fix(mcp): read total_datasets so the fetch-all early-exit works by @xu-jia-ming in #19020
- Fix: restrict tenant updates to the current user's own tenant by @Lynn-Inf in #19155
- Refactor: delete not used code by @wangq8 in #19164
- Fix: check required dataset_id/memory_id on save by @Lynn-Inf in #19125
- Fix: Remove the mode from the compiler operator. by @cike8899 in #19150
- fix(dify): return the custom document metadata the handler already fetches by @marmar9615-cloud in #19123
- docs: update documentation to align with current Python API implementation by @Yannnnnnny in #19163
- fix(deepdoc): raise TextDetector limit_side_len default from 960 to 2048 (#18509) by @Harsh23Kashyap in #18888
- refactor(pptx): simplify buildPPTXJSONSections + drop Python-compat wording (Follow-ups 1+2 of #19076) by @Harsh23Kashyap in #19098
- fix(parser): prefer structured IR over flatter views for .doc by @xugangqiang in #19147
- docs(examples): add document lifecycle API examples by @6ba3i in #19153
- Fix: get rid of graphrag raptor in parser_config in REST API by @wangq8 in #19161
- build(deps-dev): bump browserslist from 4.28.1 to 4.28.8 in /web by @dependabot[bot] in #19170
- fix(file): classify ancestry authorization failures as data errors by @6ba3i in #19157
- fix(web): let the editable description textarea scroll when clamped by @dcc123456 in #19167
- Fix: Set the rerank model for the search page as a required field. by @cike8899 in #19154
- Fix: The select-all option in the dataset file list and file management now only applies to the current page; switching pages will clear the previous selection. by @cike8899 in #19158
- Fix: invalidate user when change password or set user as inactive by @wangq8 in #19186
- build(deps): bump pypdf from 6.15.0 to 6.16.1 by @dependabot[bot] in #19171
- Stop splitting resume documents into per-page parsing tasks by @devYRPauli in #18713
- Adjust navigation tools for agentic search by @yingfeng in #19172
- fix(parser): stop the .msg date test depending on the host timezone by @devYRPauli in #19182
- fix(searchbots): enforce KB authorization before retrieval by @6ba3i in #19165
- build(deps): bump qs from 6.14.0 to 6.16.0 in /web by @dependabot[bot] in #19192
- build(deps): bump fast-uri from 3.1.5 to 3.1.7 in /web by @dependabot[bot] in #19191
- Refactor: get rid of graphrag and raptor during task creation by @wangq8 in #19194
- Fix: The backend API did not return the default blueprint template from the wiki. by @cike8899 in #19131
- build(deps): bump mistune from 3.3.0 to 3.3.3 by @dependabot[bot] in #19193
- Require exactly two cells for a CSV QA pair by @devYRPauli in #19008
- fix(py-go-connector): enforce kb authorization in rebuild by @mkaaad in #19190
- feat(ingestion): surface queued document task status by @jay77721 in #19137
- fix(security): generate random UUIDv4 identifiers by @6ba3i in #19159
- refactor(ingestion): unify memory task execution with heartbeat leases by @jay77721 in #19189
- fix(pdf): make _table_transformer_job honor TABLE_AUTO_ROTATE by default by @helloxjade in #16079
- fix(storage): make bucket deletion work on the AWS_S3 backend by @Huang-404-Q in #19162
- Fix OAuth redirect URI examples by @zz80900 in #15683
- docs: add macOS vm.max_map_count setup guidance by @helloxjade in #19177
- Refactor: go default template no more _0 by @wangq8 in #19204
- Fix/final answer streaming phase is not interrupted by the research budget by @Caobaining1 in #19209
- Dev: launch_backend_service.sh to support --debug by @wangq8 in #19215
- Fix: Hide Skills Entry by @cike8899 in #19205
- Fix: Install only oxlint and oxfmt to ensure CI checks for web files. by @cike8899 in #19197
- refactor(parser): collapse docElementText into docxElementText by @xugangqiang in #19135
- fix(storage): handle versioned S3 bucket deletion by @6ba3i in #19199
- fix(rag): unify parser_config delimiter defaults on a single constant by @euvre in #19058
- fix(dataset): fail closed on unknown permissions by @6ba3i in #19213
- [Go] Fix switch embeding report error by @wangq8 in #19201
- fix(dynamic-form): allow non-string values in Segmented fields (#15106) by @dcc123456 in #19212
- fix(storage): scope configured single-bucket S3 removals correctly by @6ba3i in #19217
- feat: add llmman as a model provider by @ericcurtin in #19030
- Fix: The filter data did not update after deleting the agent's item. by @cike8899 in #19220
- fix(preview): handle non-UTF-8 encodings in CSV/TXT preview by @dcc123456 in #19222
- fix: normalize reasoning stream markers by @buua436 in #19216
- refactor deepdoc backend register by @xugangqiang in #19224
- refactor(go): merge messagefit into internal/tokenizer by @jay77721 in #19225
- fix(agent): accept user_id node param on the Retrieval agent tool by @euvre in #19090
- Docs: update indexer by @wangq8 in #19227
- fix(model_meta): discover TEI reranker models by @dawNotPoi in #19210
- fix(agent): wire document service so dataflow rerun works instead of 500ing by @euvre in #19094
- feat: adapt knowledge compilation concurrency by @buua436 in #19156
- fix(ingestion): route xlsx QA JSON table items to extractQATable by @leilei3167 in #19198
- fix ci unit test not found in installed package 'wordnet' by @myf-bee in #19251
- fix(parser): support non-UTF-8 decoding across text, csv, and epub parsers by @jay77721 in #19243
- Fix missing content_ltks when rerank by @wangq8 in #19230
- fix(chunker): align canvas TokenChunker default delimiters with General parser by @xugangqiang in #19226
- chore(deps): depend on org mirror infiniflow/onnxruntime_go by @xugangqiang in #19169
- test(web): cover decodeBlobText across all five decoder branches by @Harsh23Kashyap in #19240
- fix(parser): decode non-UTF-8 document text by @6ba3i in #19253
- fix(token_utils): build the tiktoken encoder on first use, not at import by @marmar9615-cloud in #18986
- Fix: upload image to model in chat by @Lynn-Inf in #19257
- fix(ingestion-logs): normalize dataset status filters by @6ba3i in #19261
- fix(ingestion): show data pipeline on failed parse log entries by @euvre in #19231
- fix(web): sanitize worksheet names that crash the excel previewer by @dcc123456 in #19260
- Fix: check required fields when use template by @Lynn-Inf in #19228
- Fix: After clearing data from pages other than the first page, the data in the filters and search box should also be cleared. by @cike8899 in #19255
- feat(preview): add EPUB document preview with encoding normalization by @dcc123456 in #19242
- feat: configure knowledge compilation runtime settings by @buua436 in #19254
- fix: exclude empty documents from structure alteration by @buua436 in #19246
- fix(web): default Textarea resize to vertical by @dcc123456 in #19263
- Fix: apply dia.llm_id overrides by @Lynn-Inf in #19214
- Fix: bound model response reads by @Lynn-Inf in #19211
- fix(agent): await MCP transport cleanup before stopping event loop by @Lem0nTea2002 in #19093
- fix(dataset): surface Go ingestion QUEUED status and honor terminal run state by @dcc123456 in #19249
- fix(parser): recover invalid XLSX sheet names by @jay77721 in #19264
- CI: add Dockerfile_go build and api test by @myf-bee in #19232
- fix(web): make tr locale capitalisation consistent for expanded labels by @bakiburakogun in #19273
- feat(task_executor): add MAX_TASKS_PER_WORKER to recycle long-running workers by @HamsterPark in #14501
- fix(task): refresh stale embedding model config by @ump45nose in #18089
- fix(parser): handle MinerU chart blocks instead of silently dropping them by @yaoper in #19096
- fix(chunker): prevent chained over-carry of overlap-head PDF positions by @xugangqiang in #19068
- Perf: link onnxruntime without --whole-archive to cut binary size by @xugangqiang in #19277
- docs(api): use the memory update field names the route reads by @marmar9615-cloud in #19279
- fix(api): return the full error tuple when both id and ids are given to list documents by @marmar9615-cloud in #19280
- fix(cli): pass search number as file limit by @helloxjade in #19285
- Fix: Delete icons that have been placed in the assets directory of iconfont.js. by @cike8899 in #19300
- chore: remove the DeepDoc Go alignment report by @xugangqiang in #19311
- fix(web): disallow folder upload in chunk creating modal by @dcc123456 in #19309
- Go: refactor by @JinHai-CN in #19312
- Refactor: update dataset API should not have ext by @wangq8 in #19272
- docs: clarify user_default_llm deprecation by @liwu96 in #19321
- Fix: Click to create an agent; if the name already exists, an error will be displayed in the name input field. by @cike8899 in #19324
- fix(agent): hold back a node whose upstream runs in the same batch by @ebarkhordar in #19282
- fix(memory): restore Infinity FIFO eviction and maintenance queries by @AnnaSuSu in #19290
- fix(storage): honor client region in Python S3 bucket creation by @AnnaSuSu in #19291
- fix(web): load chunk method example images from remote repo by @dcc123456 in #19328
- feat(llm): forward OpenAI user on embedding and parse requests by @ondery in #19065
- fix(mcp): bound the document-metadata cache like the dataset cache by @xu-jia-ming in #19022
- fix(exesql): serialize DATE/TIME columns for canvas SSE JSON by @leilei3167 in #19266
- fix(mcp): terminate Go Streamable HTTP sessions by @Lem0nTea2002 in #19151
- docs: update API references to match implementation by @Yannnnnnny in #19334
- feat(parser): add MonkeyOCRv2-Parsing support by @zenosai in #18887
- fix(web): block chunk save and show error when tag is not selected by @dcc123456 in #19337
- fix: report wiki map timeout errors by @buua436 in #19329
- Fix: After clearing the data in the agent list, the corresponding filter data must also be cleared. by @cike8899 in #19336
- fix(excel): drop the "None" label for a blank spreadsheet header cell by @marmar9615-cloud in #19175
- build: use a stable dynamic-list path for OrtGetApiBase export by @xugangqiang in #19302
- fix(api): allow setting language on dataset creation (#15703) by @manan-tech in #16242
- fix(agent/tools): run a DuckDuckGo news search when the channel is news by @marmar9615-cloud in #19176
- Fix the remaining rag/app chunkers treating an empty upload as a missing binary by @JessYanCoding in #19256
- test(rag/nlp): cover the BOM and LookupError branches of decode_text by @Harsh23Kashyap in #19292
- fix: report knowledge compilation LLM failures by @buua436 in #19313
- Fix: update GiteeAI base_url and some model_name by @Lynn-Inf in #19338
- fix(native): build 0-origin raster in FromImage/Decode for cropped sub-images by @xugangqiang in #19308
- fix: support agent input mapping and converged edges by @buua436 in #19317
- fix(ingestion): keep Q&A/Tag chunks from collapsing into one indexed chunk by @euvre in #18480
- Refactor: combine 3 retrieval/search API as one by @wangq8 in #19303
- fix(api): accept repeated memory_type and tenant_id filters when listing memories by @marmar9615-cloud in #19281
- feat(agent): add Sofya search tool by @yusufgurdogan in #19323
- fix(parser): recover text_box and nested table/list text in office IR by @jay77721 in #19319
- fix(memory): align extracted message document id with message_id by @jay77721 in #19326
- feat(deepdoc): switch in-process Go backend from .onnx to FlatBuffer (.ort) models by @xugangqiang in #19318
- fix: filter structure alteration by document products by @buua436 in #19346
- fix(web): disable textarea resizing in agent note node by @dcc123456 in #19349
- Fix: show skills folder by @wangq8 in #19351
- fix(agent): flatten scalar-list values in DataOperations combine by @WOLIKIMCHENG in #19111
- fix(web): hide sign up until registration is enabled by @shixy96 in #19343
- fix(docs): document dataset language create and update behavior by @6ba3i in #19372
- feat(connector): add Sitemap data source for sitemap.xml-based web ingestion by @vincentlambert in #19344
- fix(llm): raise a clear error for unsupported Bedrock embedding models by @kimnamu in #16044
- feat(channels): allow chat channels to connect to agents by @Gonghan-Princess in #19307
- fix(paper): bound title-pivot merge by chunk_token_num (#12109) by @deadtrickster in #16959
- Dockerfile_go optimize by @myf-bee in #19385
- fix(web): align parse status badge colors with list dots and rename table header by @dcc123456 in #19400
- fix(web): move artifact delete button into the toolbar row by @dcc123456 in #19381
- Fix: By default, the wiki page does not display the wiki content on the right. by @cike8899 in #19388
- fix(agent): clear stale template dataset references by @6ba3i in #19399
- Refactor: Add RERANK_TOKEN_LIMIT_MODE by @wangq8 in #19404
- fix(agent): preserve sandbox artifacts through streaming by @6ba3i in #19355
- fix: resolve Go structure graph template names by @buua436 in #19373
- fix: filter chunks by requested IDs by @buua436 in #19377
- fix(api): return "search not found" instead of IndexError when updating a missing search by @euvre in #19380
- fix(api): enforce readonly access to team-shared chat and agent sessions by @euvre in #19340
- fix(sdk): preserve JSON document downloads by @AnnaSuSu in #19367
- fix(syncer): anchor sitemap PDF-pass checkpoints and declare regex dependency by @mkaaad in #19383
- fix(api): authorize dataset and workspace commit routes by @Harsh23Kashyap in #19357
- fix(agent): treat missing List Operations input as empty list by @euvre in #19275
- fix(dataset): honor keywords filter in Go wiki artifact list APIs by @euvre in #19310
- fix(compilation): make graph search Enter on an entity name highlight the node instead of rendering the whole graph by @euvre in #19320
- feat(ingestion): consolidate checkpoint to Parser + per-chunk result cache by @xugangqiang in #19386
- fix: avoid KeyError when database config has no password (#11051) by @RykerFeng in #16064
- fix(mineru): align backend names with current MinerU API by @huang-aoqin in #19055
- Fix: check sql component required fields by @Lynn-Inf in #19418
- fix(embedding): use Replicate run API for query embeddings by @LostSnowfluff in #19405
- refactor(ingestion): use worker-driven task pull dispatcher by @jay77721 in #19314
- fix(agentic_rag): reject prose fan-outs, keep research loop alive on SCA timeout, and widen slot-table retry budget by @Caobaining1 in #19424
- Fix: The newly added group name for the VariableAggregator operator cannot be found. by @cike8899 in #19440
- fix: prevent IndexError in PUT /api/v1/searches/ when search not found by @MKP999 in #16027
- fix: report incremental wiki map errors by @buua436 in #19422
- chore(deps): let download_go_deps.py fetch Go DeepDoc .ort weights by @xugangqiang in #19376
- fix(compiler): resolve global built-in template scope by @6ba3i in #19426
- Refactor: Follow #19404 to add RERANK_TOKEN_LIMIT_MODE=truncate|passthrough|raise_error by @wangq8 in #19421
- Fix: table column auto parse missing metadata by @wangq8 in #19439
- fix(chunk): enforce document scope on updates by @WOLIKIMCHENG in #19221
- feat: add Hubris as a model provider by @Aimagine-life in #19341
- fix(agent): template retrieval binding at creation + false "no dataset selected" save warning by @euvre in #19316
- feat: highlight search matches in Team settings tables by @carlh7777 in #15985
- Fix: run ensure_db_init before start server by @Lynn-Inf in #19423
- CI: Optimize api test cases failed by @myf-bee in #19450
- Go: update build.sh and development.md by @JinHai-CN in #19448
- Correct parser_config examples in API docs by @AlightSoulmate in #16002
- Doc: remove space by @JinHai-CN in #19462
- fix(llm): implement async chat methods for GoogleChat (Vertex AI Gemini) by @glu000 in #15994
- add pytest-durations to the test workflow by @myf-bee in #19443
- feat(agentic_rag): add tool playbook, clarify tool specs, stop wasted… by @Caobaining1 in #19459
- fix(storage): overwrite existing Azure SAS objects by @AnnaSuSu in #19458
- fix(storage): accept tenant arguments in encrypted Azure calls by @AnnaSuSu in #19457
- Test: Adjust the priority of some test cases from P1/P2 to P3. by @asiroliu in #19461
- build(deps): bump github.com/buger/jsonparser from 1.1.1 to 1.1.2 by @dependabot[bot] in #19463
- fix(restful-tests): align Go parser config contract by @6ba3i in #19442
- fix(agent): preserve Starter values beside query inputs by @6ba3i in #19420
- Decode a single-part email body by its Content-Transfer-Encoding by @devYRPauli in #19178
- fix(embedding): preserve zero filename embedding weight by @LostSnowfluff in #19397
- feat(ingestion): polish image dispatch with bmp/tiff decoders and zero-alloc RuneCount (fix #18794) by @Jaymr1031-Z in #18988
- Fix: NOT generate graph all entities/relations as a graph chunk by @wangq8 in #19474
- Fix: The default name of the operator does not include a numeric suffix. by @cike8899 in #19451
- docs: Update tooltip url by @wangq8 in #19484
- fix(llm): drop Claude sampling params rejected by Bedrock and Anthropic by @vincentlambert in #19295
- Fix: Enabling the opening message switch for the 'begin' operator will cause previously sent messages to be overwritten. by @cike8899 in #19492
- fix(ingestion): allow re-parsing a document whose parse was canceled at progress 0 by @euvre in #19258
- [Refactor] Use regex to do hightlight by @wangq8 in #19488
- fix(go): stop masking document preview failures as "document not found" and add tenant access check by @euvre in #19348
- fix: route navigation API through tree search by @buua436 in #19493
- fix: support keyword search for dataset structure graphs by @buua436 in #19473
- Fix: num bind datasets in template by components by @Lynn-Inf in #19454
- Fix: num token usage by @Lynn-Inf in #19495
- Docs: Update version references to v0.27.2 in READMEs and docs by @asiroliu in #19501
- Docs: v0.27.2 release notes by @wangq8 in #19504
New Contributors
- @chakshu-dhannawat made their first contribution in #18927
- @noron12234 made their first contribution in #17682
- @chyroc made their first contribution in #18973
- @avikumart made their first contribution in #18829
- @maxiaolong03 made their first contribution in #19011
- @Anai-Guo made their first contribution in #17611
- @FJH886 made their first contribution in #17592
- @georgelichen made their first contribution in #18983
- @uczltw6 made their first contribution in #18505
- @BaptisteJosh made their first contribution in #15964
- @martincivan made their first contribution in #19016
- @yiheng-kkk made their first contribution in #19069
- @alaningtrump made their first contribution in #19023
- @LuckTerence made their first contribution in #19079
- @Caobaining1 made their first contribution in #19112
- @dynnfa made their first contribution in #19126
- @OmarFaig made their first contribution in #18460
- @blueOf made their first contribution in #19007
- @xu-jia-ming made their first contribution in #19020
- @Huang-404-Q made their first contribution in #19162
- @zz80900 made their first contribution in #15683
- @ericcurtin made their first contribution in #19030
- @dawNotPoi made their first contribution in #19210
- @leilei3167 made their first contribution in #19198
- @HamsterPark made their first contribution in #14501
- @liwu96 made their first contribution in #19321
- @zenosai made their first contribution in #18887
- @JessYanCoding made their first contribution in #19256
- @yusufgurdogan made their first contribution in #19323
- @shixy96 made their first contribution in #19343
- @kimnamu made their first contribution in #16044
- @Gonghan-Princess made their first contribution in #19307
- @RykerFeng made their first contribution in #16064
- @LostSnowfluff made their first contribution in #19405
- @MKP999 made their first contribution in #16027
- @Aimagine-life made their first contribution in #19341
- @AlightSoulmate made their first contribution in #16002
- @Jaymr1031-Z made their first contribution in #18988
Full Changelog: v0.27.1...v0.27.2