Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
9b6b9e9
fix: Fix bug where grounding metadata in Gemini 3.1 live was being si…
wukath May 20, 2026
13763d7
fix: fix input and output transcription finished events for Gemini v3.1
wukath May 20, 2026
1fd406b
fix(tools): Prevent session drop on MCP tool error
sasha-gitg May 20, 2026
d22291d
Merge pull request #5798 from google/v1-cherry-pick
sasha-gitg May 22, 2026
d27b099
ci(workflows): Synchronize release workflows for v1 branch
sasha-gitg May 22, 2026
c54e9e8
Merge pull request #5804 from google/fix-v1-workflows
sasha-gitg May 22, 2026
c121237
ci(releases): Mirror v1 release-please configurations to v1 branch
sasha-gitg May 22, 2026
472c770
ci(releases): Configure release-please for v1 stable releases
sasha-gitg May 22, 2026
0ebc155
ci(releases): Set last-release-sha to v1.34.0 tag SHA
sasha-gitg May 22, 2026
8257bf8
ci(releases): Use semantic versioning strategy for v1 bug fixes
sasha-gitg May 22, 2026
b0d4194
ci(releases): Scope changelog strictly to v1 bug fixes
sasha-gitg May 22, 2026
8e9d2df
Cherry pick fixes to v1 (#5900)
wukath May 29, 2026
ebfff9e
Revert "Cherry pick fixes to v1" (#5932)
wyf7107 Jun 1, 2026
7c0e186
Update 1.34.1 (#5933)
wyf7107 Jun 1, 2026
459782f
Cherry pick fixes to v1 (#5934)
wukath Jun 1, 2026
597a39a
chore: merge release v1.34.2 to v1 (#5936)
Jacksunwei Jun 1, 2026
fbe372e
ci: enable python unit tests workflow for v1 branch
wukath Jun 2, 2026
19a87ca
ci: enable precommit workflow for v1 branch
wukath Jun 2, 2026
6d027b4
fix: add missing Gemini imports in base_llm_flow (#5943)
wukath Jun 2, 2026
15eb387
fix release finalize
wukath Jun 2, 2026
aafd97f
fix: Support generalized history config injection for Gemini 3.1 Live…
wukath Jun 8, 2026
fafafb3
fix(models): Default grounding metadata for Gemini 3.1 live (#6018)
wukath Jun 8, 2026
87abf23
fix(flows): Reset reconnect attempts on connection success (#6042)
wukath Jun 10, 2026
ecfdaf5
feat(live): Handle input transcription differently for Gemini Live 3.…
wuliang229 Jun 10, 2026
dc9f36e
chore(release/v1-candidate): release 1.35.0 (#6052)
adk-bot Jun 10, 2026
4f598e9
chore: update last-release-sha for next v1 release
adk-bot Jun 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/.release-please-manifest-v1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
".": "1.35.0"
}
3 changes: 0 additions & 3 deletions .github/.release-please-manifest-v2.json

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,11 @@
"packages": {
".": {
"release-type": "python",
"versioning": "prerelease",
"prerelease": true,
"prerelease-type": "alpha",
"versioning": "default",
"package-name": "google-adk",
"include-component-in-tag": false,
"skip-github-release": true,
"changelog-path": "CHANGELOG-v2.md",
"changelog-path": "CHANGELOG.md",
"changelog-sections": [
{
"type": "feat",
Expand Down Expand Up @@ -58,5 +56,6 @@
}
]
}
}
},
"last-release-sha": "ecfdaf5f5e7accfbb4294cb8cc56c910dad2b1a8"
}
4 changes: 2 additions & 2 deletions .github/workflows/pre-commit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,13 @@ name: Pre-commit Checks

on:
push:
branches: [main, v2]
branches: [main, v1, v2]
paths:
- '**.py'
- '.pre-commit-config.yaml'
- 'pyproject.toml'
pull_request:
branches: [main, v2]
branches: [main, v1, v2]
paths:
- '**.py'
- '.pre-commit-config.yaml'
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/python-unit-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@ name: Python Unit Tests

on:
push:
branches: [ main ]
branches: [ main, v1 ]
pull_request:
branches: [ main ]
branches: [ main, v1 ]

permissions:
contents: read
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Step 3 (v2, optional): Cherry-picks a commit from v2 to the release/v2-candidate branch.
# Step 3 (v1, optional): Cherry-picks a commit from v1 to the release/v1-candidate branch.
# Use between step 1 and step 4 to include bug fixes in an in-progress release.
# Note: Does NOT auto-trigger release-please to preserve manual changelog edits.
name: "Release v2: Cherry-pick"
name: "Release v1: Cherry-pick"

on:
workflow_dispatch:
Expand All @@ -20,7 +20,7 @@ jobs:
steps:
- uses: actions/checkout@v6
with:
ref: release/v2-candidate
ref: release/v1-candidate
fetch-depth: 0

- name: Configure git
Expand All @@ -30,14 +30,14 @@ jobs:

- name: Cherry-pick commit
run: |
echo "Cherry-picking ${INPUTS_COMMIT_SHA} to release/v2-candidate"
echo "Cherry-picking ${INPUTS_COMMIT_SHA} to release/v1-candidate"
git cherry-pick ${INPUTS_COMMIT_SHA}
env:
INPUTS_COMMIT_SHA: ${{ inputs.commit_sha }}

- name: Push changes
run: |
git push origin release/v2-candidate
echo "Successfully cherry-picked commit to release/v2-candidate"
git push origin release/v1-candidate
echo "Successfully cherry-picked commit to release/v1-candidate"
echo "Note: Release Please is NOT auto-triggered to preserve manual changelog edits."
echo "Run release-v2-please.yml manually if you want to regenerate the changelog."
echo "Run release-v1-please.yml manually if you want to regenerate the changelog."
46 changes: 46 additions & 0 deletions .github/workflows/release-v1-cut.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Step 1 (v1): Starts the v1 release process by creating a release/v1-candidate branch.
# Generates a changelog PR for review (step 2).
name: "Release v1: Cut"

on:
workflow_dispatch:
inputs:
commit_sha:
description: 'Commit SHA to cut from (leave empty for latest v1)'
required: false
type: string

permissions:
contents: write
actions: write

jobs:
cut-release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
with:
ref: ${{ inputs.commit_sha || 'v1' }}

- name: Check for existing release/v1-candidate branch
env:
GH_TOKEN: ${{ github.token }}
run: |
if git ls-remote --exit-code --heads origin release/v1-candidate &>/dev/null; then
echo "Error: release/v1-candidate branch already exists"
echo "Please finalize or delete the existing release candidate before starting a new one"
exit 1
fi

- name: Create and push release/v1-candidate branch
run: |
git checkout -b release/v1-candidate
git push origin release/v1-candidate
echo "Created branch: release/v1-candidate"

- name: Trigger Release Please
env:
GH_TOKEN: ${{ github.token }}
run: |
gh workflow run release-v1-please.yml --repo ${{ github.repository }} --ref release/v1-candidate
echo "Triggered Release Please workflow for v1"
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# Step 4 (v2): Triggers when the changelog PR is merged to release/v2-candidate.
# Records last-release-sha and renames release/v2-candidate to release/v{version}.
name: "Release v2: Finalize"
# Step 4 (v1): Triggers when the changelog PR is merged to release/v1-candidate.
# Records last-release-sha and renames release/v1-candidate to release/v{version}.
name: "Release v1: Finalize"

on:
pull_request:
types: [closed]
branches:
- release/v2-candidate
- release/v1-candidate

permissions:
contents: write
Expand All @@ -32,15 +32,15 @@ jobs:
- uses: actions/checkout@v6
if: steps.check.outputs.is_release_pr == 'true'
with:
ref: release/v2-candidate
ref: release/v1-candidate
token: ${{ secrets.RELEASE_PAT }}
fetch-depth: 0

- name: Extract version from manifest
if: steps.check.outputs.is_release_pr == 'true'
id: version
run: |
VERSION=$(jq -r '.["."]' .github/.release-please-manifest-v2.json)
VERSION=$(jq -r '.["."]' .github/.release-please-manifest-v1.json)
echo "version=$VERSION" >> $GITHUB_OUTPUT
echo "Extracted version: $VERSION"

Expand All @@ -56,21 +56,21 @@ jobs:
- name: Record last-release-sha for release-please
if: steps.check.outputs.is_release_pr == 'true'
run: |
git fetch origin v2
CUT_SHA=$(git merge-base origin/v2 HEAD)
echo "Release was cut from v2 at: $CUT_SHA"
git fetch origin v1
CUT_SHA=$(git merge-base origin/v1 HEAD)
echo "Release was cut from v1 at: $CUT_SHA"
jq --arg sha "$CUT_SHA" '. + {"last-release-sha": $sha}' \
.github/release-please-config-v2.json > tmp.json && mv tmp.json .github/release-please-config-v2.json
git add .github/release-please-config-v2.json
git commit -m "chore: update last-release-sha for next v2 release"
git push origin release/v2-candidate
.github/release-please-config-v1.json > tmp.json && mv tmp.json .github/release-please-config-v1.json
git add .github/release-please-config-v1.json
git commit -m "chore: update last-release-sha for next v1 release"
git push origin release/v1-candidate

- name: Rename release/v2-candidate to release/v{version}
- name: Rename release/v1-candidate to release/v{version}
if: steps.check.outputs.is_release_pr == 'true'
run: |
VERSION="v${STEPS_VERSION_OUTPUTS_VERSION}"
git push origin "release/v2-candidate:refs/heads/release/$VERSION" ":release/v2-candidate"
echo "Renamed release/v2-candidate to release/$VERSION"
git push origin "release/v1-candidate:refs/heads/release/$VERSION" ":release/v1-candidate"
echo "Renamed release/v1-candidate to release/$VERSION"
env:
STEPS_VERSION_OUTPUTS_VERSION: ${{ steps.version.outputs.version }}

Expand All @@ -79,6 +79,7 @@ jobs:
env:
GH_TOKEN: ${{ github.token }}
run: |
gh label create "autorelease: tagged" --color "EDEDED" --description "Tagged release" || true
gh pr edit ${{ github.event.pull_request.number }} \
--remove-label "autorelease: pending" \
--add-label "autorelease: tagged"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# Runs release-please to create/update a PR with version bump and changelog for v2.
# Triggered only by workflow_dispatch (from release-v2-cut.yml).
# Runs release-please to create/update a PR with version bump and changelog for v1.
# Triggered only by workflow_dispatch (from release-v1-cut.yml).
# Does NOT auto-run on push to preserve manual changelog edits after cherry-picks.
name: "Release v2: Please"
name: "Release v1: Please"

on:
# Only run via workflow_dispatch (triggered by release-v2-cut.yml)
# Only run via workflow_dispatch (triggered by release-v1-cut.yml)
workflow_dispatch:

permissions:
Expand All @@ -15,27 +15,27 @@ jobs:
release-please:
runs-on: ubuntu-latest
steps:
- name: Check if release/v2-candidate still exists
- name: Check if release/v1-candidate still exists
id: check
env:
GH_TOKEN: ${{ github.token }}
run: |
if gh api repos/${{ github.repository }}/branches/release/v2-candidate --silent 2>/dev/null; then
if gh api repos/${{ github.repository }}/branches/release/v1-candidate --silent 2>/dev/null; then
echo "exists=true" >> $GITHUB_OUTPUT
else
echo "release/v2-candidate branch no longer exists, skipping"
echo "release/v1-candidate branch no longer exists, skipping"
echo "exists=false" >> $GITHUB_OUTPUT
fi

- uses: actions/checkout@v6
if: steps.check.outputs.exists == 'true'
with:
ref: release/v2-candidate
ref: release/v1-candidate

- uses: googleapis/release-please-action@v4
if: steps.check.outputs.exists == 'true'
with:
token: ${{ secrets.RELEASE_PAT }}
config-file: .github/release-please-config-v2.json
manifest-file: .github/.release-please-manifest-v2.json
target-branch: release/v2-candidate
config-file: .github/release-please-config-v1.json
manifest-file: .github/.release-please-manifest-v1.json
target-branch: release/v1-candidate
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Step 6 (v2): Builds and publishes the v2 package to PyPI from a release/v{version} branch.
# Reads version from .release-please-manifest-v2.json, converts to PEP 440,
# Step 6 (v1): Builds and publishes the v1 package to PyPI from a release/v{version} branch.
# Reads version from .release-please-manifest-v1.json, converts to PEP 440,
# updates version.py, then builds and publishes.
# Creates a merge-back PR (step 7) to sync release changes to v2.
name: "Release v2: Publish to PyPi"
# Creates a merge-back PR (step 7) to sync release changes to v1.
name: "Release v1: Publish to PyPi"

on:
workflow_dispatch:
Expand All @@ -18,7 +18,7 @@ jobs:
- name: Validate branch
run: |
if [[ ! "${GITHUB_REF_NAME}" =~ ^release/v[0-9]+\.[0-9]+\.[0-9]+ ]]; then
echo "Error: Must run from a release/v* branch (e.g., release/v2.0.0-alpha.2)"
echo "Error: Must run from a release/v* branch (e.g., release/v1.34.1)"
exit 1
fi

Expand All @@ -27,15 +27,15 @@ jobs:
- name: Extract version from manifest and convert to PEP 440
id: version
run: |
VERSION=$(jq -r '.["."]' .github/.release-please-manifest-v2.json)
VERSION=$(jq -r '.["."]' .github/.release-please-manifest-v1.json)
echo "semver=$VERSION" >> $GITHUB_OUTPUT
echo "Semver version: $VERSION"

# Convert semver pre-release to PEP 440:
# 2.0.0-alpha.1 -> 2.0.0a1
# 2.0.0-beta.1 -> 2.0.0b1
# 2.0.0-rc.1 -> 2.0.0rc1
# 2.0.0 -> 2.0.0 (no change for stable)
# 1.35.0-alpha.1 -> 1.35.0a1
# 1.35.0-beta.1 -> 1.35.0b1
# 1.35.0-rc.1 -> 1.35.0rc1
# 1.35.0 -> 1.35.0 (no change for stable)
PEP440=$(echo "$VERSION" | sed -E 's/-alpha\./a/; s/-beta\./b/; s/-rc\./rc/')
echo "pep440=$PEP440" >> $GITHUB_OUTPUT
echo "PEP 440 version: $PEP440"
Expand Down Expand Up @@ -73,7 +73,7 @@ jobs:
PEP440_VERSION: ${{ steps.version.outputs.pep440 }}
run: |
gh pr create \
--base v2 \
--base v1 \
--head "${GITHUB_REF_NAME}" \
--title "chore: merge release v${PEP440_VERSION} to v2" \
--body "Syncs version bump and CHANGELOG from release v${SEMVER_VERSION} to v2."
--title "chore: merge release v${PEP440_VERSION} to v1" \
--body "Syncs version bump and CHANGELOG from release v${SEMVER_VERSION} to v1."
46 changes: 0 additions & 46 deletions .github/workflows/release-v2-cut.yml

This file was deleted.

Loading
Loading