Ehsan
c71bb0198f
fix(api): return document metadata from /dify/retrieval ( #19686 )
2026-09-16 19:08:02 +08:00
Öndery
98ebe5f66f
Fix: keep file API responsive during large connector ingest ( #19632 )
...
Fix large connector sync blocking event loop — offloaded document writes/DB work to threads, batched metadata refresh, added configurable batch size and sync timeout cancellation.
2026-09-16 19:02:21 +08:00
xugangqiang
e83c1963de
feat(ingestion): stop persisting business data in pipeline operation-log DSL ( #19631 )
2026-09-16 14:07:21 +08:00
Sbaaoui Idriss
d8b072fd9d
fix(auth): separate OAuth JIT provisioning policy ( #19651 )
2026-09-15 19:40:21 +08:00
huyua9
b692b5fef9
fix(api): preserve parent-child config on partial updates ( #18949 )
...
Fix partial parser_config updates wrongly disabling parent-child parser. Flattening now only runs when parent_child is explicitly present.
2026-09-15 14:18:28 +08:00
Jin Hai
7218db7557
PY: refactor ( #19599 )
...
Signed-off-by: Jin Hai <haijin.chn@gmail.com >
2026-09-14 18:52:59 +08:00
Sbaaoui Idriss
9e932547e5
fix(storage):preserve errors during backend retries ( #19578 )
2026-09-14 14:39:30 +08:00
Harsh Kashyap
9ec20a97e9
fix(api): treat an empty metadata_condition.conditions list as no filter ( #19368 )
...
Fix #19366 — empty metadata_condition no longer treated as active filter (was scoping to -999, returning zero chunks, and dropping document_ids).
2026-09-14 14:13:06 +08:00
Harsh Kashyap
af61e3fcd6
fix(api): validate embedding check sample count ( #19574 )
...
Fix #19567 — validate check_num before sampler use. Non-integer/zero/negative values now return clear argument errors.
2026-09-14 13:53:11 +08:00
Guofang.Tang
984d8ab510
fix(agent): make Python webhook trace appends atomic ( #19091 )
...
Fix Python webhook trace race — now uses Valkey WATCH transaction with retry instead of GET/SET, preventing concurrent overwrites.
2026-09-14 12:59:09 +08:00
Sourav Rajvi
b15b159d07
feat(api): add image_update_mode for chunk image updates ( #18889 )
...
Fix #18585 — chunk PATCH now supports image_update_mode: append (default), replace, remove.
2026-09-14 12:57:13 +08:00
Yingfeng
1f5d33333a
Add claim/evidence to tree/pageindex compilation pipeline ( #19267 )
2026-09-11 22:37:33 +08:00
Sbaaoui Idriss
bcf33c6238
fix(structure-graph): discover buckets from raw rows ( #19523 )
2026-09-11 13:37:01 +08:00
buua436
2aedd79b8f
refa: remove unused knowledge compilation code ( #19437 )
2026-09-11 10:15:53 +08:00
Harsh Kashyap
19ec6245c4
fix(api): authorize task cancellation by dataset access ( #19359 )
2026-09-11 09:53:09 +08:00
buua436
7e86beadd1
fix: route navigation API through tree search ( #19493 )
2026-09-10 17:13:57 +08:00
K.P
8efa7383e6
fix: prevent IndexError in PUT /api/v1/searches/<id> when search not found ( #16027 )
...
Fix #16011 — check search exists before indexing [0]; returns proper error instead of 500.
2026-09-09 15:31:41 +08:00
Harsh Kashyap
fb2f881871
fix(api): authorize dataset and workspace commit routes ( #19357 )
...
Fixes #19356
The file-commit endpoints resolved a dataset or folder id but never
checked that the caller can access it. Any logged-in user could read
another tenant's commit history, diffs, and file contents, pull version
history for any file id, and create commits in a workspace they don't
own. Sibling artifact routes in dataset_api.py apply
KnowledgebaseService.accessible for the same data; these did not.
2026-09-09 10:33:23 +08:00
euvre
3931c69a5b
fix(api): return "search not found" instead of IndexError when updating a missing search ( #19380 )
2026-09-09 10:02:06 +08:00
Gonghan-Princess
24c115bf92
feat(channels): allow chat channels to connect to agents ( #19307 )
2026-09-08 18:44:59 +08:00
Sbaaoui Idriss
a670f5260b
fix(docs): document dataset language create and update behavior ( #19372 )
...
### Summary
The API docs now describe the optional language field for dataset
creation and updates. They document trimming, validation limits,
defaults, and unchanged update behavior.
2026-09-08 16:26:42 +08:00
buua436
7b01906d45
fix: filter structure alteration by document products ( #19346 )
2026-09-08 13:23:28 +08:00
MarMar Labs
6c280f10a0
fix(api): accept repeated memory_type and tenant_id filters when listing memories ( #19281 )
...
Fix GET /api/v1/memories list filters — memory_type, tenant_id, owner_ids, ids now read all repeated query keys (was only first). Matches /datasets//documents pattern.
2026-09-08 11:48:16 +08:00
Wang Qi
b7e577ce48
Refactor: combine 3 retrieval/search API as one ( #19303 )
2026-09-08 11:41:46 +08:00
Manan Bansal
03d861a926
fix(api): allow setting language on dataset creation ( #15703 ) ( #16242 )
...
Fix #15703 — dataset create endpoint now accepts language.
2026-09-08 10:53:40 +08:00
Öndery and Cursor
38230c45d3
feat(llm): forward OpenAI user on embedding and parse requests ( #19065 )
...
Add user attribution to embedding calls — forwards user on OpenAI-compatible providers via current_llm_user(). Excludes LocalAI/Xinference (reject unknown fields). Accepts user_id on ingest/parse/chunk endpoints; redacts from logs. Omitted = unchanged. Go/vision/TTS/ASR out of scope.
---------
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-07 19:30:33 +08:00
Wang Qi
f8b0a1de19
Refactor: update dataset API should not have ext ( #19272 )
2026-09-07 14:25:15 +08:00
MarMar Labs
fa52804fa3
fix(api): return the full error tuple when both id and ids are given to list documents ( #19280 )
...
Fix dataset document list endpoint unpack error when both id and ids provided — helper returned 2 values but caller expects 4. Now returns 4.
2026-09-07 10:58:05 +08:00
Lynn
ff69dba542
Fix: apply dia.llm_id overrides ( #19214 )
...
### Summary
As title, from #15610
2026-09-04 17:46:49 +08:00
buua436
f4bafa1596
fix: exclude empty documents from structure alteration ( #19246 )
2026-09-04 17:06:38 +08:00
Lynn
2f8dab2199
Fix: upload image to model in chat ( #19257 )
2026-09-04 16:37:25 +08:00
buua436
447f87d79f
feat: adapt knowledge compilation concurrency ( #19156 )
2026-09-04 11:17:56 +08:00
68cdb795f5
Fix OAuth redirect URI examples ( #15683 )
...
Fix OAuth callback URL examples in docs — now use /api/v1/auth/oauth/<channel>/callback (was stale /v1/user/oauth/callback).
Co-authored-by: 谢金城 <xiejincheng@xgd.com >
Co-authored-by: Jin Hai <haijin.chn@gmail.com >
2026-09-03 15:20:42 +08:00
mkaaad and coderabbitai[bot]
d29a4fc26b
fix(py-go-connector): enforce kb authorization in rebuild ( #19190 )
...
Based on community PR #15272 by @rene0422
---------
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-09-03 12:01:28 +08:00
Sbaaoui Idriss
f8fc130162
fix(searchbots): enforce KB authorization before retrieval ( #19165 )
2026-09-03 11:10:57 +08:00
Yingfeng
a11c27e01d
Adjust navigation tools for agentic search ( #19172 )
2026-09-03 10:43:00 +08:00
Wang Qi
6ec9c6a737
Fix: get rid of graphrag raptor in parser_config in REST API ( #19161 )
2026-09-03 09:40:52 +08:00
Lynn
c534144a4c
Fix: restrict tenant updates to the current user's own tenant ( #19155 )
...
### Summary
As title.
2026-09-02 19:08:27 +08:00
buua436
cf441d4c72
fix: align wiki alteration provenance ( #19140 )
2026-09-02 18:03:15 +08:00
Wang Qi
b4a3ff3c64
Fix: link to existing dataset clean the document chunks ( #19143 )
2026-09-02 16:00:37 +08:00
Wang Qi
61492c0362
Refactor: add total/returned entities/relations 2 ( #19114 )
...
Follow on #19095
2026-09-02 14:28:58 +08:00
Jin Hai
988dfda4c9
Fix: Use default pipeline configuration when parsing documents via HTTP API- #13297 ( #19116 )
...
Refer to #13297
---------
Signed-off-by: Jin Hai <haijin.chn@gmail.com >
2026-09-02 06:12:17 +08:00
Wang Qi
fe63e09781
Refactor: add total/returned entities/relations ( #19095 )
2026-09-01 16:01:59 +08:00
MarMar Labs
5e1898e293
fix(dify): search the dataset owner's index, not the caller's ( #18987 )
...
Fix team-member Dify retrieval searching wrong tenant index. Changed tenant_id to kb.tenant_id in both retrieval_by_children and kg_retriever.
2026-08-31 17:11:40 +08:00
b149a392f4
fix(api): return parsing-status counts at the top level of each dataset ( #17595 ) ( #17611 )
...
Fix #17595 — parsing status counts now return as top-level fields per documentation, not nested under parsing_status.
Signed-off-by: Anai-Guo <antai12232931@anaiguo.com >
Signed-off-by: Anai-Guo <antai12232931@outlook.com >
Co-authored-by: Anai-Guo <antai12232931@anaiguo.com >
Co-authored-by: Jin Hai <haijin.chn@gmail.com >
2026-08-31 13:52:08 +08:00
Wang Qi
66113709cc
Feature: add highlight for retrieval testing and search ( #18981 )
2026-08-28 19:26:41 +08:00
天海蒼灆 and Cursor
9ca62e8da3
fix: include filename in file download Content-Disposition header ( #17105 )
...
### Summary
GET /api/v1/files/{id} now sets attachment filename for both Python and
Go handlers so browsers can save downloads with the correct name.
---------
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-28 14:42:04 +08:00
Jin Hai
d37486e295
Python && Go: fix parse status ( #18841 )
...
Signed-off-by: Jin Hai <haijin.chn@gmail.com >
2026-08-28 12:47:41 +08:00
MarMar Labs
439c3be9cb
fix(dataset): rebuild the navigation tree in the dataset owner index ( #18932 )
...
Fix generate_nav tenant mismatch: wipe used dataset owner's tenant_id but rebuild used caller's. Team members could delete owner's navigation tree and rebuild into their own. Now both use kb.tenant_id.
2026-08-28 11:58:31 +08:00
Wang Qi
f74e04581a
Refactor: add page_size support ( #18876 )
2026-08-28 09:37:44 +08:00