PackageTrack
Sign in Get early access

pana

PAckage aNAlyzer - produce a report summarizing the health and quality of a Dart package.

0.23.18 397K downloads/mo #585 most downloaded on pub.dev dart-lang/pana

What this package is like to depend on

Last release 12 days ago

12 Aug 2026

Release timing varies

gaps range from 8 days to 3 months

Nearly every release is documented

notes for 206 of 209 stable releases

Nothing withdrawn

no release was ever pulled

11 years old

210 releases · first in 2015

21 releases in the last 12 months

see the full history below

Release timeline

210 releases · Sep 2015 to Aug 2026
2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 60 of 210
  1. 0.23.18 12 Aug 2026
    Release notes
    • Allow more pass-through in analysis_options.yaml.
    • Prevent following symlinks when listing and inspecting files in a package directory.
    • Tagger now checks web plugin implementations for is:wasm-ready.
    • Updated dev_dependency handling: keep for analysis, remove for upgradability.
    • --project-root CLI option to specify the project's root directory.
      When specified, pana copies the entire tree for analysis.
      BREAKING CHANGE: the git-based detection is no longer used, users
      must specify the directory explicitly.
    Open source →
    Release notes
    • Allow more pass-through in analysis_options.yaml.
    • Prevent following symlinks when listing and inspecting files in a package directory.
    • Tagger now checks web plugin implementations for is:wasm-ready.
    • Updated dev_dependency handling: keep for analysis, remove for upgradability.
    • --project-root CLI option to specify the project's root directory. When specified, pana copies the entire tree for analysis.
      BREAKING CHANGE: the git-based detection is no longer used, users must specify the directory explicitly.
    Open source →
  2. 0.23.17 06 Aug 2026
    Release notes

    What's Changed

    • Prevent following symlinks when writing dartdoc_options.yaml and analysis_options.yaml by @sigurdm in #1606
    • Use dart-lang/ecosystem firehose workflow for publishing by @sigurdm in #1604
    • Bump analyzer from 13.3.0 to 14.1.0 by @dependabot[bot] in #1603
    • Reject screenshot paths with colons and validate sandbox output folders by @sigurdm in #1609
    • Widen analyzer constraint by @sigurdm in #1610
    • Validate repository URL reachability before creating local git repository by @sigurdm in #1608
    • Bound pubspec inspection loop with timeout and enforce maxOutputBytes by @sigurdm in #1607
    • Parallelize end-to-end golden tests by @sigurdm in #1612
    • Exclude test and example directories from analysis with options file. by @isoos in #1611
    • Stream processing of 'dart analyze' stdout for better and more resilient parsing. by @isoos in #1596
    • Re-enable 'include:' in analysis_options.yaml by @isoos in #1613
    • Disable plugins in 'dart analyze' by @isoos in #1614
    • Keep sdk dev_dependencies when updating pubspec.yaml by @isoos in #1615
    • Passthrough 'analyzer: exclude:' in 'analysis_options.yaml' by @isoos in #1616

    Full Changelog: 0.23.16...0.23.17

    Open source →
    Release notes
    • Parallelize end-to-end golden tests with a shared test environment and concurrency pool.
    • Delete symlinks before writing dartdoc_options.yaml and analysis_options.yaml to prevent out-of-tree file writes.
    • Reject screenshot paths containing colons and validate sandbox output folders.
    • Validate repository URL reachability before creating local git repository.
    • Bound pubspec.yaml scanning in repository verification with a timeout and enforce maxOutputBytes in GitTool.showFile.
    • Stream processing of dart analyze stdout for better and more resilient parsing.
    • Re-enabled include: in analysis_options.yaml.
    • Disabled plugins in dart analyze
    • Passthrough for analyzer: exclude: in analysis_options.yaml
    • Keeping sdk: dev_dependencies when updating pubspec.yaml.
    Open source →
  3. 0.23.16 05 Aug 2026
    Release notes

    What's Changed

    • Protect against YAML alias expansion bombs in yamlToJson by @sigurdm in #1605

    Full Changelog: 0.23.15...0.23.16

    Open source →
    Release notes
    • Protect against YAML alias expansion bombs (Billion Laughs), cyclic references, and extreme nesting depth in yamlToJson.
    Open source →
  4. 0.23.15 28 Jul 2026
    Release notes

    What's Changed

    • Temporary opt-out from --sanitize-html CLI arg when calling dartdoc. by @isoos in #1601

    Full Changelog: 0.23.14...0.23.15

    Open source →
    Release notes
    • Set PANA_OPT_OUT_DARTDOC_SANITIZE_HTML environment variable to true to skip --sanitize-html CLI arg when running dartdoc. This is an internal, temporary option, which will be changed (or reverted) in a future release.
    Open source →
  5. 0.23.14 02 Jul 2026
    Release notes

    What's Changed

    • Bump actions/checkout from 6.0.2 to 7.0.0 in the github-actions group by @dependabot[bot] in #1597
    • Fix conditional export configuration keys by @leehack in #1594
    • Prepare release 0.23.14 by @isoos in #1598

    New Contributors

    Full Changelog: 0.23.13...0.23.14

    Open source →
    Release notes
    • Fix: use lexeme in package:analyzer to properly detect conditional imports.
    Open source →
  6. 0.23.13 25 Jun 2026
    Release notes

    What's Changed

    • Bump dart-lang/setup-dart from 1.7.1 to 1.7.2 in the github-actions group by @dependabot[bot] in #1582
    • Upgrade dependencies including analyzer. by @isoos in #1586
    • Refactor webp-related method to separate WebpTool class. by @isoos in #1570
    • Upgrade CI versions by @isoos in #1587
    • Move jsonDecode inside the try-catch block during dependency report checks by @isoos in #1591
    • Rename web_tool->webp_tool.dart by @isoos in #1590
    • Fix: git file list parsing bug. by @isoos in #1588
    • Detect legacy Kotlin configuration in Android plugins by @sigurdm in #1592

    Full Changelog: 0.23.12...0.23.13

    Open source →
    Release notes
    • Detect legacy Kotlin Gradle Plugin application and kotlinOptions in Android plugins.
    • Upgraded dependencies to the latest.
    Open source →
  7. 0.23.12 26 Mar 2026
    Release notes

    What's Changed

    • Only deduct scores for missing swiftpm support for actual darwin plugins by @sigurdm in #1579
    • Prepare 0.23.12 by @isoos in #1581

    Full Changelog: 0.23.11...0.23.12

    Open source →
    Release notes
    • Only subtract points for missing swiftpm support for actual darwin plugins.
    Open source →
  8. 0.23.11 17 Mar 2026
    Release notes

    What's Changed

    • Re-run pub commands with --verbose after a failure. by @isoos in #1561
    • Upgrade dartdoc version in end2end test + upgraded goldens timestamp + data. by @isoos in #1565
    • Refactor: GitTool for high-level git commands. by @isoos in #1568
    • Use '-z' (zero-byte separator) for git listing. by @isoos in #1569
    • Use default package when detecting swiftpm compatibility of federated plugin by @sigurdm in #1576

    Full Changelog: 0.23.10...0.23.11

    Open source →
    Release notes
    • Re-run pub commands with --verbose after a failure.
    • Updated end2end tests to latest dartdoc.
    • Use -z (zero-byte separator) for git listing.
    • Use default package when detecting swiftpm compatibility of federated plugin.
    Open source →
  9. 0.23.10 17 Feb 2026
    Release notes

    What's Changed

    • Support more CLI arguments: sandbox-runner, dartdoc-command by @isoos in #1559
    • Bump actions/checkout from 6.0.1 to 6.0.2 in the github-actions group by @dependabot[bot] in #1557
    • Updated platform report: partial score for wasm and switft manager incompatibility. by @isoos in #1563
    • Better parsing and ignoring known issues of 'dart format' error. by @isoos in #1560
    • Prepare release + small fixes by @isoos in #1564

    Full Changelog: 0.23.9...0.23.10

    Open source →
    Release notes
    • Support for --sandbox-runner and --dartdoc-command CLI options.
    • Updated platform report: partial score for WASM and Swift package manager incompatibility.
    • Better parsing of dart format output.
    Open source →
  10. 0.23.9 03 Feb 2026
    Release notes

    What's Changed

    • Add --license-data option to support AOT compilation by @jonasfj in #1552
    • Run git and webp with the sandbox runner. by @isoos in #1555
    • Fix compiled pana's package:analyzer issues + separate self-run test. by @isoos in #1556
    • Prepare 0.23.9 by @isoos in #1558

    Full Changelog: 0.23.8...0.23.9

    Open source →
    Release notes
    • Added --license-data argument to specify the location of SPDX license data (useful for AOT compilation).
    • Run webp- and git-commands inside the sandbox (if it was provided).
    Open source →
  11. 0.23.8 20 Jan 2026
    Release notes
    • Updated option to list of arguments to run precompiled dartdoc binary.
    Open source →
  12. 0.23.7 20 Jan 2026
    Release notes
    • Use only dart commands, Flutter SDK will be used when FLUTTER_ROOT is set.
    • Option to use a precompiled dartdoc binary.
    Open source →
  13. 0.23.6 15 Jan 2026
    Release notes
    • Always use flutter pub pub when invoking pub with Flutter SDK.
    • Omit pubspec.yaml warning about local path dependency in the report.
    • Fix type cast issue when customizing analysis_options.yaml.
    • Do not export FLUTTER_ROOT environment for Dart-only SDK.
    • Option to call a sandbox runner for tool environment commands.
    Open source →
  14. 0.23.5 06 Jan 2026
    Release notes
    • Include more top-level analysis target in static checks.
    Open source →
  15. 0.23.4 05 Jan 2026
    Release notes
    • ToolEnvironment flag to use include: entries in analysis_options.yaml.
    Open source →
  16. 0.23.3 25 Nov 2025
    Release notes
    • Support for multiple include: entry in analysis_options.yaml.
    • Fix issue with PUB_HOSTED_URL with custom path segments.
    Open source →
  17. 0.23.2 18 Nov 2025
    Release notes
    • Allow package:analyzer range to accept ^9.0.0 too.
    • Fix issue where screenshots with same filenames but located in different subdirectories were overwriting each other during processing.
    • Only complain about wasm support for web-enabled packages.
    Open source →
  18. 0.23.1 31 Oct 2025
    Release notes
    • Support passthrough of unrelated linter rules in analysis option customization.
    • Support passthrough of unrelated analyzer errors in analysis option customization.
    • Added new license files.
    Open source →
  19. 0.23.0 21 Oct 2025
    Release notes

    Breaking changes:

    • Removed deprecated API.
    • Removed Range and Position from the model, added TextOp to list changes and matching parts in the license.
    • Removed packageName from SdkConstraintStatus.fromSdkVersion constructor.
    • Removed ToolEnvironment methods: runUpgrade (use runPub instead) and withRestrictedAnalysisOptions (no replacement).
    • SDK constraint is no longer added to old pubspec.yaml
    • Removed --line-length CLI argument and also lineLength from analysis options. Use configurable page width instead.
    Open source →
  20. 0.22.24 10 Oct 2025
    Release notes
    • Fixed small ambiguity in the order of license match evaluation.
    • Resolve analysis_options.yaml dev dependency to expose transitive formatter options.
    • Fixed license coverage calculation.
    • Fixed license match post-filtering.
    Open source →
  21. 0.22.23 08 Sep 2025
    Release notes
    • Upgraded SDK constraint: ^3.8.0.
    • Updated License with Range? range field that identifies the recognized block.
    Open source →
  22. 0.22.22 05 Aug 2025
    Release notes
    • Do not list SDK packages in the outdated packages report.
    • Deprecated downloadPackage, use the new ToolEnvironment.unpack instead.
    • Fix issue with analyzing packages nested inside git repositories on windows. https://github.com/dart-lang/pana/issues/1207
    • Check the reference of the current version in CHANGELOG.md.
    Open source →
  23. 0.22.21 15 Apr 2025
    Release notes
    • Preserve all formatter settings in analysis_options.yaml when doing dart format.
    Open source →
  24. 0.22.20 18 Mar 2025
    Release notes
    • Reduced minimum description length to 50 characters.
    • Filter SDK package flutter from the outdated report.
    Open source →
  25. 0.22.19 10 Mar 2025
    Release notes
    • Extended recognized image extensions in URL resolver.
    • Preserve formatter:page-width when doing dart format.
    • Lower score for packages with discontinued dependency.
    Open source →
  26. 0.22.18 10 Jan 2025
    Release notes
    • Make example's README.md priority over any dart file in the examples directory.
    • Expose more precise repository verification status in AnalysisResult.
    • Track URL issues with explicit acceptance state (404 status does not cause score deduction). Also display such URLs in AnalysisResult.
    Open source →
  27. 0.22.17 10 Dec 2024
    Release notes
    • Fixed lower dependency constraint for cli_util.
    • Use flutter pub global activate dartdoc for Flutter packages.
    Open source →
  28. 0.22.16 03 Dec 2024
    Release notes
    • Fixed deprecated API use.
    • Preparing to use with dartdoc 8.3.0.
    Open source →
  29. 0.22.15 29 Oct 2024
    Release notes
    • Detect support for Swift Package Manager for ios/macos plugins.
    • Fixes issue with local analysis without git repository root.
    • Accept logger in PackageAnalyzer.inspectDir method.
    Open source →
  30. 0.22.13 11 Oct 2024
    Release notes
    • Pass-through for formatter/page_width in analysis_options.yaml.
    • Upgraded lints to ^5.0.0
    Open source →
  31. 0.22.12 27 Aug 2024
    Release notes
    • Updated report text for wasm readiness.
    • Updated paragraph separation in report sections.
    Open source →
  32. 0.22.11 20 Aug 2024
    Release notes
    • Expose wasm readiness analysis in the report (without any score).
    Open source →
  33. 0.22.10 08 Aug 2024
    Release notes
    • Remove workspace and resolution properties from pubspec before analyzing.
    Open source →
  34. 0.22.9 18 Jul 2024
    Release notes
    • Updated suggestion for packages depending on SDK _macros.
    • Deprecated the renderSimpleSectionSummary method in public API.
    Open source →
  35. 0.22.8 05 Jul 2024
    Release notes
    • Updated dependency: tar: ^2.0.0.
    • New text logging format.
    • Migrating Summary.licenseFile and Summary.licenses to AnalysisResult.licenses.
    • Breaking change: Removed ToolEnvironment.panaCache field (not intended for public API).
    Open source →
  36. 0.22.7 19 Jun 2024
    Release notes
    • Enable macros experiment pass-through in analysis_options.yaml.
    • Verify executables in pubspec.yaml and check if the related files exist.
    • Fixed has:executable check.
    Open source →
  37. 0.22.6 12 Jun 2024
    Release notes
    • New recognized example files in the example/bin directory.
    • Add has:executable tag for packages with bin/<executable>.dart files.
    Open source →
  38. 0.22.5 30 May 2024
    Release notes
    • Updated text and link on downgrade analysis.
    Open source →
  39. 0.22.4 24 May 2024
    Release notes
    • Report and score pub downgrade + dart analyze.
    Open source →
  40. 0.22.3 17 Apr 2024
    Release notes
    • Do not emit package names in allDependencies with trivial syntax issues.
    • Log dartdoc output.
    Open source →
  41. 0.22.2 27 Feb 2024
    Release notes
    • dartdoc processing is run as the last step of the generated report.
    • Fix: missing custom SDK environment (config directory use) when invoking Flutter.
    Open source →
  42. 0.22.1 12 Feb 2024
    Release notes
    • Fix: unspecified --dartdoc-version will use the latest version in an isolated environment. To use the SDK's dartdoc, set the value to sdk.
    Open source →
  43. 0.22.0 09 Feb 2024
    Release notes
    • ToolEnvironment:
      • .create() takes configHomeDir to specify config the home directory used for the analysis (helps switching different analyzer SDKs).
      • create() takes pubHostedUrl as PackageAnalyzer.create() was removed.
    • InspectOptions:
      • totalTimeBudget to allow the dynamic reduction of dartdocTimeout.
      • resourcesOutputDir to store the resources files (without the previous callback).
    • bin/pana.dart accepts new CLI arguments:
      • --dart-config-home (hidden)
      • --flutter-config-home (hidden)
      • --dartdoc-output (hidden)
      • --dartdoc-version
      • --dartdoc-timeout (hidden)
      • --resources-output (hidden)
      • --total-timeout (hidden)

    BREAKING CHANGES

    • Renamed runProc -> runConstrained.
    • Removed:
      • deprecated APIs
      • InspectOptions.checkRemoteRepository - repositories are verified by default
      • PackageAnalyzer:
        • create()
        • inspectVersions()
        • storeResource callback in inspectPackage(), use InspectOptions.resourcesOutputDir instead
      • ProcessOutput.asBytes
      • Report.joinSection()
      • ToolEnvironment:
        • create() method dropped useGlobalDartdoc flag, will use global dartdoc when dartdocVersion is specified, otherwise uses the Dart SDK's dart doc.
        • create() method dropped dartSdkDir, flutterSdkDir, and environment, using SdkConfig for each of the SDKs.
        • removed parameters from dartdoc()
        • detectFlutterUse()
        • get dartSdkDir
        • get flutterSdkDir
        • get environment
        • getFlutterVersion()
      • analysisOptionsFiles
      • changelogFileNames
      • currentAnalysisOptionsFileName
      • dartdocFailedSection
      • documentationCoverageSection()
      • documentationSectionTitle
      • firstFileFromNames
      • licenseFileNames
      • pubspecParseError
      • readmeFileNames
    • ToolException has reference to the entire PanaProcessResult, instead of just the stderr.
    Open source →
  44. 0.21.45 18 Dec 2023
    Release notes
    • Fix: don't report hidden constructors as undocumented API symbols.
    Open source →
  45. 0.21.44 08 Dec 2023
    Release notes
    • Fix: dart:ui_web is now part of the SDK-detection library list.
    • The use of kind in pub-data.json is deprecated, as it may contain different value on different dartdoc version. The field may be removed in a future version.
    Open source →
  46. 0.21.43 21 Nov 2023
    Release notes
    • Fix: limit number of documentation entries exported in pub-data.json.
    • Fix: Add dart:js_interop_unsafe as a web library.
    • Pre-compute missing documentation symbol before pruning the results.
    Open source →
  47. 0.21.42 09 Nov 2023
    Release notes
    • Fix: global dartdoc activation is forced to happen from pub.dev.
    Open source →
  48. 0.21.41 07 Nov 2023
    Release notes
    • Pana binary now runs dartdoc and generates report based on the coverage (the same that pub-dev is using). The --no-dartdoc command line argument skips this part of the analysis.
    • Breaking change: running the global dartdoc has become the default (instead of the SDK's dart doc), because the latest SDK is behind the latest dartdoc version, and we want to control what is being used by the analysis.
    • Breaking change: ToolEnvironment.dartdoc returns PanaProcessResult.
    Open source →
  49. 0.21.40 02 Nov 2023
    Release notes
    • Fix: empty yaml parsing.
    • Upgraded package:lints to 3.0.0.
    Open source →
  50. 0.21.39 18 Oct 2023
    Release notes
    • Removed file size checks. (If upload limits allow it, pana should not complain.)
    Open source →
  51. 0.21.38 10 Oct 2023
    Release notes
    • Added dart:ui_web as Flutter Web platform.
    • Fix: static analysis is done only when the package resolution was successful.
    Open source →
  52. 0.21.37 26 Sep 2023
    Release notes
    • --no-warning is no longer needed, and has no effect.
    • Fix: expose repository verification issues in report.
    • Upgraded package:tar to 1.0.0.
    • Added AnalysisResult.grantedPoints and AnalysisResult.maxPoints.
    Open source →
  53. 0.21.36 17 Aug 2023
    Release notes
    • Always use dart format instead of flutter format.
    Open source →
  54. 0.21.35 07 Jul 2023
    Release notes
    • Merge Dart 3 compatibility report into static analysis.
    • Breaking change: Remove future SDK flags.
    • Upgrading to package:analyzer 6.0.0
    Open source →
  55. 0.21.34 23 Jun 2023
    Release notes
    • Export missing PanaProcessResult.
    • Fix package:lints as main dependency.
    Open source →
  56. 0.21.33 21 Jun 2023
    Release notes
    • Do not block repository check when pubspec.yaml is in path that is not accepted.
    • Upgraded to Dart 3.0.
    • Resolve package:lints/core.yaml locally before loading from GitHub.
    • InspectOptions.analysisOptionsYaml is now deprecated.
    • Removed null-safety report (Dart 3 compatibility report is used by default).

    Breaking changes:

    • PanaProcessResult no longer implements dart:io's ProcessResult.
    • DartdocResult uses PanaProcessResult instead of ProcessResult.
    • Deprecating InspectOptions.futureSdkTag, configuration no longer used.
    Open source →
  57. 0.21.32 09 May 2023
    Release notes
    • Check the latest 2.x release compatibility only for Dart 2.x packages.
    Open source →
  58. 0.21.31 03 May 2023
    Release notes
    • Dart 3 compatibility section label includes Flutter 3.10 when applicable.
    • Code cleanup in ToolEnvironment.
    Open source →
  59. 0.21.30 21 Apr 2023
    Release notes
    • Fix pub upgrade to exclude example directory.
    Open source →
  60. 0.21.29 20 Apr 2023
    Release notes
    • New report section: Dart 3 compatibility.
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive