Releases: TypeStrong/typedoc
Releases Β· TypeStrong/typedoc
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.
Thanks!
v0.24.8
Features
- Added support for TypeScript 5.1, #2296.
- Added
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. - TypeDoc's
--pretty
option 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.INCLUDE
for 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.
Bug Fixes
v0.24.6
Features
- Improved error messaging if a provided entry point could not be converted into a documented module reflection, #2242.
- API: Added support for
g
,circle
,ellipse
,polygon
, andpolyline
svg elements, #2259. - Extended
jsDocCompatibility
option withinheritDocTag
to ignore fully lowercaseinheritDoc
tags and
ignoreUnescapedBraces
to disable warnings about unescaped{
and}
characters in comments.
Bug Fixes
--useTsLinkResolution
is no longer ignored within block tags, #2260.- The current namespace will also be expanded in the navigation on page load, #2260.
- Fixed flicker of navigation pane when reloading a page caused by updating expansion state after the page was loaded.
- Fixed an infinite loop if more than one entry point was provided, and all entry points were the same.