## langgenius/dify — 1.16.0…1.16.1

_262+ commits._

### Features
- **feat(plugin): allow disabling the tenant plugin model providers cache (#39632)** (a57b0b9)
- **feat: add bearer auth to agent backend (#39622)** (3c80857)
- **feat(agent): add a squid proxy for agent sandbox (#39544)** (e1b55f5)
- **feat: add amptitude to new agent (#39608)** (52428df)
- **feat(inner_api): add endpoint to invalidate plugin model providers cache (#39468)** (b6099d0)
- **feat(api): expose app mode in webapp site response (#39607)** (7e6ba05)
- **feat: add CE telemetry report (#39452)** (858b3b7)
- **feat(dataset): add document detail (#39361)** (2d5161a)
- **feat(dataset): add document processing tasks (#39326)** (799c7ee)
- **feat(dataset): add crawl source selection (#39325)** (eac9f69)
- **feat: knowledge add more trace (#38959)** (db29caf)
- **feat(web): locate workflow nodes by node_id in the workflow editor (#38187)** (14c50a9)
- **feat(dataset): add website crawl preview (#39324)** (ba5b26b)
- **feat(oauth): expose stable account id on provider account endpoint (#39470)** (922ed4d)
- **feat(dataset): add source connections (#39319)** (302b50c)
- **feat: gate agent management behind the agent.manage permission (#39330)** (b56ac4a)
- **feat(dataset): add New Knowledge creation flow (#39315)** (2a0661a)
- **feat: gate cloud analytics behind cookie consent (#39408)** (8d29302)
- **feat(dataset): expose New RAG KnowledgeFS contracts (#39314)** (bd8f010)
- **feat: support  tool multi-select input (#39346)** (d5788cc)
- **feat(dataset): add New Knowledge list and empty state (#39300)** (34a5ca1)

### Fixes
- **fix: fix mcp output_schema is optional (#39453)** (6f8ed69)
- **fix(cli): decouple release script tests from the live compat window (#39658)** (d8506ef)
- **fix(workflow): align block icon vector sizes (#39657)** (b25b28c)
- **fix(web): align tour trigger DOM order (#39654)** (f68cabe)
- **fix(workflow): preserve latest collaboration session (#39646)** (b6dea7b)
- **fix(ui): unify combobox trigger focus rings (#39643)** (271b6e1)
- **fix: prevent the agent build draft UI from flashing during apply (#39642)** (8de3b4d)
- **fix: gate service API, MCP and trigger surfaces on enterprise license (#39635)** (94702ef)
- **perf: add lightweight recent apps endpoint (#39625)** (b3774bf)
- **perf(web): lazy-load Home creation modals (#39634)** (4313d23)
- **fix(api): wait for workflow worker cleanup before task completion (#39614)** (26a43db)
- **fix(workflow): lazy-load Loro collaboration runtime (#39631)** (e5d4033)
- **fix(web): stop reporting workspace status (#39626)** (58e2bcb)
- **fix: use jinja sandbox (#39609)** (989039d)
- **fix: align workspace card plan ownership (#39616)** (28d1746)
- **fix(agent): expose publish state from composer (#39615)** (cc01189)
- **fix: preserve spaces during recursive text splitting (#39498)** (e4e99d1)
- **fix(rag): stop the document cleaner from stripping valid characters ï, ¿, ¾ (#39215)** (aeda37d)
- **fix: The expiration time for web app login to JWT is incorrectly set. (#39537)** (441f9f9)
- **fix(api): honor array-element limit and byte budget for list[File] in VariableTruncator (#39218) (#39220)** (f16c249)
- **fix(web): stop chunk length/overlap inputs collapsing to an unusable width in narrow containers (#39600)** (d5c0e92)
- **fix(workflow): stop dropping unsaved edits when collaboration never c… (#39579)** (75c54bd)
- **fix(web): prevent search hotkey hydration mismatch (#39574)** (99c1cb7)
- **fix(dify-ui): honor instant popup transitions (#39572)** (448e378)
- **fix(web): prevent customization horizontal overflow (#39557)** (a2d9aef)
- **fix(web): patch React Server Components DoS (#39539)** (1227f19)
- **fix: fix when tool execute in progress tool_meta miss tool_provider_type (#39513)** (5277e4b)
- **fix(agent): block unpublished agents in workflows (#39532)** (a877e1b)
- **fix(agent-v2): link API reference to agent guide (#39534)** (dcd40d6)
- **fix: include CSRF token when fetching skill file content (#39527)** (8ef002f)
- **fix(web): hydrate workspace permissions before navigation render (#39524)** (4e85acc)
- **fix(web): allow clipboard writes in embedded apps (#39511)** (a2c6737)
- **fix: prevent agent preview actions from being clipped (#39510)** (e1495c0)
- **fix: audio config ui problem (#39504)** (b2861b6)
- **fix: don't open the node settings panel when clicking a node in comment mode (#39500)** (3cbe49b)
- **fix: download skill files through authenticated API requests (#39499)** (dd19b4f)
- **fix(api): make the 10-minute email IP first-strike window take effect (#39479)** (e4dc29f)
- **fix: smooth the preview-to-build transition (#39495)** (6889974)
- **fix: return disabled auto-upgrade settings when strategy is missing (#39494)** (aef1c67)
- **fix: don't close the active comment panel when a different comment is resolved (#39491)** (3ab9e08)
- **fix(web): simplify agent configure mode state (#39492)** (6e2c21f)
- **fix: prevent build reset from clearing preview chat (#39490)** (abbad7b)
- **fix(web): adapt workflow agent logs (#39488)** (c4bfea6)
- **fix(agent): show workflow node runs in logs (#39471)** (a8a83a3)
- **fix: chat not pass doc if not support vision (#39461)** (2beafdc)
- **fix(agent): start new Preview conversations without an ID (#39463)** (0198e32)
- **fix(web): echo OAuth state on authorize redirect (#39459)** (b8f91d0)
- **fix(api): prevent identity logging deadlock (#39449)** (452dff5)
- **fix(web): support TTS playback in Safari and Firefox (#39444)** (00fe963)
- **fix: use re.fullmatch in email validator to reject trailing newlines (#39234) (#39320)** (1835e8e)
- **fix(auth): validate account before accepting invitations (#39438)** (2b8e40a)
- **fix(workflow): hide Agent V2 in chatflow (#39439)** (625ed2a)
- **fix(api): send valid body in external knowledge validation probe (#39410)** (da2177c)
- **fix(web): improve import DSL dialog states (#39432)** (6736f40)
- **fix(dify-ui): preserve link semantics in button story (#39430)** (018fe7a)
- **fix(agent): refresh stale inline preview drafts (#39415)** (4da4fa7)
- **fix: prevent RBAC role names overflowing settings panel (#39412)** (8853ed9)
- **fix(web): improve DSL export feedback (#39409)** (62db37c)

### Tests
- **test: use SQLite sessions in core app (#39075)** (f73f83c)
- **test: use SQLite sessions in core tools (#39077)** (29801d6)
- **test: use SQLite sessions in core ops (#39072)** (75016e8)
- **test: use SQLite sessions in controllers service api (#39069)** (ca63e01)
- **test: use SQLite sessions in core memory (#39066)** (609ddf9)
- **test: use SQLite sessions in services core (#39057)** (9fd1fea)
- **test: use SQLite sessions in rag retrieval (#39049)** (c9c057f)
- **test: use sqlite3 session in test_extract_thread_messages (#38739)** (01e736a)
- **test: use sqlite3 session in test_api (#38733)** (42f9610)
- **test: use sqlite3 session in test_workflow_comment_service (#38700)** (755f7b0)
- **test: use sqlite3 session in test_llm_generator_missing (#38742)** (a1c9564)
- **test: use sqlite3 session in test_utils (#38729)** (97acd9c)
- **test: use sqlite3 session in test_draft_var_loader_simple (#38702)** (71601bf)
- **test: use sqlite3 session in test_workflow_run_service (#38701)** (460efbf)
- **test: use pristine file-backed SQLite fixtures (#39624)** (a752f43)
- **test: use sqlite3 session in test_message_service (#38698)** (b81737c)
- **test: use sqlite3 session in test_snippet (#38691)** (e5496e0)
- **test: use sqlite3 session in test_pipeline_template_base (#38730)** (99ed826)
- **test: use sqlite3 session in test_workflow_node_execution_offload (#38728)** (a45f862)
- **test: use sqlite3 session in test_encrypter (#38726)** (00496ec)
- **test: use sqlite3 session in test_llm_quota (#38720)** (58592e1)
- **test: use sqlite3 session in test_metadata_nullable_bug (#38717)** (e6efbb0)
- **test: use sqlite3 session in test_wraps (#38716)** (662a772)
- **test: use sqlite3 session in test_easy_ui_message_end_files (#38706)** (c2d560e)
- **test: use sqlite3 session in test_workflow_execute_task (#38704)** (ca1782b)
- **test: use sqlite3 session in test_webhook_service (#38699)** (8caa1d1)
- **test: use sqlite3 session in test_human_input_service (#38697)** (fa000ae)
- **test: use sqlite3 session in test_datasource_provider_service (#38695)** (8906a49)
- **test: use caplog in ext login tests (#39542)** (a0b9174)
- **test(e2e): wait for app list before menu interaction (#39538)** (a570376)
- **test: use sqlite3 session in test_base_trace_instance (#38744)** (bbb133c)
- **test: use sqlite3 session in test_async_workflow_service (#38692)** (fd70373)
- **test: use sqlite3 session in test_hitl_service_api (#38685)** (82c8741)
- **test: use sqlite3 session in test_conversation (#38684)** (78023bf)
- **test: move password reset coverage to unit tests (#38936)** (0ad9855)
- **test: use sqlite3 session in test_workflow_events_openapi (#38683)** (1271cfc)
- **test: use sqlite3 session in test_runtime_credentials (#38682)** (2a0b1a8)
- **test: use sqlite3 session in test_plugin_wraps (#38681)** (4a2e92f)
- **test: use sqlite3 session in test_init_validate (#38680)** (84889b8)
- **test: use sqlite3 session in test_tags (#38679)** (6f034d2)
- **test: use sqlite3 session in test_app_import_api (#38674)** (f91ea49)
- **test: use sqlite3 session in test_snippet_workflow_draft_variable (#38678)** (de07730)

### Docs
- **docs: Broken Grafana link in Turkish README (placeholder text instead of URL) (#39575)** (8511a31)
- **docs: fix typos in ValueSourceType docstring  (#39573)** (ac0320a)

### Chore
- **chore: bump version to 1.16.1 (#39653)** (59b879d)
- **chore: update workspace dependencies (#39641)** (b2b1cd7)
- **chore(deps): bump the storage group across 1 directory with 3 updates (#39604)** (d9c038d)
- **chore: bump pymdown-extensions from 10.21.2 to 11.0 in /dify-agent (#39618)** (85189be)
- **chore(deps): bump golang.org/x/net from 0.53.0 to 0.55.0 in /dify-agent-runtime (#39025)** (a28969f)
- **chore: bump gitpython from 3.1.52 to 3.1.54 in /api (#39619)** (1a7ffbe)
- **refactor: make agent composer save and publish state consistent (#39637)** (481354c)
- **chore(deps): bump the github-actions-dependencies group with 6 updates (#39603)** (2962a7e)
- **chore: bump pypdf from 6.10.2 to 6.14.2 in /dify-agent (#39502)** (d563d6e)
- **refactor(web): simplify Dify logo theming (#39580)** (34e6e5a)
- **refactor(workflow): remove hook barrel exports (#39588)** (119b653)
- **refactor: move trial app capability out of system features (#39562)** (c61d33f)
- **refactor(agents): simplify repository context (#39583)** (fd2e26f)
- **chore(agent): update && simplify readme (#39584)** (1d34184)
- **chore: Broken docker-compose.yaml link in Hindi README (missing slash) (#39576)** (4a44bef)
- **chore: Grammar fix in VDB provider README ("a importable") (#39577)** (5aa2092)
- **refactor(web): migrate vector space billing query to contract client (#39558)** (c56ac39)
- **refactor: remove backend-only system feature fields (#39543)** (aff5c47)
- **refactor(web): remove obsolete route prefix handler (#39545)** (58f83fa)
- **chore: add web shell code owners (#39526)** (b1dec5b)
- **chore(web): improve web accessibility semantics (#39505)** (7bb09ce)
- **chore: add deploy-knowledge.yml (#39509)** (ededa1f)
- **refactor: centralize deployment edition in system features (#39454)** (66a545f)
- **chore: support preview mode if not in community version (#39399)** (34e2205)
- **chore: avoid duplicate token counting during dataset indexing (#39466)** (43254c1)
- **chore: improve lambda plugin runtime error display (#39437)** (a3c18c5)
- **chore(api): cloud use presigned download url on api site (#39436)** (45711eb)

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