Skip to content

Releases: TypeStrong/typedoc

v0.25.6

01 Jan 16:31
Compare
Choose a tag to compare

Bug Fixes

  • Fixed infinite loop caused by a fix for some complicated union/intersection types, #2468.
  • Improved infinite loop detection in type converter to reduce false positives.

v0.25.5

01 Jan 02:37
Compare
Choose a tag to compare

Features

  • Added a new hierarchy.html page to HTML output which displays the full inheritance hierarchy for classes included in the documentation, #182.
  • Added a --navigation.includeFolders (default: true) option to create nested navigation for projects which include many entry points, #2388.
  • Type parameters on functions/classes can will now link to the "Type Parameters" section, #2322.
    Type parameters have also been changed to have a distinct color from type aliases when rendering, which can be changed with custom CSS.
  • TypeDoc now provides warnings if a signature comment is directly specified on a signature and contains @param tags which do not apply, #2368.
  • Extended reflection preview view for interfaces to include type parameters, #2455.
  • Added special cases for converting methods which are documented as returning this or accepting this as a parameter, #2458.
    Note: This will only happen if a method is declared as method(): this, it will not happen if the method implicitly returns this
    as the compiler strips that information when creating types for a class instance.
  • Improved handling of functions with properties. Previous TypeDoc versions would always create a separate
    namespace for properties, now, TypeDoc will create a separate namespace if the function is declaration merged
    with a namespace. If the properties are added via Object.assign or via property assignment on the function
    TypeDoc will now instead add the properties to the function's page, #2461.

Bug Fixes

  • If both an interface and a variable share a name/symbol, TypeDoc will no longer link to the variable when referenced in a type position, #2106.
  • notDocumented validation will no longer require documentation for data within parameters that cannot be documented via @param, #2291.
  • "defined in" locations for signatures will now always be contained within the function declaration's location. This prevents defined in sometimes pointing to node_modules, #2307.
  • Type parameters will now be resolved for arrow-methods on classes like regular class methods, #2320.
  • TypeDoc now inherits typedocOptions fields from extended tsconfig files, #2334.
  • Methods which return function types no longer have duplicated comments, #2336.
  • Comments on function-like type aliases will now show up under the type alias, rather than nested within the type declaration, #2372.
  • Improved detection of default values for parameters with destructured values, #2430.
  • Fix crash when converting some complicated union/intersection types, #2451.
  • Navigation triangle markers should no longer display on a separate line with some font settings, #2457.
  • @group and @category organization is now applied later to allow inherited comments to create groups/categories, #2459.
  • Conversion order should no longer affect link resolution for classes with properties whose type does not rely on this, #2466.
  • Keyword syntax highlighting introduced in 0.25.4 was not always applied to keywords.
  • Module reflections now have a custom M icon rather than sharing with the namespace icon.
    Note: The default CSS still colors both modules and namespaces the same, as it is generally uncommon to have both in a generated site.
  • If all members in a group are hidden from the page, the group will be hidden in the page index on page load.

v0.25.4

26 Nov 23:09
Compare
Choose a tag to compare

Features

  • Added support for TypeScript 5.3, #2446.
  • TypeDoc will now render interfaces as code at the top of the page describing interfaces, #2449.
    This can be controlled through the new DefaultThemeRenderContext.reflectionPreview helper.
  • Improved type rendering to highlight keywords differently than symbols.

Bug Fixes

  • Fixed automatic declaration file resolution on Windows, #2416.
  • Fixed default option values on options declared by plugins in packages mode, #2433.
  • gitRevision will now be replaced in sourceLinkTemplate, #2434.
  • Improved handling of function-modules created with Object.assign, #2436.
  • TypeDoc will no longer warn about duplicate comments with warnings which point to a single comment, #2437
  • Fixed an infinite loop when skipLibCheck is used to ignore some compiler errors, #2438.
  • @example tag titles will now be rendered in the example heading, #2440.
  • Correctly handle transient symbols in @namespace-created namespaces, #2444.
  • TypeDoc no longer displays the "Hierarchy" section if there is no inheritance hierarchy to display.
  • Direct links to individual signatures no longer results in the signature being partially scrolled off the screen.

