# Dify 1.16.1 — Release v1.16.1 - Bug Fixes and Security Enhancements - Product: Dify (https://whatsnew.fyi/product/dify) - Vendor: LangGenius - Date: 2026-07-28 - Version: 1.16.1 - Original notes: https://github.com/langgenius/dify/releases/tag/1.16.1 - Permalink: https://whatsnew.fyi/product/dify/releases/1.16.1 What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **added** — Workflow tool nodes now support multi-select dropdown inputs for choosing multiple values from a predefined list when configuring tool parameters - **added** — Click a node_id in workflow run logs or error messages to locate and highlight the corresponding node in the workflow editor canvas - **added** — Block selector panel now features improved keyboard navigation, category previews, and a more intuitive search experience when adding nodes to workflows - **added** — Agent apps can now be exported as DSL YAML directly from the app sidebar menu - **added** — Added more observability traces to knowledge/RAG document processing operations - **fixed** — Fixed hidden-tab collaboration leader saving stale drafts when the tab is inactive - **fixed** — Fixed unsaved edits being dropped when collaboration never connects - **fixed** — Preserved latest collaboration session after reconnection - **fixed** — Fixed false draft save error during Strict Mode initialization - **fixed** — Show persistent error notification when workflow draft save fails - **fixed** — Wait for workflow worker threads to finish before Celery tasks complete, preventing orphaned executions - **fixed** — Lazy-load Loro collaboration runtime to reduce initial bundle size - **fixed** — Don't open node settings panel when clicking a node in comment mode - **fixed** — Don't close active comment panel when a different comment is resolved - **fixed** — Fixed document cleaner stripping valid characters ï, ¿, ¾ - **fixed** — Preserved spaces during recursive text splitting - **fixed** — Used flush() instead of commit() in dataset service to preserve caller transaction boundaries - **fixed** — Sent valid body in external knowledge validation probe - **fixed** — Fixed agent preview: start new Preview conversations without inheriting an old ID - **fixed** — Fixed agent chat input being replaced when conversation history updates ##### What's Changed ###### New Features **Tool Multi-Select Input** - Workflow tool nodes now support multi-select dropdown inputs, allowing users to choose multiple values from a predefined list when configuring tool parameters. (#39346) **Workflow Node Locator** - You can now click a node_id in workflow run logs or error messages to locate and highlight the corresponding node in the workflow editor canvas. (#38187) **Workflow Block Selector Improvements** - The block selector panel now features improved keyboard navigation, category previews, and a more intuitive search experience when adding nodes to workflows. (#39212) **Export Agent DSL from Sidebar** - Agent apps can now be exported as DSL YAML directly from the app sidebar menu, making it easy to back up or version-control agent configurations. (#39299) **Knowledge Tracing** - Added more observability traces to knowledge/RAG document processing operations, improving visibility into indexing pipelines. (#38959) --- ###### Bug Fixes **Workflow & Collaboration** - Fixed hidden-tab collaboration leader saving stale drafts when the tab is inactive (#38997) - Fixed unsaved edits being dropped when collaboration never connects (#39579) - Preserved latest collaboration session after reconnection (#39646) - Fixed false draft save error during Strict Mode initialization (#39353) - Show persistent error notification when workflow draft save fails (#39293) - Wait for workflow worker threads to finish before Celery tasks complete, preventing orphaned executions (#39614) - Lazy-load Loro collaboration runtime to reduce initial bundle size (#39631) - Don't open node settings panel when clicking a node in comment mode (#39500) - Don't close active comment panel when a different comment is resolved (#39491) **RAG & Knowledge** - Fixed document cleaner stripping valid characters ï (U+00EF), ¿ (U+00BF), ¾ (U+00BE) (#39215) - Preserved spaces during recursive text splitting (#39498) - Used `flush()` instead of `commit()` in dataset service to preserve caller transaction boundaries (#39223) - Sent valid body in external knowledge validation probe (#39410) **Agent** - Fixed agent preview: start new Preview conversations without inheriting an old ID (#39463) - Fixed agent chat input being replaced when conversation history updates (#39289) - Preserved complete model usage pricing in agent logs (#39201) - Show workflow node runs in agent execution logs (#39471) - Include workflow runs in agent monitoring stats (#39354) - Block unpublished agents from being used in workflows (#39532) - Prevent agent preview actions from being clipped (#39510) - Prevent build reset from clearing preview chat history (#39490) - Fixed agent build draft UI flashing during apply (#39642) **Web App & UI** - Fixed webapp JWT expiration time being incorrectly set (#39537) - Fixed TTS playback in Safari and Firefox (#39444) - Fixed clipboard writes failing in embedded apps (#39511) - Fixed text generation web app showing infinite loading after timeout (#39268) - Fixed chat not passing document if model doesn't support vision (#39461) - Stopped chunk length/overlap inputs collapsing to unusable width in narrow containers (#39600) - Fixed search hotkey hydration mismatch (#39574) - Improved DSL import/export dialog states (#39432, #39409) - Fixed basePath doubling in auth refresh redirects (#39273) - Show unavailable state for disabled Web Apps (#39392) - Fixed permission selector semantics (#39269) - Fixed customization page horizontal overflow (#39557) **API & Backend** - Fixed MCP tool `output_schema` being treated as required when it's optional (#39453) - Honored array-element limit and byte budget for `list[File]` in VariableTruncator (#39220) - Prevented identity logging deadlock (#39449) - Rejected `host:port`-shaped `PLUGIN_REMOTE_INSTALL_PORT` values with an actionable hint (#39329) - Fixed `PaginatedResult.pages` returning 1 inst _[Truncated at 4000 characters — full notes: https://github.com/langgenius/dify/releases/tag/1.16.1]_