frameguard 0.6.0
frameguard: ^0.6.0 copied to clipboard
FrameGuard — performance regressions, testable. Capture Flutter frame timings, classify jank, enforce budgets, compare baselines, and fail CI on measurable UI regressions. Local by default. No telemetry.
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.6.0 - 2026-08-13 #
Added #
- Local history store (
FrameGuardHistory/ JSONL) with CLIhistory append|show|list|drift|clear BudgetSuggestion+ CLIsuggest-budget(draft budgets from measured reports)check --require-profileandcheck --record-history- Reusable GitHub Action composite:
.github/actions/frameguard-check - Explanation JSON round-trip (
ScenarioExplanation.fromJson+ report decode) tool/sync_version.dart --checkfor CI version drift detection- Site polish:
robots.txt,sitemap.xml,404.html CITATION.cff,NOTICE,.editorconfig,.gitattributesinitscaffoldshistory/
Fixed #
- Healthy reports no longer mislabeled as “Excessive build work”
hasJankRateBelowtreats the limit as inclusive (<=).gitignoreno longer excludes GitHub Pages HTML underdocs/- pub.dev topics trimmed to the 5-topic limit
Changed #
- Package version
0.5.0→0.6.0 - CLI
migratere-encodes report metadata to the current package version
0.5.0 - 2026-08-13 #
Added #
- Expansive CLI rewrite (
lib/src/cli/) with command catalog:help,list/ls,explain,frames,regions,tasks,stats,top,histogram,validate,drift,profiles,artifacts,batch,watch,completions,diff(compare alias), richerbaseline/config/check/mergeoptions StatisticalSummary.toJson
Changed #
- Package version
0.4.0→0.5.0 bin/frameguard.dartis a thin entrypoint overrunFrameGuardCli
0.4.0 - 2026-08-13 #
Added #
- GitHub Pages product site under
docs/(guide, CLI, diagnostics, brand) - Pages deploy workflow (
.github/workflows/pages.yml) - Funding: GitHub Sponsors + thanks.dev (
u/gh/theworker02) - Brand tokens (
branding/tokens.css), favicon, expanded brand kit FrameGuardReport.writeMarkdown/writeArtifacts- CLI
init+FrameGuardInitscaffolding helper
Changed #
- Repository / docs URLs point at
theworker02/frameguardand Pages - Package version
0.3.0→0.4.0
0.3.0 - 2026-08-13 #
Added #
FrameGuard.runSessionconvenience API (start → body → stop)- Markdown / PR-comment exporter (
ReportExportFormat.markdown, CLIsummary) FrameGuardDoctor+ CLIdoctorfor local setup checks- Built-in
BudgetProfile.animation60andBudgetProfile.byName - Branded HTML report theme (ink / signal / pass tokens)
- API cookbook (
doc/api.md) - Committed CLI fixtures under
test/fixtures/+ CLI smoke tests tool/sync_version.dartto keep package version single-sourced- CI steps for version sync, doctor, and fixture-based CLI checks
Fixed #
FrameGuardGoldenCLI hints now point atbaseline update <report.json>
Changed #
- Package version
0.2.0→0.3.0 - Example app writes session JSON under
reports/for CLI workflows
0.2.0 - 2026-08-12 #
Added #
- Branding kit (
branding/SVG+PNG,BRAND.md), pub.dev screenshots - Expanded README with badges, feature map, and brand assets
- Community packaging: CoC, Security, Support, AUTHORS, issue/PR templates, Dependabot, FUNDING/CODEOWNERS stubs
doc/guides (CI, scenarios, publishing) — pub layout convention- Optional
frameguard.yamlloader (FrameGuardConfigLoader) — Dart config remains primary FrameScenarioRunnerfor single- and multi-run scenario orchestrationStatisticalSummary/StatisticalRegression(median, MAD, trimmed mean, CI, outlier flags)- Report exporters: CSV, JUnit XML, SARIF (scenario-level, no fake line attribution)
- Platform adapter registry (
Android/iOS/Web/ default) with honest Unavailable native metrics - Memory pressure probe hooks (
MemoryProbe,MemoryPressureTracker) — no fabricated GC pauses FrameGuardBudgetWatcherfor local runtime budget violationsStabilizationhelper (consecutive healthy frames via public scheduler APIs)- CLI
exportcommand (--format csv|junit|sarif|html|json|text)
Changed #
- Package version
0.1.0→0.2.0
