Skip to content

Releases: dart-lang/dartdoc

v0.11.0

04 May 18:25

Choose a tag to compare

  • Fix resolution of ambiguous classes where the analyzer can help us. #1397
  • Many cleanups to dartdoc stdout/stderr, error messages, and warnings:
    • Display fatal errors with 'fatal error' string to distinguish them from ordinary errors
    • Upgrades to new Package.warn system.
      • Fully integrated all scattered "warnings" (#1369) and added new ones for the link checker.
      • Allow for setting which warnings are errors in the library.
      • Change location output to something IntelliJ can understand and link to
      • Display location output for all warnings including line number plus column, when available from analyzer (still some bugs in our resolution). It still doesn't do code references quite right but at least gets you to the neighborhood.
      • Add a warn method to ModelElements so they can warn on themselves without help from the Package.
      • Warn correctly and squelch duplicates across doc inheritance and canonicalization almost everywhere.
      • Change --show-warnings to show all warnings, even those that might not be useful yet.
    • Display a count of all warnings/errors after document generation.
    • Make the progress counter tick slower.
  • Added a built-in link checker and orphaned file checker, and tied it into Package.warn so
    that when debugging dartdoc we can breakpoint and discover what about that ModelElement
    caused us to create the broken link. (#1380)
  • Fix bug where canonicalEnclosingElement could return a non-canonical Class.
  • Fix bug where findCanonicalModelElementFor could return a non-canonical Class.
  • Fix overriddenElement for Accessors to generate using enclosingCombo hint to ModelElement factory.
  • Fix fullyQualifiedNameWithoutLibrary when periods are part of the library name.
  • Add an allModelElements for Classes to support comment references.
  • Make allModelElements for Libraries work using Class.allModelElements recursively.
  • Squish some bugs related to duplicate logic for instantiating inherited class members.
    • Enum and a few other places could still generate duplicate ModelElements for the
      same thing. This is now fixed.
    • EnumField is now handled by ModelElement.from factory, fixing #1239.
    • Added hints for EnumField and Accessors (index, enclosingCombo) to offload the buggy
      logic for figuring this out from callers to ModelElement.from.
  • Fix broken link generation when a canonical class's defining library isn't canonical.
  • Partial rewrite of GetterSetterCombo and Fields/TopLevelVariable handling
    • Link correctly to generic types for Fields/TopLevelVariables.
    • Use right, left, and bidirectional arrows for read-only, write-only, and read-write
      parameters.
  • Partial rewrite of comment reference system (#1391, #1285 partial)
    • Handle gracefully a variety of things users try in the real world, like prefixing operators
      with 'operator', embedded newlines in comment references, and cases that shouldn't be
      considered at all (comment refs that are really array references in sample docs, etc).
    • Handle canonicalization correctly for comment references: point to the right places and
      only to canonical elements.
    • In general, warnings related to comment references should be much more useful now. (#1343)
      • Many fewer ambiguous doc reference warnings now and the ones that exist should be more easily understandable and fixable with the new warning message.
      • Understand references to parameters even though we don't do anything useful with them just yet
      • Generics outside square brackets (#1250) are now warned with better context information that takes newlines into account, but there are so many of them in complex packages like Flutter that we still only show those with --show-warnings.
    • Cache the traversal of allModelElements.
    • Change handling of enum constant linking in codeRefs to work properly, though warnings about
      that aren't right in some edge cases still.
    • Only use analyzer resolving of commentRefs as a last resort since they don't take dartdoc
      canonicalization into account.
  • Added a new --footer-text command-line option, to allow adding additional
    text in the package name and copyright section of the footer.
  • Reduced stack depth by not recomputing findCanonicalLibraryFor. (#1381)
  • Workaround for (#1367) forces on enableAssertInitializer.
  • Work around analyzer-0.29 bug where embedded SDK uri's aren't properly
    reversed.

v0.10.0

17 Apr 14:55

Choose a tag to compare

  • fix canonicalization problems and related issues introduced or not addressed
    in 0.9.11, including:
    • (#1361), (#1232), (#1239 (partial))- Broken links in enums
    • (#1345) and (#1090)- Reexports have wrong links in many places
    • (#1341), (#1197 (partial)) - Duplicate docs still in some cases
    • (#1334) - Some classes don't list their subclasses
    • Inheritable class members had incorrect canonicalization in many cases
    • ... and many other unfiled bugs relating to inheritance and duplicate files.
  • Dartdoc no longer creates documentation for a given identifier more than once.
    This means dartdoc is 20-30% faster on complex packages.
  • --auto-include-dependencies is now recursive past one layer (#589) It now drills
    all the way down and will dive into the SDK and other packages.
  • Change display of warnings to be more consistent; warnings now always
    go to stderr and are printed on their own line.
  • Dartdoc now warns when it is unable to find a canonical object to link to
  • Dartdoc now warns if a package exports an identifier so that it is
    ambiguous which one should be treated as canonical
  • Dartdoc now has a number of asserts in checked mode for issues solved
    and as-yet-unsolved, including (#1367) or canonicalization problems; try
    running in checked mode if you see structural problems in generated docs and
    see if an assert fires.
  • Dartdoc internals have changed significantly:
    • Package now owns the calculation of recursive dependencies with a factory
      constructor, Package.withAutoincludedDependencies.
    • ModelElements and Libraries now have Package-scoped caches.
    • ModelElements and their subclasses now must be constructed from a single
      factory, ModelElements.from
    • Package has new methods to assist canonicalization, including
      findCanonicalLibraryFor and findCanonicalModelElementFor.
    • New mixin "Inheritable" helps class members calculate canonicalization
      for inheritable members
  • change order of library, class, and enum members on displayed pages (#1323).
  • change order of categories when using --use-categories, prioritizing
    this package first, the SDK second, packages with this package's name
    embedded third, and finally all other packages. A new flag,
    --category-order, lets you change what order categories appear in. (#1323)
  • fix broken masthead links in enums (#1225).

0.9.14-dev

03 Apr 21:25

Choose a tag to compare

0.9.14-dev Pre-release
Pre-release

v0.9.13+generic function types, for SDK.

0.9.13

03 Apr 19:57

Choose a tag to compare

  • fix grind check-links and check-sdk-links (#1360)
  • fix multiple issues in annotation/feature list handling (#1268, #1162, #1081)
  • Added pretty-index-json command line flag.
  • index.json file entries are now sorted.

0.9.11

31 Jan 16:27

Choose a tag to compare

rev to 0.9.11; prep for publishing (#1336)

* rev to 0.9.11; prep for publishing

* Update CHANGELOG.md

v0.9.9

27 Dec 22:53

Choose a tag to compare

0.9.9 (#1311)

v0.9.7+4

06 Sep 22:21

Choose a tag to compare

0.9.7+4 (#1249)

0.9.7+3

31 Aug 16:55

Choose a tag to compare

Widen version constraint on dependency package_config.

v0.9.7+2

29 Aug 05:07

Choose a tag to compare

Merge pull request #1235 from dart-lang/0.9.7+2

0.9.7+2

v0.9.7+1

25 Jul 14:14

Choose a tag to compare

Merge pull request #1224 from dart-lang/change_constant_display

fix issues with dispaying constants