Skip to content

Releases: langgenius/dify

v0.9.1

30 Sep 15:22
1f5cc07
Compare
Choose a tag to compare

✨ What’s New in v0.9.1? ✨

We've shipped version 0.9.1 and it’s all about tightening up those loose ends. Let’s dive into what’s been improved:

🚀 Updates & Fixes

  • Dataset Updates Refined: We've streamlined the process for updating original datasets by removing unnecessary parameters. Kudos to @JohnJyong for ironing this out in #8935 and #8939. Less clutter, smoother update experience.

  • Web Page Import via Jina: If you've hit a snag with importing web pages using Jina, the fix is now in place. Thanks to @douxc, those pesky errors should be a thing of the past in #8937.

  • Internal Dataset Request Params: Adjustments have been made to correct request parameters for internal datasets, ensuring your data requests play nice. Thanks, @YIXIAO0, for handling this in #8940.

  • Knowledge Node Retrieval: We’ve eliminated instances of multiple retrieval in the knowledge node to optimize performance and efficiency. A big shout-out to @JohnJyong again for this fix in #8942.

This version is all about refinement and stability, ensuring that the gears behind the scenes are turning smoothly. Until next time, keep building and innovating!


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.

  1. Back up your customized docker-compose YAML file (optional)

    cd docker
    cp docker-compose.yaml docker-compose.yaml.$(date +%s).bak
  2. Get the latest code from the main branch

    git checkout main
    git pull origin main
  3. Stop the service,Command, please execute in the docker directory

    docker compose down
  4. Back up data

    tar -cvf volumes-$(date +%s).tgz volumes
  5. Upgrade services

    docker compose up -d

Source Code deployments

  1. Stop API server, Worker and Web frontend Server.

  2. Get the latest code from the main branch:

    git checkout 0.9.1
    git pull origin 0.9.1
  3. Update Python dependencies:

    cd api
    poetry install
  4. Then, let's run the migration script:

    poetry shell
    flask db upgrade
  5. Finally, run API server, Worker and Web frontend Server again.


What's Changed

Full Changelog: 0.9.0...0.9.1

v0.9.0

30 Sep 10:35
d2ce496
Compare
Choose a tag to compare

✨ What’s New in v0.9.0? ✨

Get ready for a feature-packed update! Version 0.9.0 brings major enhancements, new integrations, and crucial fixes. Let’s dive into the details:

🚀 New Features

🔄 Retrieval-Augmented Generation (RAG)

