Skip to content

Releases: dart-lang/dartdoc

v0.13.0+1

20 Jun 20:49
Compare
Choose a tag to compare
  • Remove unnecessary dependency on meta.
  • Drop --force from pub publish arguments to avoid publishing more broken
    packages.

v0.13.0

20 Jun 20:04
Compare
Choose a tag to compare
  • Fixed case where inherited members could be linked to the wrong mixin (#1434)
  • Added broken link detection to the search index.
  • Avoid parsing markdown for ModelElements unless we're actually going to use
    the docs, speeding up generation overall by ~10% (#1417)
  • Add annotations to parameter documentation (#1432)
  • Change dartdoc style to use multiple independent scrolling columns (#1350)
  • Add scoring for ambiguous canonicalization, and a new comment directive,
    @canonicalFor, to override its decisions (#1455)
  • Add a hidden flag to drop text in docs imported from the SDK, and use this
    flag in the integration test to make that test less fragile (#1457)
  • Add link to package homepage from index (#1460)
  • Add [...] with a link to all one-line docs that have more information
    on the details page. (#1388)

v0.12.0

23 May 19:20
Compare
Choose a tag to compare
  • Generation performance improved from 20-65% on large packages (more improvement on packages with lower usage of comment references and complex inheritance chains, like angular2).
  • Improvements to warnings, including indicating referring elements where possible. #1405
  • Enable support for generic function types. #1321
  • Update analyzer to 0.30. #1403
  • Enhancements to css style to better match dartlang.org. #1372

v0.11.2

10 May 18:03
Compare
Choose a tag to compare
  • Fix regression where warnings generated by the README could result in a fatal exception. #1409

v0.11.1

09 May 15:19
Compare
Choose a tag to compare
  • Fix regression where a property or top level variable can be listed twice under some conditions. #1401

v0.11.0

04 May 18:25
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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