Release Notes - v0.12.0¶
Overview¶
This release introduces multi-project changelog aggregation with new schangelog portfolio commands for tracking releases across hundreds of repositories. Generate GitHub-style activity heatmaps and velocity dashboards from aggregated changelog data.
Highlights¶
- Multi-project changelog aggregation with
schangelog portfoliocommands - GitHub-style activity heatmap and velocity dashboard generation
- Local-first resolution with optional remote fetching via HITL approval
New Features¶
Portfolio Command Group¶
New subcommands under schangelog portfolio for multi-project operations:
| Command | Description |
|---|---|
portfolio discover |
Scan GitHub orgs/users for repositories with CHANGELOG.json |
portfolio aggregate |
Combine changelogs from multiple projects into a unified portfolio |
portfolio metrics |
Generate time-series metrics and dashboard data |
Manifest Schema¶
Define projects to aggregate using a manifest file (similar to go.mod but for changelogs):
{
"name": "My Portfolio",
"sources": [
{"type": "org", "name": "my-org"},
{"type": "user", "name": "my-username"}
],
"projects": [
{"path": "github.com/my-org/project-a"},
{"path": "github.com/my-org/project-b/sdk/go"}
]
}
Local-First Resolution¶
The aggregator searches for changelogs locally before fetching from GitHub:
- Check
LocalPathoverride in manifest - Search
~/go/src/{path} - Search
$GOPATH/src/{path} - Mark as pending for remote fetch (requires approval)
Remote Fetching with HITL Approval¶
Two-step flow for fetching changelogs from GitHub:
# Step 1: List projects that need remote fetch
schangelog portfolio aggregate manifest.json --pending
# Step 2: Approve and fetch
schangelog portfolio aggregate manifest.json --approve -o portfolio.json
Category Roll-up Rules¶
Maps 20 changelog categories to 6 aggregate groups:
| Rollup | Categories |
|---|---|
| Features | Added, Highlights |
| Fixes | Fixed, Security |
| Improvements | Changed, Performance, Deprecated, Removed |
| Breaking | Breaking, UpgradeGuide |
| Maintenance | Dependencies, Build, Tests, Documentation, Infrastructure, Internal, Observability, Compliance |
| Community | Contributors, KnownIssues |
Time-Series Metrics¶
Generate metrics with configurable granularity:
# Day granularity for heatmaps
schangelog portfolio metrics portfolio.json --granularity day -o metrics.json
# Month granularity for trend charts
schangelog portfolio metrics portfolio.json --granularity month
Dashboard Export¶
Generate dashforge-compatible dashboard data:
# Dashboard-ready JSON
schangelog portfolio metrics portfolio.json --dashboard -o dashboard-data.json
# Complete dashboard definition with velocity template
schangelog portfolio metrics portfolio.json --dashboard --template velocity -o dashboard.json
Aggregate Package¶
New aggregate package with types and functions for multi-project operations:
| Type | Description |
|---|---|
Manifest |
Project list definition with sources and projects |
ProjectRef |
Reference to a project (path, local override, discovered flag) |
Resolver |
Local-first path resolution for finding changelogs |
Portfolio |
Aggregated changelog data from multiple projects |
MetricsReport |
Time-series metrics with roll-ups and daily activity |
DashboardExport |
Dashboard-ready data for visualization |
RollupRules |
Category grouping definitions |
Dependencies¶
- Added
github.com/google/go-github/v84for GitHub API access - Updated
github.com/grokify/gogithubto v0.10.0