Thanks!

v0.25.3

29 Oct 22:49
Compare
Choose a tag to compare

Features

  • Added --sourceLinkExternal option to render source code links as external, #2415.
  • TypeDoc no longer requires the declarationMap option to be set to true to handle cross-package links in packages mode, #2416.
  • Added external-last option for the --sort option, #2418.

Bug Fixes

  • TypeDoc now attempts to correct local anchor links in readme files which are broken by its deconfliction logic, #2413.
  • TypeDoc now finds comments on index signatures again, #2414.
  • TypeDoc now does a better job of detecting properties when destructured function arguments are used.
  • Quotes will now be properly escaped in HTML attribute values.

Thanks!

v0.25.2

08 Oct 01:05
Compare
Choose a tag to compare

Features

  • Added navigationLeaves option to remove branches from the navigation tree, #2382.
  • Added sortEntryPoints option (defaults to true) to allow disabling entry point sorting, #2393.
  • Improved support for multi-word searches, #2400.

Bug Fixes

  • Fixed conversion of @template constraints on JSDoc defined type parameters, #2389.
  • Invalid link validation is now correctly suppressed before all projects have been converted in packages mode, #2403.
  • Fixed tsconfig handling for projects using a solution-style tsconfig, #2406.
  • Fixed broken settings icons caused by icon caching introduced in 0.25.1, #2408.
  • Corrected module comment handling on declaration files containing a single declare module "foo", #2401.

Thanks!

v0.25.1

04 Sep 18:50
Compare
Choose a tag to compare

Features

  • Added stripYamlFrontmatter config option to remove YAML frontmatter from README.md, #2381.
  • Added --excludeCategories config option to remove reflections present in any excluded category, #1407.
  • If no tsconfig.json file is present, TypeDoc will now attempt to compile without setting any compiler options, #2304.
  • Navigation is now written to a JS file and built dynamically, which significantly decreases document generation time
    with large projects and also provides large space benefits. Themes may now override DefaultTheme.buildNavigation
    to customize the displayed navigation tree, #2287.
    Note: This change renders navigation.fullTree obsolete. If you set it, TypeDoc will warn that it is being ignored.
    It will be removed in v0.26.
  • The search index is now compressed before writing, which reduces most search index sizes by ~5-10x.
  • TypeDoc will now attempt to cache icons when DefaultThemeRenderContext.icons is overwritten by a custom theme.
    Note: To perform this optimization, TypeDoc relies on DefaultThemeRenderContext.iconCache being rendered within
    each page. TypeDoc does it in the defaultLayout template.
  • Cache URL derivation during generation, #2386.

Bug Fixes

  • @property now works as expected if used to override a method's documentation.
  • Deprecated functions/methods are now correctly rendered with a struck-out name.
  • --watch mode works again, #2378.
  • Improved support for optional names within JSDoc types, #2384.
  • Fixed duplicate rendering of reflection flags on signature parameters, #2385.
  • TypeDoc now handles the intrinsic keyword if TS intrinsic types are included in documentation.
  • --exclude is now respected when expanding globs in entry points, #2376.

Thanks!

v0.25.0

25 Aug 21:14
Compare
Choose a tag to compare

Breaking Changes

  • Bump minimum Node version to 16.
  • Removed legacy-packages option for --entryPointStrategy.
  • Changed default value of --categorizeByGroup to false.
  • Specifying a link as the gitRemote is no longer supported.
  • An Application instance must now be retrieved via Application.bootstrap or Application.bootstrapWithPlugins, #2268.
  • Removed ReflectionKind.ObjectLiteral that was never used by TypeDoc.
  • Removed deprecated members DefaultThemeRenderContext.comment and DefaultThemeRenderContext.attemptExternalResolution.

