Skip to content

Changelog

import { LinkCard } from ‘@astrojs/starlight/components’;

  • flaglint audit --cost-estimate — directional migration-effort estimate in audit output. Produces a low/high hour range from automatable and manual-review call counts. Assumptions and disclaimer included in all report formats.
  • flaglint audit --hourly-rate <rate> — engineering cost projection added to the estimate (costLow / costHigh). Requires --cost-estimate.
  • Migration readiness scoreflaglint audit now prints a 0–100 score and progress bar showing the fraction of safely automatable calls, with grade (ready, moderate, complex, or not-applicable).
  • Migration Readiness concept page — explains the ratio formula, grade thresholds, and the 5 manual-review categories.
  • Cost Estimation CLI reference — documents the algorithm, default assumptions, minimum-hours floor, and hourly-rate behavior.

  • flaglint audit [dir] — new command that generates a local flag debt audit report. Classifies detected LaunchDarkly Node.js SDK usage by migration risk based on call type, static analyzability, and migration complexity. Supports --format json, --format markdown, and --format html. No LaunchDarkly API key or credentials required.
  • openFeatureClientBindings in ScanConfig — binding configuration is now included in ScanConfig for local migration planning and integration code paths.
  • isFeatureEnabled, React hook (useFlags, useLDClient), and wrapper function call sites are now included in migrationInventory after scanning. Previously these appeared in scan reports but were invisible to migrate --dry-run and migrate --apply.
  • provider field removed from ScanConfig. The field was accepted but never read by the scanner. It remains in FlagLintConfig for forward compatibility (v0.7).
  • README config table updated: staleThreshold corrected to minFileCount.
  • README migration table: withLDConsumer()(Component) row updated — withOpenFeature() does not exist in the OpenFeature SDK.

  • Aliased named imports from the LaunchDarkly SDK (e.g. import { init as ldInit }) are now correctly detected by the scanner.

  • Narrowed scope to LaunchDarkly Node.js server SDK → OpenFeature migration. React/browser SDKs explicitly documented as outside current coverage.
  • migrate --apply guarded rewrite contract hardened: dirty git tree check, proven OpenFeature binding requirement, idempotency via range-content guard.

  • SARIF output via validate --format sarif for GitHub Code Scanning integration.
  • Scan metadata (duration, file count) in all report formats.

  • StalenessEvaluator injectable interface — enables external evaluators without touching scanner logic.

  • staleThreshold renamed to minFileCount (breaking change).

View the full CHANGELOG.md on GitHub →