Skip to content

Release v13.6.0

Choose a tag to compare

@saropa saropa released this 09 May 22:11
· 1247 commits to main since this release

This release improves how you steer large findings lists and repeat searches across sessions (multi-key sort, bulk JSON copy, and workspace-persisted recents). It tightens RTL behavior for stack toggles, adds cross-file CLI defaults you can commit in analysis_options.yaml, gives IDE troubleshooting clearer native-plugin-first guidance, and ships a verify-nls-keys check for Marketplace manifest parity. Score and dashboard consistency improvements from earlier work remain in place. log

Changed (Extension)

  • Findings Dashboard consistency and run UX — score/toast regression nudges now use the same visible-findings basis as the dashboard (ending stale-history vs dashboard-empty mismatches), and the dashboard now shows an in-panel progress bar with duplicate-click guard plus an automatic full refresh after analysis completes; no action required.
  • Findings triage ergonomics — you can Shift+click a second column header as a tie-breaker (labeled ① / ②), checkbox-select multiple findings, and copy the selection as JSON; large tables defer off-screen row work via content-visibility so scrolling stays smoother; recent text-filter queries now persist per workspace across reloads alongside the Known Issues catalog and Command Catalog search popovers; no action unless you routinely clear Workspace State intentionally.
  • Lints Config pack toggles RTL — the enable switch knob now tracks right-to-left layouts using logical positioning so the knob lands on the expected side; reload the dashboard if you switched UI direction mid-session; no YAML change needed.
  • Manifest localization guard — npm run verify-nls-keys (under extension/) asserts every %…% placeholder from extension/package.json resolves in extension/package.nls.json, catching missing English strings before Marketplace packaging; contributors should run it after editing contributed labels or command titles.
  • More shipped UI locales filled — package.nls.* and src/i18n/locales/* now include machine-translated copy for bn, fa, fil, he, id, pl, sw, th, tr, uk, and vi (plus corrections for de, nl, and ru dependency-count wording); regenerate with SAROPA_I18N_MACHINE_TRANSLATE=1 if you fork strings. Hebrew uses Google target code iw in the generator.
  • Package Vibrancy freshness vs tree — new-version toasts patch the last scan so the tree and dashboard match the toast, rewrite the workspace startup fingerprint with that snapshot so VS Code reloads before the next full scan still show those versions, and reuse the last dependency graph for lightweight republish; no action required beyond normal Package Vibrancy use.

Changed

  • Cross-file CLI project defaults — dart run saropa_lints:cross_file … merges optional saropa_lints_cross_file settings from analysis_options.yaml (shared excludes and heuristic/analysis toggles), with explicit CLI flags still applied on top; add that map once per repo if you reuse the same exclusions between engineers and CI; no Dart source change beyond refreshing config when adopting it.
  • Additional quick fixes — avoid_redundant_semantics, require_baseline_text_baseline, and avoid_unconstrained_dialog_column now offer IDE fixes (remove redundant Semantics around an Image that already has semanticLabel, insert textBaseline when using baseline cross-axis alignment, and add mainAxisSize: MainAxisSize.min for Column inside dialogs); apply only where the suggestion matches intent; no config change.
Maintenance
  • Contributor planning docs — assorted plans/*.md checklists (quick-fix, testing/release, stub tests, localization guide, severity follow-ups, cross-file CLI, UX backlog, rule-pack migration, comment coverage) were refreshed for clearer sequencing and sign-off trails; docs only, no shipped rule or extension behavior beyond what is listed under ### Changed (Extension) above.
  • Maintainer tooling — the quick-fix audit script prints a stdout summary before writing the dated report file, and the bundled quality-gate example YAML documents recommended new_* metrics with legacy-alias notes; no action unless you vendor that sample into your own CI gate.
  • Comment coverage CLI — the worst-files table uses an L/C column (physical lines per comment line, higher means sparser) instead of a percentage so maintainers spot thin files faster when running the comment-coverage script locally.