---
title: Releases
description: "How Langfuse ships: incremental changes deployed to Langfuse Cloud production several times a day, and the release process behind them."
---

# Releases

## Release on Langfuse Cloud

We deploy incremental changes to Langfuse Cloud production multiple times per day.

How to release a change:

- Langfuse Cloud: the `production` branch deploys to all Langfuse Cloud regions. We frequently first release changes to Langfuse Cloud this way in order to monitor for potential failures before cutting an OSS release.
- OSS: (see below)

## Release OSS

We cut new releases multiple times per week. We follow semantic versioning.

1. Make sure you are on `main`; run `git status` to make sure that you track `origin:main`.
2. Run `pnpm run release`, this:
   1. Bumps version numbers across packages
   2. Pushes commit to main
   3. Triggers release note on GitHub (please group the changes according to conventional commit type; see previous releases for reference)
3. GitHub Actions will automatically force push this commit to the `production` branch for a deployment to Langfuse Cloud (see above); no additional action necessary.

## New features

When we release a new feature:

- Let customers know who asked for this or shared feedback; if you link Pylon threads to Linear issues, they are automatically changed to `close the loop` status when issue is marked as done in Linear (see [product ops](/handbook/product-engineering/how-we-work/product-ops))
- Update the documentation
- Create a changelog post

<!-- agent-instructions -->

---

## Agent Instructions

This page is part of the [Langfuse](https://langfuse.com) documentation, published as plain Markdown for AI agents. Every page is available as Markdown by appending `.md` to its URL, or by sending an `Accept: text/markdown` header. This page: `https://langfuse.com/handbook/product-engineering/playbooks/releases.md`.

### Querying these docs

If the answer is not on this page, query the documentation instead of guessing:

- **Semantic search** across all Langfuse docs, returning an answer with the relevant pages and excerpts. Ask a specific, self-contained question:

  ```bash
  curl -sG "https://langfuse.com/api/search-docs" --data-urlencode "query=How do I trace a LangGraph agent?"
  ```

- **Index of every page**: <https://langfuse.com/llms.txt>, with per-section indexes [llms-docs.txt](https://langfuse.com/llms-docs.txt), [llms-integrations.txt](https://langfuse.com/llms-integrations.txt), and [llms-self-hosting.txt](https://langfuse.com/llms-self-hosting.txt).

### Before writing Langfuse code

- **Install the [Langfuse Agent Skill](https://langfuse.com/docs/api-and-data-platform/features/agent-skill).** It encodes Langfuse's own best practices for instrumentation, prompt management, and evaluation, and materially improves results.
- **Read [What does a good trace look like?](https://langfuse.com/docs/observability/best-practices.md)** before instrumenting an application.
- **Verify endpoints, parameters, and response fields** against the [API reference](https://api.reference.langfuse.com) instead of inferring them from code examples.
- **Use the [Langfuse CLI](https://langfuse.com/docs/api-and-data-platform/features/cli)** (`npx langfuse-cli api <resource> <action>`) to read or write traces, prompts, datasets, and scores from the terminal.

Found an error in these docs? Please open an issue at <https://github.com/langfuse/langfuse-docs/issues>.
