1072 Commits

Author SHA1 Message Date
dosubot[bot] 2a750cc9d8 docs: document Redis credential provider and Azure Entra ID auth (#777)
Co-authored-by: dosubot[bot] <131922026+dosubot[bot]@users.noreply.github.com>
2026-07-23 17:11:06 +08:00
非法操作 466d6f8fca fix serverless runtime error propagation (#775)
* fix: propagate serverless runtime errors

* fix: detect invalid serverless responses

* fix: include serverless runtime error message

* refactor: simplify serverless error handling

* refactor: reduce serverless error boilerplate
2026-07-23 14:05:26 +08:00
Yunlu Wen 18da21827a feat: support azure entraid for managed redis (#776)
* feat: support azure mi

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-07-23 13:31:44 +08:00
非法操作 14877f8f8b fix: prefer debug runtime in serverless mode (#773) 0.6.5 2026-07-20 17:58:19 +08:00
wangxiaolei 53913724ab feat: api /transaction support gzip (#772) 0.6.4 2026-07-17 14:43:29 +08:00
wangxiaolei 42c2228fbf fix: inject uv related environment variables (#770) 2026-07-13 10:54:16 +08:00
Crazywoola 3d98785fcf feat(cli): align plugin init templates with marketplace review requirements (#769)
* feat(cli): align plugin templates with marketplace review requirements

- bump dify_plugin requirement to >=0.9.0,<0.10.0
- fix README template rendering empty description ({{ .Description }} -> {{ .PluginDescription }})
- turn PRIVACY.md into a structured privacy policy skeleton
- add setup/usage sections and English-only notice to README templates (en, zh_Hans, ja_JP, pt_BR)
- add marketplace submission checklist to GUIDE.md
- warn when author name contains 'langgenius' or 'dify'

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* feat(cli): scaffold plugins with uv pyproject.toml instead of requirements.txt

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(cli): restore privacy policy placeholder line in PRIVACY.md template

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(cli): scaffold both requirements.txt and pyproject.toml, revert author warning

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 14:12:00 +08:00
Kevin9703 3b51c4d79c fix(local-runtime): recover stopped plugin instances (#766)
* fix(local-runtime): recover stopped plugin instances

* fix(local-runtime): remove unnecessary stdin write lock

---------

Co-authored-by: Kevin9703 <Kevin9703@users.noreply.github.com>
Co-authored-by: kevin.zhang <kevin.zhang@ximalaya.com>
2026-07-06 14:34:21 +08:00
i晟 b4c7606333 fix: fallback to lowercase proxy env vars (http_proxy, https_proxy, no_proxy) (#767)
Currently plugin_daemon only reads HTTP_PROXY/HTTPS_PROXY/NO_PROXY in
uppercase via envconfig. Many Linux environments set these in lowercase
(http_proxy/https_proxy/no_proxy), causing plugin installation failures
behind proxies.

This adds a fallback in SetDefault() that reads lowercase variants when
the uppercase ones are empty.

Fixes #18752
2026-07-06 11:28:25 +08:00
wangxiaolei 10d95d32ad fix: fix update plugin query plugin not use source (#763)
* chore: log more detail about failed to get session info from cache

* fix: fix update plugin query plugin not use source
2026-07-02 11:32:33 +08:00
wangxiaolei 54432d8a0a fix: fix remote debug can not redirect (#761) 0.6.3 2026-06-23 21:47:22 +08:00
盐粒 Yanli 2c7aa9f2d0 feat: auto-detect pip mirror (#750)
* feat: auto-detect pip mirror

* fix: include pip mirror helper in server build

* chore: clarify pip mirror auto-detect log

* use latency based detection

* improve documentation

* make probe timeout configurable

---------

Co-authored-by: yunlu.wen <yunlu.wen@dify.ai>
2026-06-23 11:34:16 +08:00
QuantumGhost 9d31389e38 refactor!: Remove obsolete polling suspension fields from request protocol (#759)
* Remove polling suspension fields

Assisted-by: Codex:GPT-5.4

* Tighten polling validation tests

Assisted-by: Codex:GPT-5.4

* Add polling payload shape regression test

Assisted-by: Codex:GPT-5.4
0.6.2
2026-06-17 07:24:17 +08:00
非法操作 064f67d707 feat: support onboarding ui (#753)
* feat: add ListPluginsByCategory

* feat: install plugin api add optional current task response

* Revert "feat: install plugin api add optional current task response"

This reverts commit bf16b5264e.
2026-06-15 17:03:30 +08:00
wangxiaolei 0e9c3cfb97 perf: decrease mem cost (#757) 2026-06-08 15:54:07 +08:00
Yunlu Wen a1ca1baeee fix: bump golang.org/x/crypto to v0.52.0 and golang.org/x/net to v0.55.0 to fix CVEs (#752)
- golang.org/x/crypto: v0.51.0 -> v0.52.0 (fixes 13 CVEs: CVE-2026-39830~39835, CVE-2026-42508, CVE-2026-46595, CVE-2026-46597, CVE-2026-46598, CVE-2026-39827~39829)
- golang.org/x/net: v0.54.0 -> v0.55.0 (fixes 6 CVEs: CVE-2026-39821, CVE-2026-25680, CVE-2026-42506, CVE-2026-42502, CVE-2026-27136, CVE-2026-25681)
2026-06-03 13:47:44 +08:00
Xiyuan Chen b979ebbecd fix: clean up ServerlessRuntime record and cache on plugin uninstall (#749)
* fix: delete ServerlessRuntime record on plugin uninstall when refs reach zero

* refactor: expose ClearServerlessRuntimeCache as public method on PluginManager

* fix: clear serverless runtime cache on full plugin uninstall (ENG-474)

* fix: clean up ServerlessRuntime record and cache on plugin upgrade when refs reach zero
2026-06-01 14:32:13 +08:00
James Sun 918ce6fe65 fix : Plugin table missing for existing PLUGIN_INSTALLED_PATH (#748)
* fix :  Plugin table missing for existing PLUGIN_INSTALLED_PATH

* fix : Fix code review issues
2026-06-01 14:26:49 +08:00
wangxiaolei 827d1ce4a2 feat: support plugin poll feature (#744)
* feat: support plugin poll

* fix: validate polling payloads

---------

Co-authored-by: WH-2099 <wh2099@pm.me>
2026-05-21 23:45:57 +08:00
Yunlu Wen 4e09b97368 chore: bump deps (#742)
* chore: bump deps

* use golang minor version
2026-05-20 17:13:59 +08:00
wangxiaolei 5ed6362cfa feat: /install/tasks support singleflight (#675) 2026-05-19 13:25:01 +08:00
wangxiaolei eb3c56e6fd fix: fix delete plugin also delete record in plugin_declarations (#738)
* fix: fix delete plugin also delete record in plugin_declarations

* chore: clean redis cache
2026-05-18 15:29:07 +08:00
Yunlu Wen 6b1510814f chore: bump dep versions (#740) 0.6.1 2026-05-18 09:12:13 +08:00
-LAN- e4ba22631f fix: avoid persisting invalid plugin upload artifacts (#739) 2026-05-17 16:21:21 +08:00
wangxiaolei 4495e172a1 feat: support bos as plugin storage (#735) 2026-05-15 13:30:28 +08:00
wangxiaolei 9c500812fb fix: fix remote install plugin id inconsistent plugin_id format (#731)
* fix: fix remote install plugin id inconsistent plugin_id format

* fix: fix review comment
2026-05-11 10:47:36 +08:00
Byron.wang ae092cae94 feat: add subcommand extract to slim (#716)
* feat: add subcommand extract to slim

* add download logic when extract

* Update pkg/slim/extract.go

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* build and upload slim binrary when release

---------

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-05-07 12:33:12 +08:00
wangxiaolei 0a1ebc173b fix: fix cve issue (#727) 2026-05-07 11:14:10 +08:00
wangxiaolei 0c766fc3e3 chore: upgrade golang to 1.26.2 (#723) 2026-05-06 16:46:13 +08:00
wangxiaolei 4d5b3328a2 fix: fix bench job failed (#721) 2026-04-30 09:57:54 +08:00
wangxiaolei 1462737382 fix: fix perf test failed (#718) 2026-04-29 19:53:24 +08:00
wangxiaolei 26a6710492 feat: regenerate requirement.txt (#720) 2026-04-29 16:27:52 +08:00
Yunlu Wen d7ff0456ed chore: bump dependency versions (#713)
* chore: bump dependency versions

* chore: fix otlp http version

* increase test runner size

* Revert "increase test runner size"

This reverts commit 567def87de.
2026-04-28 14:44:14 +08:00
wangxiaolei 90abf86f72 fix: fix some panic and fix test failed (#715) 2026-04-28 14:33:13 +08:00
Luyu Zhang e4513fbe25 chore(ci): move macos runner to depot 2026-04-26 11:42:03 -07:00
Luyu Zhang ee2949f930 chore(ci): migrate runners to depot 2026-04-26 11:28:44 -07:00
wangxiaolei b7da8355a8 fix: fix dify-plugin-daemon is pid 1 (#710) 0.6.0 2026-04-24 15:33:26 +08:00
wangxiaolei c06646b02f chore: add debug log (#709) 0.5.9 2026-04-24 11:20:17 +08:00
L1nSn0w 98b24b5588 fix(cache): pass watch keys to Transaction so optimistic lock actually works (#701)
* feat(redis): add Redis Cluster client path to plugin-daemon

Wire the missing third branch so operators can point the daemon at a
Redis Cluster without falling back to dialing an empty REDIS_HOST:PORT
and panicking at startup.

* introduce REDIS_USE_CLUSTERS / REDIS_CLUSTERS /
  REDIS_CLUSTERS_PASSWORD envs, aligned with dify api naming so Helm
  can set a single env group
* branch in PluginManager.Launch for Cluster ahead of the existing
  Sentinel / standalone paths; falls back to REDIS_PASSWORD if the
  cluster-specific password is not set
* implement cache.InitRedisClusterClient via redis.NewClusterClient;
  downstream cache / lock / pub-sub helpers keep working because
  `client` is declared as redis.UniversalClient

Redis Cluster disables SELECT DB, so the cluster branch does not
plumb RedisDB. This is intentional and documented in the release
note accompanying the overall Redis Cluster support work.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* feat(redis): validate Redis cluster addresses and improve transaction handling

* feat(redis): implement CSV parsing utility and refactor Redis transaction handling

* feat(redis): scope plugin-daemon to standalone + sentinel only

Narrow the plugin-daemon Redis client to standalone and sentinel modes;
remove the cluster code paths that were briefly exercised on this branch.

Changes:
- Remove REDIS_USE_CLUSTERS / REDIS_CLUSTERS / REDIS_CLUSTERS_PASSWORD
  env fields from app.Config.
- Remove the cluster branch (plus the two cluster-specific fail-fast
  guards on REDIS_USE_CLUSTERS + REDIS_USE_SENTINEL and REDIS_DB != 0)
  from PluginManager.Launch. The init block is now just sentinel or
  standalone.
- Delete cache.InitRedisClusterClient. The main redis client + all
  helpers (Transaction, pub/sub, lock, etc.) already route through
  redis.UniversalClient so downstream code needs no adjustment.

Intentionally kept:
- Transaction(fn, watchKeys...) signature: the variadic signature is
  backwards-compatible with every existing Transaction(fn) call and the
  one new-style caller (debugging_service) benefits from real WATCH
  semantics even on standalone — this is correctness-independent of
  cluster support.
- parser.SplitAndTrimCSV: the sentinel branch migrated to it in 617e7a5f
  and still uses it to parse REDIS_SENTINELS, so the helper has a
  standalone/sentinel consumer and stays.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-24 09:33:28 +08:00
wangxiaolei 41f89d2e92 perf: not compile .venv and .uv-cache (#706) 2026-04-24 09:26:20 +08:00
wangxiaolei d9ed79811b perf: make .uv-cache as shared folder (#704) 2026-04-22 16:53:13 +08:00
wangxiaolei 08d8d4cf6b feat: add recommend config section (#695)
* feat: add recommend config section

* chore: update me
0.5.8
2026-04-15 19:45:36 +08:00
Blackoutta e1cb3cf0bb feat: support configurable redis key prefix (#692) 2026-04-14 15:58:37 +08:00
wangxiaolei 81c6393f06 feat: allow ignore uv.lock (#693) 2026-04-14 15:50:18 +08:00
wangxiaolei aa9389de28 feat: integrate db migration and server run in docker cmd (#690) 2026-04-14 15:03:26 +08:00
wangxiaolei f7d804ef40 feat: support dify DataSourceResponseChunkTypeBinaryLink (#669) 2026-04-14 14:27:56 +08:00
wangxiaolei 134dbea4b1 feat: allow config max response buffer size (#681) 2026-04-14 14:26:18 +08:00
wangxiaolei 230781c4f8 chore: update readme (#689) 2026-04-14 13:52:55 +08:00
Byron.wang 0da29daab7 fix: honor LOG_LEVEL env in daemon logger (#686) 0.5.7 2026-04-13 20:14:49 +08:00
James Sun 1ca8931920 feat : set the time zone for the service (#682)
* set the time zone for log output

* feat: change to global time zone setting

* feat: change to global time zone setting
2026-04-13 09:50:22 +08:00