Release Notes - v0.4.0¶
Release Date: 2026-01-29
Overview¶
This release introduces a major overhaul of the goals system, replacing legacy fields with a proper OKR (Objectives and Key Results) structure. It also adds comprehensive tag-based filtering, roadmap swimlane tables, and new PRD sections for decision tracking and security documentation.
Highlights¶
- OKR Structure: Replace BusinessObjectives, ProductGoals, and SuccessMetrics with industry-standard OKR format
- Tag-Based Filtering: New CLI
filtercommand with OR/AND logic for filtering documents by tags - Roadmap Swimlane Tables: Visual roadmap tables with phase columns and deliverable type rows
- Extended PRD Sections: OpenItems for decision tracking, SecurityModel for threat modeling
Breaking Changes¶
The following fields have been replaced with the new OKR structure:
| Removed Field | Replaced With |
|---|---|
BusinessObjectives | Objectives.OKRs[].Objective |
ProductGoals | Objectives.OKRs[].Objective |
SuccessMetrics | Objectives.OKRs[].KeyResults |
Migration Guide¶
Before (v0.3.x):
{
"objectives": {
"business_objectives": ["Increase revenue"],
"product_goals": ["Launch MVP"],
"success_metrics": ["10K users"]
}
}
After (v0.4.0):
{
"objectives": {
"okrs": [
{
"objective": {
"id": "obj-1",
"description": "Become market leader",
"category": "business"
},
"key_results": [
{
"id": "kr-1",
"description": "Increase market share",
"metric": "Market share",
"target": "20%"
}
]
}
]
}
}
New Features¶
OKR Structure¶
The new OKR structure follows industry-standard methodology:
- Objectives: Qualitative, inspirational goals with owner and timeframe
- Key Results: Quantitative, measurable outcomes with baseline, target, and confidence
- Phase Targets: Link Key Results to roadmap phases for progress tracking
CLI Filter Command¶
Filter PRD documents by tags:
# OR-logic: include items with any of the tags
srequirements prd filter input.json --include mvp --include phase-1
# AND-logic: include items with all tags
srequirements prd filter input.json --include mvp --include auth --all
# Output to file
srequirements prd filter input.json -i mvp -o filtered.json
Tag Validation¶
Tags are validated to kebab-case format: - Lowercase alphanumeric with hyphens - No leading/trailing hyphens - No consecutive hyphens - Leading digits allowed (e.g., 2024-q1)
Roadmap Swimlane Tables¶
Generate visual roadmap tables:
opts := prd.DefaultRoadmapTableOptions()
table := doc.Roadmap.ToSwimlaneTable(opts)
// With OKR swimlanes
tableWithOKRs := doc.ToSwimlaneTableWithOKRs(opts)
Output example:
| Swimlane | **Phase 1**<br>MVP | **Phase 2**<br>Beta |
|----------------|---------------------|---------------------|
| **Features** | • Auth<br>• Search | • Dashboard |
| **Objectives** | • O1: Market leader | |
| **Key Results**| • KR1.1: Share→15% | • KR1.1: Share→20% |
New PRD Sections¶
- OpenItems: Track pending decisions with options and tradeoffs
- SecurityModel: Document security architecture and threat model
- CurrentState: Document existing state before changes
- Appendices: Generic appendix system with helper functions
Installation¶
Full Changelog¶
See CHANGELOG.md for complete details.