Loading...
Loading...
Ship a new dtctl release — bump version, write changelog entries, run tests, commit, tag, push, and write GitHub release notes. Use this skill whenever the user says "release", "ship it", "cut a release", "new version", "bump version", "publish", or asks about the dtctl release process. Also use when the user wants to update CHANGELOG.md for a release or write GitHub release notes.
npx skill4agent add dynatrace-oss/dtctl dtctl-releasemaingit statusgit branch --show-current # Must be "main"
git status # Must be clean
git pull origin main # Must be up to date with remote# Find the latest release tag
git tag --sort=-version:refname | head -5
# List all commits since that tag
git log <last-tag>..HEAD --oneline
# Check the current Unreleased section in CHANGELOG.md| Change type | Bump | Example |
|---|---|---|
| New features, new commands | MINOR | 0.23.0 -> 0.24.0 |
| Bug fixes only, no new features | PATCH | 0.24.0 -> 0.24.1 |
| Breaking changes (pre-1.0) | MINOR | 0.24.0 -> 0.25.0 |
pkg/version/version.goVersionvar Version = "X.Y.Z" // update this-ldflags[Unreleased]## [Unreleased]
## [X.Y.Z] - YYYY-MM-DD
### Added
- **Feature name** — description with enough detail that users understand what it does and how to use it; include CLI examples where relevant
### Fixed
- **Bug summary** — what was broken and how it's fixed now
### Changed
- **Change summary** — what changed and why
### Security
- **Security fix** — what was vulnerable and what was upgraded
### Documentation
- **Doc name** — what was added or updated[X.Y.Z]: https://github.com/dynatrace-oss/dtctl/compare/vPREVIOUS...vX.Y.Z**double asterisks**—# Run all tests
go test ./...
# Build the binary
make build
# Verify the build works
./bin/dtctl versiongit add CHANGELOG.md pkg/version/version.go
git commit -m "release vX.Y.Z: short summary of key features"release vX.Y.Z: feature1, feature2, feature3git push origin main
git tag vX.Y.Z
git push origin vX.Y.Z.github/workflows/release.ymldynatrace-oss/homebrew-taphomebrew_casks.goreleaser.yamlskip_upload: autogh release edit vX.Y.Z --notes "$(cat <<'EOF'
... release notes here ...
EOF
)"gh release view vPREVIOUS## What's New
### Feature Name
Paragraph explaining the feature with context on why it's useful.
\`\`\`bash
# Concrete usage example
dtctl some-command --some-flag
\`\`\`
Additional detail about configuration, behavior, or edge cases. Keep it practical — show users exactly how to use the feature.
### Another Feature
...repeat for each major feature...
## Bug Fixes
- **Short fix title** — one-line explanation of what was broken and what's fixed.
- **Another fix** — description.
## Documentation
- **Doc title** — what was added, with a link if applicable.
## Install / Upgrade
\`\`\`bash
# Homebrew
brew update && brew upgrade dtctl
# Direct install
curl -fsSL https://raw.githubusercontent.com/dynatrace-oss/dtctl/main/install.sh | bash
# Go install
go install github.com/dynatrace-oss/dtctl@vX.Y.Z
\`\`\`
**Full Changelog**: https://github.com/dynatrace-oss/dtctl/compare/vPREVIOUS...vX.Y.Z### Heading## Bug Fixes## Install / Upgrade**Full Changelog**## Securitygh release view v0.23.0gh release view v0.22.0mainpkg/version/version.goCHANGELOG.mdgo test ./...make buildmainorigin/mainvX.Y.Zgh release edit