NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #4338 most downloaded on npm
Create api documentation for TypeScript projects.
Last release 3 months ago
05 Jul 2026
Ships fairly regularly
a new release about every 4 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
12 years old
350 releases · first in 2014
Added support for TypeScript 5.4, #2517.
Fixed an issue introduced with 0.25.10 which causes the page index to initially render empty, #2514.
h1>h2>h3 process, #2515.One column per quarter.
Constructed references to enum types will be properly linked with @interface, #2508.
@interface, #2508.Literal numeric unions will now be sorted during conversion, #2502.
--excludeNotDocumented was used and the project contained a reference to a removed signature, #2496.--maxTypeConversionDepth option, #2507.Added a new --sitemapBaseUrl option. When specified, TypeDoc will generate a sitemap.xml in your output folder that describes the site, #2480.
--sitemapBaseUrl option. When specified, TypeDoc will generate a sitemap.xml in your output folder that describes the site, #2480.@class tag. When added to a comment on a variable or function, TypeDoc will convert the member as a class, #2479.
Note: This should only be used on symbols which actually represent a class, but are not declared as a class for some reason.@groupDescription and @categoryDescription to provide a description of groups and categories, #2494.Context.getNodeComment for plugin use, #2498.Context.programs will no longer contain duplicates, #2498.Fixed an issue where a namespace would not be created for merged function-namespaces only containing types, #2476.
Fixed infinite loop caused by a fix for some complicated union/intersection types, #2468.
Added a new hierarchy.html page to HTML output which displays the full inheritance hierarchy for classes included in the documentation, #182.
--navigation.includeFolders (default: true) option to create nested navigation for projects which include many entry points, #2388.@param tags which do not apply, #2368.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.Object.assign or via property assignment on the function
TypeDoc will now instead add the properties to the function's page, #2461.notDocumented validation will no longer require documentation for data within parameters that cannot be documented via @param, #2291.typedocOptions fields from extended tsconfig files, #2334.@group and @category organization is now applied later to allow inherited comments to create groups/categories, #2459.this, #2466.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.Added support for TypeScript 5.3, #2446.
DefaultThemeRenderContext.reflectionPreview helper.gitRevision will now be replaced in sourceLinkTemplate, #2434.Object.assign, #2436.skipLibCheck is used to ignore some compiler errors, #2438.@example tag titles will now be rendered in the example heading, #2440.@namespace-created namespaces, #2444.Added --sourceLinkExternal option to render source code links as external, #2415.
--sourceLinkExternal option to render source code links as external, #2415.declarationMap option to be set to true to handle cross-package links in packages mode, #2416.external-last option for the --sort option, #2418.Added navigationLeaves option to remove branches from the navigation tree, #2382.
navigationLeaves option to remove branches from the navigation tree, #2382.sortEntryPoints option (defaults to true) to allow disabling entry point sorting, #2393.@template constraints on JSDoc defined type parameters, #2389.declare module "foo", #2401.Deprecated functions/methods are now correctly rendered with a struck-out name.
stripYamlFrontmatter config option to remove YAML frontmatter from README.md, #2381.--excludeCategories config option to remove reflections present in any excluded category, #1407.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.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.@property now works as expected if used to override a method's documentation.--watch mode works again, #2378.intrinsic keyword if TS intrinsic types are included in documentation.--exclude is now respected when expanding globs in entry points, #2376.Removed deprecated members DefaultThemeRenderContext.comment and DefaultThemeRenderContext.attemptExternalResolution.
legacy-packages option for --entryPointStrategy.--categorizeByGroup to false.gitRemote is no longer supported.Application instance must now be retrieved via Application.bootstrap or Application.bootstrapWithPlugins, #2268.ReflectionKind.ObjectLiteral that was never used by TypeDoc.DefaultThemeRenderContext.comment and DefaultThemeRenderContext.attemptExternalResolution.--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.--disableGit option to prevent TypeDoc from using Git to try to determine if sources can be linked, #2326.@showGroups, @hideGroups, @showCategories, @hideCategories to configure the navigation pane on a
per-reflection basis, #2329.--jsDocCompatibility.defaultTags set, @defaultValue is now implicitly a code block if the text contains no code, #2370.Foo#bar) links were used and --useTsLinkResolution is enabled in some cases, #2360.@inheritDoc was not properly resolved across packages in packages mode, #2331.@interface use on union types, #2352.Theme.getUrls, #2318.@namespace is used on a variable with an associated namespace, #2364.@namespace property discovery if merged with a type and the type was declared first #2364.reflection.sources now considers the node's name like non-signature location discovery does.Added support for TypeScript 5.1, #2296.
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.--pretty option now also controls whether generated HTML contains line breaks, #2287.MarkdownEvent.INCLUDE for plugins, #2284.TypeDoc will now allow conversion without any entry points to support "readme only" packages, #2264.
sort option, #2272.Improved error messaging if a provided entry point could not be converted into a documented module reflection, #2242.
g, circle, ellipse, polygon, and polyline svg elements, #2259.jsDocCompatibility option with inheritDocTag to ignore fully lowercase inheritDoc tags and
ignoreUnescapedBraces to disable warnings about unescaped { and } characters in comments.--useTsLinkResolution is no longer ignored within block tags, #2260.Categories and groups can now be shown in the navigation, added --navigation.includeCategories and --navigation.includeGroups to control this behavior
--navigation.includeCategories
and --navigation.includeGroups to control this behavior. The --categorizeByGroup option also
effects this behavior. If categorizeByGroup is set (the default) and navigation.includeGroups is
not set, the value of navigation.includeCategories will be effectively ignored since categories
will be created only within groups, #1532.@returns blocks will now be rendered with the return type, #2180.--groupOrder option to specify the sort order of groups, #2251.--hideParameterTypesInTitle option, #2226.@returns block is is present in a function, and ignore the duplicate blocks as specified by TSDoc.Fixed broken semantic coloring, #2247.
Fixed path expansion on Windows preventing generation, #2243 and #2241.
Added semantic link coloring for reflection names & links, #2227. Note: This resulted in function signatures becoming too busy for easy scanning with
--hideParameterTypesInTitle option.& showing as & and HTML text showing up in page contents navigation, #2224.source-order sort strategy failing to compare reflections within a file.enum-member-source-order specialization of the source-order sort strategy which only compares enum members, #2237.__@ symbol name, #2234.--entryPointStrategy packages.Improve detection for legacy JSDoc @example tags, #2222.
@example tags, #2222.Dropped support for legacy [[link]]s, removed deprecated Reflection.findReflectionByName.
@link, @linkcode and @linkplain tags will now be resolved with TypeScript's link resolution by default. The useTsLinkResolution option
can be used to turn this behavior off, but be aware that doing so will mean your links will be resolved differently by editor tooling and TypeDoc.node_modules. Specify the --plugin option to indicate which modules should be loaded.packages entry point strategy will now run TypeDoc in each provided package directory and then merge the results together.
The previous packages strategy has been preserved under legacy-packages and will be removed in 0.25. If the new strategy does not work
for your use case, please open an issue.--logger option, to disable all logging, set the logLevel option to none.[[link]]s, removed deprecated Reflection.findReflectionByName.@overload to default ignored tags.label property on Reflection has moved to Comment.out option has been changed from "" to "./docs", #2195.DeclarationReflection#version to DeclarationReflection#projectVersion to match property on ProjectReflection.Reflection#originalName.Reflection#kindString, use ReflectionKind.singularString(reflection.kind) or ReflectionKind.pluralString(reflection.kind) instead.named-tuple-member and template-literal type kind have been replaced with namedTupleMember and templateLiteral, #2100.Reflection, including url, anchor, hasOwnDocument, and cssClasses.Application.bootstrap will no longer load plugins. If you want to load plugins, use Application.bootstrapWithPlugins instead, #1635.Application.bootstrap will now be applied both before and after reading options files, which may cause a change in configuration
if using a custom script to run TypeDoc that includes some options, but other options are set in config files.sources property previously declared on base Reflection class to DeclarationReflection and SignatureReflection.relevanceBoost from ContainerReflection to DeclarationReflection since setting it on the parent class has no effect.ReferenceType.getSymbol, reference types no longer reference the ts.Symbol to enable generation from serialized JSON.OptionsReader.priority has been renamed to OptionsReader.order to more accurately reflect how it works.ReferenceTypes which point to type parameters will now always be intentionally broken since they were never linked and should not be warned about when validating exports.ReferenceTypes now longer include an id property for their target. They now instead include a target property.Renderer.addExternalSymbolResolver, use Converter.addExternalSymbolResolver instead.CallbackLogger.SerializeEventData from serialization events.PageEvent is now required for getRenderContext. If caching the context object, page must be updated when getRenderContext is called.PageEvent no longer includes the template property. The Theme.render method is now expected to take the template to render the page with as its second argument.secondaryNavigation member on DefaultThemeRenderContext.navigation to sidebar on DefaultThemeRenderContext and navigation.begin/navigation.end hooks to sidebar.begin/sidebar.end.--useTsLinkResolution option (on by default) which tells TypeDoc to use TypeScript's @link resolution.--jsDocCompatibility option (on by default) which controls TypeDoc's automatic detection of code blocks in @example and @default tags.@interface on type aliases to tell TypeDoc to convert the fully resolved type as an interface, #1519@namespace on variable declarations to tell TypeDoc to convert the variable as a namespace, #2055.@prop/@property to specify documentation for a child property of a symbol, intended for use with @interface.Promise<void> from their load function, #185.Renderer.preRenderAsyncJobs and Renderer.postRenderAsyncJobs, which may be used by plugins to perform async processing for rendering, #185.
Note: Conversion is still intentionally a synchronous process to ensure stability of converted projects between runs.typedocOptions key in package.json, #2112.--cacheBust option to tell TypeDoc to include include the generation time in files, #2124.--excludeReferences option to tell TypeDoc to omit re-exports of a symbol already included from the documentation.pageSidebar.begin and pageSidebar.end.name field, #2190.@inheritDoc on signatures (functions, methods, constructors, getters, setters) being unable to inherit from a non-signature.v in versions, #2212.typeof on a reference with type arguments, #2220.Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Added support for TypeScript 5.0, #2201.
const type parameters.@overload tag.@satisfies tag.Added --treatValidationWarningsAsErrors to treat only validation warnings as errors without treating all warnings as errors, #2199.
--treatValidationWarningsAsErrors to treat only validation warnings as errors without treating all warnings as errors, #2199.@private and @protected tags to typedoc/tsdoc.json, #2187.Added Application.EVENT_VALIDATE_PROJECT event for plugins which implement custom validation, #2183.
Application.EVENT_VALIDATE_PROJECT event for plugins which implement custom validation, #2183.Comment.displayPartsToMarkdown on for themes overwriting the comment helper, #2115.export default undefined, #2175.Upgraded Shiki, if your highlight theme was set to material- , the value will need to be changed to material-theme- , see the Shiki release notes.
material-<theme>, the value will need to be changed to
material-theme-<theme>, see the Shiki release notes.excludeNotDocumentedKinds variable to control which reflection types can be removed
by the excludeNotDocumented option, #2162.typedoc.jsonc, typedoc.config.js, typedoc.config.cjs, typedoc.cjs to the list of files
which TypeDoc will automatically use as configuration files.node_modules will no longer be ignored, #2151.excludeNotDocumented on arrow function-variables, #2156.package.json to exports declaration.Fixed an issue where signature comments were preferred over property comments for indirectly created function-properties, #2135.
Added ts.Signature to emitted EVENT_CREATE_SIGNATURE event, #2002.
ts.Signature to emitted EVENT_CREATE_SIGNATURE event, #2002.src/ and src/x are specified as entry points, src/ will no longer be ignored, #2121.Add support for defining the kind sort order, #2109.
@link tags within lists, #2103.Added support for a catch-all wildcard in externalSymbolLinkMappings, #2102.
externalSymbolLinkMappings, #2102.Fixed comment discovery for @inheritDoc if inheriting from a function type alias, #2087.
@inheritDoc if inheriting from a function type alias, #2087.Fixed title link if titleLink option was not specified, #2085.
titleLink option was not specified, #2085.Improved error reporting when failing to find entry points, #2080, #2082.
@param comment for the parameter if available, #1261.Added sourceLinkTemplate option to allow more flexible specification of remote urls. Deprecated now redundant gitRevision detection starting with http…
titleLink, navigationLinks and sidebarLinks options to add additional links to the rendered output, #1830.sourceLinkTemplate option to allow more flexible specification of remote urls.
Deprecated now redundant gitRevision detection starting with https?:// introduced in v0.23.16, #2068.Object types will now be pretty printed, #1793.
{ "typedoc": { "tsconfig": "tsconfig.lib.json" }} in package.json, #2061.TypeDoc will now treat @typedef {import("foo").Bar } Baz type declarations which forward type parameters to the imported symbol as re-exports of that
@typedef {import("foo").Bar<Z>} Baz type declarations which forward type parameters to the imported
symbol as re-exports of that symbol, #2044.widgets.png and widgets@2x.png files from generated assets folder.…Renderer.addUnknownSymbolResolver has been soft deprecated in favor of Converter.addUnknownSymbolResolver. Plugins should update to use the method on…
externalSymbolLinkMappings see
the documentation for usage examples and caveats, #2030.addUnknownSymbolResolver will now be checked when resolving @link tags, #2030.
Note: To support this, resolution will now happen during conversion, and as such, Renderer.addUnknownSymbolResolver has been
soft deprecated in favor of Converter.addUnknownSymbolResolver. Plugins should update to use the method on Converter.
DefaultThemeRenderContext.attemptExternalResolution has also been deprecated since it will repeat work done during conversion,
use ReferenceType.externalUrl instead.Converter.addUnknownSymbolResolver for use by plugins supporting external links.Fixed packages mode bug introduced in 0.23.12 (again), #2043.
Fixed deprecation warning for isIdentifierOrPrivateIdentifier.
ParameterType.Object for declaring object options which will be shallowly merged when read from user configuration.Application.EVENT_BOOTSTRAP_END event emitted when Application.bootstrap is called.isIdentifierOrPrivateIdentifier.Added support for TypeScript 4.8.
skipErrorChecking option which instructs TypeDoc to not ask TypeScript for compiler errors
before attempting to generate documentation. Turning this on may improve generation speed, but could also
cause a crash if your code contains compiler errors.@link tags resolved, #2029.DefaultThemeRenderContext now contain all the HTML for their sections of the page, #2038.Added support for detecting comments directly before parameters as the parameter comment, #2019.
sort option.prop as prop?, #2023.DefaultThemeRenderContext.markdown now also accepts a CommentDisplayPart[] for rendering, #2004.Converter.resolveLinks method for use with Converter.parseRawComment, #2004.typedoc/tsdoc.json in TSDoc extends, #2015.@typedef comments for properties, #2020.TypeDoc will no longer skip entry points which have no exports, #2007. If using "entryPointStrategy": "expand", this change may result in new pages be
"entryPointStrategy": "expand", this change may result in new pages being added to your documentation.
If this is not desired, you can use the exclude option to filter them out.--includeVersion flag, #2010.Added defined in links for classes, enums, #180.
*.ghe.com and *.github.us GitHub enterprise domains for source links, #2001.Converter.parseRawComment for plugins to parse additional markdown files, #2004.{@link} containing a URL, #1980.excludeNotDocumented will no longer remove functions/methods/accessors which are documented, #1994.sources property on signature reflections #1996.Tags must now contain whitespace after the tag name to be parsed as a tag, @jest/globals in a comment will no longer be parsed as a tag #1990.
@jest/globals in a comment will no longer be parsed as a tag #1990.Improved support for --entryPointStrategy Packages. TypeDoc will now load package-specific configurations from package.json typedoc field. This config
--entryPointStrategy Packages. TypeDoc will now load package-specific configurations from package.json typedoc field. This configuration allows configuring a custom display name (typedoc.displayName) field, entry point (typedoc.entryPoint - this is equivalent and will override typedocMain), and path to a readme file to be rendered at the top of the package page (typedoc.readmeFile), #1658.--includeVersion option will now be respected by --entryPointStrategy Packages. Also, for this combination, missing version field in the root package.json will not issue a warning.navigation partial will now call the new settings, primaryNavigation, and secondaryNavigation partials, #1987.The DEBUG_SEARCH_WEIGHTS global variable can now be set on window to add search scoring information in the search results.
DEBUG_SEARCH_WEIGHTS global variable can now be set on window to add search scoring information in the search results.DefaultThemeRenderContext.icons for use/modification by themes.TypeDoc no longer ignores project references if --entryPointStrategy Packages is set, #1976.
--entryPointStrategy Packages is set, #1976.search.js generated file.--exclude option will now be respected by --entryPointStrategy Packages and can be used to exclude package directories, #1959.IndexEvent on the Renderer when preparing the search index, #1953.--searchInComments option to include comment text in the search index, #1553.
Turning this option on will increase the size of your search index, potentially by an order of magnitude.Function properties in type space will no longer be interpreted as methods, #1637.
@example tag, #1967.intentionallyNotExported will now properly respect qualified names, #1972.export * as NS declarations, #1973.export const x = () => 123 function variables, #1973.get and set signatures of an accessor have a comment.--htmlLang option to set the lang attribute in the generated HTML. Defaults to en, #1951.--basePath option to override TypeDoc's detected root directory, #1924.:getter and :setter meaning keywords in declaration references.Module comments will no longer be inappropriately attached to signatures, #1962.
@module comments in the entry point, #1963.<= 0 due to searchCategoryBoosts or searchGroupBoosts will be excluded from search.If a declaration has multiple comments associated with it, the last one should be used, #1961.
The deprecated listInvalidSymbolLinks option has been removed. Use validation.invalidLink instead.
{@link} tags in comments will now be resolved as declaration references similar to TSDoc's declaration references.
For most cases, this will just work. See the documentation for details on how link resolution works.[[ target ]]). Use {@link target} instead. The {@link} syntax will be recognized by TypeScript 4.3 and later and used to provide better intellisense. TypeDoc version 0.24.0 will remove support for [[ target ]] style links.extends in typedoc.json is now resolved using NodeJS module resolution, so a local path must begin with ./.DeclarationReflections, getSignature is no longer a one-tuple.DeclarationReflections, setSignature is no longer a one-tuple.DeclarationReflections, typeParameter has been renamed to typeParameterssearchGroupBoosts option must now be given the rendered group name rather than reflection kind names, and can be given custom group names.@inheritDoc now follows the behavior specified by TSDoc when copying comments with a reference.hideLegend option has been removed as the default theme no longer contains a legend.gaSite option has been removed since Google Analytics now infers the site automatically, updated Google Analytics script to latest version, #1846.listInvalidSymbolLinks option has been removed. Use validation.invalidLink instead.true and false values have been removed from --emit, to migrate replace true with "both" and false with "docs" (the default).validation.invalidLink option is now on by default.reflection.decorates, reflection.decorators, and their corresponding interfaces have been removed as no code in TypeDoc used them.Comment class has changed significantly to support multiple tag kinds.Converter.EVENT_CREATE_TYPE_PARAMETER and Converter.EVENT_CREATE_DECLARATION will now never be passed a ts.Node as their third argument.ReflectionFlag.Const flag set.reflection.defaultValue is no longer set for enum members. The same information is available on reflection.type with more precision.removeReaderByName, addDeclarations and removeDeclarationByName methods on Options.ProjectReflection.directory, it was unused by TypeDoc and not properly tested.ProjectReflection.files, this was an internal cache that should not have been exposed, and shouldn't have existed in the first place, since removing it made TypeDoc faster.ReflectionGroup.kind since groups can now be created with the @group tag.ReflectionKind.Event, the @event tag is now an alias for @group Events. Note: This changes the value of ReflectionKind.Reference from 16777216 to 8388608.TypeDoc now supports the @group tag to group reflections in a page. If no @group tag is specified, reflections will be grouped according to their kind, #1652.
TypeDoc will now search for typedoc.js(on) in the .config folder in the current working directory.
Entry point strategies Resolve and Expand may now specify globs, #1926.
typedoc.json now supports comments like tsconfig.json.
TypeDoc will now read the blockTags, inlineTags, and modifierTags out of tsdoc.json in the same directory as tsconfig.json if it exists.
It is recommended to add "extends": ["typedoc/tsdoc.json"], which defines TypeDoc specific tags to your tsdoc.json if you create one.
If an exported symbol has multiple declarations, TypeDoc will now check all appropriate declarations for comments, and warn if more than one declaration contains a comment, #1855.
Improved support for JSDoc style @example tags. If the tag content does not include a code block, TypeDoc now follows VSCode's behavior of treating the entire block as a code block, #135.
TypeDoc will now render members marked with @deprecated with a line through their name, #1381.
Added new commentStyle option which can be used to control what comments TypeDoc will parse.
| Value | Behavior |
|---|---|
| JSDoc | Use block comments starting with /** |
| Block | Use all block comments |
| Line | Use // comments |
| All | Use both block and line comments |
TypeDoc will now warn if part of a comment will be overwritten due to use of @inheritDoc instead of silently dropping part of the comment.
Added support for inline @inheritDoc tags, #1480.
It is now possible to link directly to a specific overload, #1326.
The JSON output will now include URLs to the file on the remote repository if possible.
Added a new visibilityFilters option which controls the available filters on a page.
TypeDoc will now try to place block elements on a new line in HTML output, resulting in less overwhelming diffs when rebuilding docs, #1923.
Added blockTags, inlineTags, modifierTags to control which tags TypeDoc will allow when parsing comments.
If a tag not in in one of these options is encountered, TypeDoc will produce a warning and use context clues to determine how to parse the tag.
Type Parameters heading if there are no type parameters in some cases.implements by other interfaces/classes.@inheritDoc on accessors, #1927.exports.foo = ... will now be converted as variables rather than properties.searchCategoryBoosts are now correctly computed for all categories, #1960.excludeNotDocumented option will no longer hide a module if it has a documentation comment, #1948.--excludeNotDocumented from hiding properties of type literals (a in function fn(p: { a: string })), #1752.cts and mts extensions in packages resolution mode, #1952.Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →