Summarize the release notes using an LLM of your choice (e.g., Gemini, Copilot, ChatGPT). Provide the newly compiled release notes block from RELEASE-NOTES.md (or the unreleased fragments in release-notes.d/unreleased/) with the following prompt:
Please summarize these release notes into three clear sections:
1. Highlights (key features, performance wins, bug fixes)
2. Upgrade Steps & Deprecations (configuration changes, deprecated flags/metrics)
3. Known Issues (if any, otherwise omit)
Review the generated content, edit it if necessary to ensure accuracy, and then copy and prepend this summary at the very top of the release description box on GitHub.
name: New Release
about: Propose a new release
title: Release v0.9.0
labels: kind/release
assignees: ''
Introduction
This document defines the process for releasing llm-d-router.
Prerequisites
Permissions to push to the llm-d-router repository.
Membership in the
@llm-d/router-release-managersteam. Tag protection onrefs/tags/v*restricts who can push release tags, which is what triggersthe release build.
Choose whether you are releasing a release candidate or an official release, and set the environment variables accordingly:
For a Release Candidate (e.g.
v0.9.0-rc.1):For an Official Release (e.g.
v0.9.0):(Optional) If the latency predictor release version does not align with the router version, also set the expected tag (refer to the latency predictor releases to find the latest valid release tag):
export LATENCY_PREDICTOR_TAG=v0.8.0-rc.1If needed, clone the llm-d-router repo.
git clone -o ${REMOTE} git@github.com:llm-d/llm-d-router.gitRelease Process
Create or Checkout branch
If you already have the repo cloned, ensure it's up-to-date and your local branch is clean.
Release Branch Handling:
For a Release Candidate:
Create a new release branch from the
mainbranch. The branch should be namedrelease-${BRANCH_VERSION}, for example,release-0.9:git checkout -b release-${BRANCH_VERSION}For a Major, Minor or Patch Release:
A release branch should already exist. In this case, check out the existing branch:
By default,
LATENCY_PREDICTOR_TAGin theMakefileautomatically resolves to the router release version (${BUILD_REF}). If the latency predictor tag does not align with the router version, update the default value ofLATENCY_PREDICTOR_TAGin theMakefileto match your exported${LATENCY_PREDICTOR_TAG}.Commit the change (if modified):
Push your release branch to the llm-d-router remote.
Tag commit and trigger image build
Tag the head of your release branch with the version:
Push the tag to the llm-d-router repo:
Pushing the tag triggers CI action to build and publish the EPP image (
ghcr.io/llm-d/llm-d-router-endpoint-picker) and sidecar image (ghcr.io/llm-d/llm-d-router-disagg-sidecar) to the ghcr registry.Verify the CI release workflow completed successfully before proceeding.
Test the steps in the tagged quickstart guide after the PR merges.
Create the release!
Choose the tag that you created for the release.
Use the tag as the release title, e.g.
v0.1.0.Click "Generate release notes" to auto-populate the list of PRs and contributors.
Summarize the release notes using an LLM of your choice (e.g., Gemini, Copilot, ChatGPT). Provide the newly compiled release notes block from
RELEASE-NOTES.md(or the unreleased fragments inrelease-notes.d/unreleased/) with the following prompt:Review the generated content, edit it if necessary to ensure accuracy, and then copy and prepend this summary at the very top of the release description box on GitHub.
If this is a release candidate, select the "This is a pre-release" checkbox.
Announce the Release
Use the following steps to announce the release.
Generate the announcement email content by running the following block in your terminal (make sure
${VERSION}is set in your current shell):Copy the generated subject and body, and send an email to
llm-d-contributors@googlegroups.com.Add a link to the final release in this issue.
Close this issue.