Upgrade Ragflow to v0.25.0#17
Open
JasleenKaurSethi wants to merge 564 commits intomainfrom
Open
Conversation
Alex-Welsh
previously approved these changes
Apr 23, 2026
### What problem does this PR solve? As title ### Type of change - [x] Refactoring Signed-off-by: Jin Hai <haijin.chn@gmail.com>
## Summary Complete and improve the existing Turkish (tr.ts) localization to fully match the English (en.ts) reference file. ## Changes - **Translate 6 English model tips** in the setting section (chatModelTip, embeddingModelTip, img2txtModelTip, sequence2txtModelTip, rerankModelTip, ttsModelTip) to Turkish - **Expand all 13 truncated parser HTML descriptions** (book, laws, manual, naive, paper, presentation, qa, resume, table, picture, one, knowledgeGraph, tag) to match the full en.ts structure - **Expand shortened tooltips** across knowledgeDetails, knowledgeConfiguration, chat, and setting sections (~40+ tooltips expanded) - **Add missing translation details** for data source connectors (SeaFile, Jira, Gmail, Moodle, Dropbox, Google Drive, etc.) ## Impact - 182 insertions, 71 deletions in web/src/locales/tr.ts - No structural changes, only translation content improvements - All application terminology maintained consistently Co-authored-by: bakiburakogun <bakiburakogun@users.noreply.github.com> Co-authored-by: Liu An <asiro@qq.com>
## Summary Add a complete Turkish translation of the README and include a Turkish language badge across all existing README files. ## Changes - **New file**: `README_tr.md` - Full Turkish translation of README.md, covering all sections (What is RAGFlow, Demo, Latest Updates, Key Features, System Architecture, Get Started, Configurations, Docker Image, Development from Source, Documentation, Roadmap, Community, Contributing) - **Updated 9 existing README files** (README.md, README_zh.md, README_tzh.md, README_ja.md, README_ko.md, README_id.md, README_pt_br.md, README_fr.md, README_ar.md) to include the Turkish language badge in the language selector ## Impact - 10 files changed, 417 insertions - Follows the same structure and conventions as other language-specific README files (README_ja.md, README_ko.md, etc.) - Turkish badge uses the same styling pattern (highlighted with DBEDFA in README_tr.md, standard DFE0E5 in others) --------- Co-authored-by: bakiburakogun <bakiburakogun@users.noreply.github.com>
…flow#13752) ### What problem does this PR solve? Minor fix. ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue) --------- Co-authored-by: Hu Di <812791840@qq.com>
### What problem does this PR solve? add tests ### Type of change - [x] Other (please describe): test Co-authored-by: Liu An <asiro@qq.com>
### What problem does this PR solve? Files /file API to RESTFul style. ### Type of change - [x] Documentation Update - [x] Refactoring --------- Co-authored-by: writinwaters <cai.keith@gmail.com> Co-authored-by: Liu An <asiro@qq.com>
… could not differentiate between different users. (infiniflow#13764) ### What problem does this PR solve? Fix: This resolves the issue where selecting a knowledge base in chat could not differentiate between different users. ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue)
### What problem does this PR solve? Go cli ### Type of change - [x] New Feature (non-breaking change which adds functionality) --------- Signed-off-by: Jin Hai <haijin.chn@gmail.com>
### What problem does this PR solve? Implement GetChunk() in Infinity in GO Add cli: GET CHUNK 'XXX'; LIST CHUNKS OF DOCUMENT 'XXX'; ### Type of change - [x] Refactoring
…ctor (infiniflow#13746) ### What problem does this PR solve? Fixes a bug in the Asana connector where providing `Project IDs` caused sync to fail with: `project_membership: Not a recognized ID: <PROJECT_GID>` Root cause: the connector called `get_project_membership(project_gid)`, but that API expects a **project membership gid**, not a **project gid**. This PR switches to the correct project-scoped API and adds regression tests. Fixes: [infiniflow#13669](infiniflow#13669) ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue) ### Changes made - Updated `common/data_source/asana_connector.py`: - Replaced `get_project_membership(pid, ...)` with `get_project_memberships_for_project(pid, ...)` - Trimmed and filtered `asana_project_ids` parsing to avoid empty/whitespace IDs - Normalized `asana_team_id` by trimming whitespace - Used safer access for membership email extraction (`m.get("user")`) - Added `test/unit_test/common/test_asana_connector.py`: - Verifies the correct project-membership API method is called - Verifies empty `project_ids` path returns workspace emails - Verifies project/team input normalization behavior ### Compatibility / risk - Non-breaking bug fix - No API contract changes - Existing behavior for empty `Project IDs` remains unchanged
…iflow#13744) ### What problem does this PR solve? Fix migrate_add_unique_email-silently-skips-unique-constraint-when-non-unique-user_email-index-exists. ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue)
### What problem does this PR solve? Fix: Metadata,chunk,dataset Related bugs - metadata not show add button infiniflow#13731 - chunk edit question style - dataset modified chunk method bug ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue)
### What problem does this PR solve? fix tests failing at p2 and p3 ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue)
### What problem does this PR solve? CI isn't stable, try to fix it. ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue) --------- Signed-off-by: Jin Hai <haijin.chn@gmail.com>
…ile selection pop-up to appear. infiniflow#13779 (infiniflow#13780) ### What problem does this PR solve? Fix: Using AvatarUpload in a dialog and pressing Enter will cause a file selection pop-up to appear. infiniflow#13779 ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue) --------- Co-authored-by: Jin Hai <haijin.chn@gmail.com>
### What problem does this PR solve? Fix: Fix the issue of errors when creating datasets. ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue) Co-authored-by: Jin Hai <haijin.chn@gmail.com> Co-authored-by: Yingfeng <yingfeng.zhang@gmail.com>
### What problem does this PR solve? - GENERATE TOKENS OF USER 'xxx@xxx.com' - DROP KEY 'ragflow-yyyyy' OF 'xxx@xxx.com' - LIST KEYS OF 'xxx@xxx.com' ### Type of change - [x] New Feature (non-breaking change which adds functionality) --------- Signed-off-by: Jin Hai <haijin.chn@gmail.com>
### What problem does this PR solve? See [issue](BerriAI/litellm#24518) from Litellm. Upgraded from `1.81.15` to `1.82.6`, so RAGFlow is safe as always. ### Type of change - [x] Security Co-authored-by: Jin Hai <haijin.chn@gmail.com> Co-authored-by: Yingfeng <yingfeng.zhang@gmail.com>
### What problem does this PR solve? Searches /search API to RESTFul ### Type of change - [x] Documentation Update - [x] Refactoring Co-authored-by: Jin Hai <haijin.chn@gmail.com> Co-authored-by: Yingfeng <yingfeng.zhang@gmail.com>
### What problem does this PR solve? Implement Create/Drop Index/Metadata index in GO New API handling in GO: POST/kb/index DELETE /kb/index POST /tenant/doc_meta_index DELETE /tenant/doc_meta_index CREATE INDEX FOR DATASET 'dataset_name' VECTOR_SIZE 1024; DROP INDEX FOR DATASET 'dataset_name'; CREATE INDEX DOC_META; DROP INDEX DOC_META; ### Type of change - [x] Refactoring
### What problem does this PR solve? Add command: logout ### Type of change - [x] New Feature (non-breaking change which adds functionality) Signed-off-by: Jin Hai <haijin.chn@gmail.com>
…ng 504 timeout (infiniflow#13784) Problem The /file2document/convert endpoint ran all file lookups, document deletions, and insertions synchronously inside the request cycle. Linking a large folder (~1.7GB with many files) caused 504 Gateway Timeout because the blocking DB loop held the HTTP connection open for too long. Fix - Extracted the heavy DB work into a plain sync function _convert_files - Inputs are validated and folder file IDs expanded upfront (fast path) - The blocking work is dispatched to a thread pool via get_running_loop().run_in_executor() and the endpoint returns 200 immediately - Frontend only checks data.code === 0 so the response change (file2documents list → True) has no impact Fixes infiniflow#13781 --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
…low#13813) ### What problem does this PR solve? Fix: The chunk method of the knowledge base cannot be saved. ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue)
### What problem does this PR solve? Allow create dataset with resume chunk_method. ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue)
### What problem does this PR solve? Allow create datasets with parse_type == 1/None and chunk_method, or parse_type == 2 and pipeline_id. ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue)
…3809) ### What problem does this PR solve? fixes issue infiniflow#13799 where team members get model not authorized when running RAG on an admin-shared knowledge base after the admin changes the KB embedding model (for example to bge-m3). ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue)
### What problem does this PR solve? - Add multiple output format to ragflow_cli - Initialize contextengine to Go module - ls datasets/ls files - cat file - search -d dir -q query issue: infiniflow#13714 ### Type of change - [x] New Feature (non-breaking change which adds functionality)
### What problem does this PR solve? Add a script to sync db schema with peewee_migrate. ### Type of change - [x] Other (please describe): tool script
### What problem does this PR solve? Add tips for installing Chinse fonts under code sandbox. Otherwise, `matplotlib `won't render Chinese correctly. <img width="2082" height="1186" alt="sales_analysis" src="https://github.com/user-attachments/assets/57e675ab-1e92-4662-9aeb-ad72a6121eb5" /> ### Type of change - [x] Documentation Update
### What problem does this PR solve? Fix: accept empty value as 0 chunk ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue)
### What problem does this PR solve? Fix: variable in doc generator ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue)
…finiflow#14176) ### What problem does this PR solve? Before consolidation Web API: POST /v1/document/list Http API - GET /api/v1/datasets/<dataset_id>/documents After consolidation, Restful API -- GET /api/v1/datasets/<dataset_id>/documents ### Type of change - [x] Refactoring
### What problem does this PR solve? Now each model support region with different URL ### Type of change - [x] New Feature (non-breaking change which adds functionality) --------- Signed-off-by: Jin Hai <haijin.chn@gmail.com>
### What problem does this PR solve? Doc generator ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue)
…flow#14209) ### What problem does this PR solve? Fixes infiniflow#14206. This issue is a regression. PR infiniflow#9520 previously changed Gemini models from `image2text` to `chat` to fix chat-side resolution, but PR infiniflow#13073 later restored those Gemini entries to `image2text` during model-list updates, which reintroduced the bug. The underlying problem is that Gemini models are multimodal and advertise both `CHAT` and `IMAGE2TEXT`, while tenant model resolution still depends on a single stored `model_type`. That makes chat-only flows such as memory extraction fragile when a compatible model is stored as `image2text`. This PR fixes the issue at the model resolution layer instead of changing `llm_factories.json` again: - keep the stored tenant model type unchanged - try exact `model_type` lookup first - if no exact match is found, fall back only when the model metadata shows the requested capability is supported - coerce the runtime config to the requested type for chat callers - fail fast in memory creation instead of silently persisting `tenant_llm_id=0` This preserves existing multimodal and `image2text` behavior while restoring chat compatibility for memory-related flows. ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue) ### Testing - Re-checked the current memory creation and memory message extraction paths against the updated resolution logic - Verified locally that a Gemini-style tenant model stored as `image2text` but tagged with `CHAT` can still be resolved for `chat` - Verified `get_model_config_by_type_and_name(..., CHAT, ...)` returns a chat-compatible runtime config - Verified `get_model_config_by_id(..., CHAT)` also returns a chat-compatible runtime config - Verified strict resolution still fails when the model metadata does not advertise chat capability
In order to attach the debugger to a running docker container it has to be inside the docker image ### What problem does this PR solve? [infiniflow#14224](infiniflow#14224) ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue)
… initial loading. (infiniflow#14226) ### What problem does this PR solve? Fix: The mind map on the search page does not display completely upon initial loading. ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue)
…low#14232) ### What problem does this PR solve? Fix: The number of chunks in the file list is not displayed. ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue)
### What problem does this PR solve? ``` RAGFlow(user)> list models from 'zhipu-ai'; +------------+------------+---------------+----------------+ | features | max_tokens | model_types | name | +------------+------------+---------------+----------------+ | [thinking] | 128000 | [chat] | glm-4.7 | | [thinking] | 128000 | [chat] | glm-4.5 | | [thinking] | 128000 | [chat vision] | glm-4.6v-Flash | | [thinking] | 128000 | [chat] | glm-4.5-x | | [thinking] | 128000 | [chat] | glm-4.5-air | | [thinking] | 128000 | [chat] | glm-4.5-airx | | [thinking] | 128000 | [chat] | glm-4.5-flash | | [thinking] | 64000 | [vision] | glm-4.5v | | | 128000 | [chat] | glm-4-plus | | | 128000 | [chat] | glm-4-0520 | | | 128000 | [chat] | glm-4 | | | 8000 | [chat] | glm-4-airx | | | 128000 | [chat] | glm-4-air | | | 128000 | [chat] | glm-4-flash | | | 128000 | [chat] | glm-4-flashx | | | 1000000 | [chat] | glm-4-long | | | 128000 | [chat] | glm-3-turbo | | | 2000 | [vision] | glm-4v | | | 8192 | [chat] | glm-4-9b | | | 512 | [embedding] | embedding-2 | | | 512 | [embedding] | embedding-3 | | | 4096 | [asr] | glm-asr | | | 0 | [tts] | glm-tts | | | 0 | [ocr] | glm-ocr | | | 0 | [rerank] | glm-rerank | +------------+------------+---------------+----------------+ ``` ### Type of change - [x] New Feature (non-breaking change which adds functionality) Signed-off-by: Jin Hai <haijin.chn@gmail.com>
…4233) ### What problem does this PR solve? OpenSource Resume is supported only with Elasticsearch. ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue)
### What problem does this PR solve? Fix audio/video in pipeline ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue)
… box is set to 1. (infiniflow#14246) ### What problem does this PR solve? Fix: The minimum value for the "Suggested text block size" input box is set to 1. ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue)
### What problem does this PR solve? Fix: pipeline parser log not display ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue)
…he focus to shift to the metadata input box. (infiniflow#14253) ### What problem does this PR solve? Fix: Editing an empty response in the retrieval operator will cause the focus to shift to the metadata input box. ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue)
### What problem does this PR solve? 1. Supports stream and non-stream chat 2. Supports think and non-think chat 3. List supported models from DeepSeek service. (This command can be used to verify the API validity) ### Type of change - [x] New Feature (non-breaking change which adds functionality) --------- Signed-off-by: Jin Hai <haijin.chn@gmail.com>
### What problem does this PR solve? Fix: Component definition is missing display name. ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue)
### What problem does this PR solve? Agent apps can be published. ### Type of change - [x] Documentation Update
### What problem does this PR solve? Get metadata configuration from union of custom metadata and built_in_metadata. ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue)
…iflow#14257) ### What problem does this PR solve? - Update version tags in README files (including translations) from v0.24.0 to v0.25.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
fee162d to
9c84c46
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What problem does this PR solve?
Upgrade Ragflow to v0.25.0 upstream
Type of change