Releases: langgenius/dify
v0.14.2
✨ What’s New in v0.14.2? ✨
We’re thrilled to announce the release of v0.14.2, packed with new features and critical enhancements. Here’s everything new in this update:
🚀 New Features
-
Workflow Retry Functionality: We've enhanced workflow resilience with a retry feature by @zxhlyh. Your nodes will make repeat attempts if they face execution errors, minimizing disruptions.
-
Order Support in Models: Now you can specify the order between text and files when using models like Gemini and Claude, thanks to the work of @laipz8200. This gives you precise control over data flow.
-
Azure GPT-4o-2024-11-20 Model: Thanks to @agungbesti, this powerful model is now part of our lineup, offering advanced capabilities for your needs.
-
Gemini-2.0-flash-thinking-exp-1219: Explore this cutting-edge model brought to you by @hjlarry—designed to enhance your application capabilities.
✨ Enhancements
-
HTTP Request Node File Type Detection: Improved by @tancheng33 to ensure better handling of file uploads.
-
Memory Optimization: Reduced memory usage from 800+ MB to 500+ MB, thanks to the optimizations by @yihong0618.
-
Partial Success Status in App Logs: With the help of @Nov1c444, we’ve introduced a new log metric to capture partial successes across app operations.
-
Workflow Parallel Depth Limit Configuration: Gain more control over concurrency in your workflows with this new setting by @laipz8200.
We owe a huge thank you to all the contributors for their hard work and dedication. Your continuous support and input drive our improvement.
As always, keep the feedback coming, and happy building with Dify! 🚀
Upgrade Guide
Docker compose deployments
Warning
The files in the docker-legacy directory will soon stop being maintained and will be removed from the repository. If you are still using them, please switch to the new version as soon as possible.
-
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.14.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
- ci: add config ci more disscuss check #11706 by @yihong0618 in #11752
- ci: fix config ci and it works by @yihong0618 in #11807
- Fix explore app icon by @charli117 in #11808
- add-model-azure-gpt-4o-2024-11-20 by @agungbesti in #11803
- feat(ark): add doubao-pro-256k and doubao-embedding-large by @sinomoe in #11831
- fix: remove ruff ignore SIM300 by @barabicu in #11810
- fix: silicon change its model fix #11844 by @yihong0618 in #11847
- fix: float values are not json for nan value close #11827 by @yihong0618 in #11840
- Fix/10584 wrong message when no custom tool available in custom tool list by @crazywoola in #11851
- fix: comfyui tool supports https by @shaxiaozz in #11823
- fix: Enhance file type detection in HTTP Request node by @tancheng33 in #11797
- feat: add gemini-2.0-flash-thinking-exp-1219 by @hjlarry in #11863
- Fix comfyui tool https by @shaxiaozz in #11859
- fix: better gard nan value from numpy for issue #11827 by @yihong0618 in #11864
- fix: add safe dictionary access for bedrock credentials by @KMerdan in #11860
- chore(deps): bump nanoid from 3.3.7 to 3.3.8 in /web by @dependabot in #11876
- chore(db): use a better way to export models and remove unused table by @laipz8200 in #11838
- feat(llm_node): support order in text and files by @laipz8200 in #11837
- Feat: Add partial success status to the app log by @Nov1c444 in #11869
- Feat: Retry on node execution errors by @Nov1c444 in #11871
- fix: node 22 build by @AkaraChen in #11883
- chore: translate i18n files by @github-actions in #11855
- chore: add retry index migration by @Nov1c444 in #11887
- fix: better memory usage from 800+ to 500+ by @yihong0618 in #11796
- feat: add workflow parallel depth limit configuration by @laipz8200 in #11460
- Feat/workflow retry by @zxhlyh in #11885
- chore: translate i18n files by @github-actions in #11892
- fix: rerank switch by @zxhlyh in #11897
- fix: doc can not extract tables by @yihong0618 in #11879
- fix: handle document fetching from URL in Anthropic LLM model, solving base64 decoding error by @fdb02983rhy in #11858
- revert: these 2 settings by @crazywoola in #11906
- fix: dataset search-input compostion can't work in chrome by @xhdd123321 in #11907
- Update input-var-list.tsx by @Wuhu-dsm in #9987
- add three aws tools by @ybalbert001 in #11905
- fix: ensure WorkflowRun attributes are refreshed in WorkflowCycleMana… by @fdb02983rhy in #11913
- fix(retrieval_service): avoid to use exception by @laipz8200 in #11925
- fix(file_factory): validate upload_file_id before querying UploadFile by @laipz8200 in #11937
- refactor: update builtin tool provider methods to use session management by @laipz8200 in #11938
- fix: change OutputParserError to inherit from ValueError by @laipz8200 in #11935
- fix(nodes): handle errors in question_classifier and parameter_extractor by @laipz8200 in #11927
- fix(tool_file_manager): raise ValueError when get timeout by @laipz8200 in #11928
- fix(model_runtime): make invoke as ValueError by @laipz8200 in #11929
- fix: change MaxRetriesExceededError to inherit from ValueError by @laipz8200 in #11934
- fix: add RemoteFileUploadError for better error handling in remote fi… by @laipz8200 in #11933
- fix: validate response type in transform_response method by @laipz8200 in #11931
- fix: validate reranking model attributes before processing by @laipz8200 in #11930
- fix(code_node): update type hints for string and number checks in Cod… by @laipz8200 in #11936
- fix:log error(#11942) by @leslie2046 in #11943
- fix: self.method should method in api_tool.py by @yihong0618 in #11926
- fix: The default updated_at when a workflow is created by @jiangbo721 in #11709
- fix: gemini system prompt with variable raise error by @hjlarry in #11946
- fix: refactor conversation pagination to use SQLAlchemy session manag… by @laipz8200 in #11956
- fix(app_dsl_service): handle missing app mode with a ValueError by @laipz8200 in #11945
- feat(code_node): add more check by @laipz8200 in #11949
- fix(json_in_md_parser): improve error messages for JSON parsing failures by @laipz8200 in #11948
- fix: enhance type hints and improve audio message handling in TTS pub… by @laipz8200 in #11947
- fix(core/errors): change base class of custom exceptions to ValueError by @laipz8200 in #11955
- fix: raise http request node error on httpx.request error by @laipz8200 in #11954
- fix(base_node): change BaseNodeError exception type from Exception to ValueError by @laipz8200 in #11952
- fix(ops_trace_manager): handle None workflow_run in work...
v0.14.1
✨ What’s New in v0.14.1? ✨
We’re excited to bring you version 0.14.1, packed with enhancements and new features designed to elevate your workflow and performance. Here’s what you can look forward to:
🚀 New Features
-
Gemini Models: Gemini models have received a robust upgrade. With integrated response metadata, you can manage token counting more efficiently, thanks to enhancements by @totsukash in #11743.
-
OpenAI O1 Model: Take advantage of the new OpenAI O1 model with updated pricing and a larger token limit, providing even greater flexibility for your projects, courtesy of @laipz8200 in #11780.
-
OpenDAL Integration: Introducing Apache OpenDAL™, the visionary approach to storage — One Layer, All Storage. This tool seamlessly integrates with a variety of object storage solutions like AWS S3 and Google Cloud Storage and includes an automatic retry feature to ensure reliability and ease of use. Brought to you by the ingenious work of @laipz8200 in #11754.
🛠️ Enhancements
-
Docker Proxy Improvements: Enhanced proxy support for Docker environments ensures smoother and more streamlined deployments, improved by @longfengpili in #11681.
-
Improved Docker API Startup: We've slashed API startup times by 50% when running in Docker, meaning faster development cycles and less downtime, thanks to the efforts of @laipz8200 in #11762.
🐛 Bug Fixes
-
Memory Leak Fix: Addressed a memory leak caused by Pypdfium2, ensuring your system runs smoothly and resources are optimized. This fix is credited to @yihong0618 in #11700.
-
Image Icon Display: Resolved issues with missing image icons to ensure all visuals render correctly, as fixed by @crazywoola in #11701.
-
Tidb Now Optional in Docker Compose: The Tidb service has been made optional in Docker setups, providing you with more configuration flexibility, led by @bowenliang123 in #11729.
This version is all about providing a more efficient, flexible, and streamlined platform, ensuring you can focus on innovation without the technical hiccups. Welcome to v0.14.1—happy coding! 🚀
Upgrade Guide
Docker compose deployments
Warning
The files in the docker-legacy directory will soon stop being maintained and will be removed from the repository. If you are still using them, please switch to the new version as soon as possible.
-
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.14.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
- chore: remove duplicate folder with case sensitivity issue by @hjlarry in #11687
- fix: fix proxy for docker by @longfengpili in #11681
- feat: add gitee ai vl models by @fchange in #11697
- make login lockout duration configurable by @kazuhisa-wada in #11699
- fix: image icon can not display by @crazywoola in #11701
- fix: memory leak by pypdfium2 close(maybe) #11510 by @yihong0618 in #11700
- chore: update docker env close #11703 by @yihong0618 in #11706
- feat: enhance gemini models by @hjlarry in #11497
- feat(tool_node): Suppress exceptions thrown by the Tool by @laipz8200 in #11724
- Dark Mode: Workflow darkmode style by @douxc in #11695
- feat(knowledge_retrieval_node): Suppress exceptions thrown by DatasetRetrieval by @laipz8200 in #11728
- docs: Modify translation for error branch by @HanqingZ in #11731
- fix(api/ops_trace): avoid raise exception directly by @laipz8200 in #11732
- chore:update azure api version by @leslie2046 in #11711
- fix: make tidb service optional with proper profile in docker compose yaml by @bowenliang123 in #11729
- chore: the consistency of MultiModalPromptMessageContent by @hjlarry in #11721
- feat(ark): support doubao vision series models by @sinomoe in #11740
- chore: update comments in docker env file by @laipz8200 in #11705
- feat: use Gemini response metadata for token counting by @totsukash in #11743
- chore: improve gemini models by @hjlarry in #11745
- Fix explore app icon by @charli117 in #11742
- (doc) fix: update cURL examples to include Authorization header by @fujita-h in #11750
- fix: Prevent redirection to /overview when accessing /workflow. by @barabicu in #11733
- feat(app_factory): speed up api startup by @laipz8200 in #11762
- feat: full support for opendal and sync configurations between .env and docker-compose by @laipz8200 in #11754
- feat: add parameters for JinaReaderTool by @DDDDD12138 in #11613
- fix: file upload auth by @ZhouhaoJiang in #11774
- feat: add openai o1 & update pricing and max_token of other models by @laipz8200 in #11780
- fix: imperfect service-api introduction text by @lunarianss in #11782
- Lindorm vdb bug-fix by @AlwaysBluer in #11790
- chore(.env.example): add comments for opendal by @laipz8200 in #11778
- feat: Disable the "Forgot your password?" button when the mail server setup is incomplete by @miya in #11653
- chore(opendal_storage): remove unused comment by @laipz8200 in #11783
- feat:add hunyuan model(hunyuan-role, hunyuan-large, hunyuan-large-rol… by @xander-art in #11766
- chore: bump version to 0.14.1 by @laipz8200 in #11784
New Contributors
- @longfengpili made their first contribution in #11681
- @lunarianss made their first contribution in #11782
- @miya made their first contribution in #11653
- @xander-art made their first contribution in #11766
Full Changelog: 0.14.0...0.14.1
v0.14.0
✨ Discover What's New in v0.14.0 ✨
We’re excited to bring you the latest v0.14.0 update. Let's dive straight into some of the standout features and improvements. As always, we extend a special thanks to our contributors!
⚡ New Features
🔗 Improved Error Handling
Enhanced functionality for workflows and chatflows allows nodes like LLM and HTTP requests to continue operations even when errors occur. Big shoutout to @zxhlyh and @Nov1c444 for their work in #11474 and #11458.
🎨 Revamped User Interface
Creation | Exploration |
---|---|
With the fresh entry point for app creation and template exploration, user experience becomes more intuitive, assisting in quick and efficient startup. Thanks to @douxc for this in #10847.
📁 File Previews Directly in Chat
Now, video, audio, and PDF file previews are accessible right within the chat, simplifying on-the-go information access. Credit goes to @charli117 in #11466.
Learn more in our blog
🧠 Model Updates
🌍 Gemini 2.0 and Flash Exp in Google
This enhancement by @hjlarry and @wangiii, found in #11570 and #11604, boosts overall performance.
🔢 Grok-2-1212 and Grok-2-Vision-1212 in XAI
Optimizing the model functionality, thanks to @hjlarry in #11672.
🧙 QwQ and Llama3.3 Models in Siliconflow
Expands compatibility and versatility, contributed by @orangeclk in #11492.
📷 Abab6.5t-Chat Model in Minimax
Broaden available models by @acelyc111 in #11484.
🔧 Other Highlights
🏦 Storage Integration
Features integration of Apache OpenDAL storage for enhanced system-wide storage capabilities. Work done by @laipz8200 in #11508.
📖 Knowledge Base Enhancements
Added support for MDX files in the Knowledge Base to improve content flexibility. Credit to @yihong0618 in #11565.
🔧 Logging and Dev Tools
Logs now include trace IDs for smoother debugging, thanks to @luckylhb90 in #11599. Plus, @fujita-h added handy Docker commands in #11616.
🔧 Bug Fixes
Various minor bugs have been addressed, including iteration node errors and proper release of rate-restricting requests. Thanks to @yihong0618, @liuzhenghua, and others for resolving these issues in #11504, #11540, and more.
🌈 Additional Enhancements
Lindorm VDB support and configurable max submit count, thanks to @AlwaysBluer and @kazuhisa-wada in #11574 and #11673.
Every update in this release reinforces the platform's robustness and adaptability—many thanks to all contributors! Let's continue building this powerful community together! 🚀
Upgrade Guide
Docker compose deployments
Warning
The files in the docker-legacy directory will soon stop being maintained and will be removed from the repository. If you are still using them, please switch to the new version as soon as possible.
-
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.14.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: add the missing abab6.5t-chat model of Minimax by @acelyc111 in #11484
- feat:add apollo configuration to load env file by @huanshare in #11210
- feat: add siliconflow qwq and llama3.3 model by @orangeclk in #11492
- fix(app_generator_service): overload type hints by @laipz8200 in #11507
- chore : fix translation Typo in ko-KR localization by @JungHyunMoon in #11509
- chore: fix typo in Japanese localization by @barabicu in #11502
- Msg file preview by @charli117 in #11466
- chore: LOCAL_FILE also try to use remote_url as Prompt message by @hjlarry in #11443
- Remove the processing of single quote when testing API tools. by @weimzh in #11390
- fix: issue 11247 that Completion mode content maybe list or str by @yihong0618 in #11504
- fix: can not start local by REMOTE_SETTINGS_SOURCE_NAME change it to … by @yihong0618 in #11535
- Revert "fix: total tokens is wrong which is zero in inter way, close … by @yihong0618 in #11536
- fix: better error message for url add external knowledge by @yihong0618 in #11537
- feat: Add llama-3.3 models for Groq by @pvoo in #11533
- fix: Remove duplicate 'response_format' parameter from model YAML files by @zkytech in #11531
- [Pixtral] Add new model ; add vision by @Asterovim in #11231
- chore: update thai lang in app page by @YIXIAO0 in #11541
- feat: workflow continue on error by @zxhlyh in #11474
- Feat: continue on error by @Nov1c444 in #11458
- fix: iteration node in parallel mode token count error by @Nov1c444 in #11539
- feat: integrate opendal storage by @laipz8200 in #11508
- fix: workflow continue on error doc link by @zxhlyh in #11554
- chore: translate i18n files by @github-actions in #11545
- Fix: RateLimit requests were not released when a streaming generation exception occurred by @liuzhenghua in #11540
- fix: better opendal tests by @yihong0618 in #11569
- feat: add gemini-2.0-flash-exp by @hjlarry in #11570
- Lindorm vdb by @AlwaysBluer in #11574
- Feat: dark mode for logs and annotations by @JzoNgKVO in #11575
- fix: change workflow trace id by @ZhouhaoJiang in #11585
- fix: support mdx files close #11557 by @yihong0618 in #11565
- chore: translate i18n files by @github-actions in #11577
- [ref] use one method to get boto client for aws bedrock by @warren830 in #11506
- Added new models and Removed the deleted ones for Groq #11455 by @alokas in #11456
- fix: name of llama-3.3-70b-specdec by @crazywoola in #11596
- feat(model): add vertex_ai Gemini 2.0 Flash Exp by @wangiii in #11604
- ci: better print version for ruff to check the change by @yihong0618 in #11587
- feat(devcontainer): add alias to stop Docker containers by @fujita-h in #11616
- Fix/pdf preview in build by @zxhlyh in #11621
- chore(dependency): bump gunicorn to 23.0 by @laipz8200 in #11560
- fix: split dir for opendal tests by @yihong0618 in #11627
- fix: app log filter value error by @Kevin9703 in #11624
- Feat: new entry point for app creation by @douxc in #10847
- fix: filter bug for keywork cause code can not reach by @yihong0618 in #11666
- fix: remove unnecessary curly braces in wf api doc by @RockChinQ in https://github...
v0.13.2
✨ What’s New in v0.13.2? ✨
Hey everyone, we're back with version 0.13.2, sporting some cool new features and enhancements aimed at making your workflow smoother. Let’s dive right in:
🚀 New Features
- Cohere Rerank 3.5 Model: We've integrated support for Cohere's advanced rerank model, adding more depth to your data processing toolbox by @shirochan in #11289.
- New Model Additions:
- JSON Schema Support for Ollama Models: Tailor your data handling to your needs by @hjlarry in #11449.
- Explore Link: Easily open apps in Explore with a simple “Open in Explore” link on the studio interface by @kurokobo in #11402.
⚙️ Enhancements
- File Downloads in Workflow Results: Workflow results now support file downloads, adding a layer of versatility to your interaction with data outputs by @JzoNgKVO in #11338.
- Vision for Amazon Nova Models: Amazon Nova Lite and Pro models are now equipped with vision capabilities, broadening their application scope by @mazyu36 in #11398.
- Editable IF/ELSE Condition Variables: You can now tweak condition variables in IF/ELSE nodes post-selection for dynamic adjustments by @YIXIAO0 in #11431.
- Mermaid Component Cleanup: Streamlined and styled for a sleeker experience by @charli117 in #11472.
🛠️ Bug Fixes
- Knowledge Base Guide Link: We've fixed the pesky broken link to the knowledge base, ensuring smooth navigation by @euxx in #11387.
- Animated WEBP Image Uploads: Issues with uploading animated WEBP images as app icons are history by @xuzuodong in #11453.
- Iteration Node Token Count Adjusted: Misaligned token counts have been corrected for better accuracy by @s2terminal in #11235.
- Workflow Tool Tag Saving Bug: Saving tags when creating Workflow Tools is now hassle-free by @zhaobingshuang in #11481.
- Document Extractor Handles PPTX Files: Full support for PPTX file types is back and better by @hgbdev in #11364.
- Translation Improvements: Various translation issues have been ironed out to provide a more cohesive multi-language experience by @crazywoola in #4212.
🧹 Chores and Other Updates
- Tidied up i18n files for smoother user experience across languages by GitHub Actions in #11389.
- Emoji Picker padding got a much-needed polish by @xuzuodong in #11452.
- Improved overall code quality and performance by removing redundant styles in components by @charli117 in #11472.
This release is all about refining your experience and opening new possibilities, so dig in and let us know how we've done! As always, your feedback is our fuel. Enjoy! 🚀
Upgrade Guide
Docker compose deployments
Warning
The files in the docker-legacy directory will soon stop being maintained and will be removed from the repository. If you are still using them, please switch to the new version as soon as possible.
-
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.13.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: support file download in workflow result by @JzoNgKVO in #11338
- fix: broken link to knowledge base guide by @euxx in #11387
- chore: translate i18n files by @github-actions in #11389
- Update mermaid by @charli117 in #11356
- fix: update DocumentIsPausedError by @huayaoyue6 in #11405
- fix: add elkjs by @kurokobo in #11404
- use md table systax in pr template by @crazywoola in #11412
- fix(model_runtime): add vision to Amazon Nova Lite and Pro by @mazyu36 in #11398
- FEAT: cohere rerank 3.5 model added by @shirochan in #11289
- fix external retrieval without segment id by @JohnJyong in #11423
- update tidb batch get endpoint to basic mode by @JohnJyong in #11426
- Fix: compatible with outputs data structure by @JzoNgKVO in #11432
- fix(document_extractor): pptx file type and missing metadata_filename UnstructuredIO by @hgbdev in #11364
- fix: issue #10596 by making the iteration node outputs right by @yihong0618 in #11394
- style: EmojiPicker component top padding by @xuzuodong in #11452
- feat: add zhipu glm_4v_flash by @hjlarry in #11440
- feat: add gemini exp 1206 by @hjlarry in #11444
- feat: support json_schema for ollama models by @hjlarry in #11449
- fix: cannot upload animated webp image as app icon by @xuzuodong in #11453
- Fix model provider of vertex ai by @kazukitakamatsu in #11437
- fix: unit tests env will need clear too by @yihong0618 in #11445
- fix(api): throw error when notion block can not find by @TreyDong in #11433
- remove mermail render cache by @VoidIsVoid in #11470
- Update ext_redis.py by @xiandan-erizo in #11214
- Refactor: Remove redundant style and simplify Mermaid component by @charli117 in #11472
- feat: ifelse condition variable editable after selection by @YIXIAO0 in #11431
- Fix the Japanese translation for 'Detail' by @mnogu in #11476
- feat: add 'Open in Explore' link for each apps on studio by @kurokobo in #11402
- fix: tags could not be saved when the Workflow Tool was created by @zhaobingshuang in #11481
- Fix the token count at the iteration node by @s2terminal in #11235
- refactor(iteration_node): use Sequence and Mapping in parameters by @laipz8200 in #11483
- improve message clean logic by @JohnJyong in #11487
- fix: cannot close notification manually by @xuzuodong in #11490
- chore: bump version to 0.13.2 by @laipz8200 in #11489
New Contributors
- @huayaoyue6 made their first contribution in #11405
- @shirochan made their first contribution in #11289
- @hgbdev made their first contribution in #11364
- @TreyDong made their first contribution in #11433
- @mnogu made their first contribution in #11476
- @zhaobingshuang made their first contribution in #11481
- @s2terminal made their first contribution in #11235
Full Changelog: 0.13.1...0.13.2
v0.13.1
✨ What's New in v0.13.1? ✨
In version v0.13.1, we focused on polishing our platform by addressing critical fixes:
🚀 Highlighted Updates
-
Improved Bedrock Model Message Handling: Working with Bedrock models just got smoother. We've merged consecutive messages from the same role to reduce frustrating errors. Thanks to @yihong0618 for the fix in
fix: better bedrock message handler
(#11317). -
Iteration Parallel Mode Fix: We tackled issues with the Iteration's Parallel Mode, particularly when nested with internal Parallel functions. This was managed by reverting a previous fix, noted in
Revert "Fix: iteration not in main thread pool"
by @crazywoola (#11358).
🛠️ Additional Fixes and Improvements
- File Type Correction in HTTP Node: Resolved an issue where the HTTP node always treated downloaded files as image types. Now, downloads are of the correct type, addressed by @hjlarry in #11319.
- Multi-Model Debugging: We've fixed the problem where sending messages was not possible during debugging with multiple models and conversations, thanks to @xuzuodong in #11333.
- Amazon Nova LLMs & Rerank: Integrated Amazon Nova LLMs and AWS Bedrock Rerank capabilities, adding versatility to our platform.
- UI and Configuration Enhancements: Improved file download handling in chats and enhanced the configuration of number variables for more reliable inputs.
These updates aim to provide a seamless and efficient user experience, helping you work effortlessly.
Upgrade Guide
Docker compose deployments
Warning
The files in the docker-legacy directory will soon stop being maintained and will be removed from the repository. If you are still using them, please switch to the new version as soon as possible.
-
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.13.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: model params in logs by @JzoNgKVO in #11298
- fix: resolve scrolling issue in workflow-log table by @DDDDD12138 in #11302
- fix: number variable can not input constant type value in tool config form by @iamjoel in #11320
- fix: file download in chat by @zxhlyh in #11322
- fix: http node download file always image type by @hjlarry in #11319
- feat: correct the prompt grammar. by @laipz8200 in #11328
- integrate amazon nove llms to dify by @ybalbert001 in #11324
- chore: improve zhipu LLM by @hjlarry in #11321
- fix: check valid for number variable by @YIXIAO0 in #11334
- fix tidb full-text-search vector missed by @JohnJyong in #11337
- update pricing for bedrock nova LLM models by @ybalbert001 in #11336
- fix: cannot send message when debug with multiple model with conversa… by @xuzuodong in #11333
- feat: add base skeleton component by @AkaraChen in #11339
- fix: Correct category of 'Workflow' used in Explore Apps. by @douxc in #11351
- chore: translate i18n files by @github-actions in #11353
- fix: better bedrock message handler close #10976 by @yihong0618 in #11317
- Revert "Fix: iteration not in main thread pool" by @crazywoola in #11358
- chore: fix typo by @tsugumi-sys in #11359
- fix: ref attribute in markdown causes page crash by @iamjoel in #11369
- [feat] Add AWS Bedrock rerank by @warren830 in #11349
- fix: bg typo in variable aggregator node by @YIXIAO0 in #11376
- fix: some typos using typos by @yihong0618 in #11374
- fix: empty object (conversation variable) editable by @YIXIAO0 in #11352
- [fix] rename yaml files to fit windows by @warren830 in #11379
- chore: bump version to 0.13.1 by @laipz8200 in #11382
New Contributors
- @tsugumi-sys made their first contribution in #11359
- @warren830 made their first contribution in #11349
Full Changelog: 0.13.0...0.13.1
v0.13.0
🚀 What’s New in v0.13.0? 🚀
Hey there, update seekers! Welcome to version 0.13.0. We’ve packed a lot of goodies in this release, from fixes and feature upgrades to some nice behind-the-scenes refactoring. Here's the scoop:
✨ New Features
-
Variable Assigner Node Update
The Variable Assigner node now supports several powerful features to streamline workflows:
• Operations on multiple conversation variables in a single node.
• Extend operator to link two arrays seamlessly.
• Set operator to assign constants to variables directly. -
Github DSL URL Support
You can now usegithub.com
links directly for DSLs instead of relying onraw.githubusercontent.com
. This makes integration smoother and more intuitive. Thanks to @yihong0618 in #11125. -
VTT File Support
Document Extractor can now handle VTT files for all your subtitle extraction needs. Big thanks to @fujita-h in #11148. -
Conversational Opener Upgrade
More opening questions for your conversations, increasing engagement points. Thanks to @fujita-h in #11233.
🛠️ Improvements and Fixes
-
LLM Invoke Errors
Reduced noise from unnecessary exceptions—LLM node invoke errors will no longer recorded in the logs. Thanks to @laipz8200 in #11141. -
Parameter Type Fix
Resolved an issue with the parameter extractor function that expected a string and wasn't given one. Kudos to @charli117 in #11142. -
ToolInvokeMessage Validation Fix
Fixed validation errors for ToolInvokeMessages when the blob_message meta is missing. Thanks to @catusax in #11212. -
Claude Handling
Claude can now handle empty strings gracefully. Thanks to @yihong0618 in #11238. -
Redis Port Double Split Fix
Adjusted the Redis port handling logic to address double-split issues. Thanks to @yihong0618 in #11270. -
Modular App Features
Reorganized app features into modular components for improved scalability and development ease. Shoutout to @bowenliang123 in #9129.
That’s the short version, but as always, there’s plenty more in the logs for those who like a deep dive. Update your systems and take these features for a spin. Keep building, keep exploring, and stay tuned for more!
Upgrade Guide
Docker compose deployments
Warning
The files in the docker-legacy directory will soon stop being maintained and will be removed from the repository. If you are still using them, please switch to the new version as soon as possible.
-
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.13.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: Divider component now supports gradient background by @douxc in #11130
- fix: enable after disabled memory not pass user query by @iamjoel in #11136
- fix: better way to handle github dsl url close #11113 by @yihong0618 in #11125
- fix: LLM invoke error should not be raised by @laipz8200 in #11141
- fix parameter extractor function call Expected str by @charli117 in #11142
- chore(*): Removes debugging print statements by @laipz8200 in #11145
- feat: add VTT file support to Document Extractor by @fujita-h in #11148
- fix: Incorrect iteration log display in workflow with multiple parallel mode iteartaion nodes by @Nov1c444 in #11158
- fix: gitee ai wrong default model, and better para by @yihong0618 in #11168
- fix(file_factory): convert tool file correctly. by @laipz8200 in #11167
- Adding AWS CDK deploy link in README in multi-language by @KevinZhao in #11166
- update the scheduler of update_tidb_serverless_status_task to 1/10min by @JohnJyong in #11135
- Fixes #11065: tenant_id not found when login via ADMIN_KEY by @lotabout in #11066
- fix: code linting by @jiangbo721 in #11143
- Feat: remove github star and community links if it is enterprise version by @douxc in #11180
- Feat: new pagination by @JzoNgKVO in #11170
- chore: translate i18n files by @github-actions in #11182
- fix: typo in upstashVector if id is always true, also fix some type hint by @yihong0618 in #11183
- feat: introduce a new environment variable in order to disable Scarf analytics by @realethanhsu in #11179
- Ensure consistent float type for cached embedding return values by @kazuya-awano in #10185
- chore: improve conversation list and rename docs by @hjlarry in #11187
- Update aws tools by @ybalbert001 in #11174
- chore(dep): bump flask from 3.0.1 to 3.1.0 and flask-compress to 1.17 by @bowenliang123 in #11195
- fix: handleLoadFileFromLink's transfer method incorrect by @hjlarry in #11197
- chore: add Thai GUI by @YIXIAO0 in #11201
- fix: fix azure open-4o-08-06 when enable json schema cant process content = "" by @liujiamingtiny in #11204
- fix(file_factory): Remove transfer_method validation by @laipz8200 in #11207
- fix: 'validation error for ToolInvokeMessage' when blob_message meta is None by @catusax in #11212
- fix: excel in node only read one sheet, close #9661 by @yihong0618 in #11215
- fix: Correct inputs field type in API documentation by @fengjiajie in #11198
- feat: add retireval_top_n to config in env by @ProseGuys in #11132
- fix: support setting variables in url by @zxbyoyoyo in #10676
- fix: use Gemini response metadata for token counting by @totsukash in #11226
- fix: search model not work as expected by @hjlarry in #11225
- refactor: assembling the app features in modular way by @bowenliang123 in #9129
- fix: total tokens is wrong which is zero in inter way, close #11221 by @yihong0618 in #11224
- feat: Increase the number of Opening Questions in the Conversation Opener by @fujita-h in #11233
- chore(api/Dockerfile): Bump perl to 0.40.0-8 by @laipz8200 in #11234
- chore(lint): extract ruff configs into .ruff.toml file keeping pyproject.toml clean by @bowenliang123 in #11222
- feat: add pagination support for Notion search by @kazuya-awano in #11194
- fix(word_extractor): Fix type error and remove stream in ssrf_proxy by @laipz8200 in #11241
- Fix/type-error by @laipz8200 in #11240
- feat(api): include tags in app information response by @fujita-h in #11242
- fix: nvidia special embedding model payload close #11193 by @yihong0618 in #11239
- fix: license str parser. by @GarfieldDai in #11248
- fix(workflow_cycle_manage): Handle special values in the process_data. by @laipz8200 in #11253
- fix(workflow_tool): Rename
stream
tostreaming
by @laipz8200 in #11258 - Sync INDEXING_MAX_SEGMENTATION_TOKENS_LENGTH between API and Web by @fujita-h in #11230
- fix: claude can not handle empty string by @yihong0618 in #11238
- fix:
dialogue_count
incorrect in chatflow when there's... by @xuzuodong in #11175 - chore(deps): bump cross-spawn from 7.0.3 to 7.0.6 in /web by @dependabot in #11262
- docs: add api docs for /v1/info by @kurokobo in https://github.com/langg...
v0.12.1
Bug Fixes in v0.12.1
-
Webapp Custom Icons: Fixed display issues for custom icons in the webapp. #11094
-
Start Form File Handling: Addressed the inability to use files in the Start form. #11112
-
LLM Memory Processing: Corrected errors in LLM memory handling. #11103 and #11106
-
Conversation Deletion: Fixed conversation removal issues. #11076
-
App Creation and Template Import: Resolved errors during app creation and template import. #11091, #11092 and #11108
These fixes ensure improved functionality and reliability across the platform.
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.12.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: drop useless and wrong code for zhipu embedding by @yihong0618 in #11069
- fix: chart tool chinese font display and raise error by @hjlarry in #11058
- Add grok-vision-beta to xAI + Update grok-beta Features by @taowang1993 in #11004
- fix: timezone not imported in conversation service. by @laipz8200 in #11076
- fix: int None will cause error for context size by @yihong0618 in #11055
- fix: update the max tokens configuration for Azure GPT-4o (2024-08-06) to 16384 by @fengjiajie in #11074
- fix: import Explore Apps raise error by @hjlarry in #11091
- Add query_prefix + Return TED Transcript URL for Downstream Scraping Tasks by @taowang1993 in #11090
- SearchApi - Return error message instead of raising a ValueError by @SebastjanPrachovskij in #11083
- fix: site icon not showing by @xuzuodong in #11094
- fix #11091 raise redirect issue by @hjlarry in #11092
- fix: ops_trace_manager
from_end_user_id
by @horochx in #11077 - Fix regenerate themes by @douxc in #11101
- fix: user query be ignored if query_prompt_template is an empty string by @laipz8200 in #11103
- fix(llm_node): Ignore user query when memory is disabled. by @laipz8200 in #11106
- fix(anthropic_llm): Ignore non-text parts in the system prompt. by @laipz8200 in #11107
- fix: app copy raise error by @hjlarry in #11108
- fix: Cannot use files in the user inputs. by @laipz8200 in #11112
- feat: Allow to contains files in the system prompt even model not support. by @laipz8200 in #11111
- fix(llm_node): Ignore file if not supported. by @laipz8200 in #11114
- Add TTS to OpenAI_API_Compatible by @taowang1993 in #11071
- chore: bump to 0.12.1 by @laipz8200 in #11122
New Contributors
- @fengjiajie made their first contribution in #11074
Full Changelog: 0.12.0...0.12.1
v0.12.0
✨ What’s New in v0.12.0? ✨
Important
Heads up! Starting with this 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.
Hey everyone! We’ve been busy fine-tuning the platform and packing in some new features in version 0.12.0. Let’s see what’s new and improved:
🚀 Enhanced File Support for Workflow/Chatflow LLM Node and Chat/Agent
We’re excited to introduce the new file support capabilities for LLM Node and Basic Chat/Agent! This update significantly enhances multi-modal capabilities and smart document processing, providing more flexibility and power for your application development. Here are the key highlights:
File Variable Support in LLM Node
LLM Node now supports directly referencing File and Array File variables in Prompts, unlocking greater possibilities for developers.
For example, you can upload multiple file variables (such as PDFs and images) and have the model collaboratively handle complex tasks, like summarizing report content or extracting key data. Multi-file support makes workflow design more efficient and seamless!
Tip
- File Support Scope: The file types supported by the model may be more limited than the types allowed for upload. Be sure to read your model provider's official documentation to ensure that uploaded files can be processed correctly.
- Document Handling in Unsupported Models: If the model does not natively support processing document files, you will still need to use the Document Extractor for extracting content.
- Filtering Unsupported Files: To handle unsupported file types, consider using List Operator or IF-ELSE to screen them, ensuring smooth workflows.
- Relation to Vision Features: File support operates independently of the Vision toggle. As long as the model supports Vision capabilities, you can use files as input.
New Document-Type Support for Basic Chat and Agent
Basic Chat and Agent now include a Document toggle. If the model supports processing document-type files, you can enable this feature.
For instance, you can upload a PDF report and let the Agent automatically analyze market data or assess content value, making such workflows simpler and smarter.
Enhanced Multi-Modal Capabilities
The new version extends support for multi-modal tasks. For example, you can upload audio files and have the model perform emotional analysis. This combination of text, audio, and file processing capabilities allows you to build more diverse and rich application scenarios.
⚙️ Improvements
-
OpenAI o1 Streaming Support: We now support streaming output for OpenAI o1-preview and o1-mini, thanks to @laipz8200 in #10890.
-
Performance Optimization: The
WeightRerankRunner
logic has been optimized to achieve constant time complexity, thanks to @yihong0618 in #10849. -
UI Enhancements: We’ve made the Table of Contents panel in the API document page collapsible, giving you greater control over your workspace, thanks to @hjlarry in #10875.
-
JSON Schema for Gemini Models: Added support for JSON schema integration, ensuring smoother alignment with Gemini models, thanks to @hjlarry in #10835.
-
Redis Clusters: Our
ext_redis.py
now includes support for Redis clusters, expanding flexibility for data management, implemented by @liuhaoran1212 in #9789. -
Enhanced Custom Notes: You can now further enhance custom notes for increased expressiveness, courtesy of @hjlarry in #8885.
That’s the scoop for v0.12.0! Until next time, keep exploring and innovating! 🌟
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.12.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: script rendering in message by @zxhlyh in #10807
- feat: AnalyticDB vector store supports invocation via SQL. by @lpdink in #10802
- chore: update .gitignore to include mise.toml by @BenjaminX in #10778
- fix: correct typo in ETL type comment in .env.example by @simonmysun in #10822
- refactor: improve handling of leading punctuation removal by @zandko in #10761
- doc: add clarification for length limit of init password by @simonmysun in #10824
- feat: add TOC to app develop doc by @hjlarry in #10799
- feat: Knowledge-base-api-get-post-method-text-error-#10836 by @dajianguo in #10837
- fix: close child modal on log drawer close by @kimjion in #10839
- fix: upload file component support multiple by @zxhlyh in #10817
- Fix: crash of workflow file upload by @JzoNgKVO in #10831
- style: refactor fetch and context by @AkaraChen in #10795
- Support Video Proxy and TED Embedding by @taowang1993 in #10819
- feat: support json schema for gemini models by @hjlarry in #10835
- fix: better WeightRerankRunner run logic use O(1) and delete unused code by @yihong0618 in #10849
- fix httpx doesn't support stream parameter by @JohnJyong in #10859
- fix tongyi embedding endpoint return None output by @JohnJyong in #10857
- Feat/add langsmith dotted order by @ZhouhaoJiang in #10856
- Encode invitee email in the invitation link by @nht1206 in #10842
- fix: download some remote files raise error by @hjlarry in #10781
- Fix the situation where output_tokens/input_tokens may be None in response.usage by @AAlexDing in #10728
- feat: add a minimal separator between pinned apps and unpinned apps in the explore page by @kurokobo in #10871
- feat: make toc panel can collapse by @hjlarry in #10875
- feat: support function call for ollama block chat api by @GeorgeCaoJ in #10784
- feat: enhance the custom note by @hjlarry in #8885
- feat: admin can also change member role by @cuckootan in #10651
- Fix : Add a process to fetch the mime type from the file name for signed url in remote_url by @kitotakumi in #10872
- fix: update email validation regex to allow periods in local part by @Montaserz in #10868
- fix: tool's file input display string by @hjlarry in #10887
- fix(http_request): allow content type
application/x-javascript
by @laipz8200 in #10862 - feat: support custom tool upload file by @hjlarry in #10796
- ext_redis.py support redis clusters --- Fixes #9538 by @liuhaoran1212 in #9789
- fix: aws presign url is not workable remote url by @ybalbert001 in #10884
- Fix/input-value-type-in-moderation by @laipz8200 in #10893
- Support streaming output for OpenAI o1-preview and o1-mini by @laipz8200 in #10890
- fix: explicitly use new token when retrying ssePost after refresh by @llinvokerl in #10864
- Gitee AI embedding tool by @fchange in #10903
- fix: handle redis authentication for healthcheck command by @shisaru292 in #10907
- Fix : Add a process to fetch the mime type from the file name for signed url in remote_url #10872 version2 by @kitotakumi in #10908
- doc: fix better doc for api develop, droping dead hint by @yihong0618 in #10906
- fix: refactor all 'or []' and 'or {}' logic to make...
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...