v0.4.0 Release Notes¶
Release Date: 2026-07-26
VisionStudio v0.4.0 adds a plugin architecture to the Electron desktop app — an ExtensionManifest-based system (views, sidebar sections, commands, settings, and API routes as declarative contributions) with a registry distinguishing built-in from marketplace extensions — and migrates the desktop app's own views onto it, plus browsable DevX period reports and a new API Style Spec extension.
Highlights¶
- Extension system —
ExtensionManifest/ExtensionContributionstypes, anExtensionRegistry(builtin vs. marketplace, installed-state tracked inlocalStorage), activation events (onProject,onProject:<key>=<value>), and anExtensionManagerViewfor browsing/installing - Existing views become extensions — VisionSpec, AIDLC, V2MOM, Analytics, and the unified dashboard are now registered as built-in extensions through the same system a marketplace extension would use, not special-cased
- Shared UI toolkit — eleven reusable components (
DimensionBar,EmptyState,ErrorState,IssueCard,LoadingState,QualityBadge,ScoreBadge,SeverityBadge,StatusBadge,SummaryCard,ViewHeader) backing anAppContext-based refactor of the existing views - API Style Spec — a new daemon endpoint plus a full marketplace extension (dashboard, editor, findings, lint results, rules views) for linting API specifications
- DevX period reports — browse historical weekly/monthly/quarterly dashboards instead of only the latest snapshot, with two new chart types (pie, stacked bar) to render them
- structured-evaluation v0.11.0 (was v0.10.0)
Features¶
Extension System¶
// desktop/renderer/src/types/extension.ts
interface ExtensionManifest {
id: string
name: string
version: string
scope: 'project' | 'global' | 'both'
activationEvents?: string[]
contributes: {
views?: ViewContribution[]
sidebarSections?: SidebarSectionContribution[]
commands?: CommandContribution[]
settings?: SettingContribution[]
apiRoutes?: string[]
}
}
Built-in extensions (visionspec, aidlc, v2mom, analytics, unified-dashboard) register through registerBuiltinExtensions(); a marketplace/extensions.json directory holds distributable ones, starting with API Style Spec.
DevX Period Reports¶
# Existing dashboard file (v0.3.0) only showed the latest snapshot; period
# reports are generated the same way, one per period:
devfolio devx dashboard --person person:jane --period weekly -o <path>
New daemon endpoints serve the period list and individual reports; the desktop frontend gained a period selector dropdown and PieChart/BarChart renderers (ChartWidget now dispatches by mark geometry instead of assuming a line chart).
API Endpoints¶
Daemon (2 new endpoints)¶
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/devx/periods |
List available weekly/monthly/quarterly period reports |
| GET | /api/devx/reports/{periodType}/{label} |
Serve a specific period report |
| — | API Style Spec endpoint | Lint/validate API style specifications (cmd/daemon/apistylespec.go) |
periodType and label are validated against path traversal before being used to build a filesystem path (see Tests).
Tests¶
validPeriodTypeandvalidPeriodLabelpath-traversal-prevention tests for the new DevX period endpoints
Dependencies¶
github.com/plexusone/structured-evaluationupgraded to v0.11.0 (was v0.10.0)
Documentation¶
- Architecture overview updated to reflect the extension system
- Roadmap updated with extension-system milestones
Breaking Changes¶
None. This release is backwards compatible with v0.3.0.
What's Next¶
At the time of this release, the roadmap pointed toward deepening the desktop app's extension marketplace. What actually shipped next was a much larger pivot: a Go CLI + web dashboard (visionstudio) covering roadmap execution (Programs → Initiatives → Phases → RMIs) backed by Dolt, with the Electron desktop app and cmd/daemon continuing on as a legacy, non-actively-developed surface. See v0.5.0.