tsc/process/release-checklist.md
2026-01-05 10:54:37 -06:00

101 lines
No EOL
2.8 KiB
Markdown

# Checklist for a Release
Comprehensive checklist for a release, from scoping, preparation, coding, day-of-release, and promotion.
## Pre-Release Planning Phase
### **Release Scope & Timing**
- [ ] Define release version number and target date
- [ ] Identify features, bug fixes, and security updates included
- [ ] Document breaking changes and deprecations
- [ ] Assess regulatory compliance requirements (CRA, export controls, etc.)
### **Technical Preparation**
- [ ] Code freeze date established
- [ ] All planned features merged and tested
- [ ] Dependency updates reviewed and tested
- [ ] Security vulnerability scan completed
- [ ] License compliance verified
## **Development & Testing Phase**
**Code Quality**
- [ ] All tests passing (unit, integration, end-to-end)
- [ ] Code review completed for all changes
- [ ] Static analysis and linting passed
- [ ] Performance benchmarks met
**Security & Compliance**
- [ ] SBOM (Software Bill of Materials) generated
- [ ] Vulnerability scanning completed (dependencies and code)
- [ ] Security assessment conducted for new features
- [ ] Export control classification reviewed if applicable
## **Release Artifact Preparation**
**Build & Package**
- [ ] Release builds created for all target platforms
- [ ] Checksums/signatures generated for artifacts
- [ ] Artifacts uploaded to distribution channels
- [ ] Container images built and tagged (if applicable)
**Documentation**
- [ ] Release notes drafted and reviewed
- [ ] Changelog updated with all changes
- [ ] Upgrade/migration guide created (if needed)
- [ ] API documentation updated
- [ ] Security advisories prepared (if applicable)
## **Pre-Release Verification**
**Testing & Validation**
- [ ] Release candidate deployed to staging environment
- [ ] Smoke tests passed
- [ ] Upgrade path tested from previous versions
- [ ] Rollback procedure verified
**Communications Preparation**
- [ ] Blog post/announcement drafted
- [ ] Social media posts prepared
- [ ] Email notifications to users/stakeholders drafted
- [ ] Community communications planned
## **Release Execution**
**Distribution**
- [ ] Artifacts published to all distribution channels
- [ ] Version tags created in repository
- [ ] Release branch created/updated
- [ ] Documentation site updated
**Announcements**
- [ ] GitHub release published with notes
- [ ] Blog post published
- [ ] Social media announcements posted
- [ ] Email notifications sent
- [ ] Community forums/channels notified
## **Post-Release**
**Monitoring**
- [ ] Monitor for issues in first 24-48 hours
- [ ] Track adoption metrics
- [ ] Review feedback channels
- [ ] Emergency rollback plan ready
**Follow-up**
- [ ] Retrospective meeting scheduled
- [ ] Update release checklist based on learnings
- [ ] Archive release documentation
- [ ] Plan next release cycle