Skip to content

devfolio v0.4.0 Release Notes

Release Date: 2026-08-17

Overview

DevFolio's fourth release adds calendar-aligned period reports to devx dashboard — weekly, monthly, and quarterly reports with per-model token and cost breakdowns — completing the DevX Reports initiative (INIT-DEVXREPORTS-001). It also fixes a data-accuracy bug in the weekly/monthly stacked-bar charts, switches weekly labels from ISO week numbers to readable dates, resolves the last of the pre-existing error-handling lint findings, and bumps uiforge to v0.5.0.

This is a non-breaking, additive release.

Highlights

devfolio devx dashboard --period

# Calendar-month report, written to
# ~/.plexusone/omnidevx/reports/monthly/2026-08.json
devfolio devx dashboard --person person:jane --period monthly

# A specific past month
devfolio devx dashboard --person person:jane --period monthly --for 2026-07-15

# Current calendar quarter (embeds monthly and weekly model breakdowns)
devfolio devx dashboard --person person:jane --period quarterly

--period weekly|monthly|quarterly builds a report for the calendar period containing --for (default: today) instead of a rolling --days window. Weeks are always Monday-Sunday; monthly reports add a weekly per-model breakdown, quarterly reports add both weekly and monthly breakdowns, each rendered as donut and stacked-bar chart widgets.

Unless -o/--output is given, period reports are written to ~/.plexusone/omnidevx/reports/{weekly,monthly,quarterly}/{label}.json — the exact path VisionStudio's daemon reads from via GET /api/devx/periods and GET /api/devx/reports/{periodType}/{label}, rendered in its period selector UI (bar and donut chart renderers).

See DevX Commands.

Human-readable weekly labels

Weekly stacked-bar rows in monthly/quarterly reports previously showed ISO week numbers ("W28") — a reader has to look up what that means. They now show the week's Monday date ("Mon Jul 6, 2026"). Fixing the label surfaced a real bug in the underlying weekly buckets: they were chunked in 7-day increments from the month/quarter start regardless of weekday, not aligned to real calendar weeks — now fixed to genuine Mon-Sun buckets.

Stacked-bar chart data-accuracy fix

output/devxdashboard.buildStackedBarData ignored its metrics argument, so the weekly/monthly cost and tokens stacked-bar charts in period reports were silently showing identical numbers for both. ModelPeriodPoint.Models now carries a metric map per model (map[string]map[string]float64) so each chart pulls its own numbers.

Error handling

Resolved the last 4 pre-existing "error discard without comment" findings (cmd/devfolio/contributor_profile.go, cmd/devfolio/devx_dashboard.go, cmd/devfolio/quarterly_report.go, datasource/prism/prism.go) via proper return/panic handling instead of silent discard, per the org's error-handling protocol.

Installation

go install github.com/plexusone/devfolio/cmd/devfolio@v0.4.0

Dependencies

  • Bump github.com/plexusone/uiforge from v0.4.0 to v0.5.0 (static viewer light/dark theme toggle and 2-decimal numeric formatting)
  • Bump github.com/grokify/mogo from v0.74.6 to v0.74.7
  • Routine go mod dependency updates

Migration

No breaking changes. --period/--for are purely additive flags on devfolio devx dashboard; existing --days-based invocations are unaffected.

Known Issues

govulncheck reports 4 stdlib CVEs (net/url, crypto/tls, encoding/asn1, net/http) fixed in go1.26.6; this repo stays on go1.26.5 to match CI, which pins GOTOOLCHAIN=local in the shared plexusone/.github reusable workflow and doesn't auto-upgrade to a newer patch. Same known gap as uiforge v0.5.0.

What's Next

Per the OmniDevX ecosystem plan, next up is the DoltDB analytics store (spec in docs/specs/doltdb/) and continuing to rebase team velocity onto rollups of individual period reports per Phase 9.

See CHANGELOG.md for the categorized commit list.