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
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
One column per quarter.
Group/category section headings ( ) in the default theme now include an id attribute so they can be linked to via fragment identifiers (e.g. modules.h
<h2>) in the default theme now include an id attribute so they can be linked to via fragment identifiers (e.g. modules.html#classes), #3029.@reexport modifier tag to have TypeDoc convert variable/type references as a re-export instead of a new symbol, #3096.generateOutputsBegin and generateOutputsEnd events on Application for plugin use.--emit none is used, TypeDoc will now report warnings about missing relative paths previously reported when rendering, #3078.@hidden tag on a constructor parameter-property will now only hide the property, not both the property and the parameter, #3111.@group and @category titles with the same sort weight are now ordered consistently with the alphabetical reflection sort, #3120.Added French translations for the TypeDoc interface and help descriptions.
triple-slash comment style, which requires exactly three slashes in the comment, #3089.### Features - Support TypeScript 6.0, #3084.
Improved handling of comments for type aliases which have been declaration merged with functions, #3064.
$, #3065.plugin option to permit functions, #3066.@param tags will now be properly suppressed when they come from declaration files and
the suppressCommentWarningsInDeclarationFiles option is enabled, #3070.Fixed an issue causing TypeDoc to fail to generate documentation when implementing interfaces, #3052.
markdownItLoader to override more rendering #3055.@include in .tsx, .cjs, and .mjs file references #3048.@typedef tags may now specify modifier tags with the inline tag syntax {@mod}.
This makes it possible to add modifier tags to these members, which previously was not possible as
TypeScript's parsing stops for these members at the next non-braced tag, #2916 and #3050.typedoc-config.schema.json is now included in the root of the package with a JSON schema for TypeDoc's
configuration file. The schema for the latest version is also published at https://typedoc.org/schema.json
and will automatically be picked up when writing typedoc.json files if you are using VSCode, #3054.The gitRevision option now accepts the special value {branch}, which indicates source links should use the current git branch for links, #3041.
gitRevision option now accepts the special value {branch}, which indicates source links should use
the current git branch for links, #3041.validation.invalidPath for suppressing warnings caused by referencing relative paths which
do not exist when building the documentation, #3033.Logger.validationWarning for validation which occurs during conversion rather than
during TypeDoc's normal validation step, #3033.Introduced the preservedTypeAnnotationTags option to specify tags whose type annotations should be copied to the output documentation, #3020. API: Int
preservedTypeAnnotationTags option to specify tags whose type annotations should
be copied to the output documentation, #3020.
API: Introduced typeAnnotation on CommentTagexcludePrivateClassFields option to hide #private members while allowing private members, #3017.@this tag for JS files which describe this parameters, #3026.accessor keyword, #3019.preservedTypeAnnotationTags option to specify tags whose type annotations should
be copied to the output documentation, #3020.
API: Introduced typeAnnotation on CommentTagexcludePrivateClassFields option to hide #private members while allowing private members, #3017.@this tag for JS files which describe this parameters, #3026.relevanceBoost on DeclarationReflection for plugin use, #3036.accessor keyword, #3019.@microsoft/tsdoc-config version 0.18.0, #3035.The basePath option now also affects relative link resolution, TypeDoc will also check for paths relative to the provided base path. If you instead wa
basePath option now also affects relative link resolution, TypeDoc will also check for
paths relative to the provided base path. If you instead want TypeDoc to only change the rendered
base path for sources, use the displayBasePath option, #3009.@inheritDoc will now correctly overwrite @remarks and @returns blocks on the target comment, #3012.externalSymbolLinkMappings option now works properly on links pointing to inherited/overwritten signatures, #3014.Variables marked with @enum now work for symbols imported from another module, #3003.
@enum now work for symbols imported from another module, #3003.Reflection.hasComment and Comment.hasVisibleComponent now accepts an optional notRenderedTags parameter.Object properties declared with shorthand property assignment will now use the variable's comment if they do not have their own comment, #2999.
? in the reflection preview and signature, #2995.compilerOptions option now functions properly with non-boolean options, #3000.compilerOptions option are now handled gracefully, #3000.Fixed inconsistent anchors on module pages for re-exports, #2990.
Add support for TypeScript 5.9, #2989.
If using JS config files, the plugin option can now be given plugin functions to load.
plugin option can now be given plugin functions to load.- within tag names to support typescript-json-schema's @TJS-type tag, #2972.Context.createSymbolId for use by plugins.<img srcset> will now be discovered by TypeDoc, #2975.<source src> and <source srcset> elements will now be discovered by TypeDoc, #2975.Introduced the @sortStrategy tag to override the sort option on a specific reflection, #2965.
@sortStrategy tag to override the sort option on a specific reflection, #2965.export { type X } are no longer missing comments, #2970.locale to an unknown value will now cause TypeDoc to operate in English instead of a debug locale.TypeDoc now supports resolving relative paths in links to the package directory as belonging to the project, #2961.
export { type X } are now detected and converted as interfaces/type aliases, #2962.References to type aliases defined as mapped types will now correctly create a reference to the type alias, #2954.
ignoredHighlightLanguages can now be used to prevent warnings for codeblocks containing languages
which are supported by Shiki but are not loaded, #2956.TypeDoc's default theme now uses the same chevron for all collapsible elements, #2924 The chevronSmall helper is now deprecated and will be removed wi…
chevronSmall helper is now deprecated and will be removed with v0.29.0.@hidden will no longer appear in the
"Hierarchy" section of the docs.@inline now functions when referencing tuple types, #2932.
@inline now functions when referencing tuple types, #2932.@link links to the current page are now rendered, #2934.@includeCode now supports regions in TypeScript files with .mts and .cts file extensions, #2935.@group none and @category none will now render their children without a section heading in the default theme, #2922.
@group none and @category none will now render their children without a section
heading in the default theme, #2922.@disableGroups tag to completely disable the grouping mechanism for a
given reflection, #2922.@class now correctly handle @category, #2914.@class now include constructor parameters, #2914.@class with a generic first constructor function now adopt
that function's type parameters as the class type parameters, #2914.externalSymbolLinkMappings option when URL is set to #, #2921.@typedef now correctly handle the constraint, #2929.toString on types containing index signatures now behave correctly, #2917.@inlineType to the list of tags excluded by default.The TypeDocOptions interface now marks options as optional so it no longer has to be wrapped in Partial for use in config files, #2901.
TypeDocOptions interface now marks options as optional so it no longer has to be wrapped in Partial
for use in config files, #2901.localStorage without clearing it, #2908.--watch can now infer entry points from package.json as supported in non-watch mode, #2899.@include with regions now works on files with CRLF line endings, #2902.module.exports = [], #2909../ in relative links, #2910.TypeDoc now expects all input globs paths to be specified with / path separators, #2825.
/ path separators, #2825.--entryPointStrategy merge mode now requires JSON from at least version 0.28.0.jp translations from lang, to migrate switch to ja.intentionallyNotExported now use a package name/package relative path instead of an absolute path for matching.source-order sort ordering now considers package names / package relative paths instead of using the absolute paths to a file.package.json file if --readme is not set
this change improves handling of monorepo setups where some packages have readme files and others do not, #2875.@function tag, #2881.ProjectReflection.getReflectionFromSymbol and ProjectReflection.getSymbolFromReflection have been moved to ContextPath and PathArray parameter types now always contain normalized paths.Router which is used for URL creation. Reflection.url,
Reflection.anchor, and Reflection.hasOwnDocument have been removed.Deserializer.reviveProject(s) no longer accepts an option to add project documents.Deserializer.reviveProjects now requires an alwaysCreateEntryPointModule option.Comment.serializeDisplayParts no longer requires a serializer argument.ReflectionSymbolId.fileName is now optional, TypeDoc now stores a combination of a package name and package relative path instead.
The fileName property will be present when initially created, but is not serialized.DeclarationReflection.relevanceBoost attribute which was added for plugins, but never used.i18n proxy is no longer passed to many functions, instead, reference i18n exported from the module directly.ReflectionKind.singularString and ReflectionKind.pluralString now returns translated strings.
The methods on Internationalization to do this previously have been removed.DefaultThemeRenderContext's typeDeclaration and typeDetailsIfUseful
methods now require both a reflection and a type in order to support
@expandType--router option which can be used to modify TypeDoc's output folder
structure. This can be extended with plugins, #2111.@primaryExport modifier tag to provide more fine grained
control over export conversion order, #2856packagesRequiringDocumentation option for validation.notDocumented, TypeDoc will expect comments to be present for symbols in the specified packages.typedoc/browser entrypoint for parsing and using serialized JSON files, #2528.packageOptions as Partial<TypeDocOptions>, #2878.packageOptions, #2878.@function tag to force TypeDoc to convert variable declarations with a type annotation as functions, #2881.TypeDoc global object in the HTML theme which can be used to prevent TypeDoc from using localStorage, #2872.@preventInline and @inlineType tags for further control extending the @inline tag, #2862.@preventExpand and @expandType tags for further control extending the @expand tag, #2862.DefaultThemeRenderContext.reflectionIcon for more granular control over displayed reflection icons.See https://github.com/TypeStrong/typedoc/issues/2868#issuecomment-2709145741 for discussion of changes
See https://github.com/TypeStrong/typedoc/issues/2868#issuecomment-2709145741 for discussion of changes
See https://github.com/TypeStrong/typedoc/issues/2868#issuecomment-2692468776 for discussion of changes
See https://github.com/TypeStrong/typedoc/issues/2868#issuecomment-2692468776 for discussion of changes
See #2868 for discussion of changes
See #2868 for discussion of changes
This will be the last v0.27.x release, see #2868 for discussion on the 0.28 beta.
This will be the last v0.27.x release, see #2868 for discussion on the 0.28 beta.
The visibilityFilter option now supports individual signatures, #2846.
visibilityFilter option now supports individual signatures, #2846.favicon option may now be given a link starting with https?:// instead of a path, #2851.# as the link in externalSymbolLinkMappings to indicate the type should not be linked to, #2853.undefined, #2854.Introduced ja translation options, deprecated jp in favor of ja, #2843.
@includeCode and @inline can now inject parts of files using region
names or line numbers, #2816.ja translation options, deprecated jp in favor of ja, #2843.--watch option to support watching files not caught by
TypeScript's watch mode, #2675.@inline tag now works in more places for generic types.@class incorrectly handling mapped types, #2842.Added ignoredHighlightLanguages option to specify languages which will be allowed in code blocks but not highlighted, #2819.
ignoredHighlightLanguages option to specify languages which will be
allowed in code blocks but not highlighted, #2819.@include and @includeCode now work in the readme file, #2814.Possibly Breaking: TypeDoc will no longer render anchors within the page for deeply nested properties. This only affects links to properties of proper
validation.rewrittenLink
option.https:// links under the hostedBaseUrl option's URL will no
longer be treated as external, #2809.API: Introduced new Converter.EVENT_CREATE_PROJECT event which fires when a project is created by the converter, #2800.
Converter.EVENT_CREATE_PROJECT event which fires when a project is created by the converter, #2800.@include and @includeCode now work for comments on the entry point for projects with a single entry point, #2800.@summary now works to describe functions within modules, #2803.Added support for PNG favicons, #2790.
highlightLanguages option now permits Shiki aliases to be specified rather than just the language ID, #2798.Fix crash with TypeScript 5.5.x, #2789.
Include classes which inherit from another package in class hierarchy in packages mode, #2467.
@categoryDescription and @groupDescription on module pages, #2787.Convert to ESM to enable easier use of ESM-only dependencies.
--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.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.kindSortOrder to put references last.sort order to use alphabetical-ignoring-documents
instead of alphabetical.suppressCommentWarningsInDeclarationFiles to trueX, not new X)@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.package.json exports if they
are not provided manually, #1937.#anchor links to
reference a heading within them.@param comments with nested object types, #2555.@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.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.@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.@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.@useDeclaredType tag for type aliases which can sometimes
improve their documentation, #2654..@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.@include and @includeCode inline tags to include files within
comments/documents.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.groupReferencesByType option.navigation.excludeReferences optionuseFirstParagraphOfCommentAsSummary option to configure how TypeDoc
handles comments for module members without the @summary tag.favicon option to specify a .ico or .svg favicon to reference.app.outputs object for defining new output strategies.@layer typedoc, #2782.readonly index signatures.@enum if the type was declared before the variable, #2719.declare global, #2774declare module "foo" as a module rather than a namespace, #2778.yaml to the highlight languages supported by default.txt as an alias of text to indicate a code block
should not be highlighted.@ignore or @hidden but still referenced by
other types will no longer produce warnings about not being exported.@link tags.See #2763 for additional details.
See #2763 for additional details.
Changes since 0.27.0-beta.1:
@gerrit0/mini-shiki package instead of directly using shiki to remove 35 unused dependencies from installSee #2763 for additional details.
See #2763 for additional details.
Changes since 0.27.0-beta.0:
readonly index signatures.@mergeModuleWith if targeting a non-toplevel module, #2776--html for HTML output, --out may now be reused by plugins (e.g. typedoc-plugin-markdown) for the default output, #2769See https://github.com/TypeStrong/typedoc/issues/2763 for discussion on changes
See https://github.com/TypeStrong/typedoc/issues/2763 for discussion on changes
If hostedBaseUrl is set to the root page on a website, TypeDoc will now include WebSite structured data, #2760.
hostedBaseUrl is set to the root page on a website, TypeDoc will now include WebSite structured data, #2760."module": "ESNext" and importing TypeDoc, #2747.Fixed missing space on page headers, #2748.
Added headings option to control optional headings, #2729.
headings option to control optional headings, #2729.externalSymbolLinkMappings now uses the TypeScript reported link target if available, #2725.Updated Chinese translations, #2706.
<div> tags and includes the tag name in a class name, #2723.@link tags present in comments at the start of source files.ReflectionSymbolId.pos no longer references the position before any doc comments for a symbol.
This could cause typedoc-plugin-dt-links to produce links which didn't go to the expected location in a file.Added customJs option to include a script tag in generated HTML output, #2650.
customJs option to include a script tag in generated HTML output, #2650.markdownLinkExternal option to treat http[s]:// links in markdown documents and comments as external to be opened in a new tab, #2679.navigation.excludeReferences option to prevent re-exports from appearing in the left hand navigation, #2685.@abstract tag, #2692.@link tags to symbols which are not included in the documentation will produce invalid link warnings again, #2681.@param tags on comments attached to function callback parameters, #2683.alphabetical and alphabetical-ignoring-documents sort options now use localeCompare to sort, #2684.this parameter, #2698.Use of the @extends block tag no longer produces warnings, #2659. This tag should only be used in JavaScript projects to specify the type parameters u
@extends block tag no longer produces warnings, #2659.
This tag should only be used in JavaScript projects to specify the type parameters used when extending a parent class. It will not be rendered.navigation.compactFolders option to prevent TypeDoc from compacting folders, similar to the VSCode option. #2667.suppressCommentWarningsInDeclarationFiles option now correctly ignores warnings in .d.cts and .d.mts files, #2647.TypeDoc now exposes array option defaults under OptionDefaults, #2640.
OptionDefaults, #2640.@document includes an empty file, #2638.The page navigation sidebar no longer incorrectly includes re-exports if the same member is exported with multiple names #2625.
@link tags will now be validated in referenced markdown documents, #2629.@link tags are now resolved in project documents, #2629.@hidden is now properly applied when placed in a function implementation comment, #2634."On This Page" navigation now includes the page groups in collapsible sections, #2616.
mailto: links are no longer incorrectly recognized as relative paths, #2613.@since to the default list of recognized tags, #2614.Added a --suppressCommentWarningsInDeclarationFiles option to disable warnings from parsing comments in declaration files, #2611.
--suppressCommentWarningsInDeclarationFiles option to disable warnings from
parsing comments in declaration files, #2611.text non-highlighted language no longer causes warnings when rendering, #2610.@param tag from the parent, TypeDoc will no longer warn about the @param tag.Improved Korean translation coverage, #2602.
@author to the default list of recognized tags, #2603..jsonc configuration files are now properly read as JSONC, rather than being passed to require.Removed deprecated navigation.fullTree option.
marked to markdown-it for parsing as marked has moved to an async model which supporting would significantly complicate TypeDoc's rendering code.
This means that any projects setting markedOptions needs to be updated to use markdownItOptions.
Unlike marked@4, markdown-it pushes lots of functionality to plugins. To use plugins, a JavaScript config file must be used with the markdownItLoader option.--highlightLanguages option.--excludePrivate to true.--sitemapBaseUrl to --hostedBaseUrl to reflect that it can be used for more than just the sitemap.navigation.fullTree option.--media option, TypeDoc will now detect image links within your comments and markdown documents and automatically copy them to the site.--includes option, use the @document tag instead.--stripYamlFrontmatter option, TypeDoc will always do this now.--htmlLang option to --lang.--gaId option for Google Analytics integration and corresponding analytics theme member, #2600.Converter.EVENT_CREATE_DECLARATION
was emitted for ProjectReflection in some circumstances.MapOptionDeclaration.mapError has been removed.BindOption decorator has been removed.DeclarationReflection.indexSignature has been renamed to DeclarationReflection.indexSignatures.
Note: This also affects JSON serialization. TypeDoc will support JSON output from 0.25 through at least 0.26.JSONOutput.SignatureReflection.typeParameter has been renamed to typeParameters to match the JS API.DefaultThemeRenderContext.iconsCache has been removed as it is no longer needed.DefaultThemeRenderContext.hook must now be passed context if required by the hook.--projectDocuments option to specify additional Markdown documents to be included in the generated site #247, #1870, #2288, #2565.packageOptions object which specifies options that should be applied to each entry point when running with --entryPointStrategy packages, #2523.--hostedBaseUrl will now be used to generate a <link rel="canonical"> element in the project root page, #2550.--customFooterHtml to add custom HTML to the generated page footer, #2559.--cascadedModifierTags option, #2056.@alpha and @beta), #2056.@hideconstructor tag.
This tag should only be used to work around TypeScript#58653, prefer the more general @hidden/@ignore tag to hide members normally, #2577.--useHostedBaseUrlForAbsoluteLinks option to use the --hostedBaseUrl option to produce absolute links to pages on a site, #940.--blockTags option.documents-first, documents-last, and alphabetical-ignoring-documents to order markdown documents.--alwaysCreateEntryPointModule option. When set, TypeDoc will always create a Module for entry points, even if only one is provided.
If --projectDocuments is used to add documents, this option defaults to true, otherwise, defaults to false.--highlightLanguages option to control what Shiki language packages are loaded.comment.beforeTags and comment.afterTags hooks for plugin use.
Combined with CommentTag.skipRendering this can be used to provide custom tag handling at render time.Returns header are now properly colored, #2546.navigationLinks option are now moved into the pull out navigation on mobile displays, #2548.@license and @import comments will be ignored at the top of files, #2552.charset is now correctly cased in <meta> tag generated by the default theme, #2568.<head> element could result in broken icons, #2589.@default and @defaultValue blocks are now recognized as regular blocks if they include inline tags, #2601.localStorage.--hideParameterTypesInTitle option no longer applies when rendering function types.@link tags in readme files will now cause a warning when link validation is enabled.externalSymbolLinkMappings option's support for meanings in declaration references.type=button attribute set to avoid being treated as submit buttons.--hostedBaseUrl will now implicitly add a trailing slash to the generated URL.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 gitRevision:short placeholder option to --sourceLinkTemplate option, #2529. Links generated by TypeDoc will now default to using the non-short g
gitRevision:short placeholder option to --sourceLinkTemplate option, #2529.
Links generated by TypeDoc will now default to using the non-short git revision.<footer> tag, added footer.begin and footer.end
render hooks for use by custom plugins, #2532.NoInfer missing type parameter reference, #2539.Your coding agent can read these notes before it upgrades. Set up the MCP server →