Skip to content

v1.3.0

Latest
Compare
Choose a tag to compare
@laipz8200 laipz8200 released this 23 Apr 08:50
· 48 commits to main since this release
1.3.0
e9aedc7

🌟 What's New in v1.3.0 🌟

Hey tech fam, welcome to version 1.3.0! We've been grinding to bring in some slick enhancements, bug fixes, and new capabilities. Let’s dig into what’s freshly brewed:

🚀 New Features

image

  • Structured Output in LLM Node: We've introduced structured output support for the LLM Node. This means your language models can now return neatly organized and easily processable data. Backend implementation by @Nov1c444 in #17877 and frontend magic by @iamjoel in #17994 ensure this feature is seamless and powerful for developers.
    Check out our intro video for more details: Dify's Structured Output: Make AI Agent chat with API easier

  • Never Miss a Plugin Update: Our new feature ensures you're always in the loop. When a new version of a plugin drops, you'll see a clear indicator right in the UI. This keeps your environment up-to-date and running smoothly, thanks to @Yeuoly in #17695.

  • Token Counting Made Easy: We've tweaked the default token counting rules. Now, if your provider doesn't return token usage, we'll default to using 0. However, if you'd like to estimate using the tokenizer, you can set PLUGIN_BASED_TOKEN_COUNTING_ENABLED=true. Heads up, this might impact performance, detailed by @laipz8200 in #17706.

  • Workflow Export Delight: Ever wanted to share your workflow effortlessly? You can now export it as an image with the slick new feature from @ACAne0320 in #17904.

  • Mermaid Analysis Gets Smarter: Optimization magic was done on Mermaid by @charli117 in #18089 for all you diagram enthusiasts out there.

🛠️ Enhancements

  • Python Package Manager Upgrade: We made a significant switch from poetry to uv as our Python package manager. This speeds up operations, minimizes merge conflicts, and streamlines our development process. Huge thanks to @bowenliang123 for leading this transition in #16317.

  • Slick Shortcuts & Indicators: Consistent keyboard shortcut support and handy visual indicators have been rolled into all app creation dialogs thanks to @ACAne0320 in #17138. Speed and efficiency now go hand in hand.

  • Observability on Steroids: Integrated OpenTelemetry for better observability in workflows by @TedaLIEz in #17627 and beefed it up with HTTP metrics in HTTP response handling.

  • Type Safety Surge: Massive improvements on type safety in components like PluginList by @samuel871211 in #17498. Our internals are as tight as ever!

🐛 Bug Fixes

  • Style & Layout Wrinkles Ironed: Various layout and style improvements across components to improve readability and consistency, mostly spearheaded by @ZeroZ-lab and pals.

  • Fixing the Fixables: Squashed bugs such as the pesky workflow run panel resizing issue and a couple of others like clickjacking prevention thanks to @hjlarry and @iamjoel.

  • Error-Free Conversations: Fixed the conversation log issue that could throw a 500 error. Clean data for sweet conversation flow is the norm again.

🌐 Language & Locale Updates

  • Japanese Touch-Ups: Some timely translation updates and locale param support by @t-daisuke for plugins. Quick ‘Yoro-shiku’ to our Japanese community!

  • German Date Format Tweak: Corrected an unsupported date format issue, courtesy of @haocheng6 ensuring German precision.

🔧 Chores & Docs Love

  • Git Workflow Optimization: Speedier git checkouts by shaving off unnecessary layers — kudos to @bowenliang123 in #18103 for the efficiency boost.

That’s a wrap, people! Enjoy exploring v1.3.0's new dimensions and as always, stay curious and keep building. Cheers! 🚀✨


Upgrade Guide

Docker Compose Deployments

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

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

    git checkout main
    git pull origin main
  3. Stop the service. Please execute in the docker directory

    docker compose down
  4. Back up data

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

    docker compose up -d

Source Code Deployments

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

  2. Get the latest code from the release branch:

    git checkout 1.3.0
  3. Update Python dependencies:

    cd api
    uv sync
  4. Then, let's run the migration script:

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


What's Changed

New Contributors

Full Changelog: 1.2.0...1.3.0