v0.27.1
infiniflow/ragflowv0.27.1Aug 28, 2026by github-actions[bot]
AI Summary
This release introduces new connectors for Azure DevOps, You.com, and Serply, adds new model providers like Synthorai and DeepSeek, and includes numerous bug fixes regarding PDF parsing, MinerU rendering, and chat interactions.
Key Highlights
- New Azure DevOps connector for data sources
- New You.com and Serply web search providers
- New Synthorai model provider
- DeepSeek models added
- Bug fixes for PDF parsing, MinerU, and chat auto-scroll
New Features
- Azure DevOps connector
- You.com web search provider
- Serply web search provider
- Synthorai model provider
- DeepSeek model support
Full Release Notes
## New features - New Azure DevOps connector for data sources ([#18715](https://github.com/infiniflow/ragflow/pull/18715)) - New You.com web search provider for chat and agent ([#18478](https://github.com/infiniflow/ragflow/pull/18478)) - New Serply web search provider for chat ([#18475](https://github.com/infiniflow/ragflow/pull/18475)) ## Model Support - New Synthorai model provider ([#18830](https://github.com/infiniflow/ragflow/pull/18830)) - Missing DeepSeek models added ([#18678](https://github.com/infiniflow/ragflow/pull/18678)) - AWS Bedrock API key authentication support ([#18301](https://github.com/infiniflow/ragflow/pull/18301)) ## Improvements - Retrieval API exposes rerank_candidates_count, knn top_k, and num_candidates ([#18768](https://github.com/infiniflow/ragflow/pull/18768), [#18737](https://github.com/infiniflow/ragflow/pull/18737)) - Metadata filters pushed down to the metadata index for faster retrieval ([#18219](https://github.com/infiniflow/ragflow/pull/18219)) - Chat settings form auto-scrolls to the error location on save ([#18811](https://github.com/infiniflow/ragflow/pull/18811)) - Search page validates deleted knowledge bases ([#18522](https://github.com/infiniflow/ragflow/pull/18522)) ## Bug fixes - Fixed PDF parsing failure in chat ([#18860](https://github.com/infiniflow/ragflow/pull/18860)) - Fixed wiki compilation accepting LLM error responses ([#18857](https://github.com/infiniflow/ragflow/pull/18857)) - Fixed MinerU rendering stability, error visibility, and code block parsing ([#18617](https://github.com/infiniflow/ragflow/pull/18617)) - Fixed 0-chunk datasets not showing, preventing scrolling to fetch more datasets ([#18810](https://github.com/infiniflow/ragflow/pull/18810)) - Fixed QA Excel parser dropping rows whose answer is zero ([#17902](https://github.com/infiniflow/ragflow/pull/17902)) - Fixed naive parser treating an empty upload as a missing binary ([#18826](https://github.com/infiniflow/ragflow/pull/18826)) - Fixed encoding detection discarding confident detection results ([#15793](https://github.com/infiniflow/ragflow/pull/15793)) - Fixed reasoning-enabled chat ignoring the dialog system prompt ([#18842](https://github.com/infiniflow/ragflow/pull/18842)) - Fixed knowledge compilation using the default tenant LLM instead of the pipeline LLM ([#18572](https://github.com/infiniflow/ragflow/pull/18572)) - Fixed chat network search service not allowed to be null ([#18791](https://github.com/infiniflow/ragflow/pull/18791)) - Fixed Firefox chat auto-scroll not pinned to the bottom ([#18736](https://github.com/infiniflow/ragflow/pull/18736)) - Fixed chat auto-scroll not following streamed answers ([#18570](https://github.com/infiniflow/ragflow/pull/18570)) - Fixed parsing progress not visible after selecting upload ([#18741](https://github.com/infiniflow/ragflow/pull/18741)) - Fixed BigQuery connector constructing SQL queries incorrectly ([#17500](https://github.com/infiniflow/ragflow/pull/17500)) - Fixed WebDAV listing errors not propagated, causing prune data loss ([#18694](https://github.com/infiniflow/ragflow/pull/18694)) - Fixed cross-KB document ID collision in data source sync ([#18244](https://github.com/infiniflow/ragflow/pull/18244)) - Fixed GPUStack model discovery and audio support ([#18599](https://github.com/infiniflow/ragflow/pull/18599)) - Fixed Kimi K3 temperature ([#18564](https://github.com/infiniflow/ragflow/pull/18564)) - Fixed OCR text lost when no image2text model is configured ([#18012](https://github.com/infiniflow/ragflow/pull/18012)) - Fixed hierarchical Wiki topic navigation ([#18721](https://github.com/infiniflow/ragflow/pull/18721)) ## What's Changed * fix(web): style think/retrieving blocks in floating chat widget by @dcc123456 in https://github.com/infiniflow/ragflow/pull/18512 * fix[syncer]: github data source don't validate repo's accessible by @Haruko386 in https://github.com/infiniflow/ragflow/pull/18477 * fix: test data source connection need connector name by @Haruko386 in https://github.com/infiniflow/ragflow/pull/18495 * feat[syncer]: add data source Confluence by @Haruko386 in https://github.com/infiniflow/ragflow/pull/18501 * refactor: remove some unused model types by @Haruko386 in https://github.com/infiniflow/ragflow/pull/18502 * fix(api): report why provider model discovery failed instead of swallowing it by @olifarhaan in https://github.com/infiniflow/ragflow/pull/18027 * fix: preserve extensionless document suffix on GaussDB by @Sevenzuo in https://github.com/infiniflow/ragflow/pull/18483 * fix(memory): honor custom extraction prompts by @yzl0ng in https://github.com/infiniflow/ragflow/pull/18461 * fix(memory): normalize invalid extraction timestamps by @yzl0ng in https://github.com/infiniflow/ragflow/pull/18463 * fix(memory): require semantic valid_at timestamp by @yzl0ng in https://github.com/infiniflow/ragflow/pull/18462 * fix(nlp): differentiate alphabetic OOV term weights by @yzl0ng in https://github.com/infiniflow/ragflow/pull/18470 * fix: chat did not pass model config to provider by @Haruko386 in https://github.com/infiniflow/ragflow/pull/18485 * feat(chat): self-check contradictory prompt/dataset settings (#5703) by @peewee92 in https://github.com/infiniflow/ragflow/pull/18274 * feat(chat): add Serply web search provider by @googio in https://github.com/infiniflow/ragflow/pull/18475 * fix: clear stale tenant model ids by @01JohnMa in https://github.com/infiniflow/ragflow/pull/18210 * Feat: connector go imap by @mkaaad in https://github.com/infiniflow/ragflow/pull/18513 * fix: pass Infinity vector similarity weight by @Hellrakk in https://github.com/infiniflow/ragflow/pull/17453 * TS: update thinking description by @JinHai-CN in https://github.com/infiniflow/ragflow/pull/18521 * fix: keep OCR text when no image2text model is configured by @Dhruv-kys in https://github.com/infiniflow/ragflow/pull/18012 * fix(chat): drain deep-research goroutines before closing the async channel by @euvre in https://github.com/infiniflow/ragflow/pull/18504 * feat(deepdoc): Python-intermediate replay parity harness + table cell-fill fixes by @xugangqiang in https://github.com/infiniflow/ragflow/pull/18516 * fix(ollama): preserve multimodal images by @lntutor in https://github.com/infiniflow/ragflow/pull/17663 * feat(cli): add --version flag to cli by @krishna231122-del in https://github.com/infiniflow/ragflow/pull/18534 * Add ulimits for cpu and gpu services in Docker Compose by @Ro0tk1t in https://github.com/infiniflow/ragflow/pull/17205 * fix: ollama chat error by @Haruko386 in https://github.com/infiniflow/ragflow/pull/18540 * fix: avoid quadratic dedup in RAG merge paths by @DeviousDrops in https://github.com/infiniflow/ragflow/pull/18135 * refactor(chunker): replace QAChunker/PresentationChunker with PairChunker/PageChunker, drop TagChunker by @xugangqiang in https://github.com/infiniflow/ragflow/pull/18523 * Update release notes by @JinHai-CN in https://github.com/infiniflow/ragflow/pull/18544 * feat(chat): add You.com web search provider by @brainsparker in https://github.com/infiniflow/ragflow/pull/18478 * Fix: respect IME composition state on Enter key in dataset creating dialog by @iwasaki1112 in https://github.com/infiniflow/ragflow/pull/17150 * fix(dataset): preserve disabled RAPTOR and GraphRAG settings by @lntutor in https://github.com/infiniflow/ragflow/pull/17665 * Fix: handle tenant_llm without id by @Lynn-Inf in https://github.com/infiniflow/ragflow/pull/18541 * refactor(ingestion): unify auto-metadata on modular metadata and hard-delete legacy flats (BuiltInMetadata carried, not LLM) by @jay77721 in https://github.com/infiniflow/ragflow/pull/18511 * feat(title-chunker): enforce chunk_token_cap on the Go title-family chunks (#18455) by @xugangqiang in https://github.com/infiniflow/ragflow/pull/18551 * fix(deepdoc): drop nested OCR boxes before table cell fill + expose 13/14 parity gaps by @xugangqiang in https://github.com/infiniflow/ragflow/pull/18524 * fix: data source return two error once it occured by @Haruko386 in https://github.com/infiniflow/ragflow/pull/18535 * feat[syncer]: implement dingtalk AI table data source by @Haruko386 in https://github.com/infiniflow/ragflow/pull/18539 * docs: add dataset docs & fix broken links in docs by @Yannnnnnny in https://github.com/infiniflow/ragflow/pull/18553 * test: pin bare tenant_model.id resolution in resolve_model_config by @pangwangshu in https://github.com/infiniflow/ragflow/pull/18528 * fix(memory): make default prompts deterministic by @primorLee in https://github.com/infiniflow/ragflow/pull/18547 * fix(auth): strip trailing slash from OIDC issuer before discovery by @krim404 in https://github.com/infiniflow/ragflow/pull/18530 * feat(syncer): add R2 connector with checkpoint resume by @mkaaad in https://github.com/infiniflow/ragflow/pull/18548 * feat(chunker): enforce a hard token cap in the TokenChunker merge by @xugangqiang in https://github.com/infiniflow/ragflow/pull/18525 * fix: get two VLM model type when list all models by @Haruko386 in https://github.com/infiniflow/ragflow/pull/18546 * fix(db): make negative GET_LOCK timeouts work on MariaDB by @krim404 in https://github.com/infiniflow/ragflow/pull/18529 * fix: preserve blocking GaussDB advisory locks by @Sevenzuo in https://github.com/infiniflow/ragflow/pull/18506 * feat: improve incremental Wiki compilation by @buua436 in https://github.com/infiniflow/ragflow/pull/18557 * Fix: ensure tenant_ocr_id is added by @Lynn-Inf in https://github.com/infiniflow/ragflow/pull/18560 * Fix: switch image/ppt/email/audio from General to pipeline, or switch back, it report error by @wangq8 in https://github.com/infiniflow/ragflow/pull/18555 * fix(compilation-template): emit wiki presets with the contracted "example" key by @euvre in https://github.com/infiniflow/ragflow/pull/18549 * Fix: go switch user from superuser to normal user error by @wangq8 in https://github.com/infiniflow/ragflow/pull/18537 * fix(ingestion): show data pipeline column for builtin pipeline ingestion logs by @euvre in https://github.com/infiniflow/ragflow/pull/18484 * feat(syncer): add Moodle connector with checkpoint resume by @mkaaad in https://github.com/infiniflow/ragflow/pull/18554 * refactor: simplify sync task service and harden scheduler recovery by @Haruko386 in https://github.com/infiniflow/ragflow/pull/18550 * feat[syncer]: implement data source Jira by @Haruko386 in https://github.com/infiniflow/ragflow/pull/18558 * fix: render both initials for multi-word names in RAGFlowAvatar by @tryeverything24 in https://github.com/infiniflow/ragflow/pull/17320 * feat(agent): support OpenAI-compatible responses by @T1mn in https://github.com/infiniflow/ragflow/pull/18316 * fix: align wiki graph and dataset logs by @buua436 in https://github.com/infiniflow/ragflow/pull/18566 * fix: apply order_by return value in deep-pagination helpers (unordered OFFSET/LIMIT can skip/dupe rows) by @rsnetworkinginc in https://github.com/infiniflow/ragflow/pull/17325 * fix(web): sanitize the parsed markdown tree instead of the string (GHSA-jv5f-3mqh-cxwf) by @kah-ja in https://github.com/infiniflow/ragflow/pull/17590 * fix(deepdoc): dedup OCR substring fragments regardless of whitespace divergence by @xugangqiang in https://github.com/infiniflow/ragflow/pull/18568 * fix(deepdoc): preserve covered cells through span injection so span tables keep all TSR rows by @xugangqiang in https://github.com/infiniflow/ragflow/pull/18574 * Go: fix error handle by @JinHai-CN in https://github.com/infiniflow/ragflow/pull/18573 * fix: store source key only in pipeline_operation_log.source_from by @euvre in https://github.com/infiniflow/ragflow/pull/18239 * fix(parser): allow text output_format for audio family by @xugangqiang in https://github.com/infiniflow/ragflow/pull/18575 * fix(agent): reset execution path for new sessions by @yzl0ng in https://github.com/infiniflow/ragflow/pull/18532 * Feat: Validate the knowledge base that was deleted from the search page. by @cike8899 in https://github.com/infiniflow/ragflow/pull/18522 * fix(web): keep chat auto-scroll following streamed answers by @dcc123456 in https://github.com/infiniflow/ragflow/pull/18570 * Fix knowledge compilation to use pipeline LLM instead of default tenant LLM by @wangq8 in https://github.com/infiniflow/ragflow/pull/18572 * Fix: kimi k3 temperature by @Lynn-Inf in https://github.com/infiniflow/ragflow/pull/18564 * fix(web): preserve entire subtree of title-matching nodes in TreeSelect filter by @dcc123456 in https://github.com/infiniflow/ragflow/pull/18561 * fix: implement Tongyi-Qianwen TTS via DashScope native endpoint by @euvre in https://github.com/infiniflow/ragflow/pull/17924 * fix(agent): bind query field in agentbot completions and clean up failed first-touch sessions by @euvre in https://github.com/infiniflow/ragflow/pull/17844 * fix(file): reject folder names containing "/" in create/rename by @euvre in https://github.com/infiniflow/ragflow/pull/18586 * fix(memory): persist memory valid_at/forget_at as server-local time instead of UTC by @euvre in https://github.com/infiniflow/ragflow/pull/18538 * Fix: propagate file rename to all linked knowledgebase documents by @euvre in https://github.com/infiniflow/ragflow/pull/18590 * fix(models): infer model types on catalog miss so Qwen VLMs show LLM+VLM tags by @euvre in https://github.com/infiniflow/ragflow/pull/18571 * Fix: Go chat pipeline sends image blocks to text-only models (Zhipu GLM error 1210) by @euvre in https://github.com/infiniflow/ragflow/pull/18580 * fix(engine): return error instead of panic when NATS engine is uninitialized by @euvre in https://github.com/infiniflow/ragflow/pull/18536 * Feat: Rewrite the Go-based extractor operator form. by @cike8899 in https://github.com/infiniflow/ragflow/pull/18600 * Fix: allow yiyan api key by @Lynn-Inf in https://github.com/infiniflow/ragflow/pull/18601 * fix(doc_store): retry transient connection errors in pool init by @Harsh23Kashyap in https://github.com/infiniflow/ragflow/pull/17196 * fix(search): fix layout clipping when search page is not fullscreen by @euvre in https://github.com/infiniflow/ragflow/pull/18519 * fix(search): do not jump to previous search results on empty query by @euvre in https://github.com/infiniflow/ragflow/pull/18520 * feat(go-syncer): add Slack connector with checkpoint resume by @mkaaad in https://github.com/infiniflow/ragflow/pull/18603 * perf(retrieval): push metadata filters down to the metadata index by @ting-hong-shieh in https://github.com/infiniflow/ragflow/pull/18219 * add dockerfile_ci for workflow and restore the single dockerfile by @myf-bee in https://github.com/infiniflow/ragflow/pull/18606 * docs: add links between docs by @Yannnnnnny in https://github.com/infiniflow/ragflow/pull/18609 * fix(web): clicking anywhere in a switch setting row toggles the switch by @euvre in https://github.com/infiniflow/ragflow/pull/18567 * fix(metadata): batch large document ID filters by @guominjia in https://github.com/infiniflow/ragflow/pull/17394 * fix: dataset ingestion log has no other type instead of success by @Haruko386 in https://github.com/infiniflow/ragflow/pull/18605 * fix(llm): consolidate TTS / Seq2txt provider key resolution across 3 call sites by @Harsh23Kashyap in https://github.com/infiniflow/ragflow/pull/17688 * fix: preserve empty chat fields on GaussDB by @Sevenzuo in https://github.com/infiniflow/ragflow/pull/18445 * feat[provider]: apply model_type infer when model has no type by @Haruko386 in https://github.com/infiniflow/ragflow/pull/18593 * feat[syncer]: add data source DropBox by @Haruko386 in https://github.com/infiniflow/ragflow/pull/18612 * optimize[syncer]: optimize returning error when it occur by @Haruko386 in https://github.com/infiniflow/ragflow/pull/18613 * fix(build): name the compiler the check requires, and the option that failed by @marmar9615-cloud in https://github.com/infiniflow/ragflow/pull/18594 * fix: preserve non-string values in update_metadata_to by @huang-aoqin in https://github.com/infiniflow/ragflow/pull/17346 * Feat/connector go sharepoint by @mkaaad in https://github.com/infiniflow/ragflow/pull/18618 * Refactor: Refactored the frontend logic for handling different backend services to use `pickByBackend`, thereby improving code clarity and maintainability. by @cike8899 in https://github.com/infiniflow/ragflow/pull/18614 * fix(web): keep multi-select count in sync after deleting a single file by @euvre in https://github.com/infiniflow/ragflow/pull/18589 * Fix: Owner filter count not updated after deleting a dataset by @euvre in https://github.com/infiniflow/ragflow/pull/18623 * Fix(go): use llm setting for AI summary and return raw error msg by @Lynn-Inf in https://github.com/infiniflow/ragflow/pull/18615 * fix(web): accept a single API key for Baidu YiYan by @dcc123456 in https://github.com/infiniflow/ragflow/pull/18611 * fix(deepdoc): close ocr_real text-gap divergences and pin char-to-box matching by @xugangqiang in https://github.com/infiniflow/ragflow/pull/18630 * fix(cli): count benchmark application failures by @NgoQuocViet2001 in https://github.com/infiniflow/ragflow/pull/18292 * fix(show_env): keep git errors out of the environment report by @marmar9615-cloud in https://github.com/infiniflow/ragflow/pull/18597 * docs(entrypoint): show every option usage() accepts by @marmar9615-cloud in https://github.com/infiniflow/ragflow/pull/18596 * fix(deepdoc): align Go table row count with Python per-char R/C in parity replay by @xugangqiang in https://github.com/infiniflow/ragflow/pull/18622 * fix(deepdoc): resolve OCR text gaps — char loss/duplication in pdf parser by @xugangqiang in https://github.com/infiniflow/ragflow/pull/18643 * Fix HTML parser treating an empty upload as a missing binary by @devYRPauli in https://github.com/infiniflow/ragflow/pull/17904 * port smart-reasoning agentic RAG to eino ADK by @yuzhichang in https://github.com/infiniflow/ragflow/pull/18654 * fix(web): give each provider instance card its own surface by @dcc123456 in https://github.com/infiniflow/ragflow/pull/18620 * fix(ingestion): honor auto-keyword/auto-question top_n sliders in extractor prompts by @euvre in https://github.com/infiniflow/ragflow/pull/18632 * fix(web): resize the mind map graph when its container changes size by @dcc123456 in https://github.com/infiniflow/ragflow/pull/18616 * fix(web): use the real Keenable mark for the tool icon by @ilya-bogin-keenable in https://github.com/infiniflow/ragflow/pull/18660 * add nats and clickhouse expose port in docker compose by @myf-bee in https://github.com/infiniflow/ragflow/pull/18577 * fix: Invoke proxy uses validated URL; remove stray debug print in Canvas.reset by @simpleqt in https://github.com/infiniflow/ragflow/pull/18657 * Remove three no-op self-assignments by @darkdi in https://github.com/infiniflow/ragflow/pull/18652 * docs: replace root-relative cross links with relative page links by @simpleqt in https://github.com/infiniflow/ragflow/pull/18664 * fix(opensearch): stop zeroing vector scores by mapping similarity to knn boost by @barandras in https://github.com/infiniflow/ragflow/pull/18662 * Revert "port smart-reasoning agentic RAG to eino ADK" by @JinHai-CN in https://github.com/infiniflow/ragflow/pull/18670 * Fix docs format by @yingfeng in https://github.com/infiniflow/ragflow/pull/18675 * fix: account for checkpointed ingestion progress by @buua436 in https://github.com/infiniflow/ragflow/pull/18667 * fix(workerpool): close the SubmitTo/StopWait race without losing in-flight tasks by @changshenhan in https://github.com/infiniflow/ragflow/pull/18646 * fix(manual): match .docx only so legacy .doc fails cleanly by @ayam04 in https://github.com/infiniflow/ragflow/pull/18649 * feat(go-syncer): add Salesforce connector with checkpoint resume by @mkaaad in https://github.com/infiniflow/ragflow/pull/18674 * fix(ingestion): refactor tag extractor with memory index, asymmetric coverage, multi-source enrichment and worker pool sequencing by @jay77721 in https://github.com/infiniflow/ragflow/pull/18607 * security: remove leaked OAuth credentials and stop logging user secrets by @simpleqt in https://github.com/infiniflow/ragflow/pull/18658 * Fix: correct rerank #17296 - add prefetch_size by @wangq8 in https://github.com/infiniflow/ragflow/pull/18300 * feat(go-syncer): add Teams connector with positional resume by @mkaaad in https://github.com/infiniflow/ragflow/pull/18680 * fix: precompile regexes on the retrieval hot path by @changshenhan in https://github.com/infiniflow/ragflow/pull/18644 * Fix: porting #18300 to go by @wangq8 in https://github.com/infiniflow/ragflow/pull/18690 * fix(web): hide empty thinking strip in floating chat widget by @euvre in https://github.com/infiniflow/ragflow/pull/18608 * fix(agent): preserve whitespace around message references by @primorLee in https://github.com/infiniflow/ragflow/pull/18666 * fix: validate message content to prevent empty values by @6ba3i in https://github.com/infiniflow/ragflow/pull/18676 * fix: the pdf generation issue in agent by @6ba3i in https://github.com/infiniflow/ragflow/pull/18673 * Chore: add missing deepseek model by @6ba3i in https://github.com/infiniflow/ragflow/pull/18678 * fix(sdk): temperature default should be a float, not a 1-tuple by @simpleqt in https://github.com/infiniflow/ragflow/pull/18656 * fix(task_executor): cap extracted important_kwd terms to ES keyword limit by @RahilOp in https://github.com/infiniflow/ragflow/pull/17512 * Fix some comments by @wangq8 in https://github.com/infiniflow/ragflow/pull/18705 * fix: normalize model types in _factory_model_types and update calculate_model_type by @6ba3i in https://github.com/infiniflow/ragflow/pull/18685 * fix: recover panics in executeMemoryTask so a poison memory task cannot kill the ingestor worker by @xugangqiang in https://github.com/infiniflow/ragflow/pull/18687 * feat(extractor): add inline 24h Redis LLM cache for keywords, questions, and summary by @jay77721 in https://github.com/infiniflow/ragflow/pull/18716 * fix(deepdoc): prevent cross-page table over-merge from page-local Y coordinates by @xugangqiang in https://github.com/infiniflow/ragflow/pull/18688 * Feat: The extractor operator can handle multiple extraction tasks simultaneously. by @cike8899 in https://github.com/infiniflow/ragflow/pull/18717 * fix(chat): stop rag_agent forwarding message bookkeeping keys to the provider by @bharadwaj-pendyala in https://github.com/infiniflow/ragflow/pull/18663 * fix(deepdoc): propagate spanning-cell bbox so Go emits correct colspan by @xugangqiang in https://github.com/infiniflow/ragflow/pull/18707 * fix: publish wiki event when document is deleted by @buua436 in https://github.com/infiniflow/ragflow/pull/18682 * fix(agent): surface cancellation terminal state by @T1mn in https://github.com/infiniflow/ragflow/pull/18579 * fix(models): pass selected models into verify and catch constructor errors by @ondery in https://github.com/infiniflow/ragflow/pull/17132 * feat(bedrock): support API key authentication by @whhe in https://github.com/infiniflow/ragflow/pull/18301 * fix: classify .wmf files as VISUAL instead of OTHER by @devYRPauli in https://github.com/infiniflow/ragflow/pull/15822 * Refactor: rename prefetch_size to rerank_candidates by @wangq8 in https://github.com/infiniflow/ragflow/pull/18718 * fix(wiki): guard generation without compilation config by @libaojiang in https://github.com/infiniflow/ragflow/pull/18695 * docs(migration): say which volumes the backup actually covers by @marmar9615-cloud in https://github.com/infiniflow/ragflow/pull/18626 * fix(api): make the API-key subject carve-out on POST /messages reachable by @olifarhaan in https://github.com/infiniflow/ragflow/pull/18026 * feat(agent): add You.com search tool by @brainsparker in https://github.com/infiniflow/ragflow/pull/18583 * fix(rag): keep search queries and page text out of connector logs by @brainsparker in https://github.com/infiniflow/ragflow/pull/18582 * fix(admin): display AWS S3 status correctly by @yaoper in https://github.com/infiniflow/ragflow/pull/17300 * [Fix] Refined the NLTK data usage directory by @paulhuiseismic in https://github.com/infiniflow/ragflow/pull/17376 * fix: substitute UserFillUp tips placeholders literally to avoid re.error by @rsnetworkinginc in https://github.com/infiniflow/ragflow/pull/17321 * fix: substitute Message variables literally to avoid re.error on regex escapes by @rsnetworkinginc in https://github.com/infiniflow/ragflow/pull/17319 * fix: remove trailing space in human-readable duration labels by @tryeverything24 in https://github.com/infiniflow/ragflow/pull/17317 * fix(web): return real navigation state from history.location getter by @tryeverything24 in https://github.com/infiniflow/ragflow/pull/17324 * fix(web): ignore IME composition Enter in tag input by @tryeverything24 in https://github.com/infiniflow/ragflow/pull/17322 * Fix: show linked knowledge base names instead of IDs when searching in the "Link to knowledge base" dialog by @euvre in https://github.com/infiniflow/ragflow/pull/18581 * fix(web): show agent opening statement in embedded floating widget by @euvre in https://github.com/infiniflow/ragflow/pull/18517 * fix(bot): align chatbot completion final frame and history persistence with python by @euvre in https://github.com/infiniflow/ragflow/pull/18526 * Fix: Add a custom placeholder to SelectWithSearch by @cike8899 in https://github.com/infiniflow/ragflow/pull/18719 * Fix: add and use paddleOCR.net model by @Lynn-Inf in https://github.com/infiniflow/ragflow/pull/18696 * fix(web): keep multi-select options in their declared order while searching by @dcc123456 in https://github.com/infiniflow/ragflow/pull/18672 * fix(web): make chat attachment images click-to-zoomable by @euvre in https://github.com/infiniflow/ragflow/pull/18259 * fix(web): make overflowing card description tooltips scrollable by @euvre in https://github.com/infiniflow/ragflow/pull/18700 * fix(setting-model): stop silently dropping a duplicate-named provider instance by @dcc123456 in https://github.com/infiniflow/ragflow/pull/18722 * fix(go): sort provider model instances by creation time by @euvre in https://github.com/infiniflow/ragflow/pull/18684 * fix(web): chat settings panel overlapped by chat input on narrow viewports by @euvre in https://github.com/infiniflow/ragflow/pull/18723 * Fix: After deleting all compiled entities, returning to this page will show an empty data entry. by @cike8899 in https://github.com/infiniflow/ragflow/pull/18724 * fix(web): always show copy button on floating chat widget replies by @euvre in https://github.com/infiniflow/ragflow/pull/18527 * fix(router): accept share (beta) token on agent upload and attachment download by @euvre in https://github.com/infiniflow/ragflow/pull/18681 * fix(svr): distinguish empty-docs from missing-template in wiki empty-eligibility message by @Harsh23Kashyap in https://github.com/infiniflow/ragflow/pull/18691 * fix(common): propagate WebDAV listing errors from _list_files_recursive to avoid prune data loss by @Harsh23Kashyap in https://github.com/infiniflow/ragflow/pull/18694 * fix(agent): bound crawler response bodies to 4 MiB by @Lem0nTea2002 in https://github.com/infiniflow/ragflow/pull/18677 * fix: support hierarchical Wiki topic navigation by @buua436 in https://github.com/infiniflow/ragflow/pull/18721 * Fix email and presentation parsers treating an empty upload as a missing binary by @devYRPauli in https://github.com/infiniflow/ragflow/pull/18712 * Go: porting #18663 by @wangq8 in https://github.com/infiniflow/ragflow/pull/18726 * fix: skip empty knowledge compile events by @buua436 in https://github.com/infiniflow/ragflow/pull/18728 * Fix: Modify the error message for empty chat responses. by @cike8899 in https://github.com/infiniflow/ragflow/pull/18730 * fix(mcp): include dataset name in list_datasets output (#17133) by @Harsh23Kashyap in https://github.com/infiniflow/ragflow/pull/18710 * fix(connector): honor configured S3-compatible bucket type by @yijiaquan in https://github.com/infiniflow/ragflow/pull/18576 * fix(pdf): colspan assembly loss + TSR geometry comparison diagnostics by @xugangqiang in https://github.com/infiniflow/ragflow/pull/18727 * Fix: cross-KB document id collision in data source sync (#18116) by @sarbojitrana in https://github.com/infiniflow/ragflow/pull/18244 * Refactor: expose knn top_k and knn num_candidaties by @wangq8 in https://github.com/infiniflow/ragflow/pull/18737 * feat(go-syncer): add Azure Blob Storage connector with checkpoint resume by @mkaaad in https://github.com/infiniflow/ragflow/pull/18701 * fix(admin): honor DEFAULT_SUPERUSER_EMAIL/PASSWORD env vars in bootstrap by @Taranum01 in https://github.com/infiniflow/ragflow/pull/17674 * Fix: After selecting upload, the document is parsed directly, but the parsing progress cannot be seen. by @cike8899 in https://github.com/infiniflow/ragflow/pull/18741 * fix(web): fall back a page when the dataset file list empties by @dcc123456 in https://github.com/infiniflow/ragflow/pull/18738 * fix(web): require chunk content when creating or editing a chunk by @dcc123456 in https://github.com/infiniflow/ragflow/pull/18739 * Fix: Add the chat model to the Python version of the dataset configuration page. by @cike8899 in https://github.com/infiniflow/ragflow/pull/18735 * fix(web): keep Firefox chat auto-scroll pinned to the bottom by @dcc123456 in https://github.com/infiniflow/ragflow/pull/18736 * fix(agent): prevent path traversal and SSRF in Browser URL file upload by @simpleqt in https://github.com/infiniflow/ragflow/pull/18711 * fix(agent): redact internal terminal errors by @T1mn in https://github.com/infiniflow/ragflow/pull/18743 * Fix GPUStack model discovery and audio support by @javen-yan in https://github.com/infiniflow/ragflow/pull/18599 * Porting #18737 to go by @wangq8 in https://github.com/infiniflow/ragflow/pull/18745 * fix(pdf): restore cross-page table merge wrongly rejected by #18688 page-absolute Y gate by @xugangqiang in https://github.com/infiniflow/ragflow/pull/18740 * Fix total as the total, follow Go by @wangq8 in https://github.com/infiniflow/ragflow/pull/18750 * fix(agent): panic and raw error when auto play runs without a default TTS model by @euvre in https://github.com/infiniflow/ragflow/pull/18734 * fix(chat): propagate mind map stream failures by @Lem0nTea2002 in https://github.com/infiniflow/ragflow/pull/18733 * fix(parser): crop media sections in PDF JSON path, unify Data URI and markdown rendering by @jay77721 in https://github.com/infiniflow/ragflow/pull/18742 * fix(deepdoc): harden opendataloader table-cell parsing against bad json by @Yurii214 in https://github.com/infiniflow/ragflow/pull/17316 * fix(pdf): strip tiled watermark text from text-layer extraction by @Taranum01 in https://github.com/infiniflow/ragflow/pull/18308 * fix(agent): default missing Graph path so stored DSL cannot KeyError by @BetterAndBetterII in https://github.com/infiniflow/ragflow/pull/18753 * Fix(go): PaddleOCR -> PaddleOCR.local, PaddleOCR.net -> PaddleOCR by @Lynn-Inf in https://github.com/infiniflow/ragflow/pull/18747 * fix(chat): deliver uploaded image attachments to vision models in Go chat pipeline by @euvre in https://github.com/infiniflow/ragflow/pull/18708 * feat(data_source): add Azure DevOps connector by @erhanaydin in https://github.com/infiniflow/ragflow/pull/18715 * fix(memory): align Go semantic valid_at prompt with the Python wording by @anneheartrecord in https://github.com/infiniflow/ragflow/pull/18752 * docs(sandbox): describe how the container pool is actually sized by @marmar9615-cloud in https://github.com/infiniflow/ragflow/pull/18625 * fix(sandbox): remove the sandbox containers that exist, not a pool-size range by @marmar9615-cloud in https://github.com/infiniflow/ragflow/pull/18629 * fix(web): surface dataset navigation tree load failures (closes #17301) by @Souravrajvi0 in https://github.com/infiniflow/ragflow/pull/17668 * Docs: update 27.0 release notes by @wangq8 in https://github.com/infiniflow/ragflow/pull/18770 * fix(parser): clean .eml text output for chunking by @euvre in https://github.com/infiniflow/ragflow/pull/18592 * fix(web): agent explore streaming answer leaking into the switched-to session by @euvre in https://github.com/infiniflow/ragflow/pull/18686 * fix(web): stop RAGFlow brand block from overlapping embedded share header by @euvre in https://github.com/infiniflow/ragflow/pull/18729 * fix(sandbox): sync the sandbox env with the Python version it requires by @marmar9615-cloud in https://github.com/infiniflow/ragflow/pull/18766 * docs(api): spell the recommendation endpoint the way the server registers it by @marmar9615-cloud in https://github.com/infiniflow/ragflow/pull/18764 * docs(api): document the document-update endpoint as PATCH by @marmar9615-cloud in https://github.com/infiniflow/ragflow/pull/18765 * Fix: MinerU model by @Lynn-Inf in https://github.com/infiniflow/ragflow/pull/18767 * Fix: The recommended chunk size for the token chunker is restricted to integers only. by @cike8899 in https://github.com/infiniflow/ragflow/pull/18786 * fix(agent): propagate webhook terminal states by @T1mn in https://github.com/infiniflow/ragflow/pull/18758 * fix: allow empty GitHub repositories by @buua436 in https://github.com/infiniflow/ragflow/pull/18776 * Fix: find_codec discards confident encoding detection and returns a garbage codec by @devYRPauli in https://github.com/infiniflow/ragflow/pull/15793 * fix: inherit document status when inserting chunks by @huang-aoqin in https://github.com/infiniflow/ragflow/pull/18610 * fix(naive): route misconfigured MinerU PDFs to by_mineru instead of by_plaintext (#17114) by @Taranum01 in https://github.com/infiniflow/ragflow/pull/18762 * refactor(parser): consolidate vision figure enhancement across document formats by @jay77721 in https://github.com/infiniflow/ragflow/pull/18775 * fix(parser): support webp in image OCR and correct rune count for VLM gate by @jay77721 in https://github.com/infiniflow/ragflow/pull/18785 * fix: the bigquery connector constructs sql queries u... in... by @anupamme in https://github.com/infiniflow/ragflow/pull/17500 * fix(opensearch): scope multi-document update to the target knowledge base by @AnnaSuSu in https://github.com/infiniflow/ragflow/pull/17048 * fix: accept empty ASR verification results by @buua436 in https://github.com/infiniflow/ragflow/pull/18788 * fix(web): cap embed dialog User ID input length and add data-type hint by @euvre in https://github.com/infiniflow/ragflow/pull/18773 * fix(model-provider): resolve instances by persisted ID by @6ba3i in https://github.com/infiniflow/ragflow/pull/18792 * fix(docker): prevent all foreground entrypoint.sh loops from exiting on non-zero exit by @skbs-eng in https://github.com/infiniflow/ragflow/pull/18545 * feat(data-source): add Xquik X search connector by @kriptoburak in https://github.com/infiniflow/ragflow/pull/18714 * fix(web): skip canvas autosave of empty nodes/edges by @Souravrajvi0 in https://github.com/infiniflow/ragflow/pull/18783 * fix(sdk): filter documents by multiple IDs by @WOLIKIMCHENG in https://github.com/infiniflow/ragflow/pull/18790 * fix(web): use a dedicated label for the thinking mode field by @dcc123456 in https://github.com/infiniflow/ragflow/pull/18806 * Fix: The chat network search service is allowed to be null. by @cike8899 in https://github.com/infiniflow/ragflow/pull/18791 * fix(security): authenticate sandbox executor API and isolate container network by @simpleqt in https://github.com/infiniflow/ragflow/pull/18703 * refactor(parser): extract shared parseWithTCADP core from pptx/xls/pdf wrappers by @Taranum01 in https://github.com/infiniflow/ragflow/pull/17671 * Fix 0 chunk datasets not show, cause cannot scroll to fetch more datasets by @wangq8 in https://github.com/infiniflow/ragflow/pull/18810 * fix(chat): preserve deep-research cancellation after workers finish by @Lem0nTea2002 in https://github.com/infiniflow/ragflow/pull/18692 * fix(mineru): Fix MinerU Rendering Stability, Error Visibility, and Code Block Parsing Issues by @Aeovy in https://github.com/infiniflow/ragflow/pull/18617 * fix(web): list the agent flow type card first by @dcc123456 in https://github.com/infiniflow/ragflow/pull/18808 * Chore: remove knowledge compiler from types and tests by @6ba3i in https://github.com/infiniflow/ragflow/pull/18809 * Feat: When there are errors in the chat settings form, clicking the "Save" button automatically scrolls to the location of the error. by @cike8899 in https://github.com/infiniflow/ragflow/pull/18811 * Refactor: Add rerank_candidates_count, knn top_k and num_candidates to /api/v1/retrieval by @wangq8 in https://github.com/infiniflow/ragflow/pull/18768 * fix(go): drop the removed internal/cache package from run_go_tests.sh by @marmar9615-cloud in https://github.com/infiniflow/ragflow/pull/18819 * fix(build): keep the admin server in build.sh's cleanup trap by @marmar9615-cloud in https://github.com/infiniflow/ragflow/pull/18816 * fix(tests): let run_tests.py --help exit 0 by @marmar9615-cloud in https://github.com/infiniflow/ragflow/pull/18814 * Go: fix context, part3 by @JinHai-CN in https://github.com/infiniflow/ragflow/pull/18821 * feat: extract images from xlsx parser by @buua436 in https://github.com/infiniflow/ragflow/pull/18800 * fix(pdf): do not cross-page merge tables whose anchor is not at page bottom by @xugangqiang in https://github.com/infiniflow/ragflow/pull/18789 * fix(document): reject config edits while document is parsing or scheduled by @xugangqiang in https://github.com/infiniflow/ragflow/pull/18804 * fix(parser): align image output_format to json and use per-family defaults (strict) by @jay77721 in https://github.com/infiniflow/ragflow/pull/18802 * Better enhance message by @wangq8 in https://github.com/infiniflow/ragflow/pull/18818 * fix(graph): use max-wins for PageRank in AnalyzeNHopPaths + correct test fixtures (#15695) by @Taranum01 in https://github.com/infiniflow/ragflow/pull/18784 * fix: align cross-language prompt separator with parser by @zhouyuchong in https://github.com/infiniflow/ragflow/pull/18831 * docs(configuration): name the ragflow serving-port key http_port by @marmar9615-cloud in https://github.com/infiniflow/ragflow/pull/18825 * Fix: An error occurs when accessing the Go version of the wiki page. by @cike8899 in https://github.com/infiniflow/ragflow/pull/18835 * Refactor: refine error messages - use %W by @wangq8 in https://github.com/infiniflow/ragflow/pull/18834 * fix(pdf): remove unused context import breaking manual test build by @xugangqiang in https://github.com/infiniflow/ragflow/pull/18837 * fix(schema-sync): stop reporting BaseModel timestamps as dropped columns by @marmar9615-cloud in https://github.com/infiniflow/ragflow/pull/18824 * fix(chunker): keep PDF positions on all cap-split sub-chunks so chunks don't lose their preview images by @euvre in https://github.com/infiniflow/ragflow/pull/18772 * fix(examples): wait for the DONE status the API actually returns by @marmar9615-cloud in https://github.com/infiniflow/ragflow/pull/18827 * Fix the naive parser treating an empty upload as a missing binary by @devYRPauli in https://github.com/infiniflow/ragflow/pull/18826 * Refine entrypoint.sh - tidy code by @wangq8 in https://github.com/infiniflow/ragflow/pull/18838 * Fix: On the MCP list page, if the only record on the last page is deleted, the view should navigate to the previous page. by @cike8899 in https://github.com/infiniflow/ragflow/pull/18840 * Feat: sync anchor resume by @mkaaad in https://github.com/infiniflow/ragflow/pull/18795 * Fix QA Excel parser dropping rows whose answer is a zero value by @devYRPauli in https://github.com/infiniflow/ragflow/pull/17902 * Update None to Naive (Follow English) by @wangq8 in https://github.com/infiniflow/ragflow/pull/18848 * feat: add Synthorai model provider by @cuihuan in https://github.com/infiniflow/ragflow/pull/18830 * Fix OceanBase chunk order field persistence by @zcxGGmu in https://github.com/infiniflow/ragflow/pull/16997 * fix: fall back to the real office container format when extension is wrong by @jay77721 in https://github.com/infiniflow/ragflow/pull/18843 * Refactor: Translate figure 'Fig.' to Chinese by @wangq8 in https://github.com/infiniflow/ragflow/pull/18852 * fix(api): honor dialog system prompt in reasoning-enabled chat by @RahilOp in https://github.com/infiniflow/ragflow/pull/18842 * feat(agent): make MCP tool call timeout configurable by @var4dev in https://github.com/infiniflow/ragflow/pull/18016 * fix(agent): implement webhook trace polling by @T1mn in https://github.com/infiniflow/ragflow/pull/18815 * fix(web): keep typed slider values on the slider's step grid by @dcc123456 in https://github.com/infiniflow/ragflow/pull/18847 * fix(dataset): canonicalize naive parser IDs to general by @6ba3i in https://github.com/infiniflow/ragflow/pull/18839 * fix(web): cap description length at 512 characters by @dcc123456 in https://github.com/infiniflow/ragflow/pull/18836 * Fix: The models for audio and video parsers are required fields. by @cike8899 in https://github.com/infiniflow/ragflow/pull/18851 * Fix: remove deprecated mimo-v2-flash by @Lynn-Inf in https://github.com/infiniflow/ragflow/pull/18854 * fix(web): add missing hover tooltips to dataset data source action buttons by @euvre in https://github.com/infiniflow/ragflow/pull/18812 * feat(go-syncer): add OCI Storage connector with resume by @mkaaad in https://github.com/infiniflow/ragflow/pull/18850 * test(agent): pin whitespace handling of template ref patterns by @ayam04 in https://github.com/infiniflow/ragflow/pull/18720 * fix(web): dataset auto-metadata toggle reverts to off after save by @euvre in https://github.com/infiniflow/ragflow/pull/18813 * Fix: When the pipeline-paeser component switches the file type from PDF to image, the default parsing method should be OCR. by @cike8899 in https://github.com/infiniflow/ragflow/pull/18858 * fix(web): keep token chunker settings when saving in One mode by @euvre in https://github.com/infiniflow/ragflow/pull/18749 * fix(nlp): load term weight resources as UTF-8 by @yzl0ng in https://github.com/infiniflow/ragflow/pull/18467 * fix: support .wmf file extension case-insensitively and remove duplicate avi by @Wsp030914 in https://github.com/infiniflow/ragflow/pull/15498 * fix(parser): wire per-call VLM model config, harden vision dispatch by @jay77721 in https://github.com/infiniflow/ragflow/pull/18846 * Revert "fix(web): file list total count doesn't match displayed rows (#17747)" by @dcc123456 in https://github.com/infiniflow/ragflow/pull/18856 * fix(ingestion): run wiki compiler cache-less in canvas debug runs by @euvre in https://github.com/infiniflow/ragflow/pull/18828 * fix: reject wiki LLM error responses by @buua436 in https://github.com/infiniflow/ragflow/pull/18857 * Fix: parse pdf in chat by @Lynn-Inf in https://github.com/infiniflow/ragflow/pull/18860 * Fix: hide skills folder in REST API by @wangq8 in https://github.com/infiniflow/ragflow/pull/18859 * Fix rerank_candidates_count validation error by @wangq8 in https://github.com/infiniflow/ragflow/pull/18863 * fix(metadata-filter): propagate resolved document IDs to retrieval by @6ba3i in https://github.com/infiniflow/ragflow/pull/18865 * Fix Go Agents tab ordering to match Python by @6ba3i in https://github.com/infiniflow/ragflow/pull/18845 * feat(go-syncer): add S3 and S3 compatible connectors by @mkaaad in https://github.com/infiniflow/ragflow/pull/18861 * fix(chunker): proportionally slice PDF positions so sub-chunk previews match text by @jay77721 in https://github.com/infiniflow/ragflow/pull/18864 * Fix: No need to validate data that is not in dataset format by @cike8899 in https://github.com/infiniflow/ragflow/pull/18871 * Fix: rm default model in create and display builtin model by @Lynn-Inf in https://github.com/infiniflow/ragflow/pull/18875 * docs: add Chat documents by @Yannnnnnny in https://github.com/infiniflow/ragflow/pull/18870 * fix(web): derive provider base_url visibility from the provider catalog by @dcc123456 in https://github.com/infiniflow/ragflow/pull/18866 * fix: handle Jina VLM streaming responses by @buua436 in https://github.com/infiniflow/ragflow/pull/18855 * fix: map agent rounds to react steps by @buua436 in https://github.com/infiniflow/ragflow/pull/18868 * Fix oversized important keywords in OceanBase and SeekDB by @hnwyllmm in https://github.com/infiniflow/ragflow/pull/18872 * fix(rag/utils): ensure_v1 must recognize v1beta/v1alpha-style version suffixes by @chuenchen309 in https://github.com/infiniflow/ragflow/pull/16916 * fix: honor generation parameter enable flags by @buua436 in https://github.com/infiniflow/ragflow/pull/18880 * fix: support SeekDB vector score extraction by @kic635 in https://github.com/infiniflow/ragflow/pull/18874 * Refactor: add page_size support by @wangq8 in https://github.com/infiniflow/ragflow/pull/18876 * Fix: add Separator component and restore GlobalIndexModelItem in NaiveConfiguration by @cike8899 in https://github.com/infiniflow/ragflow/pull/18882 * fix(api): derive SQL retrieval tenant from dataset owner, not chat tenant by @ChendongPang in https://github.com/infiniflow/ragflow/pull/18518 * fix(web): stop the field label from opening the MultiSelect popover by @dcc123456 in https://github.com/infiniflow/ragflow/pull/18922 * Fix: reorder components in NaiveConfiguration for better structure by @cike8899 in https://github.com/infiniflow/ragflow/pull/18924 * Fix: Switching the file type of the parser operator caused the corresponding parse method to fail to switch. by @cike8899 in https://github.com/infiniflow/ragflow/pull/18931 * Fix: respect IME composition state on Enter key send by @iwasaki1112 in https://github.com/infiniflow/ragflow/pull/16922 * fix(build): pass GOPROXY to the ragflow-cli go build by @marmar9615-cloud in https://github.com/infiniflow/ragflow/pull/18925 * feat(go-connector): add Box connector by @mkaaad in https://github.com/infiniflow/ragflow/pull/18934 * fix(web): stop the field label from toggling the Switch by @dcc123456 in https://github.com/infiniflow/ragflow/pull/18945 * fix(dataset): rebuild the navigation tree in the dataset owner index by @marmar9615-cloud in https://github.com/infiniflow/ragflow/pull/18932 * Docs: Update version references to v0.27.1 in READMEs and docs by @asiroliu in https://github.com/infiniflow/ragflow/pull/18849 * Docs: 0.27.1 release notes by @wangq8 in https://github.com/infiniflow/ragflow/pull/18879 ## New Contributors * @olifarhaan made their first contribution in https://github.com/infiniflow/ragflow/pull/18027 * @yzl0ng made their first contribution in https://github.com/infiniflow/ragflow/pull/18461 * @googio made their first contribution in https://github.com/infiniflow/ragflow/pull/18475 * @Hellrakk made their first contribution in https://github.com/infiniflow/ragflow/pull/17453 * @Dhruv-kys made their first contribution in https://github.com/infiniflow/ragflow/pull/18012 * @krishna231122-del made their first contribution in https://github.com/infiniflow/ragflow/pull/18534 * @Ro0tk1t made their first contribution in https://github.com/infiniflow/ragflow/pull/17205 * @DeviousDrops made their first contribution in https://github.com/infiniflow/ragflow/pull/18135 * @brainsparker made their first contribution in https://github.com/infiniflow/ragflow/pull/18478 * @primorLee made their first contribution in https://github.com/infiniflow/ragflow/pull/18547 * @krim404 made their first contribution in https://github.com/infiniflow/ragflow/pull/18530 * @T1mn made their first contribution in https://github.com/infiniflow/ragflow/pull/18316 * @rsnetworkinginc made their first contribution in https://github.com/infiniflow/ragflow/pull/17325 * @kah-ja made their first contribution in https://github.com/infiniflow/ragflow/pull/17590 * @marmar9615-cloud made their first contribution in https://github.com/infiniflow/ragflow/pull/18594 * @NgoQuocViet2001 made their first contribution in https://github.com/infiniflow/ragflow/pull/18292 * @simpleqt made their first contribution in https://github.com/infiniflow/ragflow/pull/18657 * @darkdi made their first contribution in https://github.com/infiniflow/ragflow/pull/18652 * @barandras made their first contribution in https://github.com/infiniflow/ragflow/pull/18662 * @changshenhan made their first contribution in https://github.com/infiniflow/ragflow/pull/18646 * @ayam04 made their first contribution in https://github.com/infiniflow/ragflow/pull/18649 * @bharadwaj-pendyala made their first contribution in https://github.com/infiniflow/ragflow/pull/18663 * @libaojiang made their first contribution in https://github.com/infiniflow/ragflow/pull/18695 * @yijiaquan made their first contribution in https://github.com/infiniflow/ragflow/pull/18576 * @javen-yan made their first contribution in https://github.com/infiniflow/ragflow/pull/18599 * @BetterAndBetterII made their first contribution in https://github.com/infiniflow/ragflow/pull/18753 * @erhanaydin made their first contribution in https://github.com/infiniflow/ragflow/pull/18715 * @Souravrajvi0 made their first contribution in https://github.com/infiniflow/ragflow/pull/17668 * @kriptoburak made their first contribution in https://github.com/infiniflow/ragflow/pull/18714 * @zhouyuchong made their first contribution in https://github.com/infiniflow/ragflow/pull/18831 * @cuihuan made their first contribution in https://github.com/infiniflow/ragflow/pull/18830 * @Wsp030914 made their first contribution in https://github.com/infiniflow/ragflow/pull/15498 * @kic635 made their first contribution in https://github.com/infiniflow/ragflow/pull/18874 * @ChendongPang made their first contribution in https://github.com/infiniflow/ragflow/pull/18518 **Full Changelog**: https://github.com/infiniflow/ragflow/compare/v0.27.0...v0.27.1