Releases: langgenius/dify
v0.11.2
✨ What’s New in v0.11.2? ✨
Important
Heads up! Starting with the next minor version, we'll no longer support Python 3.10. Make sure to upgrade to Python 3.11 or 3.12 to stay current with our updates.
Version 0.11.2 is here with new models, tools, improvements, and bug fixes for a smoother experience. Here’s what’s new:
🚀 New Features
- Added Gemini-exp-1114 model by @hjlarry (#10779).
- Introduced DuckDuckGo Video Search and News Search by @taowang1993 (#10771).
- Added YouTube Transcript API as a tool by @taowang1993 (#10772).
- Launched Email Built-in Tool by @wakaka6 (#10493) to improve connectivity.
- VL Models from Siliconflow are now supported by @senseb (#10704).
- Added JSON Response for Siliconflow Models for easier handling by @orangeclk (#10657).
- Fal AI Wizper ASR is now a built-in tool by @fdb02983rhy (#10716).
- Added Fal AI Flux for image generation by @fdb02983rhy (#10606).
⚙️ Enhancements
- Added an inverted chat color theme toggle by @fujita-h (#10558).
- Made
CODE_EXECUTION_TIMEOUT
configurable via.env
by @lzzzzzzzzz (#10688). - Enabled up/down arrow key navigation for group questions, improving debugging by @dajianguo (#10793).
🛠️ Bug Fixes
- Fixed issues with non-UTF8 characters in the Document Extractor node by @yihong0618 (#10698).
- Resolved
mp3
file upload issues by @hjlarry (#10650). - Fixed custom file extension support by @leslie2046 (#10759) and @zxhlyh (#10801).
- Restored legacy image upload compatibility by @JzoNgKVO (#10803).
- Ensured default model settings don't conflict with audio tools by @hjlarry (#10729).
- Removed unused
generation
queue to save server resources by @jiangbo721 (#10532). - Fixed number handling for empty strings by @crazywoola (#10743).
- Updated deployment scripts to ensure Celery logs to file only when available by @fdb02983rhy (#10563).
Enjoy these updates and streamline your workflows with the new features and fixes. Happy coding!
Upgrade Guide
Docker compose deployments
-
Back up your customized docker-compose YAML file (optional)
cd docker cp docker-compose.yaml docker-compose.yaml.$(date +%s).bak
-
Get the latest code from the main branch
git checkout main git pull origin main
-
Stop the service,Command, please execute in the docker directory
docker compose down
-
Back up data
tar -cvf volumes-$(date +%s).tgz volumes
-
Upgrade services
docker compose up -d
Source Code deployments
-
Stop API server, Worker and Web frontend Server.
-
Get the latest code from the release branch:
git checkout 0.11.2
-
Update Python dependencies:
cd api poetry install
-
Then, let's run the migration script:
poetry run flask db upgrade
-
Finally, run API server, Worker and Web frontend Server again.
What's Changed
- fix issues:Image file not deleted when a doc is removed #9541 by @liuhaoran1212 in #10465
- Fixes
you have not added provider None
by @smyhw in #10501 - fix: set default factory for extract_by in ListOperatorNodeData by @laipz8200 in #10561
- Fix: Set Celery LOG_File only when available, always log to console by @fdb02983rhy in #10563
- feat(settings): add chat color theme inverted toggle in settings modal by @fujita-h in #10558
- chore(vanna): update form parameter from 'form' to 'llm' in vanna.yaml by @BenjaminX in #10548
- refactor(api): improve handling of
tools
field and cleanup variable usage by @laipz8200 in #10553 - fix: retrieval setting validate by @zxhlyh in #10454
- fix: Page may lock if user close the page when refresh access_token by @douxc in #10550
- fix: text-generation webapp file form by @zxhlyh in #10578
- chore(api): remove setting of expired remember_token cookie in after_request by @laipz8200 in #10582
- chore(deps): bump elliptic from 6.5.7 to 6.6.0 in /web by @dependabot in #10587
- fix: Azure OpenAI o1 max_completion_token error by @Kevin9703 in #10593
- Gitee AI Qwen2.5-72B model by @fchange in #10595
- add the index field for elasticsearch by @JohnJyong in #10592
- fix: update conversation session naming and API path in documentation by @BenjaminX in #10589
- feat: add builtin tools for send email by @wakaka6 in #10493
- feat(variable-handling): enhance variable and segment conversion by @laipz8200 in #10483
- fix: remove unused queue
generation
by @jiangbo721 in #10532 - fix:
mp3
file upload not work by @hjlarry in #10650 - Feat(tool): fal ai flux image generation by @fdb02983rhy in #10606
- add abab7-chat-preview model by @xiandan-erizo in #10654
- feat: add json response format for siliconflow models by @orangeclk in #10657
- check dataset is none by @JohnJyong in #10682
- Update expat version by @ZuzooVn in #10686
- export configuration 'CODE_EXECUTION_TIMEOUT' to .env by @lzzzzzzzzz in #10688
- feat: update pr template by @crazywoola in #10690
- Update pull_request_template.md by @crazywoola in #10692
- chore: update issue template by @crazywoola in #10693
- feat: add the audio tool by @hjlarry in #10695
- fixed the Base URL usage issue in Podcast Generator tool verification by @XiaoLey in #10697
- fix: non utf8 code decode close #10691 by @yihong0618 in #10698
- feat: add vlm models from siliconflow by @senseb in #10704
- fix: typo in test by @yihong0618 in #10707
- chore: Bump Alpine Linux to 3.20 in web dockerfile by @bowenliang123 in #10671
- fix:position error when creating segments by @jarvis2f in #10706
- feat(tool): fal ai wizper ASR built-in tool by @fdb02983rhy in #10716
- fix(i18n): handle key naming error by @GeorgeCaoJ in #10713
- chore(lint): bump ruff from 0.6.9 to 0.7.3 by @bowenliang123 in #10714
- fix: create_blob_message of tool will always create image type file by @hjlarry in #10701
- fix: remove default model selection for audio tool by @hjlarry in #10729
- Feat/add reddit icon by @stvlynn in #10733
- Feat/add Slovensko (Slovenija) by @crazywoola in #10731
- chore(lint): cleanup repeated cause exception in logging.exception replaced by helpful message by @bowenliang123 in #10425
- Fix: number maybe empty string by @crazywoola in #10743
- feat: add license. by @GarfieldDai in #10403
- Supports display license status by @douxc in #10408
- chore: translate i18n files by @github-actions in #10754
- fix: date filter key not unique by @cuckootan in #10645
- fix:custom file extension not support by @leslie2046 in #10759
- Add DuckDuckGo Video Search and News Search by @taowang1993 in #10771
- fix: fal ai wizper also return text msg by @fdb02983rhy in #10789
- feat: add gemini-exp-1114 by @hjlarry in #10779
- fix:Resolve the issue of Docker startup documents being queued all th… by @xiahao90 in #10791
- Feat(tools) add tavily extract tool and enhance tavily search implementation by @fdb02983rhy in #10786
- Add youtube-transcript-api as tool by @taowang1993 in #10772
- feat: Optimize usability during debugging #10641 by @dajianguo in #10793
- fix: upload custom file extension by @zxhlyh in #10801
- Fix: legacy image upload compatible by @JzoNgKVO in #10803
- Feat/account not found by @GarfieldDai in #10804
- Feat/clean message records by @JohnJyong in #10588
- chore: bump version to 0.11.2 by @laipz8200 in #10805
New Contributors
- @smyhw made their first...
v0.11.1
✨ What's New in v0.11.1? ✨
Important
Heads up! Starting with the next minor version, we'll no longer support Python 3.10. Make sure to upgrade to Python 3.11 or 3.12 to stay current with our updates.
We're back with some fresh features and crucial fixes in version 0.11.1. Let’s dive in and see what's changed:
🚀 New Features
-
Vanna AI Base URL Configuration: You can now configure the base URL for VannaAI, allowing more flexibility in routing requests by @BenjaminX in #10294.
-
Anthropic Claude-3-5-Haiku Support via OpenRouter: Get ready to leverage the capabilities of Anthropic’s Claude-3-5-Haiku by @infinitnet in #10331.
-
GitLab Tools Integration: Amp up your DevOps with the integration of GitLab tools by @wlrnet in #10407.
-
Video Understanding and CogVideo Tool Support: Your LLM can now understand videos, and with the new CogVideo tool, process them too! Thanks to @hjlarry in #9828 and #10456.
-
Tool Search Enhancement: You can now search for tools using the provider’s name, making it easier to find exactly what you need by @hjlarry in #10518.
-
Podcast Generator Tool Enhancements: Set the OpenAI base URL when using our podcast generation tool, thanks to @XiaoLey in #10496 and #10517.
⚙️ Enhancements
-
SSRF Request Timeout Configuration: New configuration options to customize SSRF request timeout for better security by @gubinjie in #10292.
-
PNG, GIF, and WebP Support: More image formats for your media needs by @ZuzooVn in #7947.
-
Iteration Node Enhancements: Parallel mode now maintains correct output order, and single run time per iteration is supported by @Nov1c444 in #10323 and #10512.
-
Celery Worker Log Format: Logs now respect the
LOG_FORMAT
environment variable, making logs cleaner and more consistent by @liuhaoran1212 in #10016.
🛠️ Bug Fixes
-
ComfyUI Tool Prompt Fix: Special prompts are back in action for the ComfyUI tool by @hjlarry in #10307.
-
Workflow and Node Fixes: Various workflow-related bugs squashed, specifically handling optional values in workflow start nodes and ensuring no failures when variables go missing by @laipz8200 and @zxhlyh in #10471 and #10529.
Upgrade Guide
Docker compose deployments
-
Back up your customized docker-compose YAML file (optional)
cd docker cp docker-compose.yaml docker-compose.yaml.$(date +%s).bak
-
Get the latest code from the main branch
git checkout main git pull origin main
-
Stop the service,Command, please execute in the docker directory
docker compose down
-
Back up data
tar -cvf volumes-$(date +%s).tgz volumes
-
Upgrade services
docker compose up -d
Source Code deployments
-
Stop API server, Worker and Web frontend Server.
-
Get the latest code from the release branch:
git checkout 0.11.1
-
Update Python dependencies:
cd api poetry install
-
Then, let's run the migration script:
poetry run flask db upgrade
-
Finally, run API server, Worker and Web frontend Server again.
What's Changed
- fix: special prompt not work for comfyUI tool by @hjlarry in #10307
- docs: remove the TOC part by @laipz8200 in #10324
- feat(vannaai): add base_url configuration by @BenjaminX in #10294
- feat: add support for anthropic/claude-3-5-haiku through OpenRouter by @infinitnet in #10331
- feat: The SSRF request timeout configuration item is added by @gubinjie in #10292
- Gitee AI tools by @fchange in #10314
- Update README.md by @guchenhe in #10332
- feat: support png, gif, webp by @ZuzooVn in #7947
- fix(api): remove fixed source attribute from FileApi by @laipz8200 in #10353
- chore(ci): separate vector store tests into new workflow by @laipz8200 in #10354
- chore: update translation for 'account' from '계좌' to '계정' by @comfuture in #10350
- chore: lazy import sagemaker by @bowenliang123 in #10342
- chore(ci): bring back poetry cache to speed up CI jobs by @bowenliang123 in #10347
- fix: remove unsupported vision in OpenRouter Haiku 3.5 by @infinitnet in #10364
- fix(model_runtime): remove vision from features for Claude 3.5 Haiku by @mazyu36 in #10360
- fix: remove duplicated category “recommended” by @hjlarry in #10375
- fix typo: mMaximum -> Maximum by @y-omr in #10389
- Adjusted docker manifests and environment variables for OceanBase vector database by @powerfooI in #10395
- fixed: web api remote urls error by @luckylhb90 in #10383
- refactor(question_classifier): improve error handling with custom exceptions by @laipz8200 in #10365
- refactor(tool-node): introduce specific exceptions for tool node errors by @laipz8200 in #10357
- refactor(knowledge-retrieval): improve error handling with custom exceptions by @laipz8200 in #10385
- refactor(iteration): introduce specific exceptions for iteration errors by @laipz8200 in #10366
- fix(remote-files): fallback to get when remote server not support head method by @laipz8200 in #10370
- fix(conversation-service): return success response after conversation… by @BenjaminX in #10416
- chore: improve custom tool's display by @hjlarry in #10410
- feat(Tools): add lark tools by @hgnulb in #10117
- fix typo: Retrieve Chunks API Docs by @huangyafei in #10412
- chore: use posixpath to wrapper filepath by @yaoice in #9976
- chore(lint): Use logging.exception instead of logging.error by @bowenliang123 in #10415
- Conversation delete issue by @BenjaminX in #10423
- fix: simplify Enter key handling and remove unused ref by @SuzukiKatsuma in #10413
- fix: config violations when running db migtration ci tests by @bowenliang123 in #10428
- fix(http_request): send form data by @laipz8200 in #10431
- chore: use DEBUG in dify_config instead of parsing raw system environment variable in place by @bowenliang123 in #10437
- fix: (#10437 followup) fix conditions with DEBUG config by @bowenliang123 in #10438
- Feat/tools/gitlab by @wlrnet in #10407
- feat: support LLM understand video by @hjlarry in #9828
- fix(ops_tracing): enhance error handle in celery tasks. by @ZhouhaoJiang in #10401
- fix: correct output order in parallel mode for iteration nodes by @Nov1c444 in #10323
- chore: add MULTIMODAL_SEND_VIDEO_FORMAT to docker's env by @hjlarry in #10458
- feat: add cogVideo tool by @hjlarry in #10456
- Fix conversation response issue by @BenjaminX in #10450
- fix segment enable service api by @JohnJyong in #10445
- celery worker log format following LOG_FORMAT env#9404 by @liuhaoran1212 in #10016
- embedding model check when init the knowledge by @JohnJyong in #10463
- feat: Add support for complete domain names in the new URL prefix. by @QuietlyChan in #8893
- chore: make comfy workflow can generate image with a random seed by @hjlarry in #10462
- chore(ci): avoid reinstall pipx and pin poetry version aligned with in api dockerfile by @bowenliang123 in #10426
- update document and segment word count by @JohnJyong in #10449
- fix(migrations): correct schema reference in service API history migration by @laipz8200 in #10452
- refactor(core): Remove extra_config from File. by @laipz8200 in #10203
- add create tidb serverless job control by @JohnJyong in #10467
- feat(workflow-nodes): handle missing variables without failure by @laipz8200 in #10471
- fix(api): replace Raw field with FilesContainedField in MessageListApi inputs by @laipz8200 in #10472
- Fix/log tz by @crazywoola in #10473
- fix(file_upload): correct validation method and add unit tests by @laipz8200 in #10477
- fix: [VES...
v0.11.0
🌟 What's New in v0.11.0? 🌟
Welcome to version v0.11.0, where we're elevating your workflow and model capabilities with new features and improvements designed to empower your technical operations.
⚡ Workflow Improvement
- ✨ Shining Spotlight: Iteration Node Parallel Mode - Elevate your productivity with the Iteration Node now supporting parallel processing, complete with enhanced error handling. This ensures smoother and more efficient workflows, crafted by @Nov1c444 in #9493.
- Support for Forms in Conversations: Streamline your dialogue capabilities with integrated form support, thanks to @crazywoola in #9980.
- Configurable Workflow File Upload Limit: Now you can cap workflow file uploads to better control system resources, a thoughtful addition by @laipz8200 in #10176.
- PPTX Data Extraction with Unstructured API: Streamline your PPTX data parsing with the latest unstructured API support from @laipz8200 in #10180.
- Prompt Generators with LLM Indicators: Easily craft prompts with added contextual insights from LLM indicators, thanks to @Kota-Yamaguchi in #10187.
📚 Knowledgebase Features
- Knowledge API Update: The original Dataset Hit Testing API is updated to Retrieve Chunks from a Knowledge Base. Users can access Dify's Knowledge as an independent service through this API, thanks to @JohnJyong in #10102.
- Optimized Full-Text and YAML Support: Retrieve top-k results in Elasticsearch and utilize YAML in document nodes, thanks to enhancements by @JohnJyong and @hwzhuhao.
🔍 Providers and Models
- xAI Model Provider: Broaden your options with the new xAI provider, equipped by @hjlarry in #10272.
- Claude 3.5 Haiku by Anthropic: Expand your toolkit with Anthropic's latest model, "claude-3-5-haiku-20241022," offering new creative AI opportunities, added by @mazyu36 in #10285.
- Ernie-4.0-turbo-128k LLM: Embrace the power of Wenxin's latest LLM offering, courtesy of @yaohongfenglove in #10135.
- VESSL AI OpenAI API Compatibility: Integrate effortlessly with VESSL AI models, thanks to @larcane97 in #9474.
- GPUStack Model Provider: Meet your compute-intensive needs with the GPUStack provider, introduced by @gitlawr in #10158.
- Claude 3.5 Haiku for Bedrock: Unleash creative AI with Amazon Bedrock's integration of "claude-3-5-haiku-20241022," contributed by @mazyu36 in #10265.
🗄️ VDB Integrations
- Couchbase VDB Integration: Unlock the power of Couchbase as a vector database, a seamless addition by @roadgoat19 in #6165.
- OceanBase as a Vector Store Option: Explore OceanBase for advanced vector management, brought to you by @powerfooI in #10010.
- Lindorm as a Vector Store Option: Discover Lindorm for enhanced vector storage capabilities, from @AlwaysBluer in #10202.
🔧 Fixes & Enhancements
- Async Preloading for Fast Launches: Speed up your server starts with async preloading, a game-changer from @bowenliang123 in #9146.
- Robust Rerank & Retrieval Validation: Fine-tune your searches with enhanced validation integrity, cleverly optimized by @zxhlyh and @JohnJyong.
- Content-Type Header Flexibility: Say goodbye to case sensitivity issues, thanks to a vital fix by @fujita-h in #9961.
- Secure Input & Index Handling: Ensure input reliability and indexing with these vital fixes from @JohnJyong and @laipz8200.
- Reliable Conversation Variables: Keep your data flows consistent and accurate with improvements by @hjlarry in #10034.
📄 Documents
- Added: README_PT.md in Brazilian Portuguese: Expand your documentation reach with a Brazilian Portuguese version, thanks to @lc-rezende in #10026.
This release makes our platform more robust and versatile, catering to your needs for a more efficient and feature-rich environment. Upgrade now to explore the possibilities! 🚀
Upgrade Guide
Docker compose deployments
-
Back up your customized docker-compose YAML file (optional)
cd docker cp docker-compose.yaml docker-compose.yaml.$(date +%s).bak
-
Get the latest code from the main branch
git checkout main git pull origin main
-
Stop the service,Command, please execute in the docker directory
docker compose down
-
Back up data
tar -cvf volumes-$(date +%s).tgz volumes
-
Upgrade services
docker compose up -d
Source Code deployments
-
Stop API server, Worker and Web frontend Server.
-
Get the latest code from the release branch:
git checkout 0.11.0
-
Update Python dependencies:
cd api poetry install
-
Then, let's run the migration script:
poetry run flask db upgrade
-
Finally, run API server, Worker and Web frontend Server again.
What's Changed
- fix: button rendering when using streaming by @crazywoola in #9957
- add top_k for es full text search by @JohnJyong in #9963
- fix: Fix page logout issue due to refresh-token by @WTW0313 in #9970
- chore: Enable tencent cos test to run by @yaoice in #9971
- fix: allow external knowledge api use simple host by @hjlarry in #9966
- Feat/support form in conversation by @crazywoola in #9980
- feat: couchbase integration by @roadgoat19 in #6165
- fix: gemini model use some tools raise error by @hjlarry in #9993
- add tidb spend limit config by @JohnJyong in #9999
- Added OceanBase as an option for the vector store in Dify by @powerfooI in #10010
- chore: add tidb-on-qdrant configuration in env and docker-compose file by @hwzhuhao in #10015
- Fix content-type header case sensitivity by @fujita-h in #9961
- fix(llm-node): handle NoneSegment variables properly by @laipz8200 in #9978
- fix: conversation variable may not change in the answer node by @hjlarry in #10034
- Added: README_PT.md in Brazilian Portuguese by @lc-rezende in #10026
- Fix #10023 : error in docker-compose.yaml about TIDB_ON_QDRANT_CLIENT… by @mabuchs in #10025
- chore: Add aliyun oss tests by @yaoice in #10031
- add rerank check when doing mutil-retrieval by @JohnJyong in #9998
- fix update_by_api batch field issue by @JohnJyong in #10001
- chore: improve validation and handler of logging timezone with TimezoneName by @bowenliang123 in #9595
- add PROMPT_GENERATION_MAX_TOKENS and CODE_GENERATION_MAX_TOKENS in docker enviromment by @XiaoLey in #10040
- feat: add YAML type in document extractor node by @hwzhuhao in #9997
- feat: /conversations api response add 'update_at' field,and update api docs add sort_by parameter by @rchlz in #10043
- chore: use dify_config.TIDB_SPEND_LIMIT instead of constant value by @hwzhuhao in #10038
- fix: resolve the incorrect model name of hunyuan-standard-256k by @hwzhuhao in #10052
- chore: mount config file of sandbox by @hjlarry in #8576
- fix(workflow): refine variable type checks in LLMNode by @laipz8200 in #10051
- fix: fix poetry install command in devcontainer by @22mSqRi in #9507
- fix: prevent onChange during IME composition by @Fog3211 in #10059
- chore: Set file size limits for video and audio uploads from docker env by @fujita-h in #10063
- Fixed the issue where recall the knowledge base in the iteration of the workflow and report errors when executing by @wangiii in #10060
- fix the typos in the hit testing template by @sacryu in #10072
- Revert "chore: improve validation and handler of logging timezone with TimezoneName" by @crazywoola in #10077
- fix azure chatgpt o1 parameter error by @charli117 in #10067
- improve: significantly speed up the server launching time by async preloading tool providers by @bowenliang123 in #9146
- chore: update type definition to resolve lint error in Base usage at text-editor.tsx by @Kota-Yamaguchi in #10083
- build: update docker login action by @AkaraChen in #10050
- feat: enhance comfyui workflow by @hjlarry in #10085
- chore: remove an unnecessary link by @hjlarry in #10088
- fix: view logs in prompt, no response when clicked by @beginnerZhang in #10093
- refactor(version): simplify version comparison logic by @laipz8200 in #10109
- chore: save uploaded file extension as lower case by @hjlarry in #10111
- feat(app_dsl_service): enhance...
v0.10.2
✨ What’s New in v0.10.2? ✨
We're back with version 0.10.2, packed with new features, crucial fixes, and improvements that will make your workflow smoother and more efficient. Let's break down what's included:
🚀 New Features
-
Markdown Buttons in Workflows: Sprinkle some buttons in your markdown for workflows to make them pop. Shout out to @crazywoola in #9876.
-
Document Extractor Node with JSON Support: You can now manage JSON types with extractor nodes for more flexible data extraction. Thanks to @Theysua in #9899.
-
Text-to-Image with Stable-Diffusion 3.5: Bring your text to life with the new Stable-Diffusion-3.5-large integration using siliconflow. Props to @hwzhuhao in #9909.
-
Vectorizer Support in Workflows: The Vectorizer tool is now at your disposal within workflows for better data manipulation—kudos to @hjlarry in #9932.
🛠️ Enhancements and Fixes
-
API Documentation Upgrade: We've polished our API documentation for advanced chat and workflow functionalities. Special thanks to @kurokobo in #9882.
-
LLM Node Streaming Output Fix: Fixed the LLM Node streaming output to properly function after IF-ELSE decisions, ensuring your workflows are on track. Thanks to @laipz8200 in #9875.
-
Workflow Code Generator Update: Cleared up the Generate button from incorrect locations for a more intuitive workflow setup. Update by @Kota-Yamaguchi in #9740.
-
Enhanced Prompt Handling in Workflows: Added vision support in prompts for more dynamic configurations. Nicely done by @laipz8200 in #9790.
-
Improved File Handling in HTTP Requests: Your HTTP requests within workflows are now more robust. Much appreciated, @laipz8200 in #9944.
-
⚠️ Fix for Tool Var Type Error: If you're using a "Number" parameter in "Workflow as Tool," please remove and re-add this tool to avoid any issues. Thanks to @iamjoel in #9937. -
Chat Log Display Fix: We've resolved the display problems for chat logs, making sure everything shows up correctly. Big thanks to @xuzuodong in #9777.
-
Vision Support for Tool Image Gen: Image generation with vision models is now supported within your workflows—credit to @hjlarry in #9871.
-
System Parameters Standardization: Our system parameters have been standardized across the board. Cheers to @laipz8200 in #9797.
-
Image Previews in DOCX: Fixed issues with previews in 'docx' knowledge bases. Thanks again to @laipz8200 in #9893.
This release is all about enhancing your workflow capabilities and providing robust tools and documentation to back them up. Keep the feedback coming and happy building! 🌟
Upgrade Guide
Docker compose deployments
-
Back up your customized docker-compose YAML file (optional)
cd docker cp docker-compose.yaml docker-compose.yaml.$(date +%s).bak
-
Get the latest code from the main branch
git checkout main git pull origin main
-
Stop the service,Command, please execute in the docker directory
docker compose down
-
Back up data
tar -cvf volumes-$(date +%s).tgz volumes
-
Upgrade services
docker compose up -d
Source Code deployments
-
Stop API server, Worker and Web frontend Server.
-
Get the latest code from the release branch:
git checkout 0.10.2
-
Update Python dependencies:
cd api poetry install
-
Then, let's run the migration script:
poetry run flask db upgrade
-
Finally, run API server, Worker and Web frontend Server again.
What's Changed
- Update Code Generator to use the currently configured model. by @Kota-Yamaguchi in #9740
- fix(api): handle missing upload_file_id for tool_file messages by @laipz8200 in #9756
- feat: regenerate history switch navigation by @xuzuodong in #8749
- feat:Add host volume env variables for postgres, redis and weaviate by @jter in #9761
- fix: fe can not start by @iamjoel in #9768
- Update README_CN.md by @sunner in #9766
- fix: chat log not showing correctly by @xuzuodong in #9777
- refactor(file_factory): improve filename and mime type determination by @laipz8200 in #9784
- fix(workflow): enhance prompt handling with vision support by @laipz8200 in #9790
- remove unstructured pdf extract by @JohnJyong in #9794
- fix: chart tool can't display chinese by @hjlarry in #9686
- chore(docker): correct package version for expat and perl in Dockerfile by @laipz8200 in #9801
- openai compatiable api usage and id by @guogeer in #9800
- chore(docker): add default for MAX_VARIABLE_SIZE in docker-compose by @laipz8200 in #9798
- feat(parameters): standardize system parameter field types and values by @laipz8200 in #9797
- chore: abstract common function with local storage by @yaoice in #9811
- Added description for .ppt, specify the reason for unstructured.io by @Theysua in #9452
- chore: make doc extractor node also can extract text by file extension by @hjlarry in #9543
- Feat: use file size limit from api by @JzoNgKVO in #9739
- feat(api): add generic file size limit parameter by @laipz8200 in #9812
- refactor: update load_stream method to directly yield file chunks by @hwzhuhao in #9806
- fix: duckduckgo image search not work by @hjlarry in #9821
- feat: create_empty_dataset api add the description parameter and update api docs by @rchlz in #9824
- fix: yuque book id should be string by @crazywoola in #9819
- chore: add local storage test by @yaoice in #9827
- add tidb on qdrant type by @JohnJyong in #9831
- fix: exclude failed answer when sending messages by @xuzuodong in #9835
- fix: moonshot response_format raise error by @hjlarry in #9847
- chore: code generator button should only display in code node by @hjlarry in #9842
- Fix: add check for maximum chunk length by @JzoNgKVO in #9837
- chore: update api docs by @JzoNgKVO in #9832
- chore: translate i18n files by @github-actions in #9853
- Marking the last piece of data on each page is a duplicate issue, which can be solved by adding the id field to the order by rig and using a unique field by @yuanboao in #9799
- feat: allow answer node use chat_var and env_var by @hjlarry in #9226
- fix: segement settings of documents raise error by @hjlarry in #8971
- upgrade nltk, unstructured and starlette by @JohnJyong in #9860
- chore: add default value for redis configuration by @hwzhuhao in #9864
- feat: support comfyui workflow tool image generate image by @hjlarry in #9871
- feat: support button in markdown by @crazywoola in #9876
- fix: wrong element object by @virgosoy in #9868
- fix(workflow): Take back LLM streaming output after IF-ELSE by @laipz8200 in #9875
- fix users had already joined a workspace, but the system still first … by @G81192 in #9834
- docs: improve api documentation for advanced chat and workflow by @kurokobo in #9882
- Update README.md by @leilei-jiang in #9886
- Update README.md by @leilei-jiang in #9889
- Update README.md by @leilei-jiang in #9890
- Update README.md by @leilei-jiang in #9891
- fix(api): add signature generation for image previews by @laipz8200 in #9893
- feat(workflow): Support JSON type in document extractor node by @Theysua in #9899
- chore: Extract common functions of the base model in Azure OpenAI Provider by @yaoice in #9907
- fix(tools): remove the undefined variable parameter_type by @hwzhuhao in #9908
- feat: add stable-diffusion-3-5-large for the text-to-image tool with siliconflow by @hwzhuhao in #9909
- fix: enterprise create workspace by @ZhouhaoJiang in #9921
- add document lock for multi-thread by @JohnJyong in #9873
- Remove invalid languages error by @seikyo-cho-lvgs in #9928
- fix: t...
v0.10.1
🚀 What’s New in v0.10.1? 🚀
Welcome to version v0.10.1, where we've made significant strides in expanding functionalities and enhancing user workflows. Here's a quick look at the highlights of this release:
🔹 Claude 3.5 Sonnet v2 Models
Experience advanced language processing across Google Cloud, Bedrock, and Anthropic platforms, seamlessly integrated with the latest technology advancements via #9688, #9685, and #9708.
✨ Code Generator
Empower your Workflow's Code Node with our new Code Generator tool. This feature is designed to streamline coding processes within workflows, boosting development efficiency and reducing manual coding efforts. Check it out in #9051.
🐛 Bug Fixes
-
Custom Icon Restoration: We've reintroduced the flexibility and personalization of custom icons, addressing previous issues to ensure your icons display correctly, as implemented by @zxhlyh in #9654.
-
HTTP Node Improvements: Enhanced JSON handling and simplified request management to boost the stability and security of the HTTP Node by @laipz8200 in #9616, and fixed the handling of empty and string data inputs for consistent performance by @laipz8200 in #9579.
-
File Upload Corrections: Resolved multiple issues affecting file uploads for smoother operations. Image config uploads were corrected by @laipz8200 in #9568.
-
Improved Iteration Handling: Made iterators more robust by gracefully handling empty scenarios, as addressed by @laipz8200 in #9565.
-
VisionConfig Validation: Introduced a validator for
VisionConfig
entities to handleNone
values properly, improving data integrity by @laipz8200 in #9598. -
Workflow Management: Improved workflow and database session management to resolve instabilities and enhance reliability by @laipz8200 in #9581.
-
If-Else Node Enhancement: Enhanced if-else nodes to properly add downstream nodes, ensuring logical consistency in workflow paths by @linfey90 in #9640.
-
Used File in Tools: Addressed errors caused by file operations in tools to ensure smoother functionality by @iamjoel in #9660.
-
Environment Variables: Fixed environmental variable issues for ModelProvider and Tool Position to ensure they operate as intended. Resolved by @tkoshida in #9650.
-
Web App UX: Corrected the style of the features panel specifically in Safari to enhance the overall visual experience by @JzoNgKVO in #9573 and addressed the email login redirect issue and corrected navigation behaviors to improve user experience by @ZhouhaoJiang in #9698.
This update is packed with critical fixes, new features, and exciting enhancements to empower your AI applications. Dive into v0.10.1 and experience these improvements firsthand!
Upgrade Guide
Docker compose deployments
-
Back up your customized docker-compose YAML file (optional)
cd docker cp docker-compose.yaml docker-compose.yaml.$(date +%s).bak
-
Get the latest code from the main branch
git checkout main git pull origin main
-
Stop the service,Command, please execute in the docker directory
docker compose down
-
Back up data
tar -cvf volumes-$(date +%s).tgz volumes
-
Upgrade services
docker compose up -d
Source Code deployments
-
Stop API server, Worker and Web frontend Server.
-
Get the latest code from the release branch:
git checkout 0.10.1
-
Update Python dependencies:
cd api poetry install
-
Then, let's run the migration script:
poetry run flask db upgrade
-
Finally, run API server, Worker and Web frontend Server again.
What's Changed
- Build/fix wrong icon name by @AkaraChen in #9527
- enhance: use urllib join instead of fstring by @41tair in #9549
- feat: Update tongyi models by @AAEE86 in #9552
- chore: lint code to remove unused imports and variables by @DDDDD12138 in #9553
- chore: format get_customizable_model_schema return value by @yaoice in #9335
- fix(upload): correct incorrect dictionary key usage by @laipz8200 in #9563
- Fix: file upload support extension .md by @JzoNgKVO in #9564
- fix(iteration): handle empty iterator gracefully by @laipz8200 in #9565
- fix(file upload): correct upload method key for image config by @laipz8200 in #9568
- Fix: style of features panel in safari by @JzoNgKVO in #9573
- dep: bump pydantic to 2.9 by @bowenliang123 in #9077
- fix(validation): improve variable handling and validation by @laipz8200 in #9578
- fix(http_request): handle empty and string data inputs by @laipz8200 in #9579
- fix(workflow): improve database session handling and variable management by @laipz8200 in #9581
- fix(workflow): handle NoneSegments in variable extraction by @laipz8200 in #9585
- refactor(template_transform): use keyword-only arguments by @laipz8200 in #9575
- refactor: add logging extension module for log initialization by @hwzhuhao in #9524
- chore: cleanup ineffective linter rules exclusions by @bowenliang123 in #9580
- fix(entities): add validator for
VisionConfig
to handle None values by @laipz8200 in #9598 - refactor(variables): replace deprecated 'get_any' with 'get' method by @laipz8200 in #9584
- refactor: use dify_config to replace legacy usage of flask app's config by @bowenliang123 in #9089
- chore: (#9089 followup) fix storage factory constructor by @bowenliang123 in #9609
- fix(core): use CreatedByRole enum for role consistency by @laipz8200 in #9607
- fix(storage): use centralized config management by @laipz8200 in #9620
- fix(storage): ensure
storage_runner
initialization within app context by @laipz8200 in #9627 - fix: wrong url of guides doc in new feature panel by @hanfangyuan4396 in #9626
- Fix: doc link of legacy features by @JzoNgKVO in #9634
- fix: update the default model to gpt-4o-mini for duckduckgo ai chat by @hwzhuhao in #9614
- fix(http_request): simplify JSON handling in requests by @laipz8200 in #9616
- fix: fields.Nested(message_file_fields) by @crazywoola in #9632
- fix(api): enhance file factory URL handling by @laipz8200 in #9631
- fix: remove url join by @ZhouhaoJiang in #9635
- fix: file type document is not supported by @hjlarry in #9618
- refactor(api): simplify limit retrieval and return types by @laipz8200 in #9641
- fix(files): update Content-Length handling for tool and remote files by @laipz8200 in #9649
- fix(segments): return empty string instead of "null" for text, log, and markdown properties by @laipz8200 in #9651
- Fix: type missing of remote file in chat by @JzoNgKVO in #9652
- fix: webapp answer icon by @zxhlyh in #9654
- fix: tool use file caused error by @iamjoel in #9660
- Fix/retrieval setting weight default value by @zxhlyh in #9622
- fix: environment variables for ModelProvider and Tool Position are not working by @tkoshida in #9650
- Web app support sending message using numpad enter by @xuzuodong in #9659
- feat(Tools): Refactor the base table plugin by @hgnulb in #9182
- chore(models): convert created_by_role to its value for consistency by @laipz8200 in #9612
- feat: add code generator by @Kota-Yamaguchi in #9051
- fix: add downstream nodes of this branch by @linfey90 in #9640
- feat: add upstash as a new vector...
v0.10.0
Important
If you have a Basic Chatbot or Text Generator App with the ‘Vision’ feature enabled, it will be necessary to republish the application following this update.
🎉 What's New in v0.10.0? 🎉
Hello to all the innovators out there! We're excited to unveil v0.10.0, a powerhouse update designed to enhance your flexibility and efficiency. Let’s delve into the highlights:
🌟 Enhanced Multi-Modal Support
This central feature boosts your workflows and chatflows with greater flexibility:
-
Advanced File Handling: Nodes like START, LLM, HTTP Request and IF-ELSE now seamlessly manage "File" types, simplifying the processing of various file formats within your workflows.
-
New Functional Nodes:
- Document Extractor: Converts documents into text effortlessly, making data extraction straightforward.
- List Operator: Empowers you with operations to filter, sort, and limit arrays, enhancing data control and manipulation.
-
Efficient Array Handling: Directly use
array[string]
andarray[number]
in LLM prompts for more agile data interactions.
Thanks to the tireless efforts of @zxhlyh in #9526 and @laipz8200 in #8818, this feature marks a significant leap forward.
Read more: Introducing Dify Workflow File Upload: A Demo on AI Podcast
✉️ Registry and Login with Email
Simplifying user access with:
- Email Registration & Login: Offers a secure, straightforward access method for users, optimizing the onboarding process. Shoutout to @douxc in #8119 and @ZhouhaoJiang in #8120.
🚀 Additional Features
- Dataset Recall Testing API: Gain insights into data retrieval efficiency with this new API, brought to you by @gubinjie in #9300.
- Fireworks Model Integration: Access Qwen2.5 72B Instruct models for expanded AI capability, thanks to @yaoice in #9333 and #9340.
🛠️ Enhancements
- Storybook Component Testing: Streamlined UI testing and visualization, expertly structured by @xuzuodong in #9324.
- Timezone Conversion Enhancements: Enhanced precision and usability with support in the Time Tool, thanks to @hwzhuhao in #9393.
🔧 Fixes
- Azure OpenAI Fixes: Resolved key issues with max token calculations for improved performance, managed by @somethingwentwell in #9326.
- Endpoint Functionality Fixes: Strengthened the stability of the db-pool-stat endpoint, addressed by @hwzhuhao in #9478.
v0.10.0 brings a wealth of innovations to simplify and elevate your workflow capabilities. Dive in and explore these enhancements to harness the full potential of AI-driven tasks. Your feedback is pivotal, so keep it coming. Happy building! 🚀
Upgrade Guide
Docker compose deployments
-
Back up your customized docker-compose YAML file (optional)
cd docker cp docker-compose.yaml docker-compose.yaml.$(date +%s).bak
-
Get the latest code from the main branch
git checkout main git pull origin main
-
Stop the service,Command, please execute in the docker directory
docker compose down
-
Back up data
tar -cvf volumes-$(date +%s).tgz volumes
-
Upgrade services
docker compose up -d
Source Code deployments
-
Stop API server, Worker and Web frontend Server.
-
Get the latest code from the release branch:
git checkout 0.10.0
-
Update Python dependencies:
cd api poetry install
-
Then, let's run the migration script:
poetry run flask db upgrade
-
Finally, run API server, Worker and Web frontend Server again.
What's Changed
- feat: added dataset recall testing API by @gubinjie in #9300
- feat: disable chat service API passing
parent_message_id
by @xuzuodong in #8984 - fix: poetry installation in CI jobs by @bowenliang123 in #9336
- feat: Add fireworks custom llm intergration by @yaoice in #9333
- feat: Add qwen2.5 72B Instruct model in Fireworks AI by @yaoice in #9340
- chore: clean-up unnecessary annotation on configs with non-null default value by @bowenliang123 in #9323
- refactor: remove unnecessary 'closing' usage for boto3 client by @y-omr in #9343
- Adapt input type parameter with MiniMax embedding model by @yaoice in #9342
- refactor: Add an enumeration type and use the factory pattern to obtain the corresponding class by @hwzhuhao in #9356
- fix: In the output, the order of 'ta' is sometimes reversed as 'at'. #8015 by @wsbao in #8791
- fix: Azure OpenAI o1 max_completion_token and get_num_token_from_messages error by @somethingwentwell in #9326
- feat: add glm-4-flashx, deprecated chatglm_turbo by @hjlarry in #9357
- fix: (#9336 followup) skip poetry preperation in style workflow when no change in api folder by @bowenliang123 in #9362
- feat: add minimax abab6.5t support by @cuckootan in #9365
- fix: add missing vikingdb param in docker .env.example by @yaoice in #9334
- fix: remove the stream option of zhipu and gemini by @hjlarry in #9319
- feat: Enable baiduvector intergration test by @yaoice in #9369
- fix: use gpt-4o-mini for validating credentials by @crazywoola in #9387
- feat: storybook by @xuzuodong in #9324
- fix: Deprecated gemma2-9b model in Fireworks AI Provider by @yaoice in #9373
- feat: add timezone conversion for time tool by @hwzhuhao in #9393
- Fix/economical knowledge retrieval by @JohnJyong in #9396
- fix: incorrect webapp image displayed by @yuyinws in #9401
- refactor: update the default values of top-k parameter in vdb to be consistent by @hwzhuhao in #9367
- fix: resolve overlap issue with API Extension selector and modal by @DDDDD12138 in #9407
- add clean 7 days datasets by @JohnJyong in #9424
- update dataset clean rule by @JohnJyong in #9426
- fix #9409 by @ybalbert001 in #9433
- Update dify-sandbox version to 0.2.10 by @hexian2001 in #9439
- Fix: rerank switch and validation before run by @YIXIAO0 in #9416
- revert yarnlock by @zxhlyh in #9445
- fix: enable Tencent Cloud Vector integration test by @yaoice in #9441
- Fix/firefox overflow error by @WTW0313 in #9438
- feat: add the workflow tool of comfyUI by @hjlarry in #9447
- fix: remove the undefined variable line by @hwzhuhao in #9446
- fix(workflow): Implement automatic variable addition from opening statement to start node by @Kevin9703 in #9450
- refactor: move the embedding to the rag module and abstract the rerank runner for extension by @hwzhuhao in #9423
- feat:add wenxin rerank by @chzphoenix in #9431
- feat: add yi-lightning llm model for yi by @hwzhuhao in #9458
- fix: add missing vector type to migrate command by @yaoice in #9470
- fix: update mismatch vector type by @yaoice in #9462
- feat: add parameter top-k for the llm model provided by openrouter and siliconflow by @hwzhuhao in #9455
- controller test by @s2oBCN in #9469
- fix fetch apps by @horochx in #9453
- fix: resolve the error with the db-pool-stat endpoint by @hwzhuhao in #9478
- feat: add yi custom llm intergration by @hwzhuhao in #9482
- Added Llama 3.2 Vision Models Speech2Text Models for Groq by @taowang1993 in #9479
- add yuqye(https://www.yuque.com)tools by @lichengwu in #8960
- feat: Add volcengine tos storage test by @yaoice in #9495
- chore: update the description for storage_type by @userzhangqg in #9492
- refine wording in license by @guchenhe in #9505
- fix: resolve the error of docker-compose startup when the storage is baidu-obs by @hwzhuhao in #9502
- Resolve 9508 openai compatible rerank by @ziyu4huang in #9511
- feat: Add custom usern...
v0.10.0-beta3
✨ What’s New in v0.10.0-beta3? ✨
Important
This version is for preview only. Please avoid using it in production environments!
Note
Your feedback is incredibly valuable to us! We encourage you to share your thoughts and discuss any issues using the GitHub Discussions feature. You can find the entry point for Discussions at the bottom of the release page.
🚀 Major Updates
- Enhanced Prompt Editor for LLM Node: You can now utilize
Array<String>
andArray<Number>
types within the Prompt editor. This improvement aims to enhance the flexibility and usability of prompt design. - New Podcast Generator Tool: We’ve added a tool to demonstrate file generation within the platform. This feature allows you to explore how content like podcasts can be created through automated workflows.
🛠️ Bug Fixes
- We’ve addressed several bugs reported by the community. Thank you for your contributions!
Quick Start
To upgrade to this version, follow these steps:
- Clone and enter our repository:
git clone https://github.com/langgenius/dify.git && cd dify
- Switch to the beta branch:
git checkout 0.10.0-beta3
- Then follow the Deploy with Docker Compose > Starting Dify.
We hope you find the new features and fixes useful. As always, your feedback and contributions are welcome to help improve Dify!
v0.9.2
✨ What’s New in v0.9.2? ✨
The most recent release brings some solid new features, enhancements, and bug fixes that should enhance your experience across the platform. Check out what's changed:
🚀 New Features
-
Model Additions and Enhancements: Added models
qwen2.5-72b
andllama3.2
for OpenRouter by @hwzhuhao in #8956. Also,O1-mini
,O1-preview
, andLlamaGuard
models have joined the lineup thanks to contributions from @charli117 and @crazywoola. -
Workflow System Parameters: Now, you can access
sys.app_id
,sys.workflow_id
, andsys.workflow_run_id
in your workflow system variables for more dynamic workflows, courtesy of @ZhouhaoJiang in #9108. -
Image Generation Enhancements: The StepFun image generation tool got a boost, enabling richer and broader capabilities, spearheaded by @hwzhuhao in #8954.
-
Tools Update: Discord Incoming Webhook now lets you send messages directly, created by @yaoice. Props to @hwzhuhao for adding tags for Vanna tools too.
-
Vector Provider: Meet the new kid on the block, Volcengine VikingDB, integrated into the system and ready to expand your vector capabilities, brought to you by @yaoice in #9287.
-
CSP Support: Content Security Policy (CSP) is now supported, adding an extra layer of security to your operations, thanks to @douxc.
-
Supabase Object Storage: A new storage option at your disposal, big cheers to @hwzhuhao for the integration in #9229.
⚙️ Enhancements
-
Richer Time Tool Functions: Now you can convert and retrieve timestamps with the Time Tool, unlocking more precise temporal operations courtesy of @hwzhuhao.
-
Non-Root User for Web Container: Security gets a bump with the use of a non-root user in the web container, hats off to @s2oBCN for that.
-
Prompt Editor Optimization: Clearer and more efficient prompt editing with reset capabilities, devised by @HiChen404.
-
Customizeable Chatbot Embed: Change the size to fit your needs with default values set for your convenience—well done, @alterxyz for this addition.
-
Responsive Front-end Updates: With rerank model verification and error logs only in debug mode, your interface just became more practical and informative. Thanks, @YIXIAO0 and @hwzhuhao.
🛠️ Bug Fixes
-
API and Logs: Chat API now reliably retrieves conversation history (thanks @xuzuodong), and fixes have been applied to API proxy updates and missing model information in LLM spans.
-
Tool Descriptions: Essential descriptions are back where they belong—visible and complete, thanks to @crazywoola.
-
External Knowledge and Retrievals: Addressing issues in agent retrieval and entry allows external knowledge operation to run smoother, thanks to @JohnJyong.
-
Miscellaneous Fixes: Including max-token adjustments in OpenRouter by @infinitnet, correct session history fetching, stopping notification errors, and many more have tightened up the system, courtesy of multiple contributors.
Miscellaneous
- Typos and Documentation: Corrected typos and added documentation on key integrations like Google Cloud Terraform, thanks to the hawk-eyed @y-omr and @sotazum.
This version packs plenty to explore, ensuring your workflows and integrations are smoother, faster, and richer with features. Happy upgrading!
Upgrade Guide
Warning
This version includes a migration that might update a large volume of messages. If you have a significant amount of message data, please review our changes in #9132 before upgrading.
Docker compose deployments
-
Back up your customized docker-compose YAML file (optional)
cd docker cp docker-compose.yaml docker-compose.yaml.$(date +%s).bak
-
Get the latest code from the main branch
git checkout main git pull origin main
-
Stop the service,Command, please execute in the docker directory
docker compose down
-
Back up data
tar -cvf volumes-$(date +%s).tgz volumes
-
Upgrade services
docker compose up -d
Source Code deployments
-
Stop API server, Worker and Web frontend Server.
-
Get the latest code from the release branch:
git checkout 0.9.2
-
Update Python dependencies:
cd api poetry install
-
Then, let's run the migration script:
poetry run flask db upgrade
-
Finally, run API server, Worker and Web frontend Server again.
What's Changed
- chore: add missing models from Voyage by @CXwudi in #8950
- chore: sort Gemini models by @CXwudi in #8951
- refactor: remove unnecessary comment by @y-omr in #8949
- chore: remove unexecuted scripts to avoid ambiguity by @yaoice in #8946
- feat: add qwen2.5-72b and llama3.2 for openrouter by @hwzhuhao in #8956
- feat: enhance stepfun image generation tool by @hwzhuhao in #8954
- fix: chat API is not bringing the conversation/session history by @xuzuodong in #8965
- fix: corrected typo by @y-omr in #8979
- feat(Tools): add discord incoming webhook for sending messages by @yaoice in #7852
- Update json_in_md_parser.py by @zhao85 in #8983
- feat: Update AWS Bedrock supported regions by @Retr0-01 in #8992
- fix: tools description is missing by @crazywoola in #8999
- fix: failed to open links to images generated by QR code tool when using Huawei OBS by @hwzhuhao in #9034
- fix bug when adding openai or openai-compatible stt model instance by @zhao85 in #9006
- chore: fix the yanked dependency vesion aiohappyeyeballs 2.4.2 by @bowenliang123 in #9020
- refactor: remove the duplicate definitions across different modules by @hwzhuhao in #9022
- feat: add baidu obs storage by @hwzhuhao in #9024
- fix: Missing model information in llm span of Langfuse #9029 by @aiscrm in #9030
- fix:ddg ratelimit 202 by @leslie2046 in #9047
- chore: move testing env variables from pyproject.toml to pytest.ini by @bowenliang123 in #9019
- feat: Improvement- use non root user for Web container by @s2oBCN in #8928
- chore: removing unused imports in tests by @bowenliang123 in #9049
- fix: Ignore the error toast notification if the status is 401 and isPublicAPI is true by @douxc in #9062
- chore: refine python dependency list and check dependencies in order by @bowenliang123 in #9061
- fix: zhipu ai web_search not work by @hjlarry in #9058
- docs: Add Google Cloud Terraform to README by @sotazum in #9065
- Correct max_tokens for OpenRouter Sonnet 3.5 by @infinitnet in #9068
- fix: Count exception occurs when searching conversations by @Gaocarri in #8754
- feat: update the xinf tool's API key to optional by @hwzhuhao in #9073
- fix: #8969 by @Blackman99 in #9076
- feat: add timestamp conversion and timestamp retrieval for time tool by @hwzhuhao in #9085
- Feat/9081 add support for llamaguard through groq provider by @crazywoola in #9083
- fix: prompt-editor regex.lastIndex needed to reset by @HiChen404 in #9097
- fix s3 presign url check problem, support two versions(v2,v4) by @ybalbert001 in #9093
- refactor: Update countries & languages list for SearchApi engines by @SebastjanPrachovskij in #9090
- chore: add the missing tool names to the _position file by @hwzhuhao in #9099
- feat: add tags for vanna tools by @hwzhuhao in #9102
- feat: output the execution results of tool should only in debug mode by @hwzhuhao in #9104
- refactor: introduce storage factory and speed up api startup by importing storage client on demand by @bowenliang123 in #9086
- chore: avoid implicit optional in type annotations of method by @bowenliang123 in #8727
- feat: respect x-* headers for redirections by @kurokobo in #9054
- azure add o1-mini、o1-preview models by @charli117 in #9088
- Add customizable size for chatbot embed with default values by @alterxyz in #9115
- Fix the margin for the rerank switch in retrieval setting by @YIXIAO0 in #9124
- add generate conversation name error log by @pinsily in #9117
- fix: follow-up (suggested questions) does not refer to the most recen… by @xuzuodong ...
v0.9.1-fix1
✨ What’s New in v0.9.1-fix1? ✨
Hey everyone, we’ve got some fresh updates with the release of version 0.9.1-fix1. Here’s a quick walkthrough of what’s changed:
Important
This version includes a migration that might update a large volume of messages. If you have a significant amount of message data, please review our changes in #9132 before upgrading.
🛠️ Fixes & Improvements
- Resolved an issue with the chat API where the conversation/session history wasn't being loaded properly by @xuzuodong in #8965.
🚀 Models
- Added missing models from the Voyage collection by @CXwudi in #8950.
- Sorted Gemini models for better organization by @CXwudi in #8951.
- Introduced
qwen2.5-72b
andllama3.2
models for OpenRouter by @hwzhuhao in #8956.
This release is all about laying solid groundwork and enhancing the features you already love. Dive in and let us know what you think!
Upgrade Guide
Docker compose deployments
Warning
The docker-compose.yaml
has been refactored. If you've made any changes to the file, make sure to check out the "Upgrade to new docker compose deployment" section above for usage and migration tips.
-
Back up your customized docker-compose YAML file (optional)
cd docker cp docker-compose.yaml docker-compose.yaml.$(date +%s).bak
-
Get the latest code from the 0.9.1-fix1 branch
git checkout 0.9.1-fix1 git pull origin 0.9.1-fix1
-
Stop the service,Command, please execute in the docker directory
docker compose down
-
Back up data
tar -cvf volumes-$(date +%s).tgz volumes
-
Upgrade services
docker compose up -d
Source Code deployments
-
Stop API server, Worker and Web frontend Server.
-
Get the latest code from the 0.9.1-fix1 branch:
git checkout 0.9.1-fix1 git pull origin 0.9.1-fix1
-
Update Python dependencies:
cd api poetry install
-
Then, let's run the migration script:
poetry shell flask db upgrade
-
Finally, run API server, Worker and Web frontend Server again.
What's Changed
- chore: add missing models from Voyage by @CXwudi in #8950
- chore: sort Gemini models by @CXwudi in #8951
- refactor: remove unnecessary comment by @y-omr in #8949
- chore: remove unexecuted scripts to avoid ambiguity by @yaoice in #8946
- feat: add qwen2.5-72b and llama3.2 for openrouter by @hwzhuhao in #8956
- feat: enhance stepfun image generation tool by @hwzhuhao in #8954
- fix: chat API is not bringing the conversation/session history by @xuzuodong in #8965
- fix: corrected typo by @y-omr in #8979
- feat(Tools): add discord incoming webhook for sending messages by @yaoice in #7852
- Update json_in_md_parser.py by @zhao85 in #8983
- feat: Update AWS Bedrock supported regions by @Retr0-01 in #8992
- fix: tools description is missing by @crazywoola in #8999
- fix: failed to open links to images generated by QR code tool when using Huawei OBS by @hwzhuhao in #9034
- fix bug when adding openai or openai-compatible stt model instance by @zhao85 in #9006
- chore: fix the yanked dependency vesion aiohappyeyeballs 2.4.2 by @bowenliang123 in #9020
- refactor: remove the duplicate definitions across different modules by @hwzhuhao in #9022
- feat: add baidu obs storage by @hwzhuhao in #9024
- fix: Missing model information in llm span of Langfuse #9029 by @aiscrm in #9030
- fix:ddg ratelimit 202 by @leslie2046 in #9047
New Contributors
- @zhao85 made their first contribution in #8983
- @Retr0-01 made their first contribution in #8992
- @aiscrm made their first contribution in #9030
Full Changelog: 0.9.1...0.9.2
v0.10.0-beta2
✨ What’s New in v0.10.0-beta2? ✨
Important
This version is for preview only, do not use in production!
Note
We highly value your feedback! Please feel free to share your thoughts and discuss any issues using the GitHub Discussions feature. You can find the entry point for Discussions at the bottom of the release page.
🛠️ Bug Fixes
- Docker Startup Issue: Resolved an issue where Dify 0.10.0-beta1 could not be started using Docker.
Quick Start
To upgrade to this version, follow these steps:
-
Clone the repository using the following command:
git clone https://github.com/langgenius/dify.git
-
Switch to the beta branch:
git checkout 0.10.0-beta2
-
Then follow the Deploy with Docker Compose > Starting Dify.
We hope you find the new file processing capabilities and nodes useful in this release. Your feedback and contributions are always appreciated to help us improve Dify!