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.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Relaxed restrictions on @enum style enums to also permit non-literal strings and numbers, #1956.
@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.Added support for documenting a module's global declarations as its exports if it contains no real exports.
Using defaultValue on EnumMember reflections is now deprecated, and will be broken in 0.23.
@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.Classes which are abstract and enums which are const will now be indicated in their rendered documentation, #1874.
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.Fixed missing comments on @enum style enum members defined in declaration files, #1880.
@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.Add support for TypeScript 4.6, #1877.
@param comments for nested members that target union and intersection types, #1876.--requiredToBeDocumented option, #1872.this parameters in documentation for some functions, #1875.Added --validation.notDocumented option to warn on items that are not documented, #1817.
--validation.notDocumented option to warn on items that are not documented, #1817.const variables not properly marked as const, #1866.ReferenceTypes which reference an external symbol will now include qualifiedName and package in their serialized JSON.
ReferenceTypes which reference an external symbol will now include qualifiedName and package in their serialized JSON.cname option for GitHub Pages custom domain support, #1803h1 and h2 elements being too low, #1796.addUnknownSymbolResolver will now be correctly given the qualified name to the symbol being referenced, #1832.Added support for TypeScript 4.5, #1798.
default, the default export will now always be the renamed symbol, #1795.@types/node versions, Gerrit0/typedoc-plugin-missing-exports#5.TypeDoc will now detect and warn if multiple instances of the package are loaded. This usually means that a plugin has its own version of TypeDoc inst
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.Added hooks which can be used to inject HTML without completely replacing a template, #1773. See the documentation in custom-themes.md for details.
@category tag incorrectly appearing on function types if used on a type alias, #1745.Added support for GitHub enterprise projects with a githubprivate.com domain, #1743.
githubprivate.com domain, #1743.hideGenerator is set, #1749.@category tag incorrectly appearing on function types if used on a type alias, #1745.Added support for displaying identifiers & property access expressions in initializers, #1730.
@enum to all variables whose property types are string literals, #1740.as const style enums, #1727.@typeParam on type aliases, #1733.TypeDoc will now recognize @param comments for destructured parameters and rename __namedParameters to the name specified in the @param comment if the
@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.Flag option types like validation can now be set to true/false to enable/disable all flags within them.
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.Added invalidLink to validation option, deprecated listInvalidSymbolLinks, which will be removed in 0.23.
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.Fix background color of tables in dark mode, closes #1684.
Validation for non-exported symbols will now only produce one warning per symbol, instead of one warning per reference.
Removed deprecated logger functions.
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.Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Support highlighting language aliases (#1673) (3c2f3fa), closes #1672
Upgrade Shiki to 0.9.8, adds support for several new highlighting languages
Support for TypeScript 4.4 (da04509), closes #1664
Add support for NO_COLOR environment variable
Support Node v12.10 (#1632) (8f6992a), closes #1628
Constructors did not have source information set (5dfe9de), closes #1626
The bug fix to correct #1585 may change the case of created file names. Files are now created with the same case as your exported member names. This c
Postpone resolution of inherited classes until their parents have been resolved (fc920bd), closes #1580
Exclude empty modules from documentation (8a5a933ecce8f79679415a11ddd66ae2c5d682c4), closes #1607
readme could not be set to none in a config file (da27756d9c08b2353e375523a9cf93a5496c9fc7), closes #1608readme could not be set to none in a config file, closes #1608Drop support for TypeScript 3.9
--packages (#1596) (6d215df)--treatWarningsAsErrors option (58f1bac), closes #1568--exclude option will now remove symbols re-exported from excluded files (bb5a5ae), closes #1578void return type (1dc5659), closes #1215Partial<T> types was incorrectly converted (4aad444), closes #1579The support for monorepos was made possible by @efokschaner and @Lhoerion. It wouldn't have happened without their contributions. Thank you!
void return type, closes #1215Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Add disableAliases option (#1576) (a446431a5233139b8d4daee08ea57fd6cabb9965), closes #1571 Note: This option will be removed in v0.21. It has been dis
marked dependency to 2.0.x (#1602) (0e8d4291f71b2a3ff423a73b2082ee18fb97ccaa), closes #1601marked dependency to 2.0.x (#1602), closes #1601use 'pretty' option when generating json
Include debugging information in highlighting error messages
Crash when converting recursive type alias (02fe2a73048687288cb33d837ff685a4c6c1e2b4), closes #1547
Static properties of Error class incorrectly converted (fbc5966465441536ede196e6550a9c10fbfb9e68), closes #1541, #572
Correct crash with reflection types (5d7856b), closes #1538
Constructors were improperly reported as inherited (b908c09), closes #1528 #1527
Categories should only appear once if specified multiple times (6949a1f), closes #1522
Support for TypeScript 4.2 (ee27362), closes #1517
Your coding agent can read these notes before it upgrades. Set up the MCP server →