External Knowledge API: Now you can connect to third-party knowledge bases seamlessly (introduced by @JohnJyong in #8913).

img_v3_02f7_b73507d9-c144-4a1d-acf4-caccec69b99g

  • Simply provide the API endpoint, API key, and external knowledge ID to link with the external knowledge base.
  • Supports retrieval and recall of external knowledge based on user queries.
  • Enables integration of external knowledge bases within Dify applications.

Website Crawling: Now supports Jina Reader as additional alternative for website crawling, converting web page URL to LLM-friendly input format. Read Sync Data from Website for details. (@mapleeit in #8761).

🧠 Models

  • Voyage AI: A new model provider added (thanks to @hwzhuhao in #8747).
  • Llama3.2: Now available with Fireworks and Groq providers for improved performance and variety (@yaoice in #8809 and @Howe829 in #8831).
  • Introduced InternLM 2.5-20b and Qwen 2.5-coder-7b (@hwzhuhao in #8862).
  • Jamba: Another new model to expand our capabilities (@longzhihun in #8878).
  • New Nomic embedding model provider introduced (@yaoice in #8640).
  • Support for o1 series models for OpenRouter (@sinomoe in #8358).
  • DeepSeek-v2.5 added as a model provider for SiliconFlow (@hwzhuhao in #8639).
  • Stream for Gemini now available (@AAEE86 in #8678).
  • Vertex AI Gemini 1.5 002 and experimental models are now supported (@hellof20 in #8767).

🛠️ Other Updates

  • Xinference TTS Stream Mode: Now live for a smoother text-to-speech experience (@leslie2046 in #8616).
  • Regenerate in Chat, Agent, and Chatflow applications (@xuzuodong in #7661).

⚙️ Enhancements

  • Improved SVG output UX for a more seamless design experience (@xuzuodong in #8765).
  • Extended Jina Embeddings V3 API parameters (@DresAaron in #8657).
  • Deprecated older Mistral models for SiliconFlow to streamline performance (@hwzhuhao in #8828).
  • Added Min-connections and Max-connections settings for pgvector (@hwzhuhao in #8841).
  • Error Handling Enhancements: Improved iteration filters and error logging for optimal performance (@hwzhuhao in #8461).
  • Enhanced operational flexibility with fully configurable WORKFLOW_ environment variables* (@fujita-h in #8644).
  • Upgraded ElasticSearch from 8.14.x to 8.15.x to keep our infrastructure up-to-date (@bowenliang123 in #8197).

🛠️ Bug Fixes

  • Fixed "Max submit count reached" error during workflow iterations (@takatost in #8595).
  • Corrected a linking error in help documents (@hjlarry in #8508).
  • iOS TTS Stream: Now fully functional on Safari 17.1+ (@likenamehaojie in #8645).
  • Resolved JSONDecodeError in llm_generator.py (@ZuzooVn in #8504).
  • Fixed errors when sending messages within chatflow and dialogs (@xuzuodong in #8627 and #8682).
  • Corrected Spark's LLM token calculation error for accurate token usage (@cherryhuahua in #8755).
  • Resolved embedded chat issues on iOS (@zxhlyh in #8718).

📚 Documentation & Misc

  • Enhanced documentation to clarify the importance of Celery Service (@fchange in #8558).
  • Updated configurations in docker-compose files and related docs (@saifeiLee and others in #8516 and #8691).
  • Added English versions for customizable model scale documentation to broaden accessibility (@hwzhuhao in #8871).

With this release, we’re truly showcasing the power of Dify! We appreciate your continued support—explore the new features and share your feedback with us!


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.

  1. Back up your customized docker-compose YAML file (optional)

    cd docker
    cp docker-compose.yaml docker-compose.yaml.$(date +%s).bak
  2. Get the latest code from the main branch

    git checkout main
    git pull origin main
  3. Stop the service,Command, please execute in the docker directory

    docker compose down
  4. Back up data

    tar -cvf volumes-$(date +%s).tgz volumes
  5. Upgrade services

    docker compose up -d

Source Code deployments

  1. Stop API server, Worker and Web frontend Server.

  2. Get the latest code from the main branch:

    git checkout 0.9.0
    git pull origin 0.9.0
  3. Update Python dependencies:

    cd api
    poetry install
  4. Then, let's run the migration script:

    poetry shell
    flask db upgrade
  5. Finally, run API server, Worker and Web frontend Server again.


What's Changed

  • fix(workflow): "Max submit count reached" error occurred when executing workflow as tool in iteration by @takatost in #8595
  • fix: a helper link error by @hjlarry in #8508
  • chore: translate i18n files by @github-actions in #8557
  • Enhance Readme Documentation to Clarify the Importance of Celery Service by @fchange in #8558
  • docs: Update ssrf_proxy related doc link in docker-compose file by @saifeiLee in #8516
  • Update the PerfXCloud provider model list,Update PerfXCloudProvider validate_provider_credentials method. by @BingGeX in #8587
  • add MixtralAI Model by @AAEE86 in #8517
  • fix: api/core/ops/ops_trace_manager.py by @ZuzooVn in #8501
  • add Qwen custom add model interface by @AAEE86 in #8565
  • refactor(ops): Optimize the iteration for filter_none_values and use logging.error to record logs when an exception occurs by @hwzhuhao in #8461
  • feat: update pyproject.toml by @ZhouhaoJiang in #8368
  • feat: regenerate in Chat, agent and Chatflow app by @xuzuodong in #7661
  • docs: Add Japanese documentation for tools by @totsukash in #8469
  • feat:use xinference tts stream mode by @leslie2046 in #8616
  • Add Fireworks AI as new model provider by @yaoice in #8428
  • feat(tools/cogview): Updated cogview tool to support cogview-3 and the latest cogview-3-plus by @ox01024 in #8382
  • Add model parameter translation by @AAEE86 in #8509
  • fix: form input add tabIndex by @LLmoskk in #8478
  • feat: support o1 series models for openrouter by @sinomoe in #8358
  • chore: add Gemini newest experimental models (close #7121) by @CXwudi in #8621
  • chore: enhance configuration descriptions by @ZuzooVn in #8624
  • fix: redundant check for available_document_count by @y-omr in #8491
  • fix: commands.py by @ZuzooVn in #8483
  • fix: llm_generator.py JSONDecodeError by @ZuzooVn in #8504
  • fix: send message error when chatting with opening statement by @xuzuodong in #8627
  • feat: add qwen2.5 for model provider siliconflow by @hwzhuhao in #8630
  • docs: fix predefined_model_scale_out.md redirect error by @hwzhuhao in #8633
  • feat: add deepseek-v2.5 for model provider siliconflow by @hwzhuhao in #8639
  • Make WORKFLOW_* configurable as environment variables. by @fujita-h in #8644
  • chore: Enable Japanese descriptions for Tools by @totsukash in #8646
  • feat: extend api params for Jina Embeddings V3 by @DresAaron in #8657
  • fix: Assignment exception by @haike-1213 in #8663
  • chore: skip PLR6201 linter rule by @bowenliang123 in #8666
  • fix: png avatar upload as jpeg by @hjlarry in #8665
  • add Qwen model translate by @AAEE86 in #8674
  • add zhipuai web search by @AAEE86 in #8668
  • add Spark Max-32K by @AAEE86 in #8676
  • chore: Optimize I18nObject class for better performance and readability by @ZuzooVn in #8681
  • fix: send message error when last sent message not succeeded by @xuzuodong in #8682
  • fixbug tts(stream) not work on ios safari(17.1...
Read more

v0.8.3

20 Sep 10:25
7f3282e
Compare
Choose a tag to compare

✨ What’s New in v0.8.3? ✨

Hey everyone! We’re thrilled to announce the release of version 0.8.3, and it brings something truly game-changing:

🚀 Major Feature Highlight

  • Qwen 2.5 Series Models: The highlight of this release is the integration of the Qwen 2.5 Series models, seamlessly synced with Aliyun Bailian, brought to you by @soulteary in #8538. This major update significantly expands our model offerings, providing enhanced capabilities and greater flexibility for your projects. Whether you're working with AI-driven workflows or model-intensive tasks, the Qwen 2.5 Series offers unmatched performance and versatility.

🛠️ Additional Features & Improvements

In addition to the powerful Qwen models, we’ve also made several other improvements and fixes to optimize your experience:

  • New Tools:
    • ComfyUI for Stable Diffusion: Enhanced image generation capabilities with the integration of ComfyUI by @QunBB in #8160.
    • Siliconflow Image-Gen Tool: Part of the flux dev suite, this tool, introduced by @hjlarry in #8450, further expands your creative toolkit.
  • Timeout Configuration: Thanks to @kurokobo in #8395, you now have full control over text generation and workflow timeouts via environment variables, giving you more flexibility in managing process execution times.

⚙️ Enhancements and Fixes

We've also worked on various optimizations and bug fixes to improve overall stability:

  • Image Preview Optimization: Enhanced SVG rendering and image previews for a smoother user experience, thanks to @charli117 in #8387.
  • Workflow Improvements: Including better result handling and improved multi-retrieval for datasets.
  • Bug Fixes: Numerous fixes across authorization, token usage, and vector search methods to ensure smoother operations.

This release is all about delivering cutting-edge capabilities with the Qwen 2.5 Series models and refining the platform with additional tools and fixes. Huge thanks to our incredible contributors for making this version happen! 🚀


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.

  1. Back up your customized docker-compose YAML file (optional)

    cd docker
    cp docker-compose.yaml docker-compose.yaml.$(date +%s).bak
  2. Get the latest code from the main branch

    git checkout main
    git pull origin main
  3. Stop the service,Command, please execute in the docker directory

    docker compose down
  4. Back up data

    tar -cvf volumes-$(date +%s).tgz volumes
  5. Upgrade services

    docker compose up -d

Source Code deployments

  1. Stop API server, Worker and Web frontend Server.

  2. Get the latest code from the main branch:

    git checkout main
    git pull origin main
  3. Update Python dependencies:

    cd api
    poetry install
  4. Then, let's run the migration script:

    poetry shell
    flask db upgrade
  5. Finally, run API server, Worker and Web frontend Server again.


What's Changed

  • fix: ark token usage is none by @sinomoe in #8351
  • fix: score_threshold handling in vector search methods by @laipz8200 in #8356
  • chore: fix unnecessary string concatation in single line by @bowenliang123 in #8311
  • fix: o1-series model encounters an error when the generate mode is blocking by @takatost in #8363
  • fix: when edit load balancing config not pass the empty filed value hidden by @iamjoel in #8366
  • fix: add before send to remove langfuse defaultErrorResponse by @ZhouhaoJiang in #8361
  • fix: edit load balancing not pass id by @iamjoel in #8370
  • fix(workflow): both parallel and single branch errors occur in if-else by @takatost in #8378
  • chore: update firecrawl scrape to V1 api by @hjlarry in #8367
  • support hunyuan-turbo by @xiandan-erizo in #8372
  • chore: refurish python code by applying Pylint linter rules by @bowenliang123 in #8322
  • fix (#8322 followup): resolve the violation of pylint rules by @bowenliang123 in #8391
  • chore: improve usage of striping prefix or suffix of string with Ruff 0.6.5 by @bowenliang123 in #8392
  • fix: sandbox issue related httpx and requests by @Yeuoly in #8397
  • fix: o1-mini 65563 -> 65536 by @crazywoola in #8388
  • fix: pyproject.toml typo by @ZuzooVn in #8396
  • fix(docker): aliyun oss path env key by @incca in #8394
  • Fix: Support Bedrock cross region inference #8190 (Update Model name to distinguish between different region groups) by @ybalbert001 in #8402
  • fix: resolve runtime error when self.folder is None by @swingchen01 in #8401
  • fix:logs and rm unused codes in CacheEmbedding by @Howe829 in #8409
  • fix(workflow): the answer node after the iteration node containing the answer was output prematurely by @takatost in #8419
  • fix: when the variable does not exist, an error should be prompted by @HiChen404 in #8413
  • Fix: operation postion of answer in logs by @JzoNgKVO in #8411
  • feat: allow users to specify timeout for text generations and workflows by environment variable by @kurokobo in #8395
  • fix: sys_var startwith 'sys.' not 'sys' #8421 by @yanxiyue in #8422
  • chore: update Jina embedding model by @DresAaron in #8376
  • Fix: #8190 (Update Model nam… by @ybalbert001 in #8426
  • fix: delete the delay for the tooltips inside the add tool panel by @YIXIAO0 in #8436
  • chore(workflow): Optimize the iteration when selecting a variable from a branch in the output variable causes iteration index err by @takatost in #8440
  • Bugfix/fix feishu plugins by @hgnulb in #8443
  • fix: Improve scrolling behavior for Conversation Opener by @ZuzooVn in #8437
  • add WorkflowClient.get_result, increase version number by @twisker in #8435
  • add svg render & Image preview optimization by @charli117 in #8387
  • fix:docker-compose.middleware.yaml start the Weaviate container by default (#8446) by @hwzhuhao in #8447
  • multi-retrival use dataset's top-k by @JohnJyong in #8416
  • fix: internal error when tool authorization by @takatost in #8449
  • [Python SDK] Add KnowledgeBaseClient and the corresponding test cases. by @twisker in #8465
  • fix(RunOnce): change to form submission instead of onKeyDown and onClick by @MH4GF in #8460
  • chore: workflow BRANCH, PARALLEL i18n by @ZuzooVn in #8452
  • feat: add flux dev of siliconflow image-gen tool by @hjlarry in #8450
  • feat: Add base URL settings and secure_ascii options to the Brave search tool by @XiaoLey in #8463
  • chore: update the .gitignore file to include opensearch,pgvector,and myscale by @hwzhuhao in #8470
  • feat: Add ComfyUI tool for Stable Diffusion by @QunBB in #8160
  • chore: Deprecate gpt-3.5-turbo-0613 and gpt-3.5-turbo-16k-0613 models by @laipz8200 in #8500
  • refactor: rename task_type to task for jina embeddings v3 by @bwanglzu in #8488
  • validate user permission before enter app detail page by @douxc in #8527
  • feat: add format util unit and add pre-commit unit check by @LLmoskk in #8427
  • fix: ci issues(missing duckduckgo-search==6.2.11, ruff lint issue) by @takatost in #8543
  • fix: thread_pool submit count in parallel workflow not releasing by @takatost in #8549
  • feat: sync Qwen API with Aliyun Bailian by @soulteary in #8538
  • add storage error log by @JohnJyong in #8556
  • chore: improve delimiter by @iamjoel in #8552
  • feat: add hunyuan-vision by @muzea in #8529
  • fix: fix qwen series model type by @soulteary in #8580
  • Fix: update qwen model and model config by @soulteary in #8584
  • ComfyUI too...
Read more

v0.8.2

13 Sep 05:45
80a322a
Compare
Choose a tag to compare

✨ What’s New in v0.8.2? ✨

Hey everyone, we've got some fresh updates in version 0.8.2 that are all about making your experience smoother and more efficient. Here's the lowdown:

🚀 New Features

  • O1-Series Models Support: We've added support for the O1-series models in the Agent App, specifically for ReACT workflows. This enhancement by @takatost in #8350 opens up new possibilities for those leveraging ReACT in their applications.

  • Service API Workflow Logs: Thanks to @fanlia in #8323, you can now access detailed workflow logs via the service API. This is a big win for those of you who need to keep a close eye on what's happening under the hood.

🛠️ Bug Fixes

  • Score Threshold Fix: Addressed an issue where the score threshold was set to none, ensuring more reliable performance metrics by @JohnJyong in #8342.

  • Workflow Var-Selector Update: Fixed a bug where the var-selector wasn't updating when edges changed in workflows. Kudos to @HiChen404 for this fix in #8259.

  • Copy and Paste Shortcut: Resolved an issue with the copy and paste shortcut in the textarea of the workflow run panel, making text manipulation a breeze again. Thanks to @YIXIAO0 for the fix in #8345.

That's it for this release! Keep those feedback and contributions coming, and let's keep making this platform even better together.


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.

  1. Back up your customized docker-compose YAML file (optional)

    cd docker
    cp docker-compose.yaml docker-compose.yaml.$(date +%s).bak
  2. Get the latest code from the main branch

    git checkout main
    git pull origin main
  3. Stop the service,Command, please execute in the docker directory

    docker compose down
  4. Back up data

    tar -cvf volumes-$(date +%s).tgz volumes
  5. Upgrade services

    docker compose up -d

Source Code deployments

  1. Stop API server, Worker and Web frontend Server.

  2. Get the latest code from the main branch:

    git checkout main
    git pull origin main
  3. Update Python dependencies:

    cd api
    poetry install
  4. Then, let's run the migration script:

    poetry shell
    flask db upgrade
  5. Finally, run API server, Worker and Web frontend Server again.


What's Changed

  • fixed score threshold is none by @JohnJyong in #8342
  • fix(workflow): fix var-selector not update when edges change by @HiChen404 in #8259
  • Feature/service api workflow logs by @fanlia in #8323
  • fix: copy and paste shortcut in the textarea of the workflow run panel by @YIXIAO0 in #8345
  • feat: add o1-series models support in Agent App (ReACT only) by @takatost in #8350
  • feat: add langfuse sentry ignore error by @ZhouhaoJiang in #8353
  • chore: update version to 0.8.2 in packaging and docker-compose files by @laipz8200 in #8352

New Contributors

Full Changelog: 0.8.1...0.8.2

v0.8.1

12 Sep 18:49
c78828a
Compare
Choose a tag to compare

✨ What’s New in v0.8.1? ✨

Hello Dify Community! 🎉 We're excited to announce the release of v0.8.1, packed with enhancements, new features, and important bug fixes to elevate your experience. Let's explore what's new:

🚀 Key Features

  • ✨ OpenAI o1-Series Models Support
    Unlock the power of OpenAI's cutting-edge models with support for both o1-preview and o1-mini. These additions provide you with more flexibility and enhanced AI capabilities to meet your diverse needs.
    Special thanks to @takatost for implementing this feature in #8328.

🛠️ Improvements & Bug Fixes

Workflow Enhancements

  • Multi-Parallel Execution Fixed
    Resolved issues with workflows executing multiple parallel branches and conditional paths seamlessly.
    Credit to @takatost for #8221.

  • Accurate Branch Outputs
    Fixed simultaneous output problems in different branches of the question classifier node for more reliable results.
    Thanks to @takatost in #8225.

  • IF-ELSE Node Stability
    Addressed execution halts when IF-ELSE nodes connect to the same subsequent node, ensuring consistent workflow execution.
    Handled by @takatost in #8247.

  • Complete Data Flow in Answer Nodes
    Fixed missing content in answer node stream outputs during iterations, guaranteeing comprehensive data flow.
    Another great fix by @takatost in #8292.

  • Stream Chunk/Message Event Selector
    Take greater control over your data streams with the new from_variable_selector. This feature allows for more precise management of stream chunk and message events, ensuring smoother data flow.
    Implemented by @takatost in #8228.

Ollama Embedding Model

  • Error Resolutions
    Squashed bugs related to adding the Ollama embedding model, including pesky 500 errors, for a smoother integration experience.
    Thanks to @Howe829 in #8236 and #8252.

UI & Usability Enhancements

  • Improved Icon Alignment
    Corrected the misalignment of the upload image icon in the chat input area for a cleaner interface.
    Implemented by @hjlarry in #8263.

  • Enhanced Markdown Readability
    Adjusted markdown paragraph margins to enhance readability and overall user experience.
    Courtesy of @zxhlyh in #8289.

  • Copy Shortcut Fixes
    Resolved issues with copy shortcuts in the workflow debug and preview panels for smoother navigation.
    Thanks to @Kevin9703 in #8249.

Miscellaneous Fixes

  • Localized Translations
    Enhanced regionalization of translations to provide a more localized and user-friendly experience.
    Contributed by @thalessalazar in #8231.

  • Value Handling & Label Issues
    Fixed truthy value handling and response format label issues for better data consistency.
    Thanks to @ZuzooVn in #8208 and #8326.

  • VariableEntityType Bug
    Resolved naming convention inconsistencies by fixing the VariableEntityType bug.
    Handled by @GuoNingNing in #8299.

🌟 Other Enhancements

  • Bedrock Improvements

    • Claude Models Support
      Claude models in Bedrock now support the response_format parameter, providing more customization options.
      Thanks to @badbye in #8220.

    • Cross-Region Inference
      Added support for Bedrock cross-region inference, enhancing deployment flexibility across different regions.
      Implemented by @ybalbert001 in #8317.

  • API Key Creation for Editors
    Editors can now create API keys directly, streamlining the development workflow and enhancing security.
    Thanks to @cuckootan in #8214.


Thank you to everyone who contributed to v0.8.1! 🙌 Your feedback and support help us build something truly awesome. Keep the suggestions coming, and let's continue to innovate together! 🚀

Stay tuned for more updates and happy coding! 💻✨


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.

  1. Back up your customized docker-compose YAML file (optional)

    cd docker
    cp docker-compose.yaml docker-compose.yaml.$(date +%s).bak
  2. Get the latest code from the main branch

    git checkout main
    git pull origin main
  3. Stop the service,Command, please execute in the docker directory

    docker compose down
  4. Back up data

    tar -cvf volumes-$(date +%s).tgz volumes
  5. Upgrade services

    docker compose up -d

Source Code deployments

  1. Stop API server, Worker and Web frontend Server.

  2. Get the latest code from the main branch:

    git checkout main
    git pull origin main
  3. Update Python dependencies:

    cd api
    poetry install
  4. Then, let's run the migration script:

    poetry shell
    flask db upgrade
  5. Finally, run API server, Worker and Web frontend Server again.


What's Changed

New Contributors

Full Changelog: 0.8.0...0.8.1

v0.8.0

10 Sep 11:06
ffd4bf8
Compare
Choose a tag to compare

✨ What’s New in v0.8.0? ✨

Hey everyone, we’re excited to announce the release of version 0.8.0! This update brings a mix of new features, enhancements, and crucial bug fixes. Here’s a quick rundown:

🔥 Key Feature

Parallel Execution of Nodes in Workflows by @takatost, @zxhlyh, and @YIXIAO0 in #8192.

image

Nodes can now be executed in parallel within a workflow, greatly increasing the execution speed. This feature is especially beneficial for complex workflows that involve multiple steps or processes, allowing for quicker completion times and improved performance.

Dive deeper into the details and unleash the full potential of these new features by exploring our latest blog post and documentation!

🚀 New Features

  • Support gpt-4o-2024-08-06 and json_schema for Azure OpenAI Service: Support for the latest GPT-4o model and JSON schema for Azure OpenAI by @hjlarry in #7648
  • Support Oracle Cloud Infrastructure Generative AI Service: Oracle Cloud Infrastructure is now a supported model provider by @tmuife in #7775
  • Support Fish Audio TTS: Added support for Fish Audio Text-to-Speech models by @leng-yue in #7982

⚠️ Deprecated Features

  • Deprecate N to 1 Retrieval by @zxhlyh in #8134
    The N-to-1 retrieval strategy is officially deprecated in this version, of which the entrance will be closed but applications that have selected this feature will still be retained. We recommend switching to the more flexible multi-path retrieval strategy to boost your application's retrieval efficiency.

⚙️ Enhancements

  • Update App Published Time After Clicking Publish Button: The published time of an app now updates correctly when you click the publish button by @vicoooo26 in #7801

🛠️ Bug Fixes

  • Fix Notion Table Extract: Fixed issues with extracting data from Notion tables by @JohnJyong in #7925
  • Fix Nvidia Rerank Top N Missed: Addressed issues with Nvidia rerank top N functionality by @JohnJyong in #8185
  • Fix Claude Credential Validation: Resolved credential validation issues for Claude by @crazywoola in #8109

That’s it for this release! As always, we appreciate your feedback and contributions. Do it for you! 🚀


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.

  1. Back up your customized docker-compose YAML file (optional)

    cd docker
    cp docker-compose.yaml docker-compose.yaml.$(date +%s).bak
  2. Get the latest code from the main branch

    git checkout main
    git pull origin main
  3. Stop the service,Command, please execute in the docker directory

    docker compose down
  4. Back up data

    tar -cvf volumes-$(date +%s).tgz volumes
  5. Upgrade services

    docker compose up -d

Source Code deployments

  1. Stop API server, Worker and Web frontend Server.

  2. Get the latest code from the main branch:

    git checkout main
    git pull origin main
  3. Update Python dependencies:

    cd api
    poetry install
  4. Then, let's run the migration script:

    poetry shell
    flask db upgrade
  5. Finally, run API server, Worker and Web frontend Server again.


What's Changed

Read more

v0.8.0-beta1

04 Sep 12:29
Compare
Choose a tag to compare
v0.8.0-beta1 Pre-release
Pre-release

Important

This version is for preview only, do not use in production!

✨ What’s New in v0.8.0-beta1?✨

We are excited to announce the release of Dify 0.8.0-beta1! This version introduces a significant enhancement to workflow performance by enabling the parallel execution of nodes within workflows. This improvement allows workflows to run faster and more efficiently, optimizing the use of resources and reducing overall processing time.

🚀 Key Features

  • Parallel Execution of Nodes in Workflows: Nodes can now be executed in parallel within a workflow, greatly increasing the execution speed. This feature is especially beneficial for complex workflows that involve multiple steps or processes, allowing for quicker completion times and improved performance.

    image

Quick Start

To upgrade to this version, follow these steps:

  1. Clone the repository using the following command:

    git clone https://github.com/langgenius/dify.git
  2. Switch to the 0.8.0-beta1 branch:

    git checkout 0.8.0-beta1
  3. Then following the Deploy with Docker Compose > Starting Dify.

We hope you enjoy the new features and improvements in this release. As always, we welcome your feedback and contributions to make Dify even better!

v0.7.3

03 Sep 01:51
8986be0
Compare
Choose a tag to compare

✨ What’s New in v0.7.3? ✨

Hey everyone, we've just dropped version 0.7.3, and it's packed with new features, enhancements, and fixes. Let's dive into what's new:

🚀 New Features

  • Message Count: You can now monitor the message usage directly from the monitoring page by @leslie2046 in #7603.
    image
  • Azure AI Studio Provider: Added Azure AI Studio as a provider by @helioLJ in #7549.
  • Perplexity Search Tool: Introduced a new search tool that utilizes perplexity-based techniques to enhance search capabilities by @leilei-jiang in #7861.
  • Stock Price Query Tool: Query stock prices from Alpha Vantage by @hwzhuhao in #7752.

⚙️ Enhancements

  • Langfuse View Button: Improved user interface with a new view button by @charli117 in #7684.
  • GLM Models Pricing and Max Tokens: Corrected prices and max tokens for GLM models by @orangeclk in #7882.
  • App Icon as Answer Icon: Now you can use your app icon as the answer icon by @kurokobo in #7888.
  • Array Types in Variable List: Support for array types in the available variable list by @YidaHu in #7715.
  • Question Classifier Prompt Optimization: Enhanced prompt accuracy by @JohnJyong in #4262.
  • Code Execution Configs: Added support for configurations in code execution requests by @bowenliang123 in #7704.

🛠️ Bug Fixes

  • CODE_MAX_STRING_LENGTH Config: Fixed configuration issue by @bowenliang123 in #7683.
  • Remove Useless Debug Information: Cleaned up unnecessary debug info by @erigo in #7647.
  • MyScale VectorDB Score Threshold: Set score_threshold to zero if it is None by @lqhl in #7640.
  • Dataset and Index Node ID Fix: Fixed missing dataset_id and index_node_id in document segments table by @JohnJyong in #7681.
  • Empty Knowledge Add File: Fixed issue with adding empty knowledge files by @zxhlyh in #7690.
  • Chunk Overlap Fix: Addressed None value in chunk overlap by @JohnJyong in #7703.
  • Tongyi Error Fix: Resolved 'NoneType' object error by @crazywoola in #7705.
  • Document Language Return Null: Fixed issue with document segment settings by @JiakunXu in #7719.
  • Annotation Reply Settings: Fixed settings issue by @JzoNgKVO in #7696.
  • Crawl Options Max Length: Fixed issue where max length could not be set to 0 by @iamjoel in #7758.
  • Variable Aggregator Groups: Fixed issue with passing arrays of string/number/object by @Leheng620 in #7757.
  • WebApp SSO Setting: Ensured latest value is shown on refresh by @douxc in #7795.
  • OpenAI Compatible Interface Model: Fixed error when no object is returned by @Hisir0909 in #7808.
  • Installed Apps Filter: Filtered out installed apps without an app by @YidaHu in #7799.
  • Tooltip Size: Fixed improper size setting by @YIXIAO0 in #7836.
  • Keyword Search in Application Log: Fixed issue in application log list by @realethanhsu in #7816.
  • HTTP Timeout Configs: Corrected default values and ignorance by HttpRequestNode by @bowenliang123 in #7762.
  • ECharts Crash: Fixed crash when accessing undefined objects by @zhujinle in #7853.
  • RetrievalConfig Score Threshold: Fixed assignment for zero value by @MH4GF in #7865.
  • Layout Shift on App Card Hover: Fixed layout shift issue by @yikayiyo in #7872.
  • Linked Images: Ignored linked images when image ID is None by @JohnJyong in #7890.

🌐 Internationalization

  • Russian Language Support: Added support for the Russian language by @d8rt8v in #7860.

That's all for this release! As always, thanks for your contributions and feedback. Keep them coming! 🚀


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.

  1. Back up your customized docker-compose YAML file (optional)

    cd docker
    cp docker-compose.yaml docker-compose.yaml.$(date +%s).bak
  2. Get the latest code from the main branch

    git checkout main
    git pull origin main
  3. Stop the service,Command, please execute in the docker directory

    docker compose down
  4. Back up data

    tar -cvf volumes-$(date +%s).tgz volumes
  5. Upgrade services

    docker compose up -d

Source Code deployments

  1. Stop API server, Worker and Web frontend Server.

  2. Get the latest code from the main branch:

    git checkout main
    git pull origin main
  3. Update Python dependencies:

    cd api
    poetry install
  4. Then, let's run the migration script:

    poetry shell
    flask db upgrade
  5. Finally, run API server, Worker and Web frontend Server again.


What's Changed

Read more

v0.7.2

26 Aug 12:14
0474f0c
Compare
Choose a tag to compare

✨ What’s New in v0.7.2? ✨

Hey everyone, we’re excited to bring you version 0.7.2 of our platform. This release is packed with new features, enhancements, and bug fixes to make your experience even better. Here’s a quick rundown:

🚀 New Features

  • Added support for dialogue count in chatflow by @iamjoel in #7440.
  • Added support for JSON Mode for Moonshot models by @oiuv in #7568.
  • Added support for Qwen text-embedding-v3 by @droxer in #7567.
  • Added support for the siliconflow text2img tool by @hjlarry in #7612.
  • Added support for the OneBot protocol tool by @RockChinQ in #7583.
  • Support for Wenxin BGE-Large and Tao embedding models by @CheneyYin in #7393.

⚙️ Enhancements

🛠️ Bug Fixes

  • Fixed logs not including the current day by @leslie2046 in #7426.
  • Fixed workflow end node deletion by @zxhlyh in #4240.
  • Fixed image icon not showing correctly on the left panel in the workflow web app page by @xuzuodong in #7466.
  • Fixed JSON schema not being saved correctly by @hjlarry in #7487.
  • Fixed the issue of the refine_switches param being invalid in the Novita.AI tool by @XiaoLey in #7485.
  • Fixed the tag input state lost issue by @YIXIAO0 in #7500.
  • Fixed the wrong usage of created_at on the modal for API Key by @monstaruos in #7548.
  • Fixed the workflow context menu popup issue by @YIXIAO0 in #7530.
  • Fixed incorrect duplication when no target node is selected by @edo1z in #7539.
  • Fixed voice language by @ZuzooVn in #7570.
  • Fixed score_threshold is none, return all top K documents by @gongchangwangpi in #7581.
  • Fixed the issue of not passing query parameters when the value is empty by @AmosZhu in #7585.
  • Fixed the workflow zoom range for shortcuts by @YIXIAO0 in #7563.
  • Fixed the tool node error by @luckylhb90 in #7459.
  • Fixed document error message not being cleared by @wellCh4n in #7453.
  • Fixed the issue of the refine_switches param being invalid in the Novita.AI tool by @XiaoLey in #7485.
  • Fixed the tag input state lost issue by @YIXIAO0 in #7500.
  • Fixed the wrong usage of created_at on the modal for API Key by @monstaruos in #7548.
  • Fixed the workflow context menu popup issue by @YIXIAO0 in #7530.
  • Fixed incorrect duplication when no target node is selected by @edo1z in #7539.
  • Fixed voice language by @ZuzooVn in #7570.
  • Fixed score_threshold is none, return all top K documents by @gongchangwangpi in #7581.
  • Fixed the issue of not passing query parameters when the value is empty by @AmosZhu in #7585.
  • Fixed the workflow zoom range for shortcuts by @YIXIAO0 in #7563.
  • Fixed the tool node error by @luckylhb90 in #7459.
  • Fixed document error message not being cleared by @wellCh4n in #7453.

📝 Documentation

That’s all for this release! As always, thank you for your contributions and feedback. Keep them coming, and happy coding! 🚀


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.

  1. Back up your customized docker-compose YAML file (optional)

    cd docker
    cp docker-compose.yaml docker-compose.yaml.$(date +%s).bak
  2. Get the latest code from the main branch

    git checkout main
    git pull origin main
  3. Stop the service,Command, please execute in the docker directory

    docker compose down
  4. Back up data

    tar -cvf volumes-$(date +%s).tgz volumes
  5. Upgrade services

    docker compose up -d

Source Code deployments

  1. Stop API server, Worker and Web frontend Server.

  2. Get the latest code from the main branch:

    git checkout main
    git pull origin main
  3. Update Python dependencies:

    cd api
    poetry install
  4. Then, let's run the migration script:

    poetry shell
    flask db upgrade
  5. Finally, run API server, Worker and Web frontend Server again.


What's Changed

  • Web app support sending message using numpad enter by @xuzuodong in #7414
  • feat(api): support wenxin bge-large and tao embedding model. by @CheneyYin in #7393
  • chore: correct _tts_invoke_streaming max length by @ZuzooVn in #7423
  • chore: #7196 i18n by @ZuzooVn in #7416
  • fix: Logs do not include current day by @leslie2046 in #7426
  • feat: add pgvector full_text_search by @jasonkang14 in #7396
  • feat: support line break of tooltip content by @hjlarry in #7424
  • add pgvector full text search settting by @JohnJyong in #7427
  • chore(database): Rename table name from workflow__conversation_variables to workflow_conversation_variables. by @laipz8200 in #7432
  • chore: remove .idea and .vscode from root path by @Yeuoly in #7437
  • refactor(api/core/workflow/nodes/variable_assigner): Split into multi files. by @laipz8200 in #7434
  • chore: add and update theme related css variables values by @iamjoel in #7442
  • refactor(api/core/app/app_config/entities.py): Move Type to outside and add EXTERNAL_DATA_TOOL. by @laipz8200 in #7444
  • fix(api/services/workflow/workflow_converter.py): Add NoneType checkers & format file. by @laipz8200 in #7446
  • refactor(api/core/workflow/enums.py): Rename SystemVariable to SystemVariableKey. by @laipz8200 in #7445
  • refactor(api/models/workflow.py): Add __init__ to Workflow by @laipz8200 in #7443
  • feat: Sort conversations by updated_at desc by @KinWang130 in #7348
  • feat: support dialogue count in chatflow by @iamjoel in #7440
  • fix: document error message can not be cleared by @wellCh4n in #7453
  • chore: #7348 i18n by @ZuzooVn in #7451
  • fix(tool): tool node error by @luckylhb90 in #7459
  • fix: image icon not showing correctly on left panel in workflow web app page by @xuzuodong in #7466
  • chore: improve the copywrite of the assigner node append mode description by @iamjoel in #7467
  • feat: support pinning, including, and excluding for model providers and tools by @GareArc in #7419
  • Separate CODE_MAX_DEPTH and set it as an environment variable by @Hisir0909 in #7474
  • fix: json schema not saved correctly by @hjlarry in #7487
  • fix the issue of the refine_switches at param being invalid in the Novita.AI tool by @XiaoLey in #7485
  • feat: gpt-4o-mini-2024-07-18 support json schema by @hjlarry in #7489
  • feat: support CODE_MAX_PRECISION by @ZuzooVn in #7484
  • Fix/incorrect code template by @Yeuoly in #7490
  • fix rerank mode is none by @JohnJyong in #7496
  • Chore/remove python dependencies selector by @Yeuoly in #7494
  • add finish_reason to the LLM node output by @orangeclk in #7498
  • Feat/7134 use dataset api create a dataset with permission by @crazywoola in #7508
  • feat(storage): 🐛 Create S3 bucket if it doesn't exist by @moyueheng in #7514
  • fix: tag input state lost issue by @YIXIAO0 in #7500
  • feat: update the "tag delete" confirm modal by @YIXIAO0 in #7522
  • fix: add missed modifications of <AppIcon /> by @xuzuodong in #7512
  • docs: update certbot/README.md by @eltociear in #7528
  • do...
Read more

v0.7.1

19 Aug 13:26
3d27d15
Compare
Choose a tag to compare

✨ What’s New in v0.7.1? ✨

Hey everyone, we’re excited to bring you version 0.7.1 of our platform! This release is packed with new features, enhancements, and crucial fixes. Let’s dive in:

🚀 New Features

  • Custom App Icons: Personalize your apps with custom icons by @xuzuodong in #7196.

    Screenshot 2024-08-19 at 2 36 27 PM
  • OpenAI Structured Outputs Support: Now supporting OpenAI's Structured Outputs by @hjlarry in #7258.

  • Dify Sandbox v0.2.6: Install any Python package you want by @Yeuoly in #7410.

🧠 Model Updates

  • ChatGPT-4o-Latest: Added the latest ChatGPT-4o model by @hjlarry in #7289.

🛠️ New Tools

  • Jina Tokenizer Tool: Added a new tokenizer tool by @hjlarry in #7375.
  • GitLab Tool: Integrated GitLab tool by @wlrnet in #7329.

⚙️ Enhancements

  • Xinference Auth System: Enhanced support for Xinference's authentication system by @ethan-fly in #7369.
  • Ruff Formatter: Introduced Ruff Formatter for better code formatting by @laipz8200 in #7291.
  • Ruff Update: Updated Ruff from 0.5.x to 0.6.x by @bowenliang123 in #7384.
  • Rearranged API Python Dependencies by @bowenliang123 in #7391

🛠️ Bug Fixes

  • Rerank Mode Fix: Fixed missing rerank_mode when converting to DatasetEntity by @optionals in #7269.
  • Tool Test Modal: Fixed issue where parameters couldn’t be input in tool test modal by @wellCh4n in #7281.
  • Markdown Conversion: Fixed file to markdown conversion issue by @laipz8200 in #7293.
  • Image Resizing: Dify editor now supports image resizing by @crazywoola in #7296.
  • Conversation Variables: Added conversation variables in app DSL service by @laipz8200 in #7304.
  • Node and Edge Issues: Fixed inability to add node and change the edge by @aixgeek in #7303.
  • Default Values: Fixed missing default value of type array object in conversation variable modal by @JzoNgKVO in #7309.
  • Elasticsearch Docker Env: Fixed docker environment for Elasticsearch by @QIN2DIM in #7270.
  • Run History: Corrected iteration times number in run history by @iamjoel in #7318.
  • Keywords Fix: Fixed keywords issue by @crazywoola in #7357.
  • Workflow Variables: Added conversation variable to workflow by @laipz8200 in #7257.

🌐 Internationalization

  • Japanese Translation: Added JP translation for variable aggregator by @HanqingZ in #7277.
  • Fixes in Japanese Translations: Corrected translations of secret values by @yukyu30 in #7279.
  • General i18n Updates: Various internationalization updates by @ZuzooVn in #7312.

That’s all for this release! As always, thank you for your contributions and feedback. Keep building and innovating!


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.

  1. Back up your customized docker-compose YAML file (optional)

    cd docker
    cp docker-compose.yaml docker-compose.yaml.$(date +%s).bak
  2. Get the latest code from the main branch

    git checkout main
    git pull origin main
  3. Stop the service,Command, please execute in the docker directory

    docker compose down
  4. Back up data

    tar -cvf volumes-$(date +%s).tgz volumes
  5. Upgrade services

    docker compose up -d

Source Code deployments

  1. Stop API server, Worker and Web frontend Server.

  2. Get the latest code from the main branch:

    git checkout main
    git pull origin main
  3. Update Python dependencies:

    cd api
    poetry install
  4. Then, let's run the migration script:

    poetry shell
    flask db upgrade
  5. Finally, run API server, Worker and Web frontend Server again.


What's Changed

Read more