Release Note Template
How to Use
- Create a new file in
/core/testing-and-qa/releases/notes/. - Name it as
YYYY-MM-DD-prod-<short-slug>.md. - Fill all required sections in order.
- Keep each impacted area to short sanity checks (3 to 5 steps).
- Execute checks in severity order:
Critical, thenHigh, thenMedium.
Copy-Ready Template
# Production Release Note - <YYYY-MM-DD> - <short-slug>
## Release Metadata
- Release Date: <YYYY-MM-DD>
- Release Window: <HH:MM-HH:MM TZ>
- Environment: Production
- Engineering Owner: <name>
- QA Owner: <name>
- Status: Draft | In QA | Passed | Blocked
## Release Summary
- <What changed, user-facing>
- <What changed, user-facing>
- <Why QA should care in one line>
## Risk Snapshot
- Critical: <count>
- High: <count>
- Medium: <count>
- Areas touched: <auth, content, admin, etc>
## Change-Specific Manual Sanity Checks
### [Critical] <Feature or Area>
- Preconditions: <if needed>
- Steps:
1. <step>
2. <step>
3. <step>
- Expected Result: <what must happen>
- Evidence: <screenshot/log/link>
- Result: Pass | Fail | Blocked
### [High] <Feature or Area>
- Preconditions: <if needed>
- Steps:
1. <step>
2. <step>
3. <step>
- Expected Result: <what must happen>
- Evidence: <screenshot/log/link>
- Result: Pass | Fail | Blocked
### [Medium] <Feature or Area>
- Preconditions: <if needed>
- Steps:
1. <step>
2. <step>
3. <step>
- Expected Result: <what must happen>
- Evidence: <screenshot/log/link>
- Result: Pass | Fail | Blocked
## Unaffected Critical Flows to Re-Validate
### [Critical] <Flow Name>
- Why re-check: <reason>
- Quick steps:
1. <step>
2. <step>
3. <step>
- Expected Result: <what must still work>
- Result: Pass | Fail | Blocked
## Known Risks and Deferrals
- Risk: <risk>
- Impact: <impact>
- Temporary mitigation: <mitigation>
- Follow-up owner: <owner>
## QA Signoff
- QA Decision: Pass | Pass with risk | Blocked
- Blockers: <none or list>
- Recommendation: <go/no-go>
## Engineering Signoff
- Release Ready Confirmation: <yes/no>
- Rollback Notes: <if needed>
- Final Approval: <name + timestamp>
Short Filled Example
Release Metadata
- Release Date: 2026-05-20
- Release Window: 15:00-15:45 UTC
- Environment: Production
- Engineering Owner: Aakash Jha
- QA Owner: QA Team
- Status: In QA
Release Summary
- Improved authentication session refresh behavior after sign-in.
- Fixed missing user profile state after first dashboard load.
- QA focus is login stability and post-login core navigation.
Risk Snapshot
- Critical: 1
- High: 1
- Medium: 1
- Areas touched: auth, navigation
Change-Specific Manual Sanity Checks
[Critical] Login Session Persistence
- Preconditions: Valid QA account credentials.
- Steps:
- Open login page.
- Sign in with valid credentials.
- Refresh browser once on dashboard.
- Expected Result: Session remains active and dashboard is accessible.
- Evidence: Dashboard screenshot after refresh.
- Result: Pass
[High] Account Menu Identity
- Preconditions: Logged in state from prior check.
- Steps:
- Open account menu.
- Verify displayed name and email.
- Navigate to one protected route and return.
- Expected Result: Identity details remain correct and navigation is stable.
- Evidence: Screenshot of account menu.
- Result: Pass
Unaffected Critical Flows to Re-Validate
[Critical] Content Search and Detail Open
- Why re-check: Auth and route guards changed in this release.
- Quick steps:
- Open content search.
- Search for a known asset.
- Open detail page.
- Expected Result: Search and detail open flow continues to work.
- Result: Pass
Known Risks and Deferrals
- Risk: Intermittent delay on first profile hydration.
- Impact: Low, first load can be slower for some users.
- Temporary mitigation: Retry once before marking as failure.
- Follow-up owner: Engineering Owner
QA Signoff
- QA Decision: Pass
- Blockers: None
- Recommendation: Go
Engineering Signoff
- Release Ready Confirmation: Yes
- Rollback Notes: Revert auth session patch if critical failures appear.
- Final Approval: Engineering Owner, 2026-05-20 16:10 UTC