v0.27.1
kyutai-labs/hibikiv0.27.1Aug 28, 2026by github-actions[bot]
AI Summary
Adds new connectors and search providers while expanding model support for the RAG platform.
Key Highlights
- New Azure DevOps connector
- New You.com and Serply web search providers
- New Synthorai model provider and DeepSeek models
New Features
- Azure DevOps connector
- You.com and Serply web search providers
- Synthorai model provider
- AWS Bedrock API key authentication support
- Enhanced retrieval API parameters (rerank_candidates_count, knn top_k)
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