Luyu Zhang
acd6942d21
feat(storage): redirect signed file previews to S3 public base URL
...
Add an optional S3_PUBLIC_BASE_URL setting that, when configured, lets
file controllers 302-redirect signed previews to the object store / CDN
instead of streaming bytes through the Dify API. Works with any
S3-compatible backend exposing a public domain (Cloudflare R2 custom
domain, MinIO public endpoint, Aliyun OSS public domain, etc.) so that
egress and request handling for images, attachments, tool outputs, and
webapp logos no longer go through the API container.
Signature verification is preserved: the API still validates the HMAC
before issuing the redirect. When S3_PUBLIC_BASE_URL is unset the
behavior is unchanged.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 17:12:00 -07:00
Junyan Chin
5e336c47fd
feat: marketplace and oauth fixes ( #35509 )
...
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Crazywoola <100913391+crazywoola@users.noreply.github.com>
2026-04-24 07:53:14 +00:00
非法操作
3b24d8d2d1
fix: webscaper sometime not work ( #35450 )
2026-04-21 06:04:56 +00:00
Avasis AI
0d921cd21d
fix: handle numpy scalar types in safe_json_value ( #35389 )
...
Co-authored-by: Abhay <abhayjnayakpro@gmail.com>
2026-04-20 07:52:52 +00:00
99
3e876e173a
chore(api): adapt Graphon 0.2.2 upgrade ( #35377 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-04-18 11:16:24 +00:00
HeYinKazune
af8ffa0654
refactor: use sessionmaker in api_tools_manage_service.py ( #34892 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-04-17 05:07:12 +00:00
Yunlu Wen
3193e8a712
chore: reorg imports ( #35308 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-04-16 08:50:02 +00:00
HeYinKazune
f7c6270f74
refactor: use sessionmaker in tool_label_manager.py ( #34895 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-04-14 07:23:29 +00:00
dataCenter430
fc389a54c5
refactor: replace bare dict with typed annotations in core tools module ( #35098 )
2026-04-14 06:09:55 +00:00
wdeveloper16
0f643bca76
refactor: replace bare dict with dict[str, Any] in core tools and runtime ( #35111 )
2026-04-14 03:03:13 +00:00
wdeveloper16
33c4e512f1
refactor: replace bare dict with dict[str, Any] in tools message_transformer ( #35069 )
2026-04-13 14:05:39 +00:00
wdeveloper16
2edd083a71
refactor: replace bare dict with dict[str, Any] in OpenAPI tools parser ( #35061 )
2026-04-13 13:01:21 +00:00
wdeveloper16
0841b4c663
refactor(api): migrate tools, account, workflow and plugin services to SQLAlchemy 2.0 ( #34966 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-04-12 01:45:27 +00:00
wangxiaolei
65d66768c1
fix: fix tool output duplicate ( #34962 )
2026-04-11 15:07:31 +00:00
YBoy
992ac38d0d
refactor(api): type ToolInvokeMeta.to_dict with TypedDict ( #34942 )
2026-04-11 00:37:10 +00:00
Ygor Leal
8633b2f1f7
refactor(tools): replace redundant dict[str, str] with EmojiIconDict ( #34786 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-04-10 18:53:05 +08:00
corevibe555
488fcd4f83
refactor(services): replace Union with | syntax in service layer (batch 2) ( #34906 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-04-10 07:05:31 +00:00
corevibe555
07c573e52f
refactor(api): replace Optional/Union with | syntax, remove dead AnyFunction ( #34894 )
2026-04-10 05:46:05 +00:00
Pulakesh
d19f47b458
fix(api): replace assert isinstance with proper runtime type checks in message transformers ( #34865 )
2026-04-10 03:19:52 +00:00
wangxiaolei
d042cbc62e
fix: fix remove_leading_symbols remove [ ( #34832 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-04-09 08:22:09 +00:00
dataCenter430
5f53748d07
refactor: convert ToolProviderType if/elif to match/case ( #30001 ) ( #34794 )
2026-04-09 05:48:40 +00:00
aliworksx08
b5acc8e392
refactor: migrate session.query to select API in core tools ( #34814 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-04-09 05:44:49 +00:00
Jake Armstrong
c19a822e1b
refactor: deduplicate DefaultRetrievalModelDict TypedDict into retrieval_service.py ( #34758 )
2026-04-09 04:13:04 +00:00
dataCenter430
fd2843b0fb
refactor: convert file-transfer-method-tools if/elif to match/case ( #30001 ) ( #34783 )
2026-04-09 00:42:13 +00:00
dataCenter430
47b9d48f70
refactor: convert ToolProviderType if/elif to match/case ( #30001 ) ( #34768 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Asuka Minato <i@asukaminato.eu.org>
2026-04-09 00:17:22 +00:00
corevibe555
c825d5dcf6
refactor(api): tighten types for Tenant.custom_config_dict and MCPToolProvider.headers ( #34698 )
2026-04-08 01:36:42 +00:00
Statxc
5aa2524d33
refactor(api): type I18nObject.to_dict with I18nObjectDict TypedDict ( #34680 )
2026-04-07 22:57:32 +00:00
Dream
89ce61cfea
refactor(api): replace json.loads with Pydantic validation in security and tools layers ( #34380 )
2026-04-07 12:11:51 +00:00
Renzo
364d7ebc40
refactor: core/tools, agent, callback_handler, encrypter, llm_generator, plugin, inner_api ( #34205 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Asuka Minato <i@asukaminato.eu.org>
2026-03-28 10:14:43 +00:00
99
40591a7c50
refactor(api): use standalone graphon package ( #34209 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-27 21:05:32 +00:00
tmimmanuel
66fab8722c
refactor: use EnumText for credential_type in TriggerSubscription ( #34174 )
...
Co-authored-by: Asuka Minato <i@asukaminato.eu.org>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-27 10:53:51 +00:00
99
52e7492cbc
refactor(api): rename dify_graph to graphon ( #34095 )
2026-03-25 21:58:56 +08:00
-LAN-
56593f20b0
refactor(api): continue decoupling dify_graph from API concerns ( #33580 )
...
Signed-off-by: -LAN- <laipz8200@outlook.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: WH-2099 <wh2099@pm.me>
2026-03-25 20:32:24 +08:00
tmimmanuel
d87263f7c3
refactor: select in console datasets document controller ( #34029 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-25 12:47:25 +09:00
tmimmanuel
2b6f761dfe
refactor: use EnumText for Conversation/Message invoke_from and from_source ( #33901 )
2026-03-23 16:03:35 +09:00
tmimmanuel
5b9cb55c45
refactor: use EnumText for MessageFeedback and MessageFile columns ( #33738 )
2026-03-20 01:13:26 +09:00
BitToby
485da15a4d
refactor(api): replace dict/Mapping with TypedDict in core/rag retrieval_service.py ( #33615 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-18 11:49:09 +09:00
BitToby
0bc6c3a73e
refactor(api): replace dict/Mapping with TypedDict in core/tools ( #33610 )
2026-03-18 08:00:27 +09:00
Ye Ding
f795d24151
feat: Add Hologres as a VDB & FullText DB choice ( #32830 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Crazywoola <100913391+crazywoola@users.noreply.github.com>
2026-03-15 20:55:02 +08:00
-LAN-
fb41b215c8
refactor(api): move workflow knowledge nodes and trigger nodes ( #33445 )
2026-03-15 15:24:59 +08:00
Rajat Agarwal
b170eabaf3
test: Unit test cases for core.tools module ( #32447 )
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Asuka Minato <i@asukaminato.eu.org>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: wangxiaolei <fatelei@gmail.com>
Co-authored-by: akashseth-ifp <akash.seth@infocusp.com>
Co-authored-by: mahammadasim <135003320+mahammadasim@users.noreply.github.com>
2026-03-12 11:48:13 +08:00
wangxiaolei
b9d05d3456
refactor: tool node decouple db ( #33166 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-10 01:47:15 +08:00
wangxiaolei
bbfa28e8a7
refactor: file saver decouple db engine and ssrf proxy ( #33076 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-09 16:09:44 +08:00
非法操作
654e41d47f
fix: workflow_as_tool not work with json input ( #32554 )
2026-03-09 13:54:54 +08:00
99
c8688ec371
refactor(dify_graph): unify invoke and user enums source in workflow ( #32873 )
2026-03-03 15:05:20 +08:00
-LAN-
4fd6b52808
refactor(api): move model_runtime into dify_graph ( #32858 )
2026-03-02 20:15:32 +08:00
-LAN-
c917838f9c
refactor: move workflow package to dify_graph ( #32844 )
2026-03-02 18:42:30 +08:00
Copilot
baeea77c5b
fix: typo in WebScraper plugin description: "Scrapper" → "Scraper" ( #32790 )
...
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com>
2026-03-02 10:10:28 +08:00
99
a01de98721
refactor(workflow): decouple start node external dependencies ( #32793 )
2026-03-02 02:01:41 +08:00
-LAN-
a694533fc9
refactor(workflow): inject credential/model access ports into LLM nodes ( #32569 )
...
Signed-off-by: -LAN- <laipz8200@outlook.com>
2026-02-27 14:36:41 +08:00