222 Commits
Author SHA1 Message Date
dependabot[bot] 654ed1dd12 build(deps): bump certifi from 2026.1.4 to 2026.10.18 (#21580) 2026-10-28 12:05:06 +08:00
dependabot[bot] 7fe7f44999 build(deps-dev): bump pillow from 12.3.0 to 13.0.0 (#21396) 2026-10-23 15:52:47 +08:00
dependabot[bot] 6cf068b4dd build(deps): bump aiohttp from 3.14.3 to 3.14.4 (#21402) 2026-10-23 15:51:49 +08:00
xugangqiang 6a2ef7ec6b refactor(deps): rename ragflow_deps directory to deps (#21345)
## Summary

Rename the repository dependency-resource directory `ragflow_deps/` to
`deps/`, and update every hardcoded reference to that directory name so
the rename does not break resource loading at build/runtime.

This is not a purely cosmetic rename: the Go runtime hardcodes the
directory name as a resource search path (e.g.
`internal/common/model_assets.go` trimming the `deps/` prefix, and the
tokenizers joining `deps/` into candidate paths), and the Dockerfiles
copy assets into `/ragflow/deps`. Those literals must move together with
the directory, otherwise assets fail to resolve.

## Two intentional exceptions (kept unchanged)

The rename deliberately keeps two names that only *coincidentally*
contained the old string:

- The published image tag `infiniflow/ragflow_deps:latest` (used by
`Dockerfile`, `Dockerfile_base`, docs, and CI `image inspect` checks).
- The CI install path `/opt/ragflow_deps` inside the CI runner image
(`build.sh` `SYSTEM_DEPS_TOKENIZER`).

## Changes

- `git mv ragflow_deps deps`.
- `build.sh`: `CL100K_TABLE_RELPATH`, native asset zip path, and related
references updated to `deps/`.
- `tools/scripts/download_dev_deps.py`: `RAGFLOW_DEPS_DIR` points at
`deps/`.
- Go runtime resource search paths (`internal/common`,
`internal/tokenizer`) updated to the `deps/` layout.
- `Dockerfile` / `Dockerfile_base`: container asset path changed to
`/ragflow/deps`; kept tag `infiniflow/ragflow_deps:latest` unchanged.
- Docs / `AGENTS.md` / CI workflow paths updated to the new directory
name.

## Test plan

- Go unit tests in `internal/common` and `internal/tokenizer` updated to
the new `deps/` layout and pass via `bash build.sh --test`.
- Python download scripts import and build URLs correctly (`py_compile`
clean).
- Added `tools/scripts/test_dep_rename_invariants.py` as a regression
guard asserting the two intentional exceptions (`/opt/ragflow_deps` and
`infiniflow/ragflow_deps`) stay intact, so a future blanket rename
cannot silently regress them.

---

## Follow-up fix (commit 2f6857095d)

The original rename used a blanket `sed s/ragflow_deps/deps/g` and only
selectively reverted `build.sh`. That left two intentionally-kept names
rewritten, which this follow-up restores:

- CI install path `/opt/ragflow_deps` — `sep-tests.yml` had been changed
to read `/opt/deps`, breaking the offline cl100k table fallback (the
cached-image path pointed at a directory that never receives the file).
Restored to `/opt/ragflow_deps`.
- Published image tag `infiniflow/ragflow_deps` — left as bare
`infiniflow/deps` in `sep-tests.yml` comments/echo, `.dockerignore`, and
`Dockerfile` / `Dockerfile_base` error messages. Restored to
`infiniflow/ragflow_deps`.

The regression guard `tools/scripts/test_dep_rename_invariants.py` was
added to prevent recurrence.
2026-10-22 19:20:42 +08:00
dependabot[bot] cef98f420a chore(deps): bump werkzeug from 3.1.8 to 3.1.9 (#20592) 2026-10-08 15:18:28 +08:00
dependabot[bot] c38d5ea43d chore(deps): bump multidict from 6.7.0 to 6.9.1 (#20590) 2026-10-08 15:06:58 +08:00
dependabot[bot] cc72ecb0af chore(deps): bump urllib3 from 2.7.0 to 2.8.0 (#20538) 2026-10-06 22:30:31 +08:00
Jin Hai 435da41959 refactor: remove unused python module (#20436)
Signed-off-by: Jin Hai <haijin.chn@gmail.com>
2026-09-30 16:33:29 +08:00
dependabot[bot] 1648f0ba3a chore(deps): bump cryptography from 46.0.7 to 50.0.0 (#20437) 2026-09-30 14:19:17 +08:00
dependabot[bot] 2e15fd7d13 chore(deps): bump hpack from 4.1.0 to 4.2.0 (#20434) 2026-09-30 13:44:37 +08:00
Wang Qi 1be9590a4a Docs: v0.27.2 -> v1.0.0-rc1 (#20338) 2026-09-29 13:20:25 +08:00
Jin Hai 7da9f09ed4 refactor: fix pyproject.toml and uv.lock (#20311)
Signed-off-by: Jin Hai <haijin.chn@gmail.com>
2026-09-28 18:58:06 +08:00
Sourav Rajvi e01c99c781 fix(deps): use numpy 2.x wheels on Python 3.13 (#19928) (#20014)
Closes #19928
2026-09-24 10:06:41 +08:00
dependabot[bot] 8d3ce6a3fb chore(deps): bump anyio from 4.12.1 to 4.14.2 (#20105) 2026-09-23 18:42:59 +08:00
dependabot[bot] e5cc6ce199 chore(deps): bump soupsieve from 2.8.4 to 2.9 (#20087) 2026-09-23 14:46:16 +08:00
dependabot[bot] bf5e2efe26 build(deps): bump langgraph-sdk from 0.3.6 to 0.3.15 (#19660)
Bumps [langgraph-sdk](https://github.com/langchain-ai/langgraph) from
0.3.6 to 0.3.15.
2026-09-15 15:29:47 +08:00
dependabot[bot] 24842e70a4 build(deps): bump flask from 3.1.2 to 3.1.3 (#19659)
Bumps [flask](https://github.com/pallets/flask) from 3.1.2 to 3.1.3.
2026-09-15 15:28:41 +08:00
Sbaaoui Idriss 9ee43ae795 fix(beartype): remove package-wide import hooks (#19531)
### Summary

Removed unnecessary beartype hooks from three package imports. This
prevents unwanted import-time instrumentation and dependency coupling.
based on #15258
2026-09-14 10:04:11 +08:00
Liu An 5bd80b3455 Docs: Update version references to v0.27.2 in READMEs and docs (#19501)
- Update version tags in README files (including translations) from
v0.27.1 to v0.27.2
- Modify Docker image references and documentation to reflect new
version
- Update version badges and image descriptions
- Maintain consistency across all language variants of README files
2026-09-10 18:35:02 +08:00
mkaaad 14fa5597f1 fix(syncer): anchor sitemap PDF-pass checkpoints and declare regex dependency (#19383)
Fix sitemap PDF checkpoints on retry — now anchored to PDF itself. Moved regex to runtime deps.
2026-09-09 10:16:52 +08:00
VincentLambert 371cfabd95 feat(connector): add Sitemap data source for sitemap.xml-based web ingestion (#19344)
Add Sitemap data source — ingests web pages from sitemap.xml with incremental sync. Supports HTML→Markdown extraction, PDF discovery, URL filtering, SSRF protection.
2026-09-08 16:50:44 +08:00
dependabot[bot] 383a441dab build(deps): bump mistune from 3.3.0 to 3.3.3 (#19193) 2026-09-03 11:25:52 +08:00
dependabot[bot] d396457a90 build(deps): bump pypdf from 6.15.0 to 6.16.1 (#19171)
Bumps [pypdf](https://github.com/py-pdf/pypdf) from 6.15.0 to 6.16.1.

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-03 10:28:34 +08:00
dependabot[bot]andJin Hai cdcab8e8a9 build(deps): bump nltk from 3.10.0 to 3.10.3 (#19129)
Bumps [nltk](https://github.com/nltk/nltk) from 3.10.0 to 3.10.3.

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jin Hai <haijin.chn@gmail.com>
2026-09-02 14:49:13 +08:00
Liu An e3cc9a1621 Docs: Update version references to v0.27.1 in READMEs and docs (#18849) 2026-08-28 12:04:37 +08:00
Liu An ec9c08d809 Docs: Update version references to v0.27.0 in READMEs and docs (#18500)
### What problem does this PR solve?

- Update version tags in README files (including translations) from
v0.26.4 to v0.27.0
- Modify Docker image references and documentation to reflect new
version
- Update version badges and image descriptions
- Maintain consistency across all language variants of README files

### Type of change

- [x] Documentation Update
2026-08-19 17:06:49 +08:00
wenqian c589a5d050 feat: add UCloud agent sandbox provider (#18088) 2026-08-13 15:33:03 +08:00
qinling0210 0c225b0c39 Bump to infinity v0.7.3 and update go sdk version (#18137)
### Summary

Bump to infinity v0.7.3 and update go sdk version
2026-08-12 11:30:34 +08:00
rayhan 646fd8c2a6 fix: remediate CVE-2026-33752 by constraining curl_cffi to >=0.15.0 (#18134)
## Summary
  
Remediates CVE-2026-33752 (HIGH) in `curl_cffi` by adding
`curl_cffi>=0.15.0` to `constraint-dependencies` in `pyproject.toml`.
  
  | CVE | Severity | Package | Installed | Fixed in |
  |---|---|---|---|---|
  | CVE-2026-33752 | HIGH | curl_cffi | 0.14.0 | 0.15.0 |
2026-08-11 21:47:16 +08:00
Charles add00924e7 fix: replace editdistance with rapidfuzz for python 3.13 wheel support (#18132)
### Summary

Fixes #18107.

`editdistance==0.8.1` (the only recent release on PyPI) has no cp313
wheels for any platform. Since this project requires exactly Python
3.13, `uv`/`pip`/`poetry` fall back to building it from source (Cython),
which fails on Windows for anyone without a working C build toolchain —
that's the PEP 517 build error in the issue.

Swapped `editdistance` for `rapidfuzz`, which ships full cp313 wheels
(win32/win_amd64/win_arm64 included) and has no build-from-source step
on any of our target platforms. The only call site was
`EntityResolution.is_similarity` in `rag/graphrag/entity_resolution.py`,
using `editdistance.eval(a, b)` to get the unweighted Levenshtein
distance between two entity names.
`rapidfuzz.distance.Levenshtein.distance(a, b)` computes the same thing
(verified identical output on several string pairs) and is used as a
direct replacement.
2026-08-11 21:44:36 +08:00
dependabot[bot] d6292da508 chore(deps): bump pypdf from 6.14.2 to 6.15.0 (#18048)
Bumps [pypdf](https://github.com/py-pdf/pypdf) from 6.14.2 to 6.15.0.

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-10 17:22:57 +08:00
Yingfeng 4cc2dbc067 More stable sufficient check for agentic search (#17962) 2026-08-07 22:10:22 +08:00
rayhan e31a5f0ff6 fix: remediate CVE-2026-21226 by constraining azure-core to >=1.38.0 (#18003)
## Summary
  
Remediates CVE-2026-21226 (HIGH) in `azure-core` by adding
`azure-core>=1.38.0` to `constraint-dependencies` in `pyproject.toml`.
  
  | CVE | Severity | Package | Installed | Fixed in |
  |---|---|---|---|---|
  | CVE-2026-21226 | HIGH | azure-core | 1.37.0 | 1.38.0 |
2026-08-07 18:43:03 +08:00
Zhichang Yu 2e37997ab9 Go knowledge compiler with scheduler-driven dataset compilation (#17913)
Ports dataset knowledge compilation (wiki/graph/tree/mindmap) to the Go
scheduler with a status contract, aligns wiki storage/retrieval with
Python, sizes prompts by content_length, and resolves embedding batch
size from provider capability.
2026-08-06 15:54:00 +08:00
rayhan 4fea32cef1 fix: remediate CVE-2026-26209 by constraining cbor2 to >=5.9.0 (#17903)
## Summary
  
Remediates CVE-2026-26209 (HIGH) in `cbor2` by adding `cbor2>=5.9.0` to
`constraint-dependencies` in `pyproject.toml`.
  
  | CVE | Severity | Package | Installed | Fixed in |
  |---|---|---|---|---|
  | CVE-2026-26209 | HIGH | cbor2 | 5.8.0 | 5.9.0 |
  
`cbor2` is a transitive dependency pulled in by `ranx` with no version
constraint, stuck at 5.8.0 because lockfile hadn't been re-resolved.
2026-08-06 10:27:10 +08:00
Jin Hai cf13082a1a Revert "feat: Go knowledge compiler with scheduler-driven dataset compilation" (#17897)
Reverts infiniflow/ragflow#17881
2026-08-05 21:50:28 +08:00
Zhichang Yu 14b943a04a feat: Go knowledge compiler with scheduler-driven dataset compilation (#17881)
Ports the dataset knowledge compilation (wiki/graph/tree/mindmap) to the
Go scheduler with a status contract, aligns wiki storage/retrieval with
Python, and sizes prompts by content_length.
2026-08-05 20:00:42 +08:00
2bee51ca90 fix(deps): bump Werkzeug to 3.1.8 to fix intermittent multipart CRLF corruption (#17884)
## Summary
- Pin `werkzeug>=3.1.7,<4` and refresh `uv.lock` to **3.1.8**.
- Fixes intermittent corruption of uploaded file bodies: when TCP
segments split right after multipart part headers, Werkzeug **3.1.5**
can include a leading `\r\n` in the file content
([pallets/werkzeug#3088](https://github.com/pallets/werkzeug/issues/3088);
fixed in 3.1.7).
- In RAGFlow this commonly breaks `.xlsx` parsing: ZIP/OOXML magic
(`PK\x03\x04`) no longer matches, the Excel parser falls back to CSV,
then fails with UTF-8 decode errors such as `invalid start/continuation
byte`.

Made with [Cursor](https://cursor.com)

Co-authored-by: zhangjiangshan1 <zhangjiangshan1@kingsoft.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Jin Hai <haijin.chn@gmail.com>
2026-08-05 18:47:39 +08:00
rayhan 166758cb0f fix: migrate mistralai to 2.x and remediate CVE-2025-67221 (orjson) (#17810)
## Summary
  
Migrates `mistralai` from `==0.4.2` to `>=2.7.2,<3.0.0` to unblock the
orjson CVE fix. The old SDK pinned `orjson>=3.9.10,<3.11`, preventing
upgrade to the patched version.
  
  | CVE | Severity | Package | Installed | Fixed in |
  |---|---|---|---|---|
  | CVE-2025-67221 | HIGH | orjson | 3.10.18 | 3.11.6 |

`mistralai` 2.x (the current maintained version) drops the orjson
dependency entirely. Added `orjson>=3.11.6` to `constraint-dependencies`
to pin the floor for remaining parent packages (`langgraph-sdk`,
`langsmith`, `ranx`).
2026-08-05 09:52:30 +08:00
dependabot[bot] 744b3ea7c1 build(deps): bump aiohttp from 3.14.1 to 3.14.3 (#17806)
Bumps [aiohttp](https://github.com/aio-libs/aiohttp) from 3.14.1 to 3.14.3.

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-04 19:10:07 +08:00
rayhan 1116fd0f22 fix: remediate CVE-2026-59939 by constraining httplib2 to >=0.32.0 (#17636)
## Summary
  
Remediates CVE-2026-59939 (HIGH) in `httplib2` by adding
`httplib2>=0.32.0` to `constraint-dependencies` in `pyproject.toml`.
  
  | CVE | Severity | Package | Installed | Fixed in |
  |---|---|---|---|---|
  | CVE-2026-59939 | HIGH | httplib2 | 0.31.0 | 0.32.0 |
  
`httplib2` is a transitive dependency pulled in by
`google-api-python-client` and `google-auth-httplib2`. Both declare
`httplib2<1.0.0,>=0.19.0`, allowing 0.32.0 without conflict.
2026-07-31 18:55:56 +08:00
rayhan a586998c35 fix: remediate CVE-2026-0994 by constraining protobuf to >=5.29.6 (#17543)
## Summary
  
Remediates CVE-2026-0994 (HIGH) in `protobuf` by adding
`protobuf>=5.29.6` to `constraint-dependencies` in `pyproject.toml`.
  
| CVE | Severity | Package | Installed | Fixed in |
|---|---|---|---|---|
| CVE-2026-0994 | HIGH | protobuf | 5.29.5 | 5.29.6 |
  
`protobuf` is a transitive dependency pulled in by `google-api-core`,
`googleapis-common-protos`, `grpcio-status`, and `opentelemetry-proto`.
It was stuck at 5.29.5 because the lockfile hadn't been re-resolved.
2026-07-29 19:35:44 +08:00
rayhan 75836cfc10 fix: remediate CVE's by bumping pyasn1 constraint to >=0.6.4 (#17495)
## Summary
  
Remediates three HIGH severity CVEs in `pyasn1` by bumping the existing
`constraint-dependencies` entry from `>=0.6.3` to `>=0.6.4` in
`pyproject.toml`.
  
  | CVE | Severity | Package | Installed | Fixed in |
  |---|---|---|---|---|
  | CVE-2026-59884 | HIGH | pyasn1 | 0.6.3 | 0.6.4 |
  | CVE-2026-59885 | HIGH | pyasn1 | 0.6.3 | 0.6.4 |
  | CVE-2026-59886 | HIGH | pyasn1 | 0.6.3 | 0.6.4 |


`pyasn1` is a transitive dependency (pulled in via `google-auth` / `rsa`
/ `pyasn1-modules`). A previous constraint (`>=0.6.3`) was added for
CVE-2026-30922 but two additional vulnerabilities were disclosed that
require 0.6.4.
2026-07-28 23:25:00 +08:00
rayhan 823e3dd871 fix: remediate CVE's by upgrading pdfplumber to 0.11.10 (#17489)
## Summary
  
Remediates two HIGH severity CVEs in `pdfminer.six` by upgrading its
parent dependency `pdfplumber` from `==0.10.4` to `==0.11.10` in
`pyproject.toml`.
  
  | CVE | Severity | Package | Installed | Fixed in |
  |---|---|---|---|---|
  | CVE-2025-64512 | HIGH | pdfminer.six | 20221105 | 20251107 |
  | CVE-2025-70559 | HIGH | pdfminer.six | 20221105 | 20251230 |

`pdfminer.six` is a transitive dependency exact-pinned by `pdfplumber`.
Version 0.10.4 pins `pdfminer.six==20221105` (vulnerable); version
0.11.10 pins `pdfminer.six==20260107` (patched).
2026-07-28 19:17:17 +08:00
rayhan 8b793ee148 fix: remediate litellm CVEs by upgrading from 1.82.5 to 1.84.0 (#17448)
## Summary
  
Remediates nine litellm CVEs (3 CRITICAL, 6 HIGH) by upgrading the exact
pin from `==1.82.5` to `==1.84.0` in `pyproject.toml`.
  
  | CVE | Severity | Fixed in |
  |---|---|---|
  | CVE-2026-35030 | CRITICAL | 1.83.0 |
  | CVE-2026-42208 | CRITICAL | 1.83.7 |
  | CVE-2026-49468 | CRITICAL | 1.84.0 |
  | CVE-2026-35029 | HIGH | 1.83.0 |
  | CVE-2026-40217 | HIGH | 1.83.10 |
  | CVE-2026-42203 | HIGH | 1.83.7 |
  | CVE-2026-42271 | HIGH | 1.83.7 |
  | CVE-2026-47101 | HIGH | 1.83.14 |
  | CVE-2026-47102 | HIGH | 1.83.10 |
  
`litellm` was pinned to `==1.82.5` because versions 1.82.6 - 1.82.8 had
a broken `litellm.caching.caching` import chain, and 1.88.0 had a broken
`litellm.integrations.custom_logger` import.
  Both issues are resolved in 1.84.0.
The exact pin is retained (rather than a range) due to litellm's history
of introducing regressions on minor bumps.
2026-07-28 00:25:05 +08:00
rayhan 1ae1dd1edb fix: remediate nltk CVEs by constraining to >=3.10.0 (#17443)
## Summary
  
Remediates five nltk CVEs by adding `nltk>=3.10.0` to
`constraint-dependencies` in `pyproject.toml`.
  
  | CVE | Severity | Installed | Fixed in |
  |---|---|---|---|
  | CVE-2025-14009 | CRITICAL | 3.9.2 | 3.9.3 |
  | CVE-2026-0846 | HIGH | 3.9.2 | 3.9.3 |
  | CVE-2026-0847 | HIGH | 3.9.2 | — |
  | CVE-2026-33231 | HIGH | 3.9.2 | 3.9.4 |
  | CVE-2026-33236 | HIGH | 3.9.2 | — |
  | CVE-2026-54293 | HIGH | 3.9.2 | 3.10.0 |
  | CVE-2026-33230 | MEDIUM | 3.9.2 | 3.9.4 |
  
  CVE-2026-0847 and CVE-2026-33236 have no confirmed fixed version.
 
`nltk` is a transitive dependency (pulled in by `crawl4ai` and
`infinity-sdk`). No package in the graph caps it below 3.10.0. It was
stuck at 3.9.2 simply because the lockfile had never been re-resolved.
2026-07-27 20:38:49 +08:00
dependabot[bot] f4646d4a13 build(deps): bump pypdf from 6.13.1 to 6.14.2 (#17372)
Bumps [pypdf](https://github.com/py-pdf/pypdf) from 6.13.1 to 6.14.2.

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-24 22:50:49 +08:00
rayhan bcf1570ba4 fix: remediate CVE's by upgrading lxml and lxml_html_clean (#17366)
## Summary
  
Remediates four CVEs in `lxml` and `lxml_html_clean` by upgrading
transitive dependency constraints and bumping `crawl4ai` to unblock the
resolution.
  
  | CVE | Severity | Package | Installed | Fixed in |
  |---|---|---|---|---|
  | CVE-2026-41066 | HIGH | lxml | 5.4.0 | 6.1.0 |
  | CVE-2026-49825 | HIGH | lxml_html_clean | 0.4.3 | 0.4.5 |
  | CVE-2026-28348 | MEDIUM | lxml_html_clean | 0.4.3 | 0.4.5 |
  | CVE-2026-28350 | MEDIUM | lxml_html_clean | 0.4.3 | 0.4.5 |
  

- Bumped `crawl4ai` from `>=0.9.0,<0.9.1` to `>=0.9.2,<0.9.3`, version
0.9.2 relaxes lxml constraint to `>=5.3,<7`. The strict `<0.9.3` upper
bound on crawl4ai is maintained per project convention
- Added `inscriptis>=2.7.3` to `constraint-dependencies`, version 2.7.3
relaxes lxml constraint to `>=5.4.0,<6.2.0`
- Added `lxml>=6.1.0` to `constraint-dependencies`
- Added `lxml_html_clean>=0.4.5` to `constraint-dependencies`

`exclude-dependencies` entry for `unclecode-litellm` (still declared by
crawl4ai 0.9.2) continues to prevent the namespace collision that
previously crashed RAGFlow.
  
## Verification
  
- `lxml` is used widely across the codebase for HTML/XML parsing. The
5.x → 6.x upgrade maintains API compatibility for standard usage
(`lxml.html`, `lxml.etree`).
  - `lxml_html_clean` API is unchanged between 0.4.3 and 0.4.5.
- `crawl4ai` 0.9.2 is a patch bump from 0.9.0 with no API changes
affecting RAGFlow's usage.
  - `inscriptis` 2.7.3 is a patch bump from 2.7.0.
  
## Testing
  
  - Full unit test suite passes
  - `uv sync` resolves cleanly
  - Verified `crawl4ai` imports without litellm namespace collision
2026-07-24 20:27:34 +08:00
rayhan 35e1cc77e8 remediate CVE's by upgrading mcp to >=1.28.1 (#17315)
## Summary
  
Remediates HIGH severity CVEs in the `mcp` package by bumping from
`>=1.19.0` to `>=1.28.1,<2` in `pyproject.toml`.
  
  | CVE | Severity | Package | Installed | Fixed in |
  |---|---|---|---|---|
  | CVE-2025-66416 | HIGH | mcp | 1.19.0 | 1.23.0 |
  | CVE-2026-52869 | HIGH | mcp | 1.19.0 | 1.27.2 |
  | CVE-2026-59950 | HIGH | mcp | 1.19.0 | 1.28.1 |

Raised lower bound to `>=1.28.1`, added `<2` upper bound per the MCP SDK
maintainers' recommendation to avoid unstable major releases.
  
  ## Verification
  
All module paths RAGFlow imports from `mcp` remain present and unchanged
in 1.28.1:
  
  - `mcp.client.session.ClientSession`
  - `mcp.client.sse.sse_client`
  - `mcp.client.streamable_http.streamablehttp_client`
  - `mcp.types.CallToolResult, ListToolsResult, TextContent, Tool`
  - `mcp.server.lowlevel.Server`
  - `mcp.server.sse.SseServerTransport`
  - `mcp.server.streamable_http_manager.StreamableHTTPSessionManager`
  
  Import smoke test confirmed all seven paths resolve correctly.
  
  ## Testing
  
  - MCP unit tests pass (`test/unit_test/mcp/`)
  - All MCP import paths verified present and functional on 1.28.1
  - `uv sync` resolves cleanly, no unexpected transitive version jumps
2026-07-23 22:47:31 +08:00
rayhan 3bc39f94e8 fix: remediate CVE-2026-53533 by upgrading aiosmtplib to >=5.1.1 (#17264)
## Summary
  
Bumps `aiosmtplib` from `>=5.0.0` to `>=5.1.1,<6.0.0` in
`pyproject.toml`.
  
  | CVE | Severity | Package | Installed | Fixed in |
  |---|---|---|---|---|
  | CVE-2026-53533 | MEDIUM | aiosmtplib | 5.0.0 | 5.1.1 |
  
This is a direct dependency upgrade, no override or constraint needed.
2026-07-23 10:42:41 +08:00