1.9.2

langgenius/dify1.9.2Oct 22, 2025by laipz8200

Upgrading?

Release notes summary

Dify 1.9.2 focuses on stability, async performance, and developer experience, adding workflow pause/resume, structured output during LLM streaming, and better observability. It also upgrades the Weaviate Python client from v3 to v4, requiring a newer Weaviate server and migration planning.

Key Highlights

  • Workflow graph executions can now be paused and resumed.
  • LLM nodes support structured output during streaming.
  • Agent variables support drag-and-drop like workflow start nodes.
  • Workflow runs can be filtered by status or re-executed from logs.
  • OpenTelemetry HTTPX tracing and custom CORS headers improve integration and observability.

Breaking Changes

  • Weaviate Python client is upgraded from v3 to v4 and requires Weaviate server 1.24.0 or newer; older servers must be upgraded before updating Dify.
  • The Weaviate v4 client may require opening port 50051 for gRPC and may need re-indexing or backup/restore during server migration.

New Features

  • Pause and resume workflow graph executions
  • Structured output during LLM streaming
  • Agent variable drag-and-drop
  • Run with params from logs
  • Workflow run status filtering
  • OpenTelemetry HTTPX tracing
  • Custom CORS headers

Full Release Notes

This release focuses on improving stability, async performance, and developer experience. Expect cleaner internals, better workflow control, and improved observability across the stack.  

---

