npm typedoc 0.27.0
v0.27.0

10 hours ago

v0.27.0 (2024-11-27)

Breaking Changes

  • Convert to ESM to enable easier use of ESM-only dependencies.
  • Drop support for TypeScript <5.0, no longer supported by DefinitelyTyped
  • Relaxed requirements for file names and generated url fragments. This may
    result in a different file name structure, #2714.
  • Anchors to document headings and reflections within a HTML generated pages
    have changed. They can be partially restored to the previous format by
    setting --sluggerConfiguration.lowercase false. This change was made to
    more closely match the default behavior of GitHub's markdown rendering and
    VSCode's autocomplete when creating a relative link to an external markdown
    file.
  • Removed the hideParameterTypesInTitle option, this was originally added as
    a workaround for many signatures overflowing the available horizontal space
    in rendered pages. TypeDoc now has logic to wrap types/signatures smartly,
    so this option is no longer necessary.
  • Changed the default kindSortOrder to put references last.
  • Changed the default sort order to use alphabetical-ignoring-documents
    instead of alphabetical.
  • Changed default of suppressCommentWarningsInDeclarationFiles to true
  • API: Constructor signatures now use the parent class name as their name
    (e.g. X, not new X)
  • API: @group, @category, @groupDescription and @categoryDescription
    will no longer be removed from the reflections they are present on. They are
    skipped during rendering with the notRenderedTags option.

Features

  • Add support for TypeScript 5.7
  • TypeDoc will now discover entry points from package.json exports if they
    are not provided manually, #1937.
  • Relative links to markdown files may now include #anchor links to
    reference a heading within them.
  • Improved support for @param comments with nested object types, #2555.
  • Improved support for @param comments which reference a type
    alias/interface. Important properties on the referenced type can now be
    highlighted with @param options.foo, which will result in the additional
    note being included under the documentation for that parameter, #2147. Note:
    This feature is limited to references. It is not supported on other types of
    types.
  • Added a new outputs option which is an array of outputs. This can be used
    to render the documentation multiple times with different rendering options
    or output types, #2597.
  • Added support for rendering alerts (or callouts) in markdown.
  • Add support for an @expand tag which can be placed on type aliases and
    interfaces. When a type with @expand is referenced and TypeDoc has a place
    to include additional details about the type, the properties of the type
    will be included in the page where @expand is found. Note that use of this
    tag can significantly increase the size of your generated documentation if
    it is applied to commonly used types as it will result in inlining the
    comments for those types everywhere they are referenced, #2303.
  • Add support for an @inline tag which can be placed on type aliases and
    interfaces. When a type with @inline is referenced, TypeDoc will resolve
    the referenced type and convert the type as if it was included directly
    within the referencing type. Note that use of this tag can significantly
    increase the size of your generated documentation if it is applied to
    commonly used types as it will result in inlining the comments for those
    types everywhere they are referenced, #2303.
  • Introduced a new @useDeclaredType tag for type aliases which can sometimes
    improve their documentation, #2654..
  • Added a new @mergeModuleWith tag which can be used to tell TypeDoc to
    place a module/namespace's children under a different module/namespace and
    remove the real parent, #2281.
  • Add notRenderedTags option. This option is similar to the excludeTags
    option, but while excludeTags will result in the tag being completely
    removed from the documentation, notRenderedTags only prevents it from
    being included when rendering.
  • Added groupReferencesByType option.
  • Added navigation.excludeReferences option
  • Added useFirstParagraphOfCommentAsSummary option to configure how TypeDoc
    handles comments for module members without the @summary tag.
  • Introduced favicon option to specify a .ico or .svg favicon to reference.
  • Sections within the page and in the "On This Page" navigation are now tied
    together and will expand/collapse together, #2335.
  • API: Introduced a new app.outputs object for defining new output strategies.
  • API: TypeDoc's CSS is now wrapped in @layer typedoc, #2782.

Bug Fixes

  • TypeDoc now properly flags readonly index signatures.
  • TypeDoc will now use the first signature's comment for later signatures in
    overloads if present, #2718.
  • Fixed handling of @enum if the type was declared before the variable, #2719.
  • Fixed empty top level modules page in packages mode, #2753.
  • TypeDoc can now link to type alias properties, #2524.
  • TypeDoc will now document the merged symbol type when considering globals
    declared inside declare global, #2774
  • TypeDoc now converts declare module "foo" as a module rather than a namespace, #2778.
  • Import types in type aliases now use module member references if present, #2779.
  • Fixed an issue where properties were not properly marked optional in some
    cases. This primarily affected destructured parameters.
  • Added yaml to the highlight languages supported by default.
  • TypeDoc now recognizes txt as an alias of text to indicate a code block
    should not be highlighted.
  • Items which are hidden with @ignore or @hidden but still referenced by
    other types will no longer produce warnings about not being exported.
  • If a project only has one module within it, TypeDoc will now consider that
    module when resolving @link tags.
  • The arrows to indicate whether or not a section is open now work when
    JavaScript is disabled.
  • Group/category search boosts are now applied when writing the search index
    rather than when converting. This prevents issues where boosts used by just
    one package were incorrectly reported as unused when running with
    entryPointStrategy set to packages.

Thanks!

Don't miss a new typedoc release

NewReleases is sending notifications on new releases.