Commit Graph
2117 Commits
Author SHA1 Message Date
MarMar Labs 701b82aa1e fix(file-commit): stop delete operations crashing the whole commit (#19654)
Continues #18929, which could not be reopened. Details at the bottom.

### Summary

`create_commit`'s delete branch writes a column the model does not have.
2026-09-16 21:12:05 +08:00
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
Taranum Wasu 5231361db4 fix(pipeline-log): record the pipeline Parser's parse_method, not document.parser_id (#18306) (#18763) 2026-09-16 16:49:39 +08:00
xugangqiang e83c1963de feat(ingestion): stop persisting business data in pipeline operation-log DSL (#19631) 2026-09-16 14:07:21 +08:00
Yash Raj Pandey afe404e6d3 fix(mineru): upload the PDF once when several page ranges are configured (#19183) 2026-09-16 14:04:27 +08:00
Sbaaoui Idriss d8b072fd9d fix(auth): separate OAuth JIT provisioning policy (#19651) 2026-09-15 19:40:21 +08:00
dependabot[bot] de2ab5b0ee build(deps): bump protobufjs from 7.6.4 to 7.6.6 in /api/channels/whatsapp/gateway-node (#19655)
Bumps [protobufjs](https://github.com/protobufjs/protobuf.js) from 7.6.4
to 7.6.6.
2026-09-15 15:29: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
Sbaaoui Idriss 6a9d4dcf13 fix(db): abort poisoned transactions on connection loss (#19530) 2026-09-15 11:14:38 +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
Yingfeng 2477151c65 Fix agentic search bugs (#19615)
### Summary

1. The web UI default system prompt template reads "Your answer must be derived **solely** from this dataset: `{knowledge}`", but the reasoning path rendered {knowledge} as an empty string (kws["knowledge"] = "",
mirroring Python's kwargs.setdefault("knowledge", "")). Under some LLMs, the first-turn model read the empty binding as "the dataset is empty" and refused to call the rag tool at all.

2. [ID:Slot 0] — the compose model cited slot-table rows ("Research Summary" lines) as citations. No citation regex matched the form (Slot is non-numeric), so it passed through decoration untouched.

3. [ID:1-3] — the model occasionally compressed consecutive citations into a range. Range markers cannot be resolved to a single source and are not part of the citation format. Fixed at both layers:
- prompts (citation_prompt.md ): citations must be spelled out individually ([ID:1][ID:2][ID:3]); ranges are forbidden.
- decoration: ExpandRangeCitations expands [ID:a-b] (covering space, "~", fullwidth wave and em/en dash variants; a > b swapped) into per-item [ID:n] markers when both ends are within the pool.
2026-09-14 18:37:37 +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
Muhammad Zuhaib Zahid 74a49b5e4e Fix: keep a reference to the qqbot dispatch task so replies are not dropped (#19029)
Fix QQ Bot losing replies — create_task without strong reference let tasks be GC'd mid-execution.
2026-09-14 12:58:26 +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
brucehu 6754722b00 feat(channels): WeCom can bind agent (#18598) 2026-09-14 12:55:33 +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
Lynn 4c97c9ad64 Fix: remove deprecated functions (#19449) 2026-09-10 20:04:39 +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
Wang Qi a13593097b Refactor: Add RERANK_TOKEN_LIMIT_MODE = truncate (default) / passthrough / raise_error (#19404) 2026-09-09 09:55:00 +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
ÖnderyandCursor 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
Lem0nTea2002 bef34757b2 fix(agent): await MCP transport cleanup before stopping event loop (#19093)
Fix MCP session cleanup — now properly awaits server task and closes transport contexts/executors before stopping event loop. Wakes queued callers on shutdown.
2026-09-04 17:57:50 +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
maoyifeng 5d0e2253cf fix ci unit test not found in installed package 'wordnet' (#19251) 2026-09-04 13:52:43 +08:00
buua436 447f87d79f feat: adapt knowledge compilation concurrency (#19156) 2026-09-04 11:17:56 +08:00
buua436 ef8b424888 fix: normalize reasoning stream markers (#19216) 2026-09-03 19:06:53 +08:00
euvre 4bb522d11d fix(rag): unify parser_config delimiter defaults on a single constant (#19058) 2026-09-03 17:16:37 +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
Sbaaoui Idriss 330b988b61 fix(security): generate random UUIDv4 identifiers (#19159) 2026-09-03 13:13:57 +08:00
mkaaadandcoderabbitai[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
Wang Qi 51da97784b Refactor: get rid of graphrag and raptor during task creation (#19194) 2026-09-03 11:15:58 +08:00