## infiniflow/ragflow — v0.27.2…v1.0.0-rc1

_578+ commits._

### Features
- **add Dockerfile docker-compose.yml and modify workflow (#20305)** (ef939fb)
- **feat: add Uzbek language support (#20264)** (6478592)
- **Doc: add database change log (#20211)** (02b013b)
- **Feat: Display wiki-related icons on the dataset's log page. (#20212)** (0cfa300)
- **feat(chunker): stream cropped previews to storage instead of batching (#20165)** (e6f2c25)
- **feat(setting): default tool calling on for new provider instances (#20195)** (8786900)
- **feat(setting): auto-merge newly listed models into draft instance (#20177)** (64b7824)
- **i18n(az): add Azerbaijani (Azərbaycanca) translation (#20131)** (fa21687)

### Fixes
- **Doc: fix readme (#20350)** (14bb02e)
- **fix(infinity,nav): restore the navigation tree and document structure graph (#20339)** (4d1fa96)
- **Fix: delete dataset also delete the link file entity (#20340)** (0a715d1)
- **fix(agent): classify ExeSQL config errors (#20337)** (71c3e5c)
- **Fix: delete not used code (#20323)** (9dd22c5)
- **Fix: remove .dev suffix in version (#20320)** (77c0f20)
- **fix(agent): preserve branch producer dependencies during routing (#20318)** (47e831a)
- **fix(agent): require model selection for templates (#20278)** (000dea2)
- **fix(agent): exclude patents, not citations, when GoogleScholar patents is false (#20261)** (6aff0d4)
- **fix(go): stop leaking password hash and access token in user API responses (#20277)** (366b5c3)
- **fix: add json output alias on Retrieval node (#20300)** (60dcb9a)
- **Fix: apply disable cite (#20302)** (177fd15)
- **Fix: Modify the empty artifact description at the document level. (#20296)** (519fdb8)
- **fix(agent): allow shared datasets across template blocks (#20295)** (c939c43)
- **fix(go): preserve legacy document status in dataset lists (#20279)** (6c04e4b)
- **fix(ingestion): flatten legacy nested Parser setups from Python-era canvases (#20285)** (313bdba)
- **fix: drop orphan knowledge graph relations (#20293)** (3b5ee7c)
- **fix(chunker): retain bare delimiters losslessly, drop custom (backtick) delimiters (#20276)** (8e830e4)
- **fix(web): restore document status filters for Go backend (#20281)** (fd53f81)
- **fix(ui): fall back to chunk_id lookup when reference chunk index misses (#20288)** (9076777)
- **fix(agent): preserve loop variables across interrupted resumes (#20283)** (322aba7)
- **Fix: It is not possible to select dataset metadata values ​​for the condition in the retrieval operator. (#20280)** (7a750fa)
- **fix(pdf): rejoin line-break hyphens / strip U+FFFD in Go layout (temporary workaround) (#20274)** (02b668c)
- **fix(ui): ignore outside clicks right after dialog opens (#20270)** (f6483a1)
- **fix(knowledge_compile): make compiled rows writable to Infinity (#20208)** (da98d62)
- **fix(ingestion): read Python logs in Go backend (#20214)** (78154e1)
- **[codex] Fix OpenAI-compatible ASR provider (#19370)** (9be2750)
- **Fix go workspaces APIs (#20272)** (ef8d17b)
- **fix(chunker): skip crop+upload for non-retrievable empty-text media (#20213)** (79bacdf)
- **fix(parser): escape DOCX table cells in the naive, manual and qa chunkers (#19746)** (ba693da)
- **fix(tools): guard temporary table creation during mysql_migration dry run (#19570) (#19623)** (de3944b)
- **Fix: Hide the 'local' option in the sandbox configuration. (#20269)** (52405db)
- **fix: support wiki map writes on Infinity (#20203)** (5a089b4)
- **fix(agent): harden runtime boundary contracts (#20186)** (345fb45)
- **fix(parser): fail an EPUB with no readable chapter instead of returning nothing (#19814)** (6ef64fc)
- **fix(parser): read the separator a CSV was written with (#19740)** (3c8205d)
- **fix(dataflow): make_encode_batch synchronous so thread_pool_exec can run it (#16760)** (c25aa31)
- **fix: adjust sandbox SSH host configuration (#20155)** (269fed9)
- **Fix: Switching from the dataset's "Files" page to the "Configuration" page results in the scrollbar not appearing at the top. (#20179)** (313ca90)
- **fix(dataset): confirm before re-parse Go documents with chunks (#20210)** (6fcf96a)
- **fix(router): accept beta tokens on document image routes for shared chats (#20185)** (2be666b)
- **Fix delete user to delete bucket user-downloads, table: file_commit, file_commit_item (#20199)** (332c9f8)
- **fix(dataset): poll ingestion log while parsing and stop after terminal (#20206)** (c51e414)
- **Fix: Document Generator – Header Text/Footer Text/Watermark Text configurations cannot be saved. (#20187)** (8968f94)
- **Fix: The checklist allows loop operators to reference the outputs of internal operators. (#20205)** (c466629)
- **Fix rerank not working in agent retrieval (#20197)** (1419af0)
- **perf(chunker): parallelize cropImageChunks across chunks (#20183)** (4894936)
- **fix(nav): navigation tree search, LLM cluster naming, cluster depth (#20188)** (ab247dc)
- **Fix: Switching the parsing mode when creating a dataset will cause the embedding model to change. (#20198)** (296c1f1)
- **fix(setting): suppress PaddleOCR form autofill and default URL to first option (#20189)** (816cd25)
- **fix(agent): preserve standard JSON encodings (#20176)** (bdfd22e)
- **fix(agent): reject malformed parallel checkpoints (#20174)** (3e6e33e)
- **fix minimax model ids (#20184)** (c8e72af)
- **fix(parser): label PDF table items "table" only when they carry <table> markup (#20092)** (516b9cf)
- **Fix: dedup model name (#20167)** (e651d8f)
- **Fix no regenerate/delete message in multiple model chats (#20182)** (9568e5f)
- **Fix: when rerank error stop chat (#20178)** (4fc5728)
- **Fix eval error (#20180)** (fad7fa9)
- **Fix rerank model does not take effect when search in searchbot (#20158)** (243b9f7)
- **fix: exclude disabled documents from Wiki products (#20154)** (6fec6bb)
- **fix(dataset): read document-declared tag sources in tag aggregation (#20119)** (b227b95)
- **fix: update doc (#20164)** (77a7d19)
- **Go CI: fix port conflicts (#20157)** (f1c3a6b)
- **fix: resolve go CLI latest release without GitHub API (#20159)** (9e82c9f)
- **Fix: clean ingestion task logs (#20153)** (4ec59dd)
- **fix(deps): use numpy 2.x wheels on Python 3.13 (#19928) (#20014)** (e01c99c)
- **fix(parser): split JSONL records only on newline characters (#20029)** (2418baa)
- **fix(parser): accept longer closing fences during table extraction (#20028)** (f4014e6)
- **Fix: not drop uncreated unique index (#20118)** (3af32e6)
- **fix(service): drop citations and reference when the answer reports no… (#20111)** (ed12d99)
- **fix(deepdoc): bucket table boxes by page in buildTableHTMLs (#20133)** (bceb84b)
- **fix(chunker): eliminate O(n^2) coordinate extension and redundant merge copies (#20132)** (e81fb8d)
- **fix(markdown): delimit a link destination that holds a space or a parenthesis (#19747)** (2327357)
- **fix(storage): correct Azure SPN object existence checks (#20003)** (11146f4)
- **fix(deepdoc): keep highest-indexed table in MarkNoMergeTables page scoping (#20125)** (f97c023)
- **perf(deepdoc): bucket substring-dedup scan by page and column (#20122)** (483b892)
- **fix(agent): make begin form mode options reactive to language switch (#20128)** (c7e2f63)
- **Fix: rollback added instance when add model failed (#20129)** (bd7db4f)
- **fix(chunk): support image updates on the chunk PATCH endpoint (#20107)** (efd15d1)
- **Fix: Hide the mind map update button for the Go version. (#20130)** (11c1663)
- **Fix: Add the pipeline's detached operators to the checklist. (#20127)** (74b7aa4)
- **fix: use configured known_hosts path for SSH sandbox (#20114)** (9785a0d)
- **Fix delete dataset not delete bucket (#20110)** (109dcdb)
- **fix: wait for Elasticsearch chunk updates (#20116)** (3830b99)
- **Fix: The configuration for the pipeline manual chunker cannot be displayed. (#20106)** (7dfc104)
- **Fix: If the extractor is not configured with a model, a prompt is displayed in the checklist. (#20113)** (fd7c5ae)
- **fix: scope document deletion compile events (#20108)** (0ecd012)
- **fix(deepdoc): scope table/box overlap to the same page to avoid cross-page expansion (#20089)** (8a3d26e)
- **fix(agent): preserve content semantics with mixed Message branches (#19565)** (a5670d2)
- **Fix: Restrict the canvas to a single compilation operator. (#20120)** (2b33e0d)
- **fix(markdown): read the first row of a header-less table as its header (#19750)** (b247ba0)
- **Go CLI: fix --version (#20112)** (c5ea73f)
- **Fix admin services display (#20099)** (35b9b43)
- **fix: add standalone CJK font for Go PDF generation (#20095)** (a03c977)
- **Fix: Add a loading state to the button that creates a memory. (#20098)** (50aaa1d)
- **fix(chat): prevent blank reference image preview when image url is not ready (#20097)** (08ebf49)
- **Fix no delete skill since go has no skill (#20094)** (bc63c0c)
- **fix(api): validate connector create payload (#19472)** (c730a26)
- **fix(parser): drop eager base64 table image from pdf.TableItem (#20051)** (36e1f7c)

### Backend
- **doc: udpate readme (#20347)** (3da23a4)
- **main go release (#20317)** (06c5347)
- **remove python Dockerfile and docker-compose.yml (#20297)** (e111e1f)
- **toc_enhance -> knowledge compilation (#20299)** (63df590)
- **Remove python source code (#20284)** (562e021)
- **Go: remove unused files (#20271)** (749fec4)
- **i18n: sync tr-TR with recent en changes (#20004)** (628a5cb)
- **Update rag_analyzer.cpp (align with PR3503 in Infinity) (#20083)** (44b726c)
- **Port PR19661 to go (keyword delimiter) (#20069)** (0e21c02)

### Tests
- **test(term_weight): add edge case tests for _alphabetic_oov_frequency (#20066)** (e923104)
- **test(model_utils): add comprehensive tests for get_model_type_human and related functions (#20068)** (98fc3d6)
- **test(rag): cover file magic-byte helpers in file_utils (#20072)** (57ba69c)

### Docs
- **Docs: release notes 1.0.0-rc1 (#20341)** (74d1e2a)
- **Docs: v0.27.2 -> v1.0.0-rc1 (#20338)** (1be9590)
- **docs: update docker build in docs (#20345)** (dc7656e)
- **docs: update docs with go (#20062)** (fa0f3c2)
- **Docs: API changes (#20290)** (e18e93b)
- **docs: drop KIBANA_USER / KIBANA_PASSWORD, which nothing reads (#20150)** (b3cf8e0)

### Chore
- **refactor(web): remove API_PROXY_SCHEME python/hybrid proxy config (#20319)** (d64b84c)
- **refactor: entrypoint.sh (#20314)** (c2f17b7)
- **chore(docker): remove dead deepdoc_oss service from Go compose (#20316)** (a9c7304)
- **refactor: remove redis in yaml (#20313)** (307a702)
- **refactor: remove py test cases (#20312)** (adf2e0c)
- **refactor: fix pyproject.toml and uv.lock (#20311)** (7da9f09)
- **refactor: remove more python codes, part2 (#20309)** (53c4f55)
- **refactor: remove more python codes (#20306)** (efbb800)
- **refactor: update go verion server port to 9380 and 9381 (#20298)** (7c10224)
- **refactor: remove python source code, part2 (#20289)** (670e688)
- **refactor(agent): remove dead switch map alias (#20175)** (4ba41b7)
- **refactor(agent): use concrete canvas state access (#20173)** (f15de42)
- **refactor(agent): remove dead document io scaffolding (#20172)** (944b78d)
- **refactor(agent): remove unreachable canvas helpers (#20171)** (322322c)
- **refactor(agent): remove obsolete component fixtures (#20170)** (64ee9e2)
- **refactor(agent): remove unused canvas stream abstraction (#20169)** (fe1b1d1)
- **refactor(agent): pass checkpoint collaborators directly (#20168)** (b2e7d02)
- **chore(deps): bump anyio from 4.12.1 to 4.14.2 (#20105)** (8d3ce6a)
- **CI: fix kvrocks port is already allocated (#20093)** (329d365)
- **chore(deps): bump anyio from 4.12.1 to 4.14.2 in /tools/es-to-oceanbase-migration (#20104)** (ce0cd5b)
- **chore(deps): bump go.opentelemetry.io/otel/sdk from 1.44.0 to 1.45.0 (#20088)** (24baee2)
- **chore(deps): bump soupsieve from 2.8.4 to 2.9 (#20087)** (e5cc6ce)
- **chore(deps): bump anyio from 4.9.0 to 4.14.2 in /agent/sandbox (#20085)** (2fd6a1b)
- **chore(deps-dev): bump immutable from 4.3.7 to 4.3.9 in /web (#20086)** (d709448)
- **build(sh): pin ONNX Runtime archive sha256 instead of fetching it online (#20082)** (893fc78)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/infiniflow/ragflow?utm_source=github-action)._