flutter_quality_analyzer 2.1.1
flutter_quality_analyzer: ^2.1.1 copied to clipboard
A CLI tool that analyzes Flutter project dependencies — version checks, license detection, test coverage, and AI-powered summary using Gemini.
2.1.1 - 2026-03-31 #
Fixed #
- Groq AI summary was failing with
error 400: switched from deprecatedllama3-70b-8192(8k context) tollama-3.3-70b-versatile(131k context) - AI prompt now trims large package lists: outdated + failed packages are always included; up-to-date packages capped at 15 to keep token usage lean across all providers
- Groq error responses now surface the actual error message from the API body instead of just the HTTP status code, making failures easier to diagnose
2.1.0 - 2026-03-31 #
Added #
- Groq AI provider support (
--ai-provider groq --groq-key YOUR_KEY) as a free alternative to Gemini — usesllama-3.3-70b-versatilevia the OpenAI-compatible API --ai-providerCLI flag (gemini|groq, default:gemini) with validation- Automatic Gemini → Groq fallback: if Gemini returns a rate-limit error and a
--groq-keyis also supplied, the summary is retried with Groq transparently AiProviderabstract interface for provider-agnostic AI callsAiProviderFactory— factory that instantiates the correct provider by nameGeminiProvider— extracted Gemini logic fromAiSummaryServiceinto its own classGroqProvider— new Groq implementation
Fixed #
- LICENSE column was always
-: pub.dev removed thelicensefield fromlatest.pubspec; license is now correctly parsed from thetagsarray in the score endpoint (e.g.license:mit→MIT,license:bsd-3-clause→BSD-3-Clause) - Popularity score (
POP) was always?:popularityScorewas removed from the pub.dev API; popularity is now derived fromdownloadCount30Days(scaled to 0–100, where 1 M+ downloads = 100%) --ai-providerflag now validates allowed values (gemini|groq); invalid values previously silently fell through to Gemini- Missing AI key now exits with code 1 instead of silently returning
Changed #
AiSummaryService.generateSummarysignature updated: replaced singleapiKeyparam withprovider,geminiKey, andgroqKeyparamsAiSummaryServiceno longer owns anhttp.Client— each provider manages its own- Removed
AiSummaryService.dispose()(no longer needed) - Banner and help text updated to reflect multi-provider support
2.0.1 - 2024-01-04 #
Fixed #
- LICENSE column now correctly fetched from
latest.pubspec.licensefield - Popularity score (
POP) now correctly parsed from pub.dev score API - Version comparison now handles build metadata (e.g.
6.1.5+1) correctly - Gemini rate limit now retries automatically (up to 3 times, 30s apart) instead of failing immediately
Changelog #
2.0.0 - 2024-01-03 #
Added #
- License detection — fetched from pub.dev API for every package
- pub points and popularity score columns in output table
- Like count from pub.dev
- Test coverage analyzer — counts test files vs source files, grades the project
- AI-powered health summary using Google Gemini API (free tier)
- New CLI flags:
--coverage,--ai-summary,--gemini-key VersionCheckResult.copyWith()for immutable field updates
Changed #
PubDevClient.fetchLatestVersionrenamed tofetchPackageInfo(fetches more data)- Output table now shows LICENSE, PTS (pub points), POP (popularity) columns
- Banner updated to v2.0.0