一键导入
release
Create a new SDK release — bump version, update HISTORY.md, and commit on a release branch
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Create a new SDK release — bump version, update HISTORY.md, and commit on a release branch
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | release |
| description | Create a new SDK release — bump version, update HISTORY.md, and commit on a release branch |
| allowed-tools | Read, Bash, Edit, Write, Glob, Grep, Agent, WebFetch |
Bumps the SDK version, generates release notes in HISTORY.md, and commits on a dedicated release branch.
/release patch — bump patch version (e.g., 9.2.1 → 9.2.2)/release minor — bump minor version (e.g., 9.2.1 → 9.3.0)/release major — bump major version (e.g., 9.2.1 → 10.0.0)/release 9.3.0 — set an explicit versionIf no argument is provided, default to patch.
Read the current version from pyatlan/version.txt. Parse the argument to compute the new version:
patch: increment the third number, e.g., 9.2.1 → 9.2.2minor: increment the second number, reset patch, e.g., 9.2.1 → 9.3.0major: increment the first number, reset minor and patch, e.g., 9.2.1 → 10.0.09.3.0), use it directlyConfirm the new version with the user before proceeding.
Always gather from origin/main — that's where PRs are merged. The current working branch is irrelevant here.
Step 1 — find the last release commit on main and list everything since it:
git fetch origin main --quiet
git log --oneline $(git log --oneline origin/main | grep "\[release\]" | head -1 | awk '{print $1}')..origin/main
Step 2 — extract PR numbers from merge commits and fetch details for each:
git log --oneline $(git log --oneline origin/main | grep "\[release\]" | head -1 | awk '{print $1}')..origin/main | grep "Merge pull request" | grep -oE '#[0-9]+' | tr -d '#'
Then for each PR number, run:
gh pr view <number> --json title,labels,body,mergedAt
If gh is not authenticated, fall back to the commit subjects alone — do NOT skip this step or silently use an empty list. Note any PRs you couldn't fetch so the user knows the notes may be incomplete.
Step 3 — also run this to catch non-merge commits (direct pushes, fixups, etc.):
git log --oneline --no-merges $(git log --oneline origin/main | grep "\[release\]" | head -1 | awk '{print $1}')..origin/main
Use all of this — PR titles, PR bodies, labels, and direct commit messages — to write the release notes.
Write the release notes following HISTORY.md conventions exactly:
Header format:
## X.Y.Z (Month Day, Year)
Use the current date. Month is full name, day has no leading zero.
Section order (only include sections that have content):
### New Features — new functionality### Breaking Changes — breaking API changes### Experimental: pyatlan_v9 — v9-specific changes### Bug Fixes — bug fixes### Packages — dependency updates### QOL Improvements — catch-all for misc improvementsFormatting rules:
-) for bullet points- **Short description**: Detailed explanation.Present the draft to the user for review and iterate until approved.
Checkout a new branch from main:
git checkout -b bump-to-release-X.Y.Z
Write the new version number to pyatlan/version.txt (single line, no trailing newline beyond what was there).
Prepend the new release notes to the top of HISTORY.md, followed by a blank line before the previous release.
git add pyatlan/version.txt HISTORY.md
git commit -m "[release] Bumped to release X.Y.Z"
The commit message must follow the exact pattern: [release] Bumped to release X.Y.Z
Do NOT create a git tag.
Ask the user before pushing. When confirmed:
git push -u origin bump-to-release-X.Y.Z
pyatlan/version.txt is the single source of truth — pyproject.toml reads it dynamicallyrelease.yml auto-categorizes PRs by label into GitHub release notes, but HISTORY.md is the canonical changelog maintained manually