--- title: Langflow release notes slug: /release-notes --- import Icon from "@site/src/components/icon"; import McpIcon from '@site/static/logos/mcp-icon.svg'; This page summarizes significant changes to Langflow in each release. For all changes, see the [Changelog](https://github.com/langflow-ai/langflow/releases/latest). Due to strict SemVer requirements, Langflow Desktop can have different patch versions than the core Langflow OSS Python package, but the major and minor versions are aligned. ## Prepare to upgrade :::warning Whenever possible, the Langflow team recommends installing new Langflow versions in a new virtual environment or VM before upgrading your primary installation. This allows you to [import flows](/concepts-flows-import#import-a-flow) from your existing installation and test them in the new version without disrupting your existing installation. In the event of breaking changes or bugs, your existing installation is preserved in a stable state. If you are upgrading Windows Desktop to 1.6.0, don't auto-upgrade with the in-app **Update** button. Instead, follow the instructions in [Known issue: Don't auto-upgrade Windows Desktop](#windows-desktop-update-issue). ::: To avoid the impact of potential breaking changes and test new versions, the Langflow team recommends the following upgrade process: 1. Recommended: [Export your projects](/api-projects#export-a-project) to create backups of your flows: ```bash curl -X GET \ "$LANGFLOW_SERVER_URL/api/v1/projects/download/$PROJECT_ID" \ -H "accept: application/json" \ -H "x-api-key: $LANGFLOW_API_KEY" ``` To export flows from the visual editor, see [Import and export flows](/concepts-flows-import). 2. Install the new version: * **Langflow OSS Python package**: Install the new version in a new virtual environment. For instructions, see [Install and run the Langflow OSS Python package](/get-started-installation#install-and-run-the-langflow-oss-python-package). * **Langflow Docker image**: Run the new image in a separate container. * **Langflow Desktop**: To upgrade in place, open Langflow Desktop, and then click **Upgrade Available** in the Langflow header. If you want to isolate the new version, you must install Langflow Desktop on a separate physical or virtual machine, and then [import your flows](/concepts-flows-import) to the new installation. 3. [Import your flows](/concepts-flows-import) to test them in the new version, [upgrading components](/concepts-components#component-versions) as needed. When upgrading components, you can use the **Create backup flow before updating** option if you didn't previously export your flows. 4. If you installed the new version in isolation, upgrade your primary installation after testing the new version. If you made changes to your flows in the isolated installation, you might want to export and import those flows back to your upgraded primary installation so you don't have to repeat the component upgrade process. ## 1.8.x Highlights of this release include the following changes. For all changes, see the [Changelog](https://github.com/langflow-ai/langflow/releases). ### Breaking changes - `langflow-base` dependency structure refactored The `langflow-base` package now uses granular optional dependency groups. As a result, many dependencies that were previously included in the `langflow-base` installation were moved to optional extras. If you installed Langflow with `uv pip install langflow`, this isn't a breaking change. Installing `langflow` automatically installs `langflow-base[complete]`, which includes all optional dependencies and maintains the same functionality as before. However, if you installed Langflow with `uv pip install langflow-base` without specifying extra dependencies, this _is_ a breaking change. Some dependencies that were previously included by default are now available only through optional extras. Therefore, installing `langflow-base` directly only installs the [core base dependencies](https://github.com/langflow-ai/langflow/blob/main/src/backend/base/pyproject.toml). If you installed `langflow-base`, there are two ways to resolve dependency errors that result from this breaking change: * If you need the full set of dependencies, you must install `langflow-base` with the `complete` extra: ```bash uv pip install "langflow-base[complete]" ``` * If you need specific dependencies, you must install `langflow-base` with those optional dependency groups. For example: ```bash uv pip install "langflow-base[postgresql,openai,chroma]" ``` For more information about available optional dependency groups, see [Install optional dependency groups for `langflow-base`](/install-custom-dependencies#install-optional-dependency-groups-for-langflow-base). - Docker image does not include `uv` or `uvx` :::tip Starting with Langflow 1.8.1, the official Docker images include `uv` and `uvx` again. If you're using Langflow 1.8.0, follow the steps in this release note to add `uv` and `uvx` in a derived image. ::: In Langflow 1.8.0, the Langflow Docker image does not include `uv` or `uvx` in the runtime image. This means that MCP server configurations, including the default Langflow MCP server, that rely on commands like `uvx mcp-proxy` will fail inside the container with a `command not found` error. If you use MCP from within a Langflow 1.8.0 Docker image, you must install `uv` in an image derived from the official `langflowai/langflow` image. To install `uv` and `uvx` in a derived image based on the official `langflowai/langflow` image, do the following: 1. Create a `Dockerfile` in your project. 2. Use the official Langflow image as the base and install `uv` into the existing virtual environment: ```dockerfile FROM langflowai/langflow:1.8.0 USER root RUN /app/.venv/bin/pip install uv USER user ``` 3. Build the image. ```bash docker build -t YOUR_IMAGE_NAME . ``` Replace `YOUR_IMAGE_NAME` with your Docker image name. 4. Run the new image: ```bash docker run -p 7860:7860 YOUR_IMAGE_NAME ``` For more information, see [Upgrade the Langflow Docker image](/deployment-docker#upgrade-the-langflow-docker-image). ### New features and enhancements - Global model provider configuration Model providers for language models, embedding models, and agents are now configured globally in the **Model providers** pane, instead of within individual components. For more information, see the [Language Model component](/components-models). - Component inspection panel The component inspection panel replaces the component header menu for managing component parameters and settings. For more information, see [Component inspection panel](/concepts-components#component-inspection-panel). - Developer API: `/workflow` synchronous endpoints (Beta) The Developer API is part of a larger effort to improve Langflow's APIs with enhanced capabilities and better developer experience. The Developer API now includes `/v2/workflow` endpoints for executing flows with enhanced error handling, timeout protection, and structured responses. The synchronous execution endpoint is available at `POST /api/v2/workflows`. For more information, see [Workflow API (Beta)](/workflow-api). - Traces and trace view Langflow now records execution traces for flows and components. View your traces in the **Trace Details** pane, and inspect span trees, latencies, and errors. For more information, see [Traces](/traces). - Knowledge bases Knowledge bases let you organize documents and other reference data into reusable vector databases that can be attached to multiple flows. This makes it easier to centralize domain knowledge and reuse the same data across agents and retrieval workflows. For more information, see [Manage vector data](/knowledge). - Mustache templating support for Prompt Template component The **Prompt Template** component now supports Mustache templating syntax. Mustache templating eliminates the need to escape curly braces when including JSON structures in your prompts. For more information, see [Prompt Template](/components-prompts#use-mustache-templating-in-prompt-templates). - More configuration options for JWT-based session authentication Langflow 1.8 offers additional configuration options for JWT algorithms, including support for RS256/RS512 algorithms, configurable keys, and token lifetimes. For more information, see [JWT authentication](/jwt-authentication). - Global variables in MCP server headers You can now use [global variables](/configuration-global-variables) in MCP server header values to securely store and reference sensitive values. For more information, see [Use global variables in MCP server headers](/mcp-client#use-global-variables-in-mcp-server-headers). - Pass environment variables to flows in API headers and CLI The ability to pass environment variables in HTTP headers (previously available for the [`/responses` endpoint](/api-openai-responses#global-var)) is now also available for the [`/run` endpoint](/api-flows-run#pass-global-variables-in-headers). - Guardrails component The **Guardrails** component validates input text against security and safety guardrails by using a connected language model to check for content such as PII, tokens/passwords, or offensive content. For more information, see [Guardrails](/guardrails). - Token usage tracking for OpenAI Responses API The OpenAI Responses API endpoint now tracks and returns token usage statistics when your flow uses language model APIs that provide token usage information. For more information, see [Token usage tracking](/api-openai-responses#token-usage-tracking). - Docker AMD vs ARM image sizes Langflow 1.8.0 addresses the AMD vs ARM Docker image size gap. We reconfigured our Python dependencies to use CPU-only PyTorch wheels through `uv` sources, which removes large CUDA-related dependencies from the AMD64 images. With this change, both AMD64 and ARM64 images are now smaller than 2 GB. - New [**Agentics** bundle](/bundles-agentics) Uses LLMs to transform tabular data, including mapping, reducing, and generating DataFrame rows based on a defined schema. - New [**LiteLLM** bundle](/bundles-lite-llm) Connects to models through a LiteLLM proxy so you can route requests to multiple LLM providers and switch providers without changing flow credentials. - New [**Openlayer** observability integration](/integrations-openlayer) Configures Langflow to send tracing data to Openlayer for analysis, monitoring, and evaluation of your flow executions. ## 1.7.x :::warning Version yanked Version 1.7.0 was yanked due to a critical bug. Version 1.7.0 has been replaced with version 1.7.1, which includes a fix for this issue. ::: Highlights of this release include the following changes. For all changes, see the [Changelog](https://github.com/langflow-ai/langflow/releases). ### Known issue: Data not accessible when upgrading to version 1.7.0 {#v170-data-path} A critical issue was identified during the upgrade process to version 1.7.0. Flows, projects, and global variables are **not** deleted or corrupted. The data still exists, but version 1.7.0 cannot find it due to a path change in how flows are located. All Langflow versions upgrading to 1.7.0 are affected. Don't upgrade to Langflow version 1.7.0. Instead, upgrade directly to version 1.7.1, which includes a fix for this bug. If you installed version 1.7.0 before the fix was released, follow these steps to recover your flows: 1. Revert Langflow to version 1.6.9: ```bash uv pip install langflow==1.6.9 ``` 2. Verify that your flows, projects, and global variables are accessible. 3. Upgrade directly to version 1.7.1, which includes the fix for this issue: ```bash uv pip install langflow==1.7.1 ``` ### New features and enhancements - Support for streamable HTTP transport for MCP clients and servers Langflow now supports [streamable HTTP transport](https://modelcontextprotocol.io/specification/2025-06-18/basic/transports#streamable-http) for both MCP clients and servers. When using Langflow as an [MCP client](/mcp-client), you can connect to MCP servers with streamable HTTP transport. When using Langflow as an [MCP server](/mcp-server), clients can connect using streamable HTTP transport. SSE transport is still supported as a fallback for backwards compatibility. - Webhook authentication Added the `LANGFLOW_WEBHOOK_AUTH_ENABLE` environment variable for authenticating requests to the [`/webhook` endpoint](/api-flows-run#webhook-run-flow). When `LANGFLOW_WEBHOOK_AUTH_ENABLE=TRUE`, webhook endpoints require API key authentication and validate that the authenticated user owns the flow being executed. When `FALSE`, no Langflow API key is required and all requests to the webhook endpoint are treated as being sent by the flow owner. For more information, see [Trigger flows with webhooks](/webhook). - Configurable API key validation Added the `LANGFLOW_API_KEY_SOURCE` environment variable to control how Langflow validates API keys. When set to `db`, Langflow validates API keys against keys stored in the database. When set to `env`, Langflow validates API keys against the `LANGFLOW_API_KEY` environment variable. For more information, see [API keys and authentication](/api-keys-and-authentication#langflow-api-key-source). - SSRF protection Added SSRF (Server-Side Request Forgery) protection to the [**API Request** component](/api-request). HTTP redirects are disabled by default to prevent SSRF bypass attacks. To enable SSRF protection, set `LANGFLOW_SSRF_PROTECTION_ENABLED=TRUE`. Configure allowed hosts with `LANGFLOW_SSRF_ALLOWED_HOSTS`. Flows that relied on automatic redirects will need to enable it manually. - Email registration in Langflow Desktop Langflow Desktop now includes an email registration screen at startup. The registered email address helps track user registrations and understand the user base. For more information, see [Telemetry](/contributing-telemetry#email). - Changes to read/write file components The **Save File** component was renamed to **Write File**, and it can now save to S3 and Google Drive. The **File** component was renamed to **Read File**, and it can now read from AWS S3 and Google Drive. Both components support **Tool Mode**. - New integrations, bundles, and components: New filter operator for **DataFrame Operations** component The [**DataFrame Operations** component](/dataframe-operations) now includes a `not contains` filter operator. Use it to clean data by extracting only records that _don't_ contain specific values. For example, you can filter out invalid email addresses that don't contain `@`. New JSON operations for **Data Operations** component The [**Data Operations** component](/data-operations) now includes two operations for advanced JSON data manipulation. The **Path Selection** operation extracts values from nested JSON structures, and the **JQ Expression** operation uses the [`jq`](https://jqlang.org/) query language to perform advanced JSON filtering, projections, and transformations. New [**Smart Router** component](/smart-router) New [**Mock Data** component](/mock-data) New [**Dynamic Create Data** component](/dynamic-create-data) New [**ALTK** bundle](/bundles-altk) New [**CometAPI** bundle](/bundles-cometapi) New [**CUGA** bundle](/bundles-cuga) The **LLM Router** component is now called the [**LLM Selector** component](/llm-selector). The [**Web Search** component](/web-search) now consolidates Web Search, News Search, and RSS Reader into a single component with tabs for different search modes. You can search the web using DuckDuckGo, search Google News, or read RSS feeds—all from one component. The separate **News Search** and **RSS Reader** components have been removed. ## 1.6.0 Highlights of this release include the following changes. For all changes, see the [Changelog](https://github.com/langflow-ai/langflow/releases). ### Known issue, potential security vulnerability: .env file not loaded in versions 1.6.0 through 1.6.3 {#env-file-bug} Langflow versions 1.6.0 through 1.6.3 have a critical bug where environment variables from `.env` files aren't read. This affects all deployments using environment variables for configuration, including security settings. :::warning Potential security vulnerability If your `.env` file includes `AUTO_LOGIN=false`, upgrading to the impacted versions causes Langflow to fall back to default settings, potentially giving all users superuser access immediately upon upgrade. Additionally, database credentials, API keys, and other sensitive configurations can't be loaded from `.env` files. _Don't_ upgrade to any Langflow version from 1.6.0 through 1.6.3 if you use `.env` files for configuration. Instead, upgrade to 1.6.4, which includes a fix for this bug. ::: ### Known issue: Don't auto-upgrade Windows Desktop {#windows-desktop-update-issue} :::warning Windows users of Langflow Desktop should **not** use the in-app update feature to upgrade to Langflow version 1.6.0. Only Windows Desktop users upgrading to Langflow version 1.6.0 are affected. ::: The **Update** button in Langflow Desktop will not work for Windows users, and may result in data loss. Instead, download a fresh installation from the [Langflow website](https://langflow.org) when a new version is available. Follow the instructions below to minimize the risk of losing flows. These instructions assume the default path for the Langflow database of `C:\Users\YOUR_USERNAME\AppData\Roaming\com.langflow\data\database.db` or `C:\Users\%YOUR_USERNAME%\AppData\Roaming\com.langflow\data\database.db`. Replace `YOUR_USERNAME` with your Windows username. 1. Ensure you have Administrator privileges. 2. Ensure you have enough disk space for a second installation of Langflow. 3. Close Langflow, and ensure no Langflow process is running in Task Manager. 4. The Langflow 1.6.0 installer automatically performs a database backup in a later step, but an additional manual backup provides additional redundancy and is recommended. To manually back up your Langflow database file, do the following: 1. In Windows Explorer, navigate to `C:\Users\YOUR_USERNAME\AppData\Roaming\com.langflow\data\`. Replace `YOUR_USERNAME` with your Windows username. 2. Copy the `database.db` at this location, and paste it to a safe location. 5. Download the Windows installer from the [Langflow website](https://langflow.org). 6. Run the Windows installer as an Administrator. To run the installer as an Administrator, right-click the executable and select **Run as administrator**. 7. Follow the Windows installer's guided steps. The Langflow 1.6.0 installer automatically performs a database backup. These steps install Langflow from scratch, and result in two Langflow installations: the previously installed version, and version 1.6.0. This is expected behavior. 8. Start version 1.6.0 of Langflow, and confirm your flows behave as expected. 9. **If flows are missing**, restore your flows from your manual backup by doing the following: 1. Close Langflow. 2. Navigate to your backup location, and copy the `database.db` file. 3. Replace the database file in the new installation's `data` directory. 4. Start Langflow, and confirm your flows behave as expected. 5. After confirmation, uninstall the previous version of Langflow, and keep version 1.6.0. ### Breaking changes - Authentication enforced for Langflow API requests by default In Langflow version 1.6, `LANGFLOW_AUTO_LOGIN=True` and `LANGFLOW_SKIP_AUTH_AUTO_LOGIN=False` by default. This enforces authentication for Langflow API requests while still automatically authenticating all users as superusers in the visual editor. **This is a breaking change from 1.5 where both of these environment variables were `true` by default, bypassing all authentication.** For temporary backwards compatibility, you can revert to the earlier unauthenticated behavior by setting both variables to `true`. However, a future release will set `LANGFLOW_AUTO_LOGIN=False` and remove `LANGFLOW_SKIP_AUTH_AUTO_LOGIN`. At that point, Langflow will strictly enforce API key authentication for API requests, and you can manually disable authentication for some features, like the visual editor, by setting `LANGFLOW_AUTO_LOGIN=True`. For more information, see the documentation for [`LANGFLOW_AUTO_LOGIN`](/api-keys-and-authentication#langflow-auto-login). ### New features and enhancements - OpenAI Responses API compatibility Langflow now includes an endpoint that is compatible with the [OpenAI Responses API](https://platform.openai.com/docs/api-reference/responses) at `POST /api/v1/responses`. This allows you to use existing OpenAI client libraries with minimal code changes by replacing the `model` name with your `flow_id`. The endpoint supports streaming responses, conversation continuity, tool call results, and global variable passing through headers. For more information, see [OpenAI Responses API](/api-openai-responses). - Advanced document parsing with built-in Docling support The **Read File** component supports advanced parsing with the Docling library. To make it easier to use the [**Docling** components](/bundles-docling) and the **Read File** component's new advanced parsing feature, the Docling dependency is now included with Langflow for all operating systems except macOS Intel (x86_64). For more information, see [Advanced parsing](/read-file#advanced-parsing). - Reorganized component menus and visual editor controls - The [workspace](/concepts-overview#workspace) sidebar is divided into separate sections for