Releases: TypeStrong/typedoc
Releases Β· TypeStrong/typedoc
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
@paramtags 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
thisor acceptingthisas 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.assignor 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.
notDocumentedvalidation 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
typedocOptionsfields 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.
@groupand@categoryorganization 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
Micon 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.reflectionPreviewhelper. - 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.
gitRevisionwill 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
skipLibCheckis used to ignore some compiler errors, #2438. @exampletag 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
--sourceLinkExternaloption to render source code links as external, #2415. - TypeDoc no longer requires the
declarationMapoption to be set to true to handle cross-package links in packages mode, #2416. - Added
external-lastoption for the--sortoption, #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
navigationLeavesoption to remove branches from the navigation tree, #2382. - Added
sortEntryPointsoption (defaults to true) to allow disabling entry point sorting, #2393. - Improved support for multi-word searches, #2400.
Bug Fixes
- Fixed conversion of
@templateconstraints 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
stripYamlFrontmatterconfig option to remove YAML frontmatter from README.md, #2381. - Added
--excludeCategoriesconfig 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.fullTreeobsolete. 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.iconsis overwritten by a custom theme.
Note: To perform this optimization, TypeDoc relies onDefaultThemeRenderContext.iconCachebeing rendered within
each page. TypeDoc does it in thedefaultLayouttemplate. - Cache URL derivation during generation, #2386.
Bug Fixes
@propertynow works as expected if used to override a method's documentation.- Deprecated functions/methods are now correctly rendered with a struck-out name.
--watchmode 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
intrinsickeyword if TS intrinsic types are included in documentation. --excludeis now respected when expanding globs in entry points, #2376.
Thanks!
v0.25.0
Breaking Changes
- Bump minimum Node version to 16.
- Removed
legacy-packagesoption for--entryPointStrategy. - Changed default value of
--categorizeByGrouptofalse. - Specifying a link as the
gitRemoteis no longer supported. - An
Applicationinstance must now be retrieved viaApplication.bootstraporApplication.bootstrapWithPlugins, #2268. - Removed
ReflectionKind.ObjectLiteralthat was never used by TypeDoc. - Removed deprecated members
DefaultThemeRenderContext.commentandDefaultThemeRenderContext.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
--preserveLinkTextoption (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
--disableGitoption to prevent TypeDoc from using Git to try to determine if sources can be linked, #2326. - Added support for tags
@showGroups,@hideGroups,@showCategories,@hideCategoriesto configure the navigation pane on a
per-reflection basis, #2329. - With
--jsDocCompatibility.defaultTagsset,@defaultValueis 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--useTsLinkResolutionis 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.
@inheritDocwas not properly resolved across packages in packages mode, #2331.- Added warning for attempted
@interfaceuse on union types, #2352. - Fixed misleading type annotation on
Theme.getUrls, #2318. - Fixed duplicate namespace in documentation if
@namespaceis used on a variable with an associated namespace, #2364. - Fixed
@namespaceproperty 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.sourcesnow considers the node's name like non-signature location discovery does.
Thanks!
v0.24.8
Features
- Added support for TypeScript 5.1, #2296.
- Added
navigation.fullTreeto 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. - TypeDoc's
--prettyoption now also controls whether generated HTML contains line breaks, #2287. - Optimized icon caching to reduce file size in generated HTML documentation, #2287.
- Render property description of "roughly top level" object types, #2276.
- Added
MarkdownEvent.INCLUDEfor plugins, #2284.
Bug Fixes
- When rendering functions/methods, TypeDoc will now render the comment summary above the parameters/return type,
and any other block tags in the order they are defined in the comment, #2285. - Comments are no longer removed from classes/interfaces containing call signatures, #2290.
Thanks!
v0.24.7
Features
- TypeDoc will now allow conversion without any entry points to support "readme only" packages, #2264.