@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 true
X
, 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.ReferenceType
s 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.ReferenceType
s 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 ./
.DeclarationReflection
s, getSignature
is no longer a one-tuple.DeclarationReflection
s, setSignature
is no longer a one-tuple.DeclarationReflection
s, typeParameter
has been renamed to typeParameters
searchGroupBoosts
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.end
undefined
, #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.ReferenceType
s 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
& unique
baseUrl
to determine file paths (#1313), closes #1294createMinimatch
is no longer a public function.@template
, closes #860