NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #566 most downloaded on pub.dev
PAckage aNAlyzer - produce a report summarizing the health and quality of a Dart package.
Last release 1 months ago
01 Sep 2026
Release timing varies
gaps range from 8 days to 3 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
11 years old
211 releases · first in 2015
Fix: NPE in license URL checks.
Fix: SDK constraint check should use the tool-environment's SDK version.
BREAKING CHANGES:
bin/pana.dart CLI changes:
--report flag (it is always the default),
added --verbose flag to display full JSON data--scores flag (it is always-on by default)--verbosity option (the output data is always the same)bin/bulk.dartComponentNamesDartFileSummaryDartPlatformHealthMaintenancePlatformNamesPlatformUseStatsSuggestionSummary.dartFilesSummary.healthSummary.licenses (using only a single Summary.licenseFile)Summary.maintenanceSummary.platformSummary.statsSummary.suggestionsVerbosityOne column per quarter.
Clarified and fixed report summaries.
mailto links are no longer classified as unsecure..git when linking to a file.Fix: handle new --version output from latest Dart SDK.
--version output from latest Dart SDK.Fixed required URL checks in pubspec validation.
pub outdated execution - using specified package dir.Deferred source span loading (fixes out of memory issue).
Updated the rendering templates of Section.summary.
Section.summary.Fixed string processing in untar error path.
Implemented new scoring report.
Trust plugins platform declaration when assigning tags.
Fixed NPE in old Flutter plugin format detection.
Adds suggestions for why tags don't apply.
--source=path by default.Fix: NPE after dartanalyzer exits with a failure.
dartanalyzer exits with a failure.Fix: handle new --version output from latest Dart SDK.
--version output from latest Dart SDK.Fix: detect Dart files on Windows
dartanalyzer on Windows.Fix: when there are no libraries matching lib/*.dart, other libraries outside of lib/src/ will be recognized as top-level libraries.
lib/*.dart, other libraries
outside of lib/src/ will be recognized as top-level libraries.repository from pubspec.yaml to resolve license URLs.README.md is de-prioritized, Dart files take precedence.InspectOptions.analysisOptionsUri to optionally control which pedantic version (or other package's) ruleset is used for analysis lints.
InspectOptions.analysisOptionsUri to optionally control which pedantic
version (or other package's) ruleset is used for analysis lints.Updated tag detection for packages without a primary library.
^0.39.0.dart:* libraries in tag detection: cli, nativewrappers, html_common.Don't penalize packages on legacy platform detection results.
Handle degenerate cases when computing sdk, platform and runtime tags.
More handling of degenerate cases when computing sdk, platform and runtime tags.
Allow import of platform:flutter on platform web when calculating tags.
* Fix the version number of pana
Compute sdk, platform and runtime tags.
Upgraded dependencies: analyzer 0.38.2.
analyzer 0.38.2.Updated suggestion for not supporting future stable SDKs.
Updated suggestion for not supporting future stable SDKs.
Upgrade dependencies: analyzer to 0.37
Support the latest json_annotation.
Don't penalize outdated dependency when the package's constraint allows it, but a dependent package or SDK restricts it.
Fix: penalize outdated package constraints only for direct dependencies.
Penalize package constraints that does not support the latest published versions of their dependencies.
Recognize .markdown and .mdown files.
.markdown and .mdown files.COPYING and UNLICENSE as license file names (or prefix).Fixed the use of pedantic rules following the new versioned pattern.
pedantic rules following the new versioned pattern.Fix: delete local temporary pedantic_analyis_options_[timestamp].g.yaml.
Fix: delete local temporary pedantic_analyis_options_[timestamp].g.yaml.
Upgrade dependencies: analyzer to 0.36
Penalty for too large readme, changelog or example.
Penalty for too large readme, changelog or example.
Penalty for too large pubspec.yaml.
Display calculated health and maintenance scores when pana is called with --scores.
Ask for example only for packages with public libraries.
Deduplicate dartanalyzer output lines.
Don't block platform classification on hints.
Don't block platform classification on hints.
Apply pedantic rules without referencing package:pedantic in the inspected package's pubspec.yaml.
Warn about insecure (non-https) image URLs in markdown content (readme, changelog and example).
Support the latest package:analyzer.
package:analyzer.Link to package layout conventions in example-related suggestions.
Link to package layout conventions in example-related suggestions.
Use package:pedantic as default package analysis ruleset.
Linear penalties for description.
Updated suggestion messages.
strict parsing errors of pubspec.yaml
git dependenciespubspec.yamlSupport --line-length in command-line and in InspectOptions (pass-through to dartfmt).
Support --line-length in command-line and in InspectOptions (pass-through to dartfmt).
Fix pub upgrade parsing.
Strict SDK constraint status:
sdk: any or sdk: is considered missing constraintsdk: >1.0.0 is rejected by Dart2 latest)Analysis options used in code health scoring updated:
Analysis options used in code health scoring updated:
Upgraded to package:analyzer 0.34.1, which fixed a NPE.
Validating repository and issue_tracker URLs.
Reduce the amount of warning+ level log messages when tools fail.
Code cleanup.
Reduce the amount of warning+ level log messages when tools fail.
Handle package with bad pubspec.yaml.
Reduce the amount of logging when dartfmt fails due to an issue in the package.
Reduce the amount of logging when dartfmt fails due to an issue in the package.
Display Dart SDK warning if package doesn't allow the latest Dart 2.X version.
Bulk processing and comparison.
Bulk processing and comparison.
Penalty for description using too many non-ASCII characters.
Use --dry-run on executing flutter format.
Retry the external process on downloading and listing packages.
Use Flutter's internal Dart SDK to run dartanalyzer on Flutter packages.
Increase the severity of missing SDK constraint.
Increase the severity of missing SDK constraint.
Make example/readme.md the first-level example-file candidate.
Scores values should be consistently in the [0.0-1.0] range.
Estimate health score penalties.
Documented how scoring works.
Estimate health score penalties.
Increased dartfmt timeout to 5 minutes.
Increased dartfmt timeout to 5 minutes.
Store basic stats in the analysis summary.
Detect example/readme.md (or similar pattern) as an alternative to single .dart example.
Bugfix: pre-v1 release should be pre-v0.1 instead.
Bugfix: packages without Dart files failed the health checks.
Named parameters in the following constructors: Summary, DartFileSummary, PkgDependency, CodeProblem.
Breaking changes:
Named parameters in the following constructors: Summary, DartFileSummary, PkgDependency, CodeProblem.
Removed per-file and overall Fitness, using a top-level Health report instead.
Follows the proposed changes that allow us to clearly communicate the scoring mechanism.
Removed Penalty and using the simpler to understand score in place of it.
Updates:
Use flutter format for Flutter packages.
Support relative local path with --source path.
Track tool failures and set health score to 0 if there is any.
Nothing published for this version
Remove strong-mode: true check and suggestion.
Support Dart 2 gold release.
Remove strong-mode: true check and suggestion.
Do not check existence of non-external URLs.
API for external caching of URL existence checks.
Nothing published for this version
Suggestions for SDK constraint and Dart 2 compatibility.
Updated report on dartanalyzer suggestions.
dartanalyzer suggestions.Updated platform classification:
Less verbose logging.
Updated platform classification:
Updated suggestion messages.
Export libraries used by pub site.
Export libraries used by pub site.
Update minimum SDK to 2.0.0-dev.42.0
Better expose platform conflict reasons.
Support changing part of the analysis result.
Support changing part of the analysis result.
Fix dartdoc timeout when using pub global run.
dartdoc processing: do not exclude packages by default, as dartdoc 0.19 handles SDK links.
dartdoc processing: do not exclude packages by default, as dartdoc 0.19 handles SDK links.
expose getAgeSuggestion method for pub site
Update analyzer dependency to ^0.32.0.
Upgrade CI to dev.54 and fix new deprecation warnings.
Upgrade CI to dev.54 and fix new deprecation warnings.
Bugfix: do not initialize dartdocSuccessful with a value.
Support --flutter-sdk in the pana binary.
DartSdk, FlutterSdk and PubEnvironment is replaced with ToolEnvironment.
Breaking changes:
DartSdk, FlutterSdk and PubEnvironment is replaced with ToolEnvironment.
ToolEnvironment.runAnalyzer returns the text output of the process.
Consolidating options in InspectOptions, changing PackageAnalyzer APIs.
Move all output-related data structure to src/model.dart:
CodeProblem.parse -> parseCodeProblemMaintenance.getMaintenanceScore -> getMaintenanceScorePkgResolution.create -> createPkgResolutionMove all runtime/version info into PanaRuntimeInfo (and use it in Summary).
Removed Fitness.suggestions (moved it to DartFileSummary)
Updates:
Run dartdoc (optional) and report if it was not able to complete successfully.
Added a top-level models.dart library exposing several of the data classes.
Check homepage and documentation properties to point to an existing and external web page.
--verbose command-line and Verbosity option to control the details in the analysis output.
Enable Dart 2 Preview in analyzer options (including non-Flutter packages).
Enable Dart 2 Preview in analyzer options (including non-Flutter packages).
Change platform classification of dart:isolate: no longer available on web.
Treat environment: keys as dependent SDKs (e.g. flutter).
Use LibraryElement.hasExtUri to detect dart-ext: imports.
Detailed suggestion messages when package has conflicting platforms.
Enable Dart 2 Preview in Flutter analyzer options.
Your coding agent can read these notes before it upgrades. Set up the MCP server →