> [!WARNING]
> 
> A recent change has modernized the Dify integration for Weaviate (see PR #25447 and related update in PR #26964). The upgrade switches the Weaviate Python client from v3 to v4 and raises the minimum required Weaviate server version to 1.24.0 or newer. With this update:
> 
> - If you are running an older Weaviate server (e.g., v1.19.0), you must [upgrade](https://docs.weaviate.io/deploy/migration) your server to at least v1.24.0 before updating Dify.
> - The code now uses the new client API and supports gRPC for faster operations, which may require opening port 50051 in your Docker Compose files.
> - Data migration between server versions may require re-indexing using Weaviate’s Cursor API or standard backup/restore procedures.
> - The [Dify documentation](https://docs.dify.ai/en/self-host/troubleshooting/weaviate-v4-migration#weaviate-migration-guide-upgrading-to-client-v4-and-server-1-27) will be updated to provide migration steps and compatibility guidance.
> 
> **Action required:**  
> - Upgrade your Weaviate server to v1.24.0 or higher.  
> - Follow the migration guide to update your data and Docker configuration as described in the latest official Dify documentation.  
> - Ensure your environment meets the new version requirements before deploying Dify updates.

---

## ✨ Highlights  

**Workflow & Agents**  
- Pause and resume workflow graph executions *(by [@laipz8200](https://github.com/laipz8200) in [#26585](https://github.com/langgenius/dify/pull/26585))*  
- Structured output now supported during LLM node streaming *(by [@white‑loub](https://github.com/white-loub) in [#27089](https://github.com/langgenius/dify/pull/27089))*  
- Agent variables support drag‑and‑drop, just like workflow start nodes *(by [@yangzheli](https://github.com/yangzheli) in [#26899](https://github.com/langgenius/dify/pull/26899))*  
- Workflow runs can be filtered by status or re‑executed from logs *(by [@twjackysu](https://github.com/twjackysu) in [#26850](https://github.com/langgenius/dify/pull/26850), [@wellCh4n](https://github.com/wellCh4n) in [#26787](https://github.com/langgenius/dify/pull/26787))*  

**Integrations & SDK**  
- OpenTelemetry + HTTPX tracing for better observability *(by [@qiqizjl](https://github.com/qiqizjl) in [#26651](https://github.com/langgenius/dify/pull/26651))*  
- CORS config now accepts custom headers *(by [@laipz8200](https://github.com/laipz8200) in [#27133](https://github.com/langgenius/dify/pull/27133))*  

**Web & UI**  
- Faster load times by splitting and lazy‑loading constant files *(by [@yangzheli](https://github.com/yangzheli) in [#26794](https://github.com/langgenius/dify/pull/26794))*  
- Improved DataSources with marketplace plugin integration and filtering *(by [@WTW0313](https://github.com/WTW0313) in [#26810](https://github.com/langgenius/dify/pull/26810))*  
- Added tax tooltips to pricing footer *(by [@CodingOnStar](https://github.com/CodingOnStar) in [#26705](https://github.com/langgenius/dify/pull/26705))*  
- Account creation now syncs interface language with display settings *(by [@feelshana](https://github.com/feelshana) in [#27042](https://github.com/langgenius/dify/pull/27042))*  

---

## ⚙️ Core Improvements  

- Enabled Pyright across multiple modules and fixed typing issues *(by [@asukaminato0721](https://github.com/asukaminato0721) in [#26425](https://github.com/langgenius/dify/pull/26425), [#26462](https://github.com/langgenius/dify/pull/26462), [#26461](https://github.com/langgenius/dify/pull/26461))*  
- Refined HTTP timeout configurations and input validation *(by [@linancn](https://github.com/linancn) in [#26685](https://github.com/langgenius/dify/pull/26685))*  
- Redis queue efficiency improvements via cached checks and explicit key cleanup *(by [@Blackoutta](https://github.com/Blackoutta) in [#26406](https://github.com/langgenius/dify/pull/26406))*  
- App models now track `updated_by` and `updated_at` fields *(by [@liugddx](https://github.com/liugddx) in [#26736](https://github.com/langgenius/dify/pull/26736))*  
- Structured output for non‑streaming and single‑step runs *(by [@goofy‑z](https://github.com/goofy-z) in [#26430](https://github.com/langgenius/dify/pull/26430))*  

---

## 🧩 Fixes  

- Fixed duplicate chunks and dataset pagination duplication *(by [@kenwoodjw](https://github.com/kenwoodjw) in [#26360](https://github.com/langgenius/dify/pull/26360), [@zlyszx](https://github.com/zlyszx) in [#25783](https://github.com/langgenius/dify/pull/25783))*  
- Fixed workflow token usage, LLM usage tracking, and detached user sessions *(by [@kenwoodjw](https://github.com/kenwoodjw) in [#26723](https://github.com/langgenius/dify/pull/26723), [@laipz8200](https://github.com/laipz8200) in [#27021](https://github.com/langgenius/dify/pull/27021), [@liugddx](https://github.com/liugddx) in [#27162](https://github.com/langgenius/dify/pull/27162))*  
- Resolved missing module and logical errors in Weaviate vector distance calculation *(by [@DhruvGorasiya](https://github.com/DhruvGorasiya) in [#26964](https://github.com/langgenius/dify/pull/26964), [#27019](https://github.com/langgenius/dify/pull/27019))*  
- Fixed multi‑auth credential collisions *(by [@dickens88](https://github.com/dickens88) in [#26615](https://github.com/langgenius/dify/pull/26615))*  
- Fixed chat flickers, infinite reloads, login redirects, and loader visibility *(by [@DavideDelbianco](https://github.com/DavideDelbianco) in [#26829](https://github.com/langgenius/dify/pull/26829), [@iamjoel](https://github.com/iamjoel) in [#27150](https://github.com/langgenius/dify/pull/27150), [#27178](https://github.com/langgenius/dify/pull/27178))*  
- Fixed SSRF validation in external knowledge URLs *(by [@mrdear](https://github.com/mrdear) in [#26789](https://github.com/langgenius/dify/pull/26789))*  
- Corrected missing LLM output var descriptions, variable truncation logic, and EndUser relationship loading *(by [@hjlarry](https://github.com/hjlarry) in [#26648](https://github.com/langgenius/dify/pull/26648), [@hj24](https://github.com/hj24) in [#27129](https://github.com/langgenius/dify/pull/27129), [@liugddx](https://github.com/liugddx) in [#27162](https://github.com/langgenius/dify/pull/27162))*  
- Fixed dataset deselection issue when deleting a single file *(by [@HyaCiovo](https://github.com/HyaCiovo) in [#26502](https://github.com/langgenius/dify/pull/26502))*  
- Ensured correct JSON serialization and payload indentation across APIs *(by [@QuantumGhost](https://github.com/QuantumGhost) in [#27097](https://github.com/langgenius/dify/pull/27097), [@ZeroZ‑lab](https://github.com/ZeroZ-lab) in [#26871](https://github.com/langgenius/dify/pull/26871))*  

---

## 🧹 Cleanup & DevX  

- Removed unused dependencies, redundant DB commits, and dead templates *(by [@asukaminato0721](https://github.com/asukaminato0721), [@yihong0618](https://github.com/yihong0618), [@IthacaDream](https://github.com/IthacaDream))*  
- Added Knip configuration for dead code detection *(by [@ZeroZ‑lab](https://github.com/ZeroZ-lab) in [#26758](https://github.com/langgenius/dify/pull/26758))*  
- Improved internal observability with HTTPX tracing and async telemetry *(by [@qiqizjl](https://github.com/qiqizjl) in [#26651](https://github.com/langgenius/dify/pull/26651))*  

---

## Upgrade Guide

### Docker Compose Deployments

1. Back up your customized docker-compose YAML file (optional)

   ```bash
   cd docker
   cp docker-compose.yaml docker-compose.yaml.$(date +%s).bak
   ```

2. Get the latest code from the main branch

   ```bash
   git checkout main
   git pull origin main
   ```

3. Stop the service. Please execute in the docker directory

   ```bash
   docker compose down
   ```

4. Back up data

   ```bash
   tar -cvf volumes-$(date +%s).tgz volumes
   ```

5. Upgrade services

   ```bash
   docker compose up -d
   ```

### Source Code Deployments

1. Stop the API server, Worker, and Web frontend Server.

2. Get the latest code from the release branch:

   ```bash
   git checkout 1.9.2
   ```

3. Update Python dependencies:

   ```bash
   cd api
   uv sync
   ```

4. Then, let's run the migration script:

   ```bash
   uv run flask db upgrade
   ```

5. Finally, run the API server, Worker, and Web frontend Server again.

---

## What's Changed
* [Chore/Refactor] Implement lazy initialization for useState calls to prevent re-computation by @Copilot in https://github.com/langgenius/dify/pull/26252
* Refactor: Use @ns.route for tags API by @asukaminato0721 in https://github.com/langgenius/dify/pull/26357
* chore: translate i18n files and update type definitions by @github-actions[bot] in https://github.com/langgenius/dify/pull/26440
* Fix: Enable Pyright and Fix Typing Errors in Datasets Controller by @asukaminato0721 in https://github.com/langgenius/dify/pull/26425
* minor fix: fix some translations: trunk should use native, and some translation typos by @NeatGuyCoding in https://github.com/langgenius/dify/pull/26469
* Fix typing errors in core/model_runtime by @asukaminato0721 in https://github.com/langgenius/dify/pull/26462
* fix single-step runs support user input as structured_output variable values by @goofy-z in https://github.com/langgenius/dify/pull/26430
* Refactor: Enable type checking for core/ops and fix type errors by @asukaminato0721 in https://github.com/langgenius/dify/pull/26414
* improve: Explicitly delete task Redis key on completion in AppQueueManager by @Blackoutta in https://github.com/langgenius/dify/pull/26406
* chore: bump pnpm version by @lyzno1 in https://github.com/langgenius/dify/pull/26010
* Fix a typo in prompt by @casio12r in https://github.com/langgenius/dify/pull/25583
* fix: duplicate chunks by @kenwoodjw in https://github.com/langgenius/dify/pull/26360
* support returning structured output when using LLM API non streaming invocation by @goofy-z in https://github.com/langgenius/dify/pull/26451
* fix: duplicate data in datasets pagination list by @zlyszx in https://github.com/langgenius/dify/pull/25783
* fix: document  is not bound to a session by @quicksandznzn in https://github.com/langgenius/dify/pull/26480
* feat(web): remove dead dependencies by @asukaminato0721 in https://github.com/langgenius/dify/pull/26484
* fix: style with self-start by @crazywoola in https://github.com/langgenius/dify/pull/26492
* add back babel/core by @asukaminato0721 in https://github.com/langgenius/dify/pull/26489
* minor fix: improve check_upgradable_plugin_task.py by @NeatGuyCoding in https://github.com/langgenius/dify/pull/26468
* Fix: Remove workflow/nodes from pyright exclusion by @asukaminato0721 in https://github.com/langgenius/dify/pull/26461
* chore: remove pnpm build from dev-setup command by @laipz8200 in https://github.com/langgenius/dify/pull/26504
* fix(datasets): Resolve issue where selected list is not updated when deleting a single file by @HyaCiovo in https://github.com/langgenius/dify/pull/26502
* fix: add missing key prop to TabPanel and initialize useRef with null by @lyzno1 in https://github.com/langgenius/dify/pull/26517
* chore(devcontainer): update Python base image from bullseye to bookworm in Dockerfile by @rluncasu in https://github.com/langgenius/dify/pull/26519
* Feature add test containers enable segments to index task by @NeatGuyCoding in https://github.com/langgenius/dify/pull/26539
* chore(web): update Next.js to 15.5.4 and unify Lexical to 0.36.2 by @lyzno1 in https://github.com/langgenius/dify/pull/26541
* Revert "fix: sync FileUploader context with props to fix inconsistent file parameter state in “View cached variables”." by @crazywoola in https://github.com/langgenius/dify/pull/26548
* Exclude tests directory from pyright type checking by @asukaminato0721 in https://github.com/langgenius/dify/pull/26496
* fix: delete useless db session commit by @yihong0618 in https://github.com/langgenius/dify/pull/26572
* Feature add test containers mail email code login task by @NeatGuyCoding in https://github.com/langgenius/dify/pull/26580
* Feature add test containers mail account deletion task 1858 by @NeatGuyCoding in https://github.com/langgenius/dify/pull/26555
* refactor(docs): Reorganize documentation with standard language codes by @lyzno1 in https://github.com/langgenius/dify/pull/26534
* chore: update Dockerfile to use Python 3.12-bookworm and refactor layout logic to utilize ELK for improved node layout by @ZeroZ-lab in https://github.com/langgenius/dify/pull/26522
* Removes the 'extensions' directory from pyrightconfig.json and fixes … by @asukaminato0721 in https://github.com/langgenius/dify/pull/26512
* chore: fix basedwright style warning for opendal.layers imports by @bowenliang123 in https://github.com/langgenius/dify/pull/26596
* chore: Raise default string length limits by @laipz8200 in https://github.com/langgenius/dify/pull/26592
* chore: Avoid directly using OpenAI dependencies by @IthacaDream in https://github.com/langgenius/dify/pull/26590
* chore: remove explicit dependency on the fastapi framework by @IthacaDream in https://github.com/langgenius/dify/pull/26609
* chore(deps): bump react-easy-crop from 5.5.0 to 5.5.3 in /web by @dependabot[bot] in https://github.com/langgenius/dify/pull/26602
* chore(deps): bump azure-storage-blob from 12.13.0 to 12.26.0 in /api by @dependabot[bot] in https://github.com/langgenius/dify/pull/26603
* delete unnecessary db merge by @IthacaDream in https://github.com/langgenius/dify/pull/26588
* Feature add test containers mail change mail task by @NeatGuyCoding in https://github.com/langgenius/dify/pull/26570
* Feature add test containers mail inner task by @NeatGuyCoding in https://github.com/langgenius/dify/pull/26622
* fix bug 26613: get wrong credentials with multiple authorizations plugin by @dickens88 in https://github.com/langgenius/dify/pull/26615
* fix: two functions comments doc is not right by @yihong0618 in https://github.com/langgenius/dify/pull/26624
* chore(deps-dev): bump babel-loader from 9.2.1 to 10.0.0 in /web by @dependabot[bot] in https://github.com/langgenius/dify/pull/26601
* chore(deps): bump esdk-obs-python from 3.24.6.1 to 3.25.8 in /api by @dependabot[bot] in https://github.com/langgenius/dify/pull/26604
* feat: optimize the page jump logic to prevent unnecessary jumps. by @ruanimal in https://github.com/langgenius/dify/pull/26481
* perf(web): improve app workflow build performance. by @zhyd1997 in https://github.com/langgenius/dify/pull/26310
* refactor: Enable type checking for dataset config manager by @asukaminato0721 in https://github.com/langgenius/dify/pull/26494
* feat: remove unused python dependency by @asukaminato0721 in https://github.com/langgenius/dify/pull/26629
* Feature add test containers mail invite task by @NeatGuyCoding in https://github.com/langgenius/dify/pull/26637
* chore: improve bool input of start node by @hjlarry in https://github.com/langgenius/dify/pull/26647
* fix: missing LLM node output var description by @hjlarry in https://github.com/langgenius/dify/pull/26648
* fix oxlint warnings by @asukaminato0721 in https://github.com/langgenius/dify/pull/26634
* fix: drop useless logger code by @yihong0618 in https://github.com/langgenius/dify/pull/26650
* feat: add HTTPX client instrumentation for OpenTelemetry by @qiqizjl in https://github.com/langgenius/dify/pull/26651
* fix: check allowed file extensions in rag transform pipeline and use set type instead of list for performance in file extensions  by @bowenliang123 in https://github.com/langgenius/dify/pull/26593
* Refactor: Remove reportUnnecessaryContains from pyrightconfig.json by @asukaminato0721 in https://github.com/langgenius/dify/pull/26626
* fix: add missing toType to `toolCredentialToFormSchemas` by @jingfelix in https://github.com/langgenius/dify/pull/26681
* refactor(types): remove `any` usages and strengthen typings across web and base by @ZeroZ-lab in https://github.com/langgenius/dify/pull/26677
* Refactor: Remove unnecessary casts and tighten type checking by @asukaminato0721 in https://github.com/langgenius/dify/pull/26625
* feat: update HTTP timeout configurations and enhance timeout input handling in UI by @linancn in https://github.com/langgenius/dify/pull/26685
* fix: restore array flattening behavior in iteration node by @Nov1c444 in https://github.com/langgenius/dify/pull/26695
* fix: drop useless logic by @yihong0618 in https://github.com/langgenius/dify/pull/26678
* fix: issue w/ timepicker by @crazywoola in https://github.com/langgenius/dify/pull/26696
* feat(billing): add tax information tooltips in pricing footer by @CodingOnStar in https://github.com/langgenius/dify/pull/26705
* Fix/tool provider tag internationalization by @qiaofenlin in https://github.com/langgenius/dify/pull/26710
* Update deploy-dev.yml by @JohnJyong in https://github.com/langgenius/dify/pull/26712
* chore: translate i18n files and update type definitions by @github-actions[bot] in https://github.com/langgenius/dify/pull/26709
* refactor(api): add new endpoints for workspace management and update routing by @liugddx in https://github.com/langgenius/dify/pull/26465
* fix chunks 2 by @jubinsoni in https://github.com/langgenius/dify/pull/26623
* Refactor account models to use SQLAlchemy 2.0 dataclass mapping by @asukaminato0721 in https://github.com/langgenius/dify/pull/26415
* feat: Refactor api.add_resource to @console_ns.route decorator by @asukaminato0721 in https://github.com/langgenius/dify/pull/26386
* Fix/token exp when exchange main by @GareArc in https://github.com/langgenius/dify/pull/26708
* use model_validate by @asukaminato0721 in https://github.com/langgenius/dify/pull/26182
* fix: restore None guards for _environment_variables/_conversation_variables getters by @ACAne0320 in https://github.com/langgenius/dify/pull/25633
* removing horus eye and adding mcp icon by @jubinsoni in https://github.com/langgenius/dify/pull/25323
* pan and zoom during workflow execution by @jubinsoni in https://github.com/langgenius/dify/pull/24254
* chore: bump ruff to 0.14 by @bowenliang123 in https://github.com/langgenius/dify/pull/26063
* fix: #26668 restore manual tool parameter values by @Zedk42 in https://github.com/langgenius/dify/pull/26733
* chore: update packageManager version in package.json to pnpm@10.18.2 by @ZeroZ-lab in https://github.com/langgenius/dify/pull/26731
* fix: sync aliyun icon SVG files by @hieheihei in https://github.com/langgenius/dify/pull/26719
* fix: add z-index class to PortalToFollowElemContent for proper layering in dataset extra info component by @ZeroZ-lab in https://github.com/langgenius/dify/pull/26729
* fix: Set ApiTool’s do_http_request to do not retry. by @jiangbo721 in https://github.com/langgenius/dify/pull/26721
* part of add type to orm by @asukaminato0721 in https://github.com/langgenius/dify/pull/26262
* change all to httpx  by @asukaminato0721 in https://github.com/langgenius/dify/pull/26119
* remove .value by @asukaminato0721 in https://github.com/langgenius/dify/pull/26633
* Feature integrate alibabacloud mysql vector by @wangype in https://github.com/langgenius/dify/pull/25994
* chore(workflows): update deployment configurations for trigger dev by @Mairuis in https://github.com/langgenius/dify/pull/26753
* chore: remove unused dependencies for dagre from package.json and pnpm-lock.yaml by @ZeroZ-lab in https://github.com/langgenius/dify/pull/26755
* feat: add tracking for updated_by and updated_at fields in app models by @liugddx in https://github.com/langgenius/dify/pull/26736
* feat: add InlineDeleteConfirm base component by @lyzno1 in https://github.com/langgenius/dify/pull/26762
* chore: translate i18n files and update type definitions by @github-actions[bot] in https://github.com/langgenius/dify/pull/26763
* feat: migrate Python SDK to httpx with async/await support by @lyzno1 in https://github.com/langgenius/dify/pull/26726
* fix enum and type by @NeatGuyCoding in https://github.com/langgenius/dify/pull/26756
* refactor: simplify InlineDeleteConfirm component structure by @lyzno1 in https://github.com/langgenius/dify/pull/26771
* fix: happy-dom version by @crazywoola in https://github.com/langgenius/dify/pull/26764
* chore(deps): bump @lexical/utils from 0.36.2 to 0.37.0 in /web by @dependabot[bot] in https://github.com/langgenius/dify/pull/26801
* chore(deps-dev): bump knip from 5.64.1 to 5.64.3 in /web by @dependabot[bot] in https://github.com/langgenius/dify/pull/26802
* chore(deps): bump opik from 1.7.43 to 1.8.72 in /api by @dependabot[bot] in https://github.com/langgenius/dify/pull/26804
* Fix typo: reponse to response by @opeco17 in https://github.com/langgenius/dify/pull/26792
* Issue 23579 by @asukaminato0721 in https://github.com/langgenius/dify/pull/26777
* perf(web): split constant files to improve web performance by @yangzheli in https://github.com/langgenius/dify/pull/26794
* refactor: use dynamic max characters for chunking in extractors by @liugddx in https://github.com/langgenius/dify/pull/26782
* fix RetrievalMethod StrEnum by @asukaminato0721 in https://github.com/langgenius/dify/pull/26768
* refactor: use libs.login current_user in console controllers  by @AsperforMias in https://github.com/langgenius/dify/pull/26745
* feat: enhance DataSources component with marketplace plugin integration and search filtering by @WTW0313 in https://github.com/langgenius/dify/pull/26810
* fix: update tooltip for chunk structure in knowledge base component by @WTW0313 in https://github.com/langgenius/dify/pull/26808
* fix: invalid data source list in plugin refresh hook by @WTW0313 in https://github.com/langgenius/dify/pull/26813
* fix:  external knowledge url check ssrf by @mrdear in https://github.com/langgenius/dify/pull/26789
* fix: use enum .value strings in retrieval-setting API to fix JSON serialization error by @qiaofenlin in https://github.com/langgenius/dify/pull/26785
* Fix/web app permission check by @douxc in https://github.com/langgenius/dify/pull/26821
* chore: Correct padding in embedded chatbot by @DavideDelbianco in https://github.com/langgenius/dify/pull/26832
* fix: Don't hide chat streaming loader on '\n' content by @DavideDelbianco in https://github.com/langgenius/dify/pull/26829
* fix: avoid closing shared session during embeddings by @minglu7 in https://github.com/langgenius/dify/pull/26830
* chore: Fix chat-input-area resize by @DavideDelbianco in https://github.com/langgenius/dify/pull/26824
* feat: Cache AppQueueManager.is_stopped() to reduce unnecessary Redis … by @ruanimal in https://github.com/langgenius/dify/pull/26778
* chore: Don't show chat input area scrollbar overflow by @DavideDelbianco in https://github.com/langgenius/dify/pull/26828
* chore: Fix 25795 by @DavideDelbianco in https://github.com/langgenius/dify/pull/26823
* fix: files/support-type JSON serialization error by @hieheihei in https://github.com/langgenius/dify/pull/26842
* Use hook to get userid by @asukaminato0721 in https://github.com/langgenius/dify/pull/26839
* fix: Chat Opener visibility flickering by @DavideDelbianco in https://github.com/langgenius/dify/pull/26836
* refactor: streamline database session usage in batch_create_segment_to_index_task by @liugddx in https://github.com/langgenius/dify/pull/26795
* Add timeout so any plugin daemon call (including the SSE path) that legitimately takes longer than 5s would right. by @Eric-Guo in https://github.com/langgenius/dify/pull/26852
* Feature add test containers mail owner transfer task by @NeatGuyCoding in https://github.com/langgenius/dify/pull/26854
* fix: Validate transfer method in file mapping and improve file input handling by @liugddx in https://github.com/langgenius/dify/pull/26848
* fix: Do not show the toggle button for chat input when all input hidden by @DavideDelbianco in https://github.com/langgenius/dify/pull/26826
* feat: add Tencent Cloud APM tracing integration by @minimAluminiumalism in https://github.com/langgenius/dify/pull/25657
* Weaviate update version by @DhruvGorasiya in https://github.com/langgenius/dify/pull/25447
* chore: translate i18n files and update type definitions by @github-actions[bot] in https://github.com/langgenius/dify/pull/26859
* fix: use account id in workflow app log filter by @hj24 in https://github.com/langgenius/dify/pull/26811
* feat: add Knip configuration for dead code detection and remove unused icon components by @ZeroZ-lab in https://github.com/langgenius/dify/pull/26758
* fix: correct indentation in JSON payloads by @ZeroZ-lab in https://github.com/langgenius/dify/pull/26871
* fix: when create provider credential set the provider record to vaild by @hjlarry in https://github.com/langgenius/dify/pull/26868
* example to auto rollback by @asukaminato0721 in https://github.com/langgenius/dify/pull/26200
* Remove unused after_request hooks from console API keys by @laipz8200 in https://github.com/langgenius/dify/pull/26896
* Fix/remove logo in withoutbrand template by @TonloOO in https://github.com/langgenius/dify/pull/26882
* minor fix: test cases for alibabacloud mysql and chinese translations by @NeatGuyCoding in https://github.com/langgenius/dify/pull/26902
* Normalize null metadata handling in tool entities by @laipz8200 in https://github.com/langgenius/dify/pull/26890
* fix: replace CodeGroup's POST /meta with GET /site by @yamachu in https://github.com/langgenius/dify/pull/26886
* chore: bump pnpm version by @lyzno1 in https://github.com/langgenius/dify/pull/26905
* chore: remove redundant dependencies by @Nov1c444 in https://github.com/langgenius/dify/pull/26907
* fix: workflow token usage by @kenwoodjw in https://github.com/langgenius/dify/pull/26723
* refactor: Update Firecrawl to use v2 API by @ftonato in https://github.com/langgenius/dify/pull/24734
* allow editing of hidden inputs in preview by @jubinsoni in https://github.com/langgenius/dify/pull/24370
* feat(agent): similar to the start node of workflow, agent variables also support drag-and-drop by @yangzheli in https://github.com/langgenius/dify/pull/26899
* chore: translate i18n files and update type definitions by @github-actions[bot] in https://github.com/langgenius/dify/pull/26916
* chore: add type-check script to package.json for TypeScript validation by @ZeroZ-lab in https://github.com/langgenius/dify/pull/26929
* fix: enhance dataset menu and add service API translations by @WTW0313 in https://github.com/langgenius/dify/pull/26931
* Fix: check external commands after node completion by @laipz8200 in https://github.com/langgenius/dify/pull/26891
* chore: remove unused icon components and related features from the co… by @ZeroZ-lab in https://github.com/langgenius/dify/pull/26933
* add app mode for message by @zyssyz123 in https://github.com/langgenius/dify/pull/26876
* fix plugin installation permissions when using a local pkg by @zhangx1n in https://github.com/langgenius/dify/pull/26822
* feat: run with params from logs by @wellCh4n in https://github.com/langgenius/dify/pull/26787
* fix: update load balancing configurations with new credential IDs and… by @GareArc in https://github.com/langgenius/dify/pull/26900
* use deco to avoid current_user by @asukaminato0721 in https://github.com/langgenius/dify/pull/26077
* refactor: update TypeScript definitions for custom JSX elements and clean up global declarations in emoji picker by @ZeroZ-lab in https://github.com/langgenius/dify/pull/26985
* Fix: avoid duplicate response_chunk update in `convert_stream_simple_response` by @hyongtao-code in https://github.com/langgenius/dify/pull/26965
* Update email templates to improve clarity and consistency in messagin… by @GareArc in https://github.com/langgenius/dify/pull/26970
* Fix dispatcher idle hang and add pytest timeouts by @laipz8200 in https://github.com/langgenius/dify/pull/26998
* refactor: improve TypeScript types for NodeCardProps and debug configuration context by @ZeroZ-lab in https://github.com/langgenius/dify/pull/27001
* Fixed Weaviate no module found issue (issue #26938) by @DhruvGorasiya in https://github.com/langgenius/dify/pull/26964
* fix: logical error in Weaviate distance calculation by @DhruvGorasiya in https://github.com/langgenius/dify/pull/27019
* Chore: remove unused class-level variables in DatasourceManager by @hyongtao-code in https://github.com/langgenius/dify/pull/27011
* Fix: User Context Loss When Invoking Workflow Tool Node in Knowledge … by @quicksandznzn in https://github.com/langgenius/dify/pull/26495
* fix 27003 by @asukaminato0721 in https://github.com/langgenius/dify/pull/27005
* fix: remove unnecessary properties from condition draft by @liugddx in https://github.com/langgenius/dify/pull/27009
* Restore coverage for skipped workflow tests by @laipz8200 in https://github.com/langgenius/dify/pull/27018
* Fix type error by @ZeroZ-lab in https://github.com/langgenius/dify/pull/27024
* fix: happy-dom security issues by @iamjoel in https://github.com/langgenius/dify/pull/27037
* fix: show 'Invalid email or password' error tip when web app login failed by @douxc in https://github.com/langgenius/dify/pull/27034
* Feature: add test containers based tests for mail register tasks by @NeatGuyCoding in https://github.com/langgenius/dify/pull/27040
* Fix type error by @ZeroZ-lab in https://github.com/langgenius/dify/pull/27044
* fix: update TopK and Score Threshold components to use InputNumber and improve value handling by @WTW0313 in https://github.com/langgenius/dify/pull/27045
* fix: improve URL validation logic in validateRedirectUrl function by @ZeroZ-lab in https://github.com/langgenius/dify/pull/27058
* Chore: remove redundant tenant lookup in APIBasedExtensionAPI.post by @hyongtao-code in https://github.com/langgenius/dify/pull/27067
* fix: allow optional config parameter and conditionally include message file ID by @liugddx in https://github.com/langgenius/dify/pull/26960
* feat: implement strict type validation for remote file uploads by @liugddx in https://github.com/langgenius/dify/pull/27010
* fix: https://github.com/langgenius/dify/issues/27063 by @fatelei in https://github.com/langgenius/dify/pull/27074
* Sync same logic for datasets. by @Eric-Guo in https://github.com/langgenius/dify/pull/27056
* Fix json in md when use quesion classifier node by @rouxiaomin in https://github.com/langgenius/dify/pull/26992
* Fix type-check  error  by @ZeroZ-lab in https://github.com/langgenius/dify/pull/27051
* Feat/add status filter to workflow runs by @twjackysu in https://github.com/langgenius/dify/pull/26850
* fix(web): resolve TypeScript type errors in workflow components by @ZeroZ-lab in https://github.com/langgenius/dify/pull/27086
* doc: add Grafana dashboard template link to docs by @bowenliang123 in https://github.com/langgenius/dify/pull/27079
* fluent api by @asukaminato0721 in https://github.com/langgenius/dify/pull/27093
* fix(api): ensure JSON responses are properly serialized in ApiTool by @QuantumGhost in https://github.com/langgenius/dify/pull/27097
* refactor: replace localStorage with HTTP-only cookies for auth tokens by @laipz8200 in https://github.com/langgenius/dify/pull/24365
* feat(graph_engine): Support pausing workflow graph executions by @laipz8200 in https://github.com/langgenius/dify/pull/26585
* docs: mention backend lint gate in AGENTS by @laipz8200 in https://github.com/langgenius/dify/pull/27102
* chore(deps): bump @lexical/selection from 0.36.2 to 0.37.0 in /web by @dependabot[bot] in https://github.com/langgenius/dify/pull/27108
* chore(deps): bump html-to-image from 1.11.11 to 1.11.13 in /web by @dependabot[bot] in https://github.com/langgenius/dify/pull/27109
* chore(deps): bump pydantic-settings from 2.9.1 to 2.11.0 in /api by @dependabot[bot] in https://github.com/langgenius/dify/pull/27114
* chore(deps-dev): bump cross-env from 7.0.3 to 10.1.0 in /web by @dependabot[bot] in https://github.com/langgenius/dify/pull/27112
* chore(deps): bump immer from 9.0.21 to 10.1.3 in /web by @dependabot[bot] in https://github.com/langgenius/dify/pull/27113
* chore: improve storybook by @hjlarry in https://github.com/langgenius/dify/pull/27111
* Fix frontend type error by @ZeroZ-lab in https://github.com/langgenius/dify/pull/27116
* Revert "chore(deps): bump immer from 9.0.21 to 10.1.3 in /web" by @crazywoola in https://github.com/langgenius/dify/pull/27119
* fix: handle None values in dataset and document deletion logic by @liugddx in https://github.com/langgenius/dify/pull/27083
* fix: update attribute types to allow undefined values in icon utilities by @ZeroZ-lab in https://github.com/langgenius/dify/pull/27121
* Ensure suggested questions parser returns typed sequence by @laipz8200 in https://github.com/langgenius/dify/pull/27104
* fix: immer version and ref in code base by @crazywoola in https://github.com/langgenius/dify/pull/27130
* fix variable-truncator max size comments by @hj24 in https://github.com/langgenius/dify/pull/27129
* fix: support structured output in streaming mode for LLM node by @white-loub in https://github.com/langgenius/dify/pull/27089
* fix: delete migrate sync data script by @zyssyz123 in https://github.com/langgenius/dify/pull/27061
* fix(web): improve UI consistency and remove related unused icons by @yangzheli in https://github.com/langgenius/dify/pull/27004
* fix: ensure document re-querying in indexing process for consistency by @liugddx in https://github.com/langgenius/dify/pull/27077
* Fix type error 5 by @ZeroZ-lab in https://github.com/langgenius/dify/pull/27139
* feat(web): Add parameter rendering to MCP tool item component by @croatialu in https://github.com/langgenius/dify/pull/27099
* Allow custom app headers in CORS configuration by @laipz8200 in https://github.com/langgenius/dify/pull/27133
* chore: translate i18n files and update type definitions by @github-actions[bot] in https://github.com/langgenius/dify/pull/27141
* chore: use new api to check login status by @iamjoel in https://github.com/langgenius/dify/pull/27143
* chore: add more stories by @hjlarry in https://github.com/langgenius/dify/pull/27142
* fix: parameter extractor instructions placeholder not replaced (#26235) by @fengb3 in https://github.com/langgenius/dify/pull/27135
* Fix type error  by @ZeroZ-lab in https://github.com/langgenius/dify/pull/27152
* fix: infinite reload by @iamjoel in https://github.com/langgenius/dify/pull/27150
* rm type ignore by @asukaminato0721 in https://github.com/langgenius/dify/pull/25715
* Add workflow graph validation checks by @laipz8200 in https://github.com/langgenius/dify/pull/27106
* Fix vs code and using min version after bump @remixicon/react and @monaco-editor/loader by @Eric-Guo in https://github.com/langgenius/dify/pull/27008
* fix: passport outdate caused webapp reload by @iamjoel in https://github.com/langgenius/dify/pull/27175
* fix: remove login status api by @wylswz in https://github.com/langgenius/dify/pull/27177
* fix: infinite jump to login url by @iamjoel in https://github.com/langgenius/dify/pull/27178
* Fix: release WorkflowTool database sessions promptly by @laipz8200 in https://github.com/langgenius/dify/pull/26893
* fix: handle exceptions during loop break condition evaluation by @liugddx in https://github.com/langgenius/dify/pull/26961
* remove built-in pipeline template user field by @JohnJyong in https://github.com/langgenius/dify/pull/27184
* chore: update support channels by @nite-knite in https://github.com/langgenius/dify/pull/27188
* Feature:during account initialization, set the interface language to be consistent with the display language(#27029)  by @feelshana in https://github.com/langgenius/dify/pull/27042
* Fix: surface workflow container LLM usage by @laipz8200 in https://github.com/langgenius/dify/pull/27021
* Fix variable truncator handling for UpdatedVariable by @laipz8200 in https://github.com/langgenius/dify/pull/27197
* chore: switch support channels according to configuration by @nite-knite in https://github.com/langgenius/dify/pull/27195
* fix: eagerly load EndUser attributes to prevent DetachedInstanceError by @liugddx in https://github.com/langgenius/dify/pull/27162
* fix(storybook): add required handler props and fix TypeScript errors in component stories by @ZeroZ-lab in https://github.com/langgenius/dify/pull/27187
* add billing enable check by @JohnJyong in https://github.com/langgenius/dify/pull/27213
* Feat/add celery prefetch setting by @JohnJyong in https://github.com/langgenius/dify/pull/27218
* chore: align version identifiers with 1.9.2 by @laipz8200 in https://github.com/langgenius/dify/pull/27212
* knowledge-pipeline-for-enterprise by @GarfieldDai in https://github.com/langgenius/dify/pull/27240
* feat: Enhance knowledge base node validation by adding checks for embedding and reranking models by @WTW0313 in https://github.com/langgenius/dify/pull/27241
* chore: adjust the route scope for loading Zendesk scripts by @nite-knite in https://github.com/langgenius/dify/pull/27244
* chore: hide useless error info in login page by @iamjoel in https://github.com/langgenius/dify/pull/27245
* chore: translate i18n files and update type definitions by @github-actions[bot] in https://github.com/langgenius/dify/pull/27243
* Fix type error  by @ZeroZ-lab in https://github.com/langgenius/dify/pull/27217
* fix: fix OpenAPI Schema Import Pydantic Validation Errors for Complex Default Values by @yinxulai in https://github.com/langgenius/dify/pull/27159
* Fix type error  by @ZeroZ-lab in https://github.com/langgenius/dify/pull/27250
* fix:restore correct numeric values for ParamsAutoGenerated by @cuixiaojun001 in https://github.com/langgenius/dify/pull/27252
* fix: preserve share code headers after login redirect by @laipz8200 in https://github.com/langgenius/dify/pull/27225

## New Contributors
* @casio12r made their first contribution in https://github.com/langgenius/dify/pull/25583
* @zlyszx made their first contribution in https://github.com/langgenius/dify/pull/25783
* @rluncasu made their first contribution in https://github.com/langgenius/dify/pull/26519
* @ruanimal made their first contribution in https://github.com/langgenius/dify/pull/26481
* @zhyd1997 made their first contribution in https://github.com/langgenius/dify/pull/26310
* @linancn made their first contribution in https://github.com/langgenius/dify/pull/26685
* @CodingOnStar made their first contribution in https://github.com/langgenius/dify/pull/26705
* @Zedk42 made their first contribution in https://github.com/langgenius/dify/pull/26733
* @wangype made their first contribution in https://github.com/langgenius/dify/pull/25994
* @opeco17 made their first contribution in https://github.com/langgenius/dify/pull/26792
* @AsperforMias made their first contribution in https://github.com/langgenius/dify/pull/26745
* @mrdear made their first contribution in https://github.com/langgenius/dify/pull/26789
* @DhruvGorasiya made their first contribution in https://github.com/langgenius/dify/pull/25447
* @hj24 made their first contribution in https://github.com/langgenius/dify/pull/26811
* @yamachu made their first contribution in https://github.com/langgenius/dify/pull/26886
* @fatelei made their first contribution in https://github.com/langgenius/dify/pull/27074
* @twjackysu made their first contribution in https://github.com/langgenius/dify/pull/26850
* @white-loub made their first contribution in https://github.com/langgenius/dify/pull/27089
* @fengb3 made their first contribution in https://github.com/langgenius/dify/pull/27135
* @feelshana made their first contribution in https://github.com/langgenius/dify/pull/27042
* @yinxulai made their first contribution in https://github.com/langgenius/dify/pull/27159
* @cuixiaojun001 made their first contribution in https://github.com/langgenius/dify/pull/27252

**Full Changelog**: https://github.com/langgenius/dify/compare/1.9.1...1.9.2

Related Repositories