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.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.@enum now work for symbols imported from another module, #3003.Reflection.hasComment and Comment.hasVisibleComponent now accepts an optional notRenderedTags parameter.? in the reflection preview and signature, #2995.compilerOptions option now functions properly with non-boolean options, #3000.compilerOptions option are now handled gracefully, #3000.plugin function 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.@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.export { type X } are now detected and converted as interfaces/type aliases, #2962.ignoredHighlightLanguages can now be used to prevent warnings for codeblocks containing languages
which are supported by Shiki but are not loaded, #2956.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.@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.@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.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./ 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.This will be the last v0.27.x release, see #2868 for discussion on the 0.28 beta.
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.@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.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.validation.rewrittenLink
option.https:// links under the hostedBaseUrl option's URL will no
longer be treated as external, #2809.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.highlightLanguages option now permits Shiki aliases to be specified rather than just the language ID, #2798.@categoryDescription and @groupDescription on module pages, #2787.--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.hostedBaseUrl is set to the root page on a website, TypeDoc will now include WebSite structured data, #2760."module": "ESNext" and importing TypeDoc, #2747.headings option to control optional headings, #2729.externalSymbolLinkMappings now uses the TypeScript reported link target if available, #2725.<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.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.@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.OptionDefaults, #2640.@document includes an empty file, #2638.@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.mailto: links are no longer incorrectly recognized as relative paths, #2613.@since to the default list of recognized tags, #2614.--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.@author to the default list of recognized tags, #2603..jsonc configuration files are now properly read as JSONC, rather than being passed to require.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.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.h1>h2>h3 process, #2515.@interface, #2508.--excludeNotDocumented was used and the project contained a reference to a removed signature, #2496.--maxTypeConversionDepth option, #2507.--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.--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.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.--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.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.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.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.defaultTag 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.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.sort option, #2272.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.--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.--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.@example tags, #2222.@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.const type parameters.@overload tag.@satisfies tag.--treatValidationWarningsAsErrors to treat only validation warnings as errors without treating all warnings as errors, #2199.@private and @protected tags to typedoc/tsdoc.json, #2187.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.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.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.@link tags within lists, #2103.externalSymbolLinkMappings, #2102.@inheritDoc if inheriting from a function type alias, #2087.titleLink option was not specified, #2085.@param comment for the parameter if available, #1261.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.{ "typedoc": { "tsconfig": "tsconfig.lib.json" }} in package.json, #2061.@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 [email protected] files from generated assets folder.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.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.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.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."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.*.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.@jest/globals in a comment will no longer be parsed as a tag #1990.--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.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.--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.@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 in the entry point, #1963.<= 0 due to searchCategoryBoosts or searchGroupBoosts will be excluded from search.{@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.
Support for [[`links`]] with brackets + code ticks have been dropped.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.gaSite option has been removed since Google Analytics now infers the site automatically, updated Google Analytics script to latest version, #1846.hideLegend option has been removed as the default theme no longer contains a legend.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.@enum style enums to also permit non-literal strings and numbers, #1956.searchGroupBoosts was only computing the boost for the first reflection in a group, #1958.@enum, #1918.type set to either a LiteralType with a string or numeric value or an IntrinsicType with type number, #1942.
Using defaultValue on EnumMember reflections is now deprecated, and will be broken in 0.23.enum-value-ascending or enum-value-descending sort strategies in mixed string/number enums.abstract and enums which are const will now be indicated in their rendered documentation, #1874.compilerOptions, which can be used to override compiler options read from tsconfig.json, #1891.content.begin, content.end, navigation.begin, navigation.endundefined, #1907.@enum style enum members defined in declaration files, #1880.--validation.notDocumented warnings for functions/methods/type aliases, #1895, #1898.removeReflection not completely removing reflections from the project, #1898.@hidden / @ignore / @exclude comments on default exports with no associated variable, #1903.makeRecursiveVisitor will now correctly call the intersection callback, #1910.@param comments for nested members that target union and intersection types, #1876.--requiredToBeDocumented option, #1872.this parameters in documentation for some functions, #1875.--validation.notDocumented option to warn on items that are not documented, #1817.const variables not properly marked as const, #1866.cname option for GitHub Pages custom domain support, #1803.ReferenceTypes which reference an external symbol will now include qualifiedName and package in their serialized JSON.h1 and h2 elements being too low, #1796.addUnknownSymbolResolver will now be correctly given the qualified name to the symbol being referenced, #1832.default, the default export will now always be the renamed symbol, #1795.@types/node versions, Gerrit0/typedoc-plugin-missing-exports#5.typedoc-theme in their keywords.
Plugins which define a custom theme should include this keyword so that they can be automatically collected and displayed at https://typedoc.org/guides/themes/.<meta charset="utf-8" /> appears within the first 1024 bytes of generated pages, #1783.@category tag incorrectly appearing on function types if used on a type alias, #1745.githubprivate.com domain, #1743.hideGenerator is set, #1749.@category tag incorrectly appearing on function types if used on a type alias, #1745.@enum to all variables whose property types are string literals, #1740.as const style enums, #1727.@typeParam on type aliases, #1733.@param comments for destructured parameters and rename __namedParameters to the name specified
in the @param comment if the number of @param comments match the number of parameters, resolves #1703.intentionallyNotExported option may now include file names/paths to limit its scope, for example, the following
will suppress warnings from Foo in src/foo.ts not being exported, but will not suppress warnings if another Foo
declared in src/utils/foo.ts is not exported.{
"intentionallyNotExported": ["src/foo.ts:Foo"]
}
--emit option can now be used to more finely control what TypeDoc will emit.
| Value | Behavior |
|---|---|
both |
Emit both documentation and JS. |
docs |
Emit documentation, but not JS (default). |
none |
Emit nothing, just convert and run validation. |
true |
Alias for both, for backwards compatibility. Will be removed in 0.23. |
false |
Alias for docs, for backwards compatibility. Will be removed in 0.23. |
<caption> elements from @example tags, resolves #1679.emitDeclarationOnly compiler option is now supported, resolves #1716..json, resolves #1712.globalThis namespace, could only be caused by a plugin.validation can now be set to true/false to enable/disable all flags within them.githubPages option (default: true), which will create a .nojekyll page in the generated output, resolves #1680.MarkdownEvent is now exported, resolves #1696.light-plus and dark-plus, they were accidentally set to min-light and min-dark in v0.22.0.validation option which can be used to disable checks for non-exported symbols.
On the command line, this can be specified with --validation.notExported true, or in an options file with:{
"validation": {
"notExported": true
}
}
validation option, deprecated listInvalidSymbolLinks, which will be removed in 0.23.packages and entryPoints options have been combined.
To migrate configurations which used packages, replace packages with entryPoints and set entryPointStrategy to packages.disableOutputCheck to cleanOutputDir to more clearly reflect its behavior.highlightTheme option has been split into lightHighlightTheme and darkHighlightTheme.toc option.--watch was specified due to Handlebar's caching mechanism.
This change breaks all existing custom themes, so a theme created for v0.21 or earlier will not work in v0.22.
See internal-docs/custom-themes.md for documentation on how to create a custom theme in v0.22.entryPointStrategy from expand to resolve.**/someDir will not exclude files in that directory. To exclude files in a directory, specify **/someDir/**.customCss option, closes #1060.entryPointStrategy to reduce confusion from new TypeDoc users on handling of entry points.
There are three possible options:
| Option | Behavior |
|---|---|
| resolve (default) | Expects all entry points to be contained within the root level tsconfig project. If a directory is given, includes <directory>/index as the entry point. |
| expand | Expects all entry points to be contained within the root level tsconfig project. If a directory is given, files within it are recursively expanded. This was the default behavior in v0.21. |
| packages | Corresponds to --packages in v0.21, behaves as documented in the Monorepo section in the readme. |
typedocMain in package.json when using the packages strategy for resolving entry points.application.validate(project).as const enums", closes #1675.hideLegend option, closes #1108.--logLevel Verbose)@param, the name will not be dropped when rendering, closes #1410."export" key in package.json, preventing plugins from importing internal paths.
TypeDoc should now export all necessary structures (potentially marked with @internal if likely to change) from the root export.ReflectionKind values for Project, Module, Namespace, and Enum have changed.export=. Plugins are now required to export a load function.TypeParameterType, references to type parameters have produced a ReferenceType since v0.20.0.clone method. It inconsistently performed deep or shallow clones, and was not used by TypeDoc.equals method. It was occasionally correct for medium-complexity types, and always incorrect for more complicated types.readme could not be set to none in a config file, closes #1608void return type, closes #1215marked dependency to 2.0.x (#1602), closes #1601@types/ws, closes #1463@enum tags, closes #1464@module tagreadonly & uniquebaseUrl to determine file paths (#1313), closes #1294createMinimatch is no longer a public function.@template, closes #860