| name | sdk-release-checklist |
| description | Checklist for adding a new SDK or releasing a new SDK version. Covers code, tests, website integration (docs page, version badge, changelog sidebar, i18n keys), and CI wiring. Use when creating a new runtime SDK, bumping an SDK version, or auditing that all integration points are connected. |
SDK Release Checklist
Mandatory steps when adding a new SDK or releasing a new version of an
existing SDK. Prevents drift between code, website, changelogs, and CI.
When to Use
- Creating a new runtime SDK (e.g., Go, Java, Ruby)
- Releasing a new version of any existing SDK (.NET, Python, Node.js)
- Auditing that an SDK is fully wired into the website and build system
- After a version bump to verify all integration points are updated
New SDK: Full Checklist
When adding a brand-new SDK to the project, complete every item:
1. Code & Tests
2. Version Source File
Every SDK must have a canonical version source read at build time:
| Runtime | File | Field / Tag |
|---|
| .NET | src/sdks/dotnet/Envilder.csproj | <Version>X.Y.Z</Version> |
| Python | src/sdks/python/pyproject.toml | version = "X.Y.Z" |
| Node.js | src/sdks/nodejs/package.json | "version": "X.Y.Z" |
| Go | Git tag / go.mod convention | vX.Y.Z tag |
| Java | pom.xml or build.gradle | <version> / version = |
3. Website: Version Badge Wiring
The website reads SDK versions at build time via astro.config.mjs:
4. Website: Documentation Page Section
5. Website: Changelog Integration
6. Website: SDK Cards Component
7. Copilot Instructions & Build Config
8. Documentation Cross-References
Existing SDK: Version Bump Checklist
When releasing a new version of an already-wired SDK:
Validation
After completing the checklist:
cd src/website && pnpm build
node -e "const h=require('fs').readFileSync('dist/docs/index.html','utf-8'); \
console.log(h.match(/NuGet v[\d.]+/)?.[0]); \
console.log(h.match(/PyPI v[\d.]+/)?.[0]); \
console.log(h.match(/npm v[\d.]+/)?.[0])"
node -e "const h=require('fs').readFileSync('dist/changelog/index.html','utf-8'); \
console.log('dotnet:', h.includes('sdk-dotnet')); \
console.log('python:', h.includes('sdk-python')); \
console.log('nodejs:', h.includes('sdk-nodejs'))"
Common Pitfalls
| Pitfall | Prevention |
|---|
| Hardcoded version in badge | Always use __SDK_*_VERSION__ globals |
| Missing changelog sidebar entry | Check all 3 locale pages, not just en |
Wrong parsed[N] index after adding SDK | Count products array entries carefully |
| Forgot i18n key in one locale | Add to types.ts first: TypeScript errors catch missing keys |
| Version not updating after bump | Restart dev server (Vite caches define values) |