Features

  • Added support for TypeScript 5.2
  • TypeDoc config files now support options default-exported from an ESM config file, #2268.
  • TypeDoc config files may now export a promise containing configuration, #2268.
  • Added --preserveLinkText option (defaults to true) which determines whether the reflection name or full link text is included
    in the output when no override is specified, #2355.
  • Added a no-results placeholder when no search results are available, #2347.
  • Implemented several miscellaneous performance improvements to generate docs faster, this took the time to generate TypeDoc's
    site from ~5.6 seconds to ~5.4 seconds.
  • Added --disableGit option to prevent TypeDoc from using Git to try to determine if sources can be linked, #2326.
  • Added support for tags @showGroups, @hideGroups, @showCategories, @hideCategories to configure the navigation pane on a
    per-reflection basis, #2329.
  • With --jsDocCompatibility.defaultTags set, @defaultValue is now implicitly a code block if the text contains no code, #2370.

Bug Fixes

  • Fixed link discovery if nested (Foo#bar) links were used and --useTsLinkResolution is enabled in some cases, #2360.
  • Links with invalid declaration references will no longer silently link to the wrong page in some cases, #2360.
  • Fixed duplicate definitions in type hierarchy when using packages mode, #2327.
  • @inheritDoc was not properly resolved across packages in packages mode, #2331.
  • Added warning for attempted @interface use on union types, #2352.
  • Fixed misleading type annotation on Theme.getUrls, #2318.
  • Fixed duplicate namespace in documentation if @namespace is used on a variable with an associated namespace, #2364.
  • Fixed @namespace property discovery if merged with a type and the type was declared first #2364.
  • Tables in markdown are now styled, #2366.
  • Sidebar links no longer open in a new tab, #2353.
  • Headers now include some padding before rendering text, #2316.
  • Symbol locations for signatures on reflection.sources now considers the node's name like non-signature location discovery does.

Thanks!

v0.24.8

04 Jun 17:04
Compare
Choose a tag to compare

Features

  • Added support for TypeScript 5.1, #2296.
  • Added navigation.fullTree to control rendering the full navigation tree on each page, #2287.
    This option will likely be replaced in 0.25 with dynamic loading of the full tree.
  • TypeDoc's --pretty option now also controls whether generated HTML contains line breaks, #2287.
  • Optimized icon caching to reduce file size in generated HTML documentation, #2287.
  • Render property description of "roughly top level" object types, #2276.
  • Added MarkdownEvent.INCLUDE for plugins, #2284.

Bug Fixes

  • When rendering functions/methods, TypeDoc will now render the comment summary above the parameters/return type,
    and any other block tags in the order they are defined in the comment, #2285.
  • Comments are no longer removed from classes/interfaces containing call signatures, #2290.

Thanks!

v0.24.7

08 May 00:32
Compare
Choose a tag to compare

Features

  • TypeDoc will now allow conversion without any entry points to support "readme only" packages, #2264.

Bug Fixes

  • Category children are now sorted according to the sort option, #2272.
  • Inline tags no longer require a space after the tag name to be parsed as a tag, #2273.
  • Fixed module/namespace links in navigation when viewed in Safari, #2275.

v0.24.6

24 Apr 02:04
Compare
Choose a tag to compare

Features

  • Improved error messaging if a provided entry point could not be converted into a documented module reflection, #2242.
  • API: Added support for g, circle, ellipse, polygon, and polyline svg elements, #2259.
  • Extended jsDocCompatibility option with inheritDocTag to ignore fully lowercase inheritDoc tags and
    ignoreUnescapedBraces to disable warnings about unescaped { and } characters in comments.

Bug Fixes

  • --useTsLinkResolution is no longer ignored within block tags, #2260.
  • The current namespace will also be expanded in the navigation on page load, #2260.
  • Fixed flicker of navigation pane when reloading a page caused by updating expansion state after the page was loaded.
  • Fixed an infinite loop if more than one entry point was provided, and all entry points were the same.

Thanks!