1.2.0
v1.2.0
đ Whatâs New in v1.2.0? đ
Hello community! Weâre excited to share our v1.2.0 update with youâit's packed with impressive new features, enhancements, and of course, some good ol' bug fixes. Sit back, sip your coffee, and let's dive into what's new!
đ Highlight of the Release
- New Workflow Loop Node: A huge shoutout to @Woo0ood, @arkunzz, @Gevtolev and @zxhlyh for dropping this game-changer in #14863, #17268 and #17273! The Loop Node feature maximizes efficiency in automation by allowing you to iterate over items in your workflows seamlessly. This is a big step forward in letting you do more with less. Kudos to the development team for making this happen!
đ New Features
Childchunk API Added: Thanks to @ZeroZ-lab in #16094, we've introduced the childchunk API to enhance your workload flexibility.
OceanBase Hybrid Search: Courtesy of @hsiong in #16652, this feature integrates hybrid search capabilities within OceanBase, providing more robust query options.
Webapp Input Flexibility: Webapp now allows input changes after a conversation starts, by @JzoNgKVO in #16901.
Langfuse LLM Node: Input and output support are enhanced by @ZhouhaoJiang in #16924.
Tablestore Vector Database Support: By @wanttobeamaster in #16601âit's like giving your data superpowers!
WaterCrawl.dev Integration: Thanks to @amirasaran in #16396, this is now available as a new knowledge base provider.
Plugin Daemon OSS Env Config: By @quicksandznzn in #17663, enhancing your plugin management.
đ ď¸ Enhancements & Bug Fixes
Metadata Fixes & Optimizations: We've got metadata variable value fixes by @JohnJyong in #16665 and metadata filter improvements from various contributors. Your data management is smoother than ever!
UI/UX Improvements: Whether itâs fixing layout issues on mobile (thanks, @LeeeeeeM in #16793!) or improving text spacing on charts (@ACAne0320, #16894), weâre committed to a slicker experience.
Multilingual Support: Added jp_ja for the knowledge API by @crazywoola and supported Tablestore vector databaseâa shout-out to our international users.
UI Consistency Tweaks: Little UI adjustments for a big impact, like updating border radius for dropdowns and other forms, thanks to our vigilant community contributors.
Security & Efficiency: Fixes like the provider credentials load error by @liuzhenghua ensure the platform's robust performance. Also, optimizing the database workflow app log index has been another focus area.
Additional Fixes: Addressing multiple translation gaps, account errors, and something as specific as the
Function's Name Mismatchby @hyongtao-dbâkeeping us refined!Education API Introduction: By @GareArc in #17168, weâre aiming to broaden horizons with educational integrations.
đď¸ Miscellaneous
- Code Quality & Documentation: We've cleaned up typos, added unit tests, and brought in a sparkle to our codebases for VDB, ensuring smooth sailing for devs and users!
In conclusion, this release is about empowering you with flexibility and reliability, from the all-new Loop Node to a windfall of other enhancements. Thanks to everyone contributing to shaping the future with our open-source spirit. Keep pushing the envelope and happy 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).bakGet the latest code from the main branch
git checkout main git pull origin mainStop the service. Please execute in the docker directory
docker compose downBack up data
tar -cvf volumes-$(date +%s).tgz volumesUpgrade services
docker compose up -d
Source Code Deployments
Stop the API server, Worker, and Web frontend Server.
Get the latest code from the release branch:
git checkout 1.2.0Update Python dependencies:
cd api poetry installThen, let's run the migration script:
poetry run flask db upgradeFinally, run the API server, Worker, and Web frontend Server again.
What's Changed
- Feat add childchunk api by @ZeroZ-lab in https://github.com/langgenius/dify/pull/16094
- Metadata variable value fix by @JohnJyong in https://github.com/langgenius/dify/pull/16665
- Fix/vdb lindorm by @AlwaysBluer in https://github.com/langgenius/dify/pull/16660
- Fix function's name mismatch by @hyongtao-db in https://github.com/langgenius/dify/pull/16681
- fix: pgvector metadata filter by @kenwoodjw in https://github.com/langgenius/dify/pull/16688
- mark weight type as optional by @JohnJyong in https://github.com/langgenius/dify/pull/16701
- fix: regex expressions distorted in code block by @ACAne0320 in https://github.com/langgenius/dify/pull/16690
- Update prompts.pyďźFix conversation title language for Italian conversations by @zhangkun-21 in https://github.com/langgenius/dify/pull/16696
- feat: Add OceanBase hybrid search features by @hsiong in https://github.com/langgenius/dify/pull/16652
- fix: fix icon generation error on Windows platform by @hudenghui in https://github.com/langgenius/dify/pull/16254
- fix: update htmlContent type and wrap button in div for manualClose by @WTW0313 in https://github.com/langgenius/dify/pull/16716
- fix milvus filter search by @JohnJyong in https://github.com/langgenius/dify/pull/16725
- fix full-doc mode document doesn't reindex after enable or un_archive by @JohnJyong in https://github.com/langgenius/dify/pull/16737
- fix(slider): the slider's style is not as expected by @Nov1c444 in https://github.com/langgenius/dify/pull/16711
- fix: trim whitespace from URL input in file uploader component #16700 by @ZeroZ-lab in https://github.com/langgenius/dify/pull/16722
- chore(slider): fix the slider lint error by @Nov1c444 in https://github.com/langgenius/dify/pull/16746
- Fix some typos in CONTRIBUTING.md by @hyongtao-db in https://github.com/langgenius/dify/pull/16761
- fix: provider credentials load error by @liuzhenghua in https://github.com/langgenius/dify/pull/16695
- feat: add jp_ja for knowledge api by @crazywoola in https://github.com/langgenius/dify/pull/16766
- fix the major and minor version of stub types declaration with build date stripped by @bowenliang123 in https://github.com/langgenius/dify/pull/16709
- fix typo in _process_metadata_filter_func by @kztao in https://github.com/langgenius/dify/pull/16780
- Remove the useless excluded item in mypy.ini by @hyongtao-db in https://github.com/langgenius/dify/pull/16777
- fix: fix ui layout when in mobile mode by @LeeeeeeM in https://github.com/langgenius/dify/pull/16793
- Add and modify jp translation by @HanqingZ in https://github.com/langgenius/dify/pull/16807
- fix multiple metadata filter's confusing setting by @JohnJyong in https://github.com/langgenius/dify/pull/16771
- feat: add the maximum number of iterations to env by @XiaoBa-Yu in https://github.com/langgenius/dify/pull/16805
- chore: handle Textarea component ref warning in react 19 by @iamjoel in https://github.com/langgenius/dify/pull/16818
- fix missing agent node help link by @hjlarry in https://github.com/langgenius/dify/pull/16841
- fix: fix missing oceanbase config enable_hybrid_search init by @yourchanges in https://github.com/langgenius/dify/pull/16852
- fix: tool's number and secet input display issue by @hjlarry in https://github.com/langgenius/dify/pull/16834
- install pandoc by @JohnJyong in https://github.com/langgenius/dify/pull/16825
- chore: remove third party models by @hjlarry in https://github.com/langgenius/dify/pull/13885
- Fix Custom Tool File Upload: Resolve Multiple Files Recognition and Multipart Boundary Issues by @JimHeo in https://github.com/langgenius/dify/pull/14014
- fix(agent app): moderation feature can't work as expected by @Nov1c444 in https://github.com/langgenius/dify/pull/16794
- feat: webapp support change inputs after conversation started by @JzoNgKVO in https://github.com/langgenius/dify/pull/16901
- feat: tencent vectordb: use grpc client and set upsert batch size by @wlleiiwang in https://github.com/langgenius/dify/pull/16016
- feat(api): optimize conversation name generation logic in message app by @AlexYuan997 in https://github.com/langgenius/dify/pull/16917
- fix: fix the bug where pressing Enter in Chinese input mode on Safari⌠by @LeeeeeeM in https://github.com/langgenius/dify/pull/16914
- fix: some parallel logs missing by @iamjoel in https://github.com/langgenius/dify/pull/16923
- Fix wrong allowed extensions by @hyongtao-db in https://github.com/langgenius/dify/pull/16893
- feat: support Tablestore vector database by @wanttobeamaster in https://github.com/langgenius/dify/pull/16601
- fix(ui): improve chart text spacing and prevent unnecessary truncation by @ACAne0320 in https://github.com/langgenius/dify/pull/16894
- feat: add langfuse llm node input and output by @ZhouhaoJiang in https://github.com/langgenius/dify/pull/16924
- fix: enhance filename validation and extraction in FileService #16867 by @ZeroZ-lab in https://github.com/langgenius/dify/pull/16869
- fix: WorkflowRunDetailApi created_atăfinished_at types changed to timestamps by @guoshiqiufeng in https://github.com/langgenius/dify/pull/16821
- Revert "feat: add langfuse llm node input and output" by @crazywoola in https://github.com/langgenius/dify/pull/16947
- remove business contact info in license by @guchenhe in https://github.com/langgenius/dify/pull/16985
- fix: add overflow hidden to Collapse component #17009 by @ZeroZ-lab in https://github.com/langgenius/dify/pull/17011
- fix: show build app limit in app creation modal by @JzoNgKVO in https://github.com/langgenius/dify/pull/16940
- fix: _build_from_remote_url get extension is .bin by @guoshiqiufeng in https://github.com/langgenius/dify/pull/17020
- fix: update account dropdown border radius for improved UI consistency #17030 by @ZeroZ-lab in https://github.com/langgenius/dify/pull/17031
- fix(answer): The chat interface outputs twice by @Nov1c444 in https://github.com/langgenius/dify/pull/17033
- ci: skip setting up opengauss for vdb tests by @bowenliang123 in https://github.com/langgenius/dify/pull/17016
- docs: correct type desc by @vkboo in https://github.com/langgenius/dify/pull/17043
- fix: bug that overwrote the llm model thought process when final_answ⌠by @jiangbo721 in https://github.com/langgenius/dify/pull/17074
- Chore/code format and Repair commit_id 3254018d more deleted codes and Fix naming error ambiguity between workflow_run_id and workflow_id by @jiangbo721 in https://github.com/langgenius/dify/pull/17075
- fix: enhance file extension condition check for if-else node by @lrhan321 in https://github.com/langgenius/dify/pull/17060
- chore: add .env-local to gitigonre by @ClSlaid in https://github.com/langgenius/dify/pull/17042
- fix: fix cannot select stream-tool-call in agent modal by @LeeeeeeM in https://github.com/langgenius/dify/pull/17015
- fix: update border radius of ListboxOptions for improved UI consistency #17101 by @ZeroZ-lab in https://github.com/langgenius/dify/pull/17102
- Added CONTRIBUTING.md translations for multiple languages by @adpanru in https://github.com/langgenius/dify/pull/17108
- fix: When a WorkSpaceNotAllowedCreateError occurs, may account is not defined by @jiangbo721 in https://github.com/langgenius/dify/pull/11144
- perf: optimizing db WorkflowAppLog index by @horochx in https://github.com/langgenius/dify/pull/14710
- feat: poolize the ops trace instance by @acelyc111 in https://github.com/langgenius/dify/pull/15947
- Feat: dark mode for independent pages by @JzoNgKVO in https://github.com/langgenius/dify/pull/17045
- fix: model page switch marketplace by @zxhlyh in https://github.com/langgenius/dify/pull/17147
- chore: docstring not match the function parameter by @hjlarry in https://github.com/langgenius/dify/pull/17162
- Fix: iframe mount delay of embedded chatbot by @JzoNgKVO in https://github.com/langgenius/dify/pull/17167
- Fix/workspace logo style by @douxc in https://github.com/langgenius/dify/pull/17164
- fix: run frontend test failed and enable run test in CI by @iamjoel in https://github.com/langgenius/dify/pull/17017
- feat: organize button adds organization of nodes inside iteration/loop nodes by @ACAne0320 in https://github.com/langgenius/dify/pull/17068
- chore: independent page style update by @JzoNgKVO in https://github.com/langgenius/dify/pull/17176
- fix: code block syntax cannot be displayed correctly in react mode by @shirukai in https://github.com/langgenius/dify/pull/16904
- feat: allow the embedding in websites to customize sys.user_id by @ModyQyW in https://github.com/langgenius/dify/pull/16062
- fix: enhance validation of workflow file types by @lrhan321 in https://github.com/langgenius/dify/pull/16203
- optimize lindorm vdb add_texts by @AlwaysBluer in https://github.com/langgenius/dify/pull/17212
- Fix api document by @ZeroZ-lab in https://github.com/langgenius/dify/pull/17178
- Support variables in question classifier classes by @obadakhalili in https://github.com/langgenius/dify/pull/17227
- fix: keywords field not persist in segements api by @liuzhenghua in https://github.com/langgenius/dify/pull/17151
- fix: Fix lodash module not found issue by @hudenghui in https://github.com/langgenius/dify/pull/16953
- Featďźedu frontend by @JzoNgKVO in https://github.com/langgenius/dify/pull/17251
- Feat/education api by @GareArc in https://github.com/langgenius/dify/pull/17168
- chore: slice workflow store by @zxhlyh in https://github.com/langgenius/dify/pull/17254
- fix: web app form component is changing an uncontrolled inpu⌠by @douxc in https://github.com/langgenius/dify/pull/17269
- SaaS: batch upload limit check for sandbox plan by @JohnJyong in https://github.com/langgenius/dify/pull/17264
- Feat/loop break node by @zxhlyh in https://github.com/langgenius/dify/pull/17268
- feat: add zod by @iamjoel in https://github.com/langgenius/dify/pull/17277
- fix: web docker file config by @csurong in https://github.com/langgenius/dify/pull/17130
- fix: enlarge workspace selector width to show current workspace by @bowenliang123 in https://github.com/langgenius/dify/pull/17288
- fix: add app quota check to import API by @1Ckpwee in https://github.com/langgenius/dify/pull/17295
- [Documentation] Update README under docker folder for middleware components. by @TedaLIEz in https://github.com/langgenius/dify/pull/17284
- Fix (api): Fix the processing logic of the retriever_resources field. by @liguochuan00 in https://github.com/langgenius/dify/pull/17304
- Feat/loop node by @Gevtolev in https://github.com/langgenius/dify/pull/17273
- feat: add i18n checker (ui) by @kindy in https://github.com/langgenius/dify/pull/17283
- fix: sandbox can upload multiple files by upload by @iamjoel in https://github.com/langgenius/dify/pull/17323
- fix: loop single run log by @zxhlyh in https://github.com/langgenius/dify/pull/17329
- fix: update permission logic to ensure administrators always have access by @BenjaminX in https://github.com/langgenius/dify/pull/17360
- Lindorm VDB bugfix by @AlwaysBluer in https://github.com/langgenius/dify/pull/17357
- fix: remove setPublishedAt on handleRestoreFromPublishedWorkflow by @ACAne0320 in https://github.com/langgenius/dify/pull/17358
- fix: update docker-compose commands $17355 by @ZeroZ-lab in https://github.com/langgenius/dify/pull/17356
- add doc support in knowledge base for unstructured by @JohnJyong in https://github.com/langgenius/dify/pull/17352
- fix duplicate documents returned by Get document list service API by @JohnJyong in https://github.com/langgenius/dify/pull/17351
- fix: improve error handling and default values in fetchPlan function by @hikariming in https://github.com/langgenius/dify/pull/17320
- fix: move hardcoded text to language settings (#16990) by @Perfecto23 in https://github.com/langgenius/dify/pull/17133
- fix annotation failed when embedding model and dimension changed by @JohnJyong in https://github.com/langgenius/dify/pull/17347
- Fix/15429 forgotpasswordresetapi session management by @crazywoola in https://github.com/langgenius/dify/pull/17390
- fix: update tag input border styles for special mode and focus state by @ZeroZ-lab in https://github.com/langgenius/dify/pull/17393
- feat: add langfuse llm node input and output by @lzs0603 in https://github.com/langgenius/dify/pull/17368
- Feat/change workspace name by @crazywoola in https://github.com/langgenius/dify/pull/17402
- feat: remove file and file[] restriction in code node by @LeeeeeeM in https://github.com/langgenius/dify/pull/17382
- feat: hide 'Find More in Marketplace in Tools' by @XiaoBa-Yu in https://github.com/langgenius/dify/pull/16955
- feat: agent node add memory by @Nov1c444 in https://github.com/langgenius/dify/pull/15976
- fix: #15548 Resolve errors in SQL queries caused by SELECT fields not appearing in the GROUP BY clause. by @bravomark in https://github.com/langgenius/dify/pull/17408
- Chore: fix some wrong annotations by @hyongtao-db in https://github.com/langgenius/dify/pull/17413
- Fix/dsl kb encrypt by @Gevtolev in https://github.com/langgenius/dify/pull/17353
- chore: add unit test to high frequency component by @iamjoel in https://github.com/langgenius/dify/pull/17423
- feat: add resize debug panel width by @hjlarry in https://github.com/langgenius/dify/pull/17427
- doc: add JSDoc to file
format.tsby @samuel871211 in https://github.com/langgenius/dify/pull/17426 - fix: keep image url by @ModyQyW in https://github.com/langgenius/dify/pull/17430
- fix: client side error by @crazywoola in https://github.com/langgenius/dify/pull/17428
- refactor: type improvement of file
oneMoreStep.tsxby @samuel871211 in https://github.com/langgenius/dify/pull/17431 - fix: skip file format check of mime types for generated files by tools by @bowenliang123 in https://github.com/langgenius/dify/pull/17455
- chore: remove outdated contact by @alterxyz in https://github.com/langgenius/dify/pull/17467
- fix: change
Switch.props.refto optional prop to align withOriginalSwitchby @samuel871211 in https://github.com/langgenius/dify/pull/17443 - Fix/17466 cannot create a knowledge base by adding files by @crazywoola in https://github.com/langgenius/dify/pull/17470
- fix: adjust styling for active and disabled states in Stepper component by @ZeroZ-lab in https://github.com/langgenius/dify/pull/17485
- Fix(webapp): long table scroll issue of workflow by @JzoNgKVO in https://github.com/langgenius/dify/pull/17491
- refactor & perf:
import { noop } from 'lodash-es'acrosswebby @samuel871211 in https://github.com/langgenius/dify/pull/17439 - FEAT: support Tencent vectordb to full text search by @wlleiiwang in https://github.com/langgenius/dify/pull/16865
- refactor & perf: declare const object outside component
VarReferencePickerby @samuel871211 in https://github.com/langgenius/dify/pull/17496 - refactor: type improvement of component
AddVariablePopupWithPositionby @samuel871211 in https://github.com/langgenius/dify/pull/17497 - refactor & perf: declare const object outside component
ConstantFieldby @samuel871211 in https://github.com/langgenius/dify/pull/17495 - refactor & perf of file
var-reference-vars.tsxby @samuel871211 in https://github.com/langgenius/dify/pull/17444 - optimize: plugin permission by @quicksandznzn in https://github.com/langgenius/dify/pull/17507
- feat(improve-api-endpoints): Added Datasets and Annotation APIs by @jasonfish568 in https://github.com/langgenius/dify/pull/12237
- fix: chat api doc by @zxhlyh in https://github.com/langgenius/dify/pull/17515
- fix: Correct "The job is not exist" to "The job does not exist" by @jasonfish568 in https://github.com/langgenius/dify/pull/17516
- feat: Integrate WaterCrawl.dev as a new knowledge base provider by @amirasaran in https://github.com/langgenius/dify/pull/16396
- chore: add missing i18n by @crazywoola in https://github.com/langgenius/dify/pull/17517
- fix: loop and interation node not showing tracing entry in chatflow by @GeorgeCaoJ in https://github.com/langgenius/dify/pull/17500
- feat(plugin/endpoint): add supports for provider to register
array[tool]type field by @RockChinQ in https://github.com/langgenius/dify/pull/17523 - deal dataset metadata and metadata binding by @JohnJyong in https://github.com/langgenius/dify/pull/17544
- fix: update QA document default language from "Chinese" to "Chinese Simplified" by @ACAne0320 in https://github.com/langgenius/dify/pull/17541
- fix ChatCompletionResponse docs by @kenwoodjw in https://github.com/langgenius/dify/pull/17534
- fix: only the owner can edit the member information by @junjiem in https://github.com/langgenius/dify/pull/17538
- fix: remove wrong padding-bottom=0 by @ACAne0320 in https://github.com/langgenius/dify/pull/17551
- deal db session in celery worker by @JohnJyong in https://github.com/langgenius/dify/pull/17549
- fix: compatibility issues for currentStrategy.features is null by @LeeeeeeM in https://github.com/langgenius/dify/pull/17581
- feat: support select-type variables in Metadata Filtering (#17440 by @marcelodiaz558 in https://github.com/langgenius/dify/pull/17445
- fix: segment keywords bug by @huangzhuo1949 in https://github.com/langgenius/dify/pull/17599
- fix: Extract docx file fails when the file contains an invalid link by @coolgo0811 in https://github.com/langgenius/dify/pull/17576
- fix: Sass @import warning by @iamjoel in https://github.com/langgenius/dify/pull/17604
- fix(transport): add missing verify parameter to httpx.HTTPTransport by @IAOTW in https://github.com/langgenius/dify/pull/17612
- chore: add unit test to high frequency hooks by @iamjoel in https://github.com/langgenius/dify/pull/17617
- chore: bump pnpm to v10 in web dockerfile by @bowenliang123 in https://github.com/langgenius/dify/pull/17611
- feat: enhance index type handling and add error notification for missing embedding model by @WTW0313 in https://github.com/langgenius/dify/pull/16836
- Fixed the model-modal titles not being clearly distinguished between "Add" and "Setup" by @maoguy in https://github.com/langgenius/dify/pull/17634
- chore: bump Nodejs in web image from 20 to 22 LTS by @bowenliang123 in https://github.com/langgenius/dify/pull/13341
- Accelerate migration by @wanghan5 in https://github.com/langgenius/dify/pull/17088
- Fix Performance Issues: by @wanghan5 in https://github.com/langgenius/dify/pull/17083
- chore: add
'no-empty-function': 'error'toeslint.config.mjsby @samuel871211 in https://github.com/langgenius/dify/pull/17656 - optimize: docker-compose.middleware.yaml update env_file dependence by @SulphurFH in https://github.com/langgenius/dify/pull/17646
- chore: add script for running mypy type checks and speed up mypy checks in CI jobs by @bowenliang123 in https://github.com/langgenius/dify/pull/17489
- feat: add plugin daemon oss env config by @quicksandznzn in https://github.com/langgenius/dify/pull/17663
- fix: Account.query => db.session.query(Account) by @crazywoola in https://github.com/langgenius/dify/pull/17667
- Chore: remove beta tag of app type by @JzoNgKVO in https://github.com/langgenius/dify/pull/17676
- chore: find code with high complexity by @iamjoel in https://github.com/langgenius/dify/pull/17679
- feat(graph_engine): yield control to other threads before node run. by @laipz8200 in https://github.com/langgenius/dify/pull/17689
- chore(*): bump version to 1.2.0 by @laipz8200 in https://github.com/langgenius/dify/pull/17675
Full Changelog: https://github.com/langgenius/dify/compare/1.1.3...1.2.0