Releases: TypeStrong/typedoc
Releases Β· TypeStrong/typedoc
v0.25.9
Features
- Literal numeric unions will now be sorted during conversion, #2502.
Bug Fixes
- Module readmes will now be included in JSON output, #2500.
- Fixed crash when
--excludeNotDocumented
was used and the project contained a reference to a removed signature, #2496. - Fixed crash when converting an infinitely recursive type via a new
--maxTypeConversionDepth
option, #2507. - Type links in "Parameters" and "Type Parameters" sections of the page will now be correctly colored.
Thanks!
v0.25.8
Features
- Added a new
--sitemapBaseUrl
option. When specified, TypeDoc will generate asitemap.xml
in your output folder that describes the site, #2480. - Added support for the
@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. - Added support for
@groupDescription
and@categoryDescription
to provide a description of groups and categories, #2494. - API: Exposed
Context.getNodeComment
for plugin use, #2498.
Bug Fixes
- Fixed an issue where a namespace would not be created for merged function-namespaces which are declared as variables, #2478.
- A class which implements itself will no longer cause a crash when rendering HTML, #2495.
- Variable functions which have construct signatures will no longer be converted as functions, ignoring the construct signatures.
- The class hierarchy page will now include classes whose base class is not included in the documentation, #2486.
- Fixed an issue where, if the index section was collapsed when loading the page, all content within it would be hidden until expanded, and a member visibility checkbox was changed.
- API:
Context.programs
will no longer contain duplicates, #2498.
v0.25.7
v0.25.6
v0.25.5
Features
- Added a new hierarchy.html page to HTML output which displays the full inheritance hierarchy for classes included in the documentation, #182.
- Added a
--navigation.includeFolders
(default:true
) option to create nested navigation for projects which include many entry points, #2388. - Type parameters on functions/classes can will now link to the "Type Parameters" section, #2322.
Type parameters have also been changed to have a distinct color from type aliases when rendering, which can be changed with custom CSS. - TypeDoc now provides warnings if a signature comment is directly specified on a signature and contains
@param
tags which do not apply, #2368. - Extended reflection preview view for interfaces to include type parameters, #2455.
- Added special cases for converting methods which are documented as returning
this
or acceptingthis
as a parameter, #2458.
Note: This will only happen if a method is declared asmethod(): this
, it will not happen if the method implicitly returnsthis
as the compiler strips that information when creating types for a class instance. - Improved handling of functions with properties. Previous TypeDoc versions would always create a separate
namespace for properties, now, TypeDoc will create a separate namespace if the function is declaration merged
with a namespace. If the properties are added viaObject.assign
or via property assignment on the function
TypeDoc will now instead add the properties to the function's page, #2461.
Bug Fixes
- If both an interface and a variable share a name/symbol, TypeDoc will no longer link to the variable when referenced in a type position, #2106.
notDocumented
validation will no longer require documentation for data within parameters that cannot be documented via@param
, #2291.- "defined in" locations for signatures will now always be contained within the function declaration's location. This prevents defined in sometimes pointing to node_modules, #2307.
- Type parameters will now be resolved for arrow-methods on classes like regular class methods, #2320.
- TypeDoc now inherits
typedocOptions
fields from extended tsconfig files, #2334. - Methods which return function types no longer have duplicated comments, #2336.
- Comments on function-like type aliases will now show up under the type alias, rather than nested within the type declaration, #2372.
- Improved detection of default values for parameters with destructured values, #2430.
- Fix crash when converting some complicated union/intersection types, #2451.
- Navigation triangle markers should no longer display on a separate line with some font settings, #2457.
@group
and@category
organization is now applied later to allow inherited comments to create groups/categories, #2459.- Conversion order should no longer affect link resolution for classes with properties whose type does not rely on
this
, #2466. - Keyword syntax highlighting introduced in 0.25.4 was not always applied to keywords.
- Module reflections now have a custom
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. - If all members in a group are hidden from the page, the group will be hidden in the page index on page load.
v0.25.4
Features
- Added support for TypeScript 5.3, #2446.
- TypeDoc will now render interfaces as code at the top of the page describing interfaces, #2449.
This can be controlled through the newDefaultThemeRenderContext.reflectionPreview
helper. - Improved type rendering to highlight keywords differently than symbols.
Bug Fixes
- Fixed automatic declaration file resolution on Windows, #2416.
- Fixed default option values on options declared by plugins in packages mode, #2433.
gitRevision
will now be replaced insourceLinkTemplate
, #2434.- Improved handling of function-modules created with
Object.assign
, #2436. - TypeDoc will no longer warn about duplicate comments with warnings which point to a single comment, #2437
- Fixed an infinite loop when
skipLibCheck
is used to ignore some compiler errors, #2438. @example
tag titles will now be rendered in the example heading, #2440.- Correctly handle transient symbols in
@namespace
-created namespaces, #2444. - TypeDoc no longer displays the "Hierarchy" section if there is no inheritance hierarchy to display.
- Direct links to individual signatures no longer results in the signature being partially scrolled off the screen.
Thanks!
v0.25.3
Features
- Added
--sourceLinkExternal
option to render source code links as external, #2415. - TypeDoc no longer requires the
declarationMap
option to be set to true to handle cross-package links in packages mode, #2416. - Added
external-last
option for the--sort
option, #2418.
Bug Fixes
- TypeDoc now attempts to correct local anchor links in readme files which are broken by its deconfliction logic, #2413.
- TypeDoc now finds comments on index signatures again, #2414.
- TypeDoc now does a better job of detecting properties when destructured function arguments are used.
- Quotes will now be properly escaped in HTML attribute values.
Thanks!
v0.25.2
Features
- Added
navigationLeaves
option to remove branches from the navigation tree, #2382. - Added
sortEntryPoints
option (defaults to true) to allow disabling entry point sorting, #2393. - Improved support for multi-word searches, #2400.
Bug Fixes
- Fixed conversion of
@template
constraints on JSDoc defined type parameters, #2389. - Invalid link validation is now correctly suppressed before all projects have been converted in packages mode, #2403.
- Fixed tsconfig handling for projects using a solution-style tsconfig, #2406.
- Fixed broken settings icons caused by icon caching introduced in 0.25.1, #2408.
- Corrected module comment handling on declaration files containing a single
declare module "foo"
, #2401.
Thanks!
v0.25.1
Features
- Added
stripYamlFrontmatter
config option to remove YAML frontmatter from README.md, #2381. - Added
--excludeCategories
config option to remove reflections present in any excluded category, #1407. - If no tsconfig.json file is present, TypeDoc will now attempt to compile without setting any compiler options, #2304.
- Navigation is now written to a JS file and built dynamically, which significantly decreases document generation time
with large projects and also provides large space benefits. Themes may now overrideDefaultTheme.buildNavigation
to customize the displayed navigation tree, #2287.
Note: This change rendersnavigation.fullTree
obsolete. If you set it, TypeDoc will warn that it is being ignored.
It will be removed in v0.26. - The search index is now compressed before writing, which reduces most search index sizes by ~5-10x.
- TypeDoc will now attempt to cache icons when
DefaultThemeRenderContext.icons
is overwritten by a custom theme.
Note: To perform this optimization, TypeDoc relies onDefaultThemeRenderContext.iconCache
being rendered within
each page. TypeDoc does it in thedefaultLayout
template. - Cache URL derivation during generation, #2386.
Bug Fixes
@property
now works as expected if used to override a method's documentation.- Deprecated functions/methods are now correctly rendered with a struck-out name.
--watch
mode works again, #2378.- Improved support for optional names within JSDoc types, #2384.
- Fixed duplicate rendering of reflection flags on signature parameters, #2385.
- TypeDoc now handles the
intrinsic
keyword if TS intrinsic types are included in documentation. --exclude
is now respected when expanding globs in entry points, #2376.
Thanks!
v0.25.0
Breaking Changes
- Bump minimum Node version to 16.
- Removed
legacy-packages
option for--entryPointStrategy
. - Changed default value of
--categorizeByGroup
tofalse
. - Specifying a link as the
gitRemote
is no longer supported. - An
Application
instance must now be retrieved viaApplication.bootstrap
orApplication.bootstrapWithPlugins
, #2268. - Removed
ReflectionKind.ObjectLiteral
that was never used by TypeDoc. - Removed deprecated members
DefaultThemeRenderContext.comment
andDefaultThemeRenderContext.attemptExternalResolution
.
Features
- Added support for TypeScript 5.2
- TypeDoc config files now support options default-exported from an ESM config file, #2268.
- TypeDoc config files may now export a promise containing configuration, #2268.
- Added
--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. - Added a no-results placeholder when no search results are available, #2347.
- Implemented several miscellaneous performance improvements to generate docs faster, this took the time to generate TypeDoc's
site from ~5.6 seconds to ~5.4 seconds. - Added
--disableGit
option to prevent TypeDoc from using Git to try to determine if sources can be linked, #2326. - Added support for tags
@showGroups
,@hideGroups
,@showCategories
,@hideCategories
to configure the navigation pane on a
per-reflection basis, #2329. - With
--jsDocCompatibility.defaultTags
set,@defaultValue
is now implicitly a code block if the text contains no code, #2370.
Bug Fixes
- Fixed link discovery if nested (
Foo#bar
) links were used and--useTsLinkResolution
is enabled in some cases, #2360. - Links with invalid declaration references will no longer silently link to the wrong page in some cases, #2360.
- Fixed duplicate definitions in type hierarchy when using packages mode, #2327.
@inheritDoc
was not properly resolved across packages in packages mode, #2331.- Added warning for attempted
@interface
use on union types, #2352. - Fixed misleading type annotation on
Theme.getUrls
, #2318. - Fixed duplicate namespace in documentation if
@namespace
is used on a variable with an associated namespace, #2364. - Fixed
@namespace
property discovery if merged with a type and the type was declared first #2364. - Tables in markdown are now styled, #2366.
- Sidebar links no longer open in a new tab, #2353.
- Headers now include some padding before rendering text, #2316.
- Symbol locations for signatures on
reflection.sources
now considers the node's name like non-signature location discovery does.