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
Flutter-specific suggestion messages for dartfmt and dartanalyzer.
Fix CI test
Flutter-specific suggestion messages for dartfmt and dartanalyzer.
Fix end-to-end test (package dependency changed).
Fix end-to-end test (package dependency changed).
Move pubspec stripping inside PubEnvironment.runUpgrade (dartdoc service will get it for free).
Handle more repository URLs (e.g. www.github.com).
Expose Flutter detection to clients, with better naming (isFlutter -> usesFlutter).
One column per quarter.
Fix issue of not using the PUB_CACHE directory when it was set.
Fix issue of not using the PUB_CACHE directory when it was set.
Update analyzer to 0.31 and extends quiver version range.
Fix issue where we were not passing the proper package directory variable.
Expose all dartanalyzer and dartfmt problems as suggestions.
Include component list in platform classification reasons.
Include component list in platform classification reasons.
Do not report on unconstrained SDK dependencies.
New platform component: build.
Remove dependency_overrides from pubspec.yaml.
Removed DartPlatform.description and DartPlatform.descriptionAndReason because we don't use them elsewhere and complicates the PlatformNames with ever
BREAKING CHANGES:
Removed DartPlatform.description and DartPlatform.descriptionAndReason
because we don't use them elsewhere and complicates the PlatformNames
with everywhere and undefined.
Removed PlatformNames.everywhere and PlatformNames.undefined, because
we don't print these anywhere except in tests.
Removed PlatformNames.dartExtension, because we use it only internally.
Removed DartPlatform.restrictedTo, using the fields components and uses instead.
Removed PlatformNames.server (and its platform detection), using a wider other platform instead.
Use raw links for images in repository URLs.
Use raw links for images in repository URLs.
Move unconstrained version penalty from health score to maintenance.
Move platform conflict penalty from health score to maintenance.
Sort maintenance suggestions in decreasing importance.
Only direct unconstrained dependencies decrease the health score.
Only direct unconstrained dependencies decrease the health score.
Removed superfluous pubspec.lock validation.
Recommend descriptions between 60 and 180 characters.
Detect another license format
Pass-through values of analyzer_options.yaml errors like uri_has_not_been_generated.
Fix NPE when dependency has no constraint (e.g. git repo).
Unblock platform classification on a new class of errors.
Unblock platform classification on a new class of errors.
Better messages in platform classification.
Use Flutter-recommended analysis options when analyzer Flutter packages.
Use Flutter-recommended analysis options when analyzer Flutter packages.
BREAKING BEHAVIOR: Don't use PUB_HOSTED_URL for package downloads,
as it has not worked out in practice. Instead, we've added a --hosted-url
command line argument.
PackageAnalyzer.inspectPackage added a named argument deleteTemporaryDirectory. Setting this to false retains the directory and prints its location to
PackageAnalyzer.inspectPackage added a named argument
deleteTemporaryDirectory. Setting this to false retains the
directory and prints its location to the log. Useful for debugging.
Maintenance
BREAKING getMaintenanceScore now takes an optional age parameter
replacing the previously required publishDate parameter.
Changed the meaning of version fields:
isExperimentalVersion now means pre-V1.isPreReleaseVersion now means there is a pre-release flag
like -beta, -alpha, etc.BREAKING maintenance-related Suggestion entries as moved to Maintenance.suggestions
BREAKING Suggestion.file is now String instead of dynamic.
Detect the new format of native extensions.
Unblock platform classification on a new class of errors.
Use PUB_HOSTED_URL for package downloads.
Added pana as an executable. Enables pub global activate pana.
Added pana as an executable.
Enables pub global activate pana.
Improved license detection: commented license files are now recognized.
Allow more versions of package:args.
package:args.The Suggestion.bug constructor had a breaking change – a required argument was added, but this is not intended for invocation by end-users.
Handle more critical exceptions and report them with more details.
The Suggestion.bug constructor had a breaking change – a required argument
was added, but this is not intended for invocation by end-users.
Add SuggestionLevel.bug and use it to record fatal errors with the tool.
SuggestionLevel.bug and use it to record fatal errors with the tool.Summary.sdkVersion is now a Version instead of String.
Breaking changes
Summary.sdkVersion is now a Version instead of String.
new PackageAnalyzer(...) now takes a DartSdk instance instead of
a String.
static Future<PackageAnalyzer> create(...) was added to PackageAnalyzer.
Added logger optional argument to PackageAnalyzer.inspectPackage.
Fixed issue where analyzer and/or formatter were run on directories with no Dart files.
Allow platform classification for a small class of analysis errors.
Don't count the absence of an analysis_options.yaml file against a package.
analysis_options.yaml file against a package.Removed Summary.toolProblems, in favor of Summary.suggestions.
Breaking changes
ToolProblem class.Summary.toolProblems, in favor of Summary.suggestions.Detect and store maintenance-related data in summary.
Fitness to Maintenance.Provide human-readable feedback and instructions on some of the issues we find during the analysis.
Use a consistent 2 minute timeout for all processes.
Use a consistent 2 minute timeout for all processes.
Classify platform as nowhere when part of analysis fails.
Summary.license -> licenses: we'll return multiple licenses
Breaking changes
License renamed to LicenseFileSummary.license -> licenses: we'll return multiple licensesLicenseNames.missing: empty List will indicate no license fileGreatly expanded and improved license detection.
Renamed AnalyzerIssue -> ToolProblem
Breaking changes
Renamed AnalyzerIssue -> ToolProblem
Summary.issues -> toolProblemsAnalyzerIssue.scope -> toolAnalyzerScopes -> ToolNamesRenamed AnalyzerOutput -> CodeProblem
Summary.analyzerItems and DartFileSummary.analyzerItems -> codeProblemsRefactored CodeProblem (previously AnalyzerOutput):
type, new fields: severity, errorType, errorCodeerror to descriptionRefactored Fitness:
total -> magnitudevalue, using shortcoming instead (value = magnitude - shortcoming;)Refactored PubSummary, renamed to PkgResolution
pubspec -> SummarypkgVersion -> Pubspec.versionauthors -> Pubspec.authorspackageVersions and availableVersions into dependenciesSummary.pubSummary -> pkgResolutionRefactored platform:
PlatformFlags -> PlatformNamesDartPlatform insteadRemoved PlatformSummary.package in favor of PlatformSummary.pubspec of (new) type PubspecPlatform.
Removed PlatformSummary.package in favor of PlatformSummary.pubspec of
(new) type PubspecPlatform.
Renamed KnownPlatforms to PlatformFlags. Also:
mirrors, browser and standalone.native to dartExtension.PlatformInfo
dart:* references directly in uses.worksInStandalone renamed to worksOnServer..worksIn* renamed to worksOn*.String get description which returns a simple String description
of the supported platforms. Examples: everywhere, flutter,
server, web, conflict.angular as a value in uses.* Detect native extensions. * Detect licenses.
Detect native extensions.
Detect licenses.
Lots of stability improvements.
Lots of stability improvements.
Improvements to error handling.
Lots of cleanup to JSON output.
Lots of cleanup to JSON output.
Improved stability.
Platform detection basics.
Added support for flutter packages.
Added support for flutter packages.
Expanded analysis to include transitive dependencies.
Added scoring library.
Moved the repo to dart-lang.
A lot of tweaks. Still under heavy development.
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →