1.14.0
v1.14.0
🚀 What's New in v1.14.0?
Collaboration
Collaboration allows workspace members to edit the same workflow together, with synced graph updates, online presence, and shared visibility into who is working where.
On self-hosted deployments, collaboration is turned off by default. Enable it by setting:
ENABLE_COLLABORATION_MODE = true
SERVER_WORKER_CLASS = geventwebsocket.gunicorn.workers.GeventWebSocketWorker
NEXT_PUBLIC_SOCKET_URL = your deployment’s WebSocket URL (e.g., wss://dify.example.com)
For more details, see Full Documentation
Human-in-the-loop (HITL)
- Service API for HITL — programmatic support for human-in-the-loop flows alongside existing console behavior.
MCP and plugins
- MCP tool metadata — refresh after updates so the UI stays in sync.
- MCP server URL — fix double
/v1that could break OAuth and authorization (404). - MCP OAuth discovery — handle malformed JSON safely.
- MCP schema publishing — map
checkboxandjson_objecttypes correctly. - Plugins — auto-upgrade strategy persistence, local installer and file-input behavior, tenant scoping for inner API end-user lookup.
Marketplace and OAuth
- Marketplace and OAuth — targeted fixes for marketplace flows and OAuth sign-in (including edge cases such as null email on GitHub OAuth).
UI kit and front-end platform
@langgenius/dify-ui— shared primitives (for example PreviewCard, Meter), design tokens, and broad migration from ad-hocweb/base/uitoward the package.- Accessibility — date and time pickers, auto-update strategy picker, scrollbars in plugin and model selectors, and related polish.
- Goto Anything — recent items,
/gocommand, deeper app sub-sections; fix for Cmd+K (removed problematic dynamic import). - Prompt editor — slash-triggered variable filtering; keyboard up/down in variable lists.
- Follow-up questions — improved settings and token limits for suggested questions.
- Modals — ApiKey, provider config, and others refactored toward a shared Dialog pattern with tests.
Observability and analytics
- Langfuse — optional time-to-first-token (TTFT) reporting.
- Explore — banner impression tracking; app preview event tracking on cards.
Billing and quotas
- Quota v3 integration in the product stack.
- Billing UI — Meter-based usage presentation; more resilient cleanup when billing APIs fail.
- File uploader — billing-aware behavior and copy updates.
Data, RAG, and knowledge
- Summary index and Weaviate — compatibility fixes when using the summary index with Weaviate.
- Vector projection — include
is_summaryandoriginal_chunk_idin default projection where relevant. - External and bound datasets — stronger tenant checks on knowledge APIs.
Infrastructure and operations
- Docker Compose — healthchecks for
api,worker, andworker_beat; template and env example updates (for example S3 address style). - Celery — default worker concurrency raised to 4; missing queue fix.
- PostgreSQL — higher default max connections (200) for the updated app DB path.
- Redis — configurable key prefix; retry logic for Redis operations.
- TiDB — endpoint support and related auth binding migration (Qdrant endpoint on TiDB auth bindings).
- Markdown — optional
ALLOW_INLINE_STYLESenvironment variable to allow inline CSS in rendered Markdown when needed.
Security
- Change-email flow — stricter phase-bound token handling (GHSA-4q3w-q5mc-45rq).
- IDOR hardening — tenant validation on data-source binding; dataset and API ownership checks where gaps were found.
Performance
- Optimized performance of graph initialization.
API and platform internals
- Graphon — upgrade to standalone Graphon 0.2.2 (replacing in-tree
dify_graphnaming and packaging). - OpenAPI — script to generate OpenAPI v2 JSON and documentation pointer.
- Deprecation — some legacy console APIs marked deprecated in favor of newer patterns.
- Large SQLAlchemy 2.0
select()migration, PydanticBaseModelfor many console and service responses, and testcontainers-based tests for stability.
What's Changed
- test: migrate restore archived workflow run tests to testcontainers by @YB0y in https://github.com/langgenius/dify/pull/34083
- refactor(api): continue decoupling dify_graph from API concerns by @laipz8200 in https://github.com/langgenius/dify/pull/33580
- refactor: replace dict with BedrockRetrievalSetting BaseModel in knowledge_service by @faizkhairi in https://github.com/langgenius/dify/pull/34080
- test: migrate workflow converter tests to testcontainers by @Desel72 in https://github.com/langgenius/dify/pull/34038
- refactor(api): rename dify_graph to graphon by @WH-2099 in https://github.com/langgenius/dify/pull/34095
- refactor: select in service API wraps, file_preview, and site controllers by @RenzoMXD in https://github.com/langgenius/dify/pull/34086
- test: migrate database retrieval tests to testcontainers by @YB0y in https://github.com/langgenius/dify/pull/34087
- test: migrate account deletion sync tests to testcontainers by @YB0y in https://github.com/langgenius/dify/pull/34091
- test: migrate metadata partial update tests to testcontainers by @YB0y in https://github.com/langgenius/dify/pull/34088
- test: migrate plugin parameter service tests to testcontainers by @YB0y in https://github.com/langgenius/dify/pull/34090
- test: Unit test case for services.dataset_services.py by @rajatagarwal-oss in https://github.com/langgenius/dify/pull/33212
- fix: handle null email in GitHub OAuth sign-in by @Krishnachaitanyakc in https://github.com/langgenius/dify/pull/34043
- fix: datasource api-key modal z-index incorrect by @hjlarry in https://github.com/langgenius/dify/pull/34103
- fix(prompt-editor): fix unexpected blur effect in prompt editor by @WTW0313 in https://github.com/langgenius/dify/pull/34069
- refactor: select in service API dataset document and segment controllers by @RenzoMXD in https://github.com/langgenius/dify/pull/34101
- chore(deps): bump pypdf from 6.9.1 to 6.9.2 in /api by @dependabot[bot] in https://github.com/langgenius/dify/pull/34099
- refactor: use ungh for github api by @hyoban in https://github.com/langgenius/dify/pull/34108
- fix: dataset query created_by empty UUID in iteration subgraph (#34004) by @Achieve3318 in https://github.com/langgenius/dify/pull/34044
- chore: enable no-barrel-files by @hyoban in https://github.com/langgenius/dify/pull/34121
- chore(deps): update picomatch version in nodejs-client and web packages by @WTW0313 in https://github.com/langgenius/dify/pull/34123
- fix: the menu of multi nodes always display on left top corner by @hjlarry in https://github.com/langgenius/dify/pull/34120
- refactor(web): convert 7 enums to as-const objects (batch 5) by @mahmoodhamdi in https://github.com/langgenius/dify/pull/33960
- fix: import path by @QuantumGhost in https://github.com/langgenius/dify/pull/34124
- chore: Support merge queue status checks in required CI workflows by @laipz8200 in https://github.com/langgenius/dify/pull/34133
- chore(api): remove backend utcnow usage by @laipz8200 in https://github.com/langgenius/dify/pull/34131
- chore: Keep main CI lane checks stable when skipped by @laipz8200 in https://github.com/langgenius/dify/pull/34143
- chore: remove stale mypy suppressions and align dataset service tests by @WH-2099 in https://github.com/langgenius/dify/pull/34130
- test: migrate human input delivery test service tests to testcontainers by @YB0y in https://github.com/langgenius/dify/pull/34092
- chore(deps-dev): bump nltk from 3.9.3 to 3.9.4 in /api by @dependabot[bot] in https://github.com/langgenius/dify/pull/34117
- test: migrate api key auth service tests to testcontainers by @YB0y in https://github.com/langgenius/dify/pull/34147
- refactor: use EnumText for model_type and WorkflowNodeExecution.status by @tmimmanuel in https://github.com/langgenius/dify/pull/34093
- test: migrate plugin service tests to testcontainers by @YB0y in https://github.com/langgenius/dify/pull/34098
- chore(deps): bump requests from 2.32.5 to 2.33.0 in /api by @dependabot[bot] in https://github.com/langgenius/dify/pull/34116
- test: migrate api token service tests to testcontainers by @YB0y in https://github.com/langgenius/dify/pull/34148
- chore(deps): bump brace-expansion from 5.0.4 to 5.0.5 in /sdks/nodejs-client by @dependabot[bot] in https://github.com/langgenius/dify/pull/34159
- test: migrate auth integration tests to testcontainers by @YB0y in https://github.com/langgenius/dify/pull/34089
- feat: add copy/delete to multi nodes context menu by @hjlarry in https://github.com/langgenius/dify/pull/34138
- test: use happy dom by @hyoban in https://github.com/langgenius/dify/pull/34154
- chore(ci): remove Python 3.11 from CI test workflows by @1Ckpwee in https://github.com/langgenius/dify/pull/34164
- ci: skip duplicate actions by @hyoban in https://github.com/langgenius/dify/pull/34168
- feat: return correct dify-plugin-daemon error message by @fatelei in https://github.com/langgenius/dify/pull/34171
- feat: enterprise otel exporter by @GareArc in https://github.com/langgenius/dify/pull/33138
- refactor: use EnumText for credential_type in TriggerSubscription by @tmimmanuel in https://github.com/langgenius/dify/pull/34174
- refactor: select in core/ops trace manager and trace providers by @RenzoMXD in https://github.com/langgenius/dify/pull/34197
- refactor(api): use standalone graphon package by @WH-2099 in https://github.com/langgenius/dify/pull/34209
- refactor: use EnumText for prompt_type and customize_token_strategy by @tmimmanuel in https://github.com/langgenius/dify/pull/34204
- chore(deps): bump cryptography from 44.0.3 to 46.0.6 in /api by @dependabot[bot] in https://github.com/langgenius/dify/pull/34210
- test: migrate messages clean service retention tests to testcontainers by @YB0y in https://github.com/langgenius/dify/pull/34207
- refactor: use select for API key auth lookups by @Maa-ly in https://github.com/langgenius/dify/pull/34146
- test: migrate metadata service tests to testcontainers by @YB0y in https://github.com/langgenius/dify/pull/34220
- test: migrate workspace service tests to testcontainers by @YB0y in https://github.com/langgenius/dify/pull/34218
- test: migrate tag service tests to testcontainers by @YB0y in https://github.com/langgenius/dify/pull/34219
- refactor: core/tools, agent, callback_handler, encrypter, llm_generator, plugin, inner_api by @RenzoMXD in https://github.com/langgenius/dify/pull/34205
- chore(ci): reduce web test shard fan-out by @laipz8200 in https://github.com/langgenius/dify/pull/34215
- chore(ci): remove duplicate pyrefly work from style lane by @laipz8200 in https://github.com/langgenius/dify/pull/34213
- fix: Fix docker-compose.yaml's ENV variables by @jasonfish568 in https://github.com/langgenius/dify/pull/31101
- test: init e2e by @hyoban in https://github.com/langgenius/dify/pull/34193
- chore(deps-dev): bump happy-dom from 20.8.8 to 20.8.9 in /web by @dependabot[bot] in https://github.com/langgenius/dify/pull/34243
- test: migrate workflow service tests to testcontainers by @YB0y in https://github.com/langgenius/dify/pull/34206
- chore(ci): split API unit and integration coverage reporting by @laipz8200 in https://github.com/langgenius/dify/pull/34211
- chore(ci): tighten backend workflow path filters by @laipz8200 in https://github.com/langgenius/dify/pull/34217
- Docs: unify language switch links across root and localized README files by @Fronut in https://github.com/langgenius/dify/pull/34201
- chore(web): remove stale i18n check test by @lyzno1 in https://github.com/langgenius/dify/pull/34237
- chore(ci): simplify i18n translation workflow by @lyzno1 in https://github.com/langgenius/dify/pull/34238
- fix(ci): tighten Claude i18n workflow scope by @lyzno1 in https://github.com/langgenius/dify/pull/34262
- chore(deps): bump boto3 from 1.42.73 to 1.42.78 in /api in the storage group by @dependabot[bot] in https://github.com/langgenius/dify/pull/34248
- chore(deps): update redis requirement from ~=7.3.0 to ~=7.4.0 in /api in the database group by @dependabot[bot] in https://github.com/langgenius/dify/pull/34247
- chore(deps): bump the google group in /api with 2 updates by @dependabot[bot] in https://github.com/langgenius/dify/pull/34252
- chore(deps): bump opik from 1.10.45 to 1.10.54 in /api in the llm group by @dependabot[bot] in https://github.com/langgenius/dify/pull/34254
- chore(deps-dev): update types-regex requirement from ~=2026.2.28 to ~=2026.3.32 in /api in the dev group by @dependabot[bot] in https://github.com/langgenius/dify/pull/34249
- chore(deps-dev): bump the dev group in /api with 7 updates by @dependabot[bot] in https://github.com/langgenius/dify/pull/34258
- feat(api): add delete workflow functionality with error handling by @ZeroZ-lab in https://github.com/langgenius/dify/pull/33657
- chore(deps): update gunicorn requirement from ~=25.1.0 to ~=25.3.0 in /api in the flask group by @dependabot[bot] in https://github.com/langgenius/dify/pull/34244
- chore(deps): bump the storage group in /api with 3 updates by @dependabot[bot] in https://github.com/langgenius/dify/pull/34256
- chore(deps-dev): bump the vdb group in /api with 5 updates by @dependabot[bot] in https://github.com/langgenius/dify/pull/34257
- chore(i18n): sync translations with en-US by @github-actions[bot] in https://github.com/langgenius/dify/pull/34267
- chore(deps): bump the github-actions-dependencies group across 1 directory with 2 updates by @dependabot[bot] in https://github.com/langgenius/dify/pull/34261
- refactor: core/rag docstore, datasource, embedding, rerank, retrieval by @RenzoMXD in https://github.com/langgenius/dify/pull/34203
- refactor(api): replace json.loads with Pydantic validation in services layer by @eureka0928 in https://github.com/langgenius/dify/pull/33704
- fix: enrich Service API segment responses with summary content by @jigangz in https://github.com/langgenius/dify/pull/34221
- refactor: introduce pnpm workspace by @hyoban in https://github.com/langgenius/dify/pull/34241
- fix: upgrade langfuse SDK to v3+ for LLM-as-judge support by @majiayu000 in https://github.com/langgenius/dify/pull/34265
- fix(workflow): improve node organization by @WTW0313 in https://github.com/langgenius/dify/pull/34276
- test: migrate trigger providers controller tests to testcontainers by @YB0y in https://github.com/langgenius/dify/pull/34295
- fix(i18n): translate "nodes.note.addNote" as "ãƒ¡ãƒ¢ã‚’è¿½åŠ " in ja-JP by @t-daisuke in https://github.com/langgenius/dify/pull/34294
- test: migrate data source controller tests to testcontainers by @YB0y in https://github.com/langgenius/dify/pull/34292
- test: migrate app apis controller tests to testcontainers by @YB0y in https://github.com/langgenius/dify/pull/34291
- test: migrate web forgot password controller tests to testcontainers by @YB0y in https://github.com/langgenius/dify/pull/34288
- fix: map checkbox and json_object types in MCP schema publishing by @majiayu000 in https://github.com/langgenius/dify/pull/34226
- test: migrate workspace wraps controller tests to testcontainers by @YB0y in https://github.com/langgenius/dify/pull/34296
- test: migrate web wraps controller tests to testcontainers by @YB0y in https://github.com/langgenius/dify/pull/34289
- test: migrate web conversation controller tests to testcontainers by @YB0y in https://github.com/langgenius/dify/pull/34287
- test: migrate app import api controller tests to testcontainers by @YB0y in https://github.com/langgenius/dify/pull/34290
- chore(deps): bump pygments from 2.19.2 to 2.20.0 in /api by @dependabot[bot] in https://github.com/langgenius/dify/pull/34301
- test: migrate tool provider controller tests to testcontainers by @YB0y in https://github.com/langgenius/dify/pull/34293
- test: migrate mcp controller tests to testcontainers by @YB0y in https://github.com/langgenius/dify/pull/34297
- refactor: use EnumText for Provider.quota_type and consolidate ProviderQuotaType by @tmimmanuel in https://github.com/langgenius/dify/pull/34299
- refactor: use EnumText for model_type in provider models by @tmimmanuel in https://github.com/langgenius/dify/pull/34300
- chore(ci): move full VDB matrix off the PR path by @laipz8200 in https://github.com/langgenius/dify/pull/34216
- fix: bridge Dify design tokens for streamdown table fullscreen by @ZZITE in https://github.com/langgenius/dify/pull/34224
- fix(web): fix document detail page status inconsistency with list page by @fisherOne1 in https://github.com/langgenius/dify/pull/33740
- fix: silent diff when number count are the same by @asukaminato0721 in https://github.com/langgenius/dify/pull/34097
- refactor(api): narrow otel instrumentor typing by @wangji0923 in https://github.com/langgenius/dify/pull/33853
- fix(http): expose structured vars in HTTP body selector by @owldev127 in https://github.com/langgenius/dify/pull/34185
- fix(dev): load middleware env in start-docker-compose by @dominciyue in https://github.com/langgenius/dify/pull/33927
- feat: increase default celery worker concurrency to 4 by @SeasonPilot in https://github.com/langgenius/dify/pull/33105
- test: add tests for api/services retention, enterprise, plugin by @cryptus-neoxys in https://github.com/langgenius/dify/pull/32648
- chore: try to avoid supply chain security by @hyoban in https://github.com/langgenius/dify/pull/34317
- test: migrate rag pipeline controller tests to testcontainers by @YB0y in https://github.com/langgenius/dify/pull/34303
- test: migrate rag pipeline datasets controller tests to testcontainers by @YB0y in https://github.com/langgenius/dify/pull/34304
- test: migrate rag pipeline import controller tests to testcontainers by @YB0y in https://github.com/langgenius/dify/pull/34305
- test: migrate rag pipeline workflow controller tests to testcontainers by @YB0y in https://github.com/langgenius/dify/pull/34306
- test: migrate explore conversation controller tests to testcontainers by @YB0y in https://github.com/langgenius/dify/pull/34312
- fix(web): internationalize DSL export modal labels by @lyzno1 in https://github.com/langgenius/dify/pull/34323
- fix(ci): restore i18n dispatch bridge by @lyzno1 in https://github.com/langgenius/dify/pull/34331
- chore: normalize frozenset literals and myscale typing by @WH-2099 in https://github.com/langgenius/dify/pull/34327
- refactor(nodejs-sdk): replace axios with fetch transport by @lyzno1 in https://github.com/langgenius/dify/pull/34325
- fix(web): localize error boundary copy by @lyzno1 in https://github.com/langgenius/dify/pull/34332
- fix(ci): structure i18n sync payload and PR flow by @lyzno1 in https://github.com/langgenius/dify/pull/34342
- chore(i18n): sync translations with en-US by @github-actions[bot] in https://github.com/langgenius/dify/pull/34339
- chore(i18n): sync translations with en-US by @github-actions[bot] in https://github.com/langgenius/dify/pull/34338
- test: migrate apikey controller tests to testcontainers by @Desel72 in https://github.com/langgenius/dify/pull/34286
- refactor: use sessionmaker().begin() in console app controllers by @Desel72 in https://github.com/langgenius/dify/pull/34282
- refactor: use sessionmaker().begin() in console datasets controllers by @Desel72 in https://github.com/langgenius/dify/pull/34283
- refactor: use sessionmaker().begin() in web and mcp controllers by @Desel72 in https://github.com/langgenius/dify/pull/34281
- refactor: use sessionmaker().begin() in console workspace and misc co… by @Desel72 in https://github.com/langgenius/dify/pull/34284
- refactor(api): clean redundant type ignore in request query parsing 🤖🤖🤖 by @majiayu000 in https://github.com/langgenius/dify/pull/34350
- perf: use global httpx client instead of per request create new one by @fatelei in https://github.com/langgenius/dify/pull/34311
- feat(docker): add healthcheck for api, worker, and worker_beat services by @majiayu000 in https://github.com/langgenius/dify/pull/34345
- refactor: enhance ELK layout handling by @WTW0313 in https://github.com/langgenius/dify/pull/34334
- refactor: core/app pipeline, core/datasource, and core/indexing_runner by @RenzoMXD in https://github.com/langgenius/dify/pull/34359
- fix: Variable Aggregator cannot click group swich by @hjlarry in https://github.com/langgenius/dify/pull/34361
- refactor: select in 13 small service files by @RenzoMXD in https://github.com/langgenius/dify/pull/34371
- fix: support qa_preview shape in IndexProcessor preview formatting by @EndlessLucky in https://github.com/langgenius/dify/pull/34151
- refactor(api): replace json.loads with Pydantic validation in controllers and infra layers by @eureka0928 in https://github.com/langgenius/dify/pull/34277
- fix: apply Baidu Vector DB connection timeout when initializing Mochow client by @jimmyzhuu in https://github.com/langgenius/dify/pull/34328
- refactor: select in 10 service files by @RenzoMXD in https://github.com/langgenius/dify/pull/34373
- chore: move commit hook to root by @hyoban in https://github.com/langgenius/dify/pull/34404
- fix: sqlalchemy.exc.InvalidRequestError: Can't operate on closed tran… by @fatelei in https://github.com/langgenius/dify/pull/34407
- refactor: migrate service_api and inner_api to sessionmaker pattern by @xr843 in https://github.com/langgenius/dify/pull/34379
- refactor: select in message_service and ops_service by @RenzoMXD in https://github.com/langgenius/dify/pull/34414
- chore(deps): bump aiohttp from 3.13.3 to 3.13.4 in /api by @dependabot[bot] in https://github.com/langgenius/dify/pull/34425
- refactor(api): type OpsTraceProviderConfigMap with TracingProviderCon… by @YB0y in https://github.com/langgenius/dify/pull/34424
- refactor(web): migrate remaining toast usage by @lyzno1 in https://github.com/langgenius/dify/pull/34433
- refactor: model_load_balancing_service and api_tools_manage_service by @RenzoMXD in https://github.com/langgenius/dify/pull/34434
- fix: fix online_drive is not a valid datasource_type by @fatelei in https://github.com/langgenius/dify/pull/34440
- refactor(api): replace test fixture side-effect imports by @WH-2099 in https://github.com/langgenius/dify/pull/34421
- refactor: select in tag_service by @RenzoMXD in https://github.com/langgenius/dify/pull/34441
- chore(api): align Python support with 3.12 by @WH-2099 in https://github.com/langgenius/dify/pull/34419
- fix: add tenant/dataset ownership checks to prevent IDOR vulnerabilities by @LikiosSedo in https://github.com/langgenius/dify/pull/34436
- test: added test for api/services/rag_pipeline folder by @akashseth-ifp in https://github.com/langgenius/dify/pull/33222
- test: added unit test for remaining files in core helper folder by @akashseth-ifp in https://github.com/langgenius/dify/pull/33288
- refactor: update to tailwind v4 by @hyoban in https://github.com/langgenius/dify/pull/34415
- refactor: split icon collections by @hyoban in https://github.com/langgenius/dify/pull/34453
- test: add unit tests for services and tasks part-4 by @poojanInfocusp in https://github.com/langgenius/dify/pull/33223
- refactor(api): tighten login and wrapper typing by @WH-2099 in https://github.com/langgenius/dify/pull/34447
- ci: Update pyrefly version to 0.59.1 by @asukaminato0721 in https://github.com/langgenius/dify/pull/34452
- chore: clean up useless tailwind reference by @hyoban in https://github.com/langgenius/dify/pull/34478
- refactor: select in metadata_service by @RenzoMXD in https://github.com/langgenius/dify/pull/34479
- refactor: select in workflow_tools_manage_service by @RenzoMXD in https://github.com/langgenius/dify/pull/34477
- fix: remove redundant cast in MCP base session by @majiayu000 in https://github.com/langgenius/dify/pull/34461
- fix(security): add tenant_id validation to prevent IDOR in data source binding by @xr843 in https://github.com/langgenius/dify/pull/34456
- chore: knip fix by @hyoban in https://github.com/langgenius/dify/pull/34481
- fix: fix import dsl failed by @fatelei in https://github.com/langgenius/dify/pull/34492
- refactor(api): type get_knowledge_rate_limit with KnowledgeRateLimitD… by @YB0y in https://github.com/langgenius/dify/pull/34483
- refactor(api): type webhook data extraction with RawWebhookDataDict TypedDict by @YB0y in https://github.com/langgenius/dify/pull/34486
- refactor(api): type hit testing retrieve responses with TypedDict by @YB0y in https://github.com/langgenius/dify/pull/34484
- refactor(api): type log identity dict with IdentityDict TypedDict by @YB0y in https://github.com/langgenius/dify/pull/34485
- test: migrate service_api dataset controller tests to testcontainers by @YB0y in https://github.com/langgenius/dify/pull/34423
- chore: update deps by @hyoban in https://github.com/langgenius/dify/pull/34487
- refactor: replace useContext with use in selected batch by @agenthaulk in https://github.com/langgenius/dify/pull/34450
- refactor: select in external_knowledge_service by @RenzoMXD in https://github.com/langgenius/dify/pull/34493
- refactor: select in rag_pipeline by @RenzoMXD in https://github.com/langgenius/dify/pull/34495
- refactor: select in account_service (AccountService class) by @RenzoMXD in https://github.com/langgenius/dify/pull/34496
- chore: override lodash by @hyoban in https://github.com/langgenius/dify/pull/34502
- fix(web): restore ui select public exports by @lyzno1 in https://github.com/langgenius/dify/pull/34501
- chore: update code-inspector-plugin to 1.5.1 by @hyoban in https://github.com/langgenius/dify/pull/34506
- refactor: select in account_service (RegisterService class) by @RenzoMXD in https://github.com/langgenius/dify/pull/34500
- refactor(api): type annotation service dicts with TypedDict by @YB0y in https://github.com/langgenius/dify/pull/34482
- refactor(web): replace react-syntax-highlighter with shiki by @mvanhorn in https://github.com/langgenius/dify/pull/33473
- refactor(web): migrate notion page selectors to tanstack virtual by @lyzno1 in https://github.com/langgenius/dify/pull/34508
- test: add unit tests for app store and annotation components, enhancing coverage for state management and UI interactions by @CodingOnStar in https://github.com/langgenius/dif
These notes run past the length kept in the archive. The rest is on the publisher’s page.