Releases: TypeStrong/typedoc
Releases Β· TypeStrong/typedoc
v0.27.0
v0.27.0 (2024-11-27)
Breaking Changes
- Convert to ESM to enable easier use of ESM-only dependencies.
- Drop support for TypeScript <5.0, no longer supported by DefinitelyTyped
- Relaxed requirements for file names and generated url fragments. This may
result in a different file name structure, #2714. - Anchors to document headings and reflections within a HTML generated pages
have changed. They can be partially restored to the previous format by
setting--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. - Removed the
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. - Changed the default
kindSortOrder
to put references last. - Changed the default
sort
order to usealphabetical-ignoring-documents
instead ofalphabetical
. - Changed default of
suppressCommentWarningsInDeclarationFiles
totrue
- API: Constructor signatures now use the parent class name as their name
(e.g.X
, notnew X
) - API:
@group
,@category
,@groupDescription
and@categoryDescription
will no longer be removed from the reflections they are present on. They are
skipped during rendering with thenotRenderedTags
option.
Features
- Add support for TypeScript 5.7
- TypeDoc will now discover entry points from
package.json
exports if they
are not provided manually, #1937. - Relative links to markdown files may now include
#anchor
links to
reference a heading within them. - Improved support for
@param
comments with nested object types, #2555. - Improved support for
@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. - Added a new
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. - Added support for rendering alerts (or callouts) in markdown.
- Add support for an
@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. - Add support for an
@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. - Introduced a new
@useDeclaredType
tag for type aliases which can sometimes
improve their documentation, #2654.. - Added a new
@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. - Added new
@include
and@includeCode
inline tags to include files within
comments/documents. - Add
notRenderedTags
option. This option is similar to theexcludeTags
option, but whileexcludeTags
will result in the tag being completely
removed from the documentation,notRenderedTags
only prevents it from
being included when rendering. - Added
groupReferencesByType
option. - Added
navigation.excludeReferences
option - Added
useFirstParagraphOfCommentAsSummary
option to configure how TypeDoc
handles comments for module members without the@summary
tag. - Introduced
favicon
option to specify a.ico
or.svg
favicon to reference. - Sections within the page and in the "On This Page" navigation are now tied
together and will expand/collapse together, #2335. - API: Introduced a new
app.outputs
object for defining new output strategies. - API: TypeDoc's CSS is now wrapped in
@layer typedoc
, #2782.
Bug Fixes
- TypeDoc now properly flags
readonly
index signatures. - TypeDoc will now use the first signature's comment for later signatures in
overloads if present, #2718. - Fixed handling of
@enum
if the type was declared before the variable, #2719. - Fixed empty top level modules page in packages mode, #2753.
- TypeDoc can now link to type alias properties, #2524.
- TypeDoc will now document the merged symbol type when considering globals
declared insidedeclare global
, #2774 - TypeDoc now converts
declare module "foo"
as a module rather than a namespace, #2778. - Import types in type aliases now use module member references if present, #2779.
- Fixed an issue where properties were not properly marked optional in some
cases. This primarily affected destructured parameters. - Added
yaml
to the highlight languages supported by default. - TypeDoc now recognizes
txt
as an alias oftext
to indicate a code block
should not be highlighted. - Items which are hidden with
@ignore
or@hidden
but still referenced by
other types will no longer produce warnings about not being exported. - If a project only has one module within it, TypeDoc will now consider that
module when resolving@link
tags. - The arrows to indicate whether or not a section is open now work when
JavaScript is disabled. - Group/category search boosts are now applied when writing the search index
rather than when converting. This prevents issues where boosts used by just
one package were incorrectly reported as unused when running with
entryPointStrategy set to packages.
Thanks!
v0.27.0-beta.2
See #2763 for additional details.
Changes since 0.27.0-beta.1:
- Fixed broken generation of search indices
- declare module "foo" will now create a module, #2778
- Fix conversion of import types with qualifiers, #2779
- Removed dependency on resolve-import by implementing it myself, 28 dependencies aren't worth 140 lines of code
- Downgrade Minimatch to restore support for Node 18
- Create and use a
@gerrit0/mini-shiki
package instead of directly usingshiki
to remove 35 unused dependencies from install
v0.27.0-beta.1
See #2763 for additional details.
Changes since 0.27.0-beta.0:
- Drop support for TypeScript <5.0, no longer supported by DefinitelyTyped (once TS 5.7 releases)
- Add support for TypeScript 5.7
- TypeDoc now properly flags
readonly
index signatures. - Expandable class hierarchy, #2744
- Fix infinite loop when handling
@mergeModuleWith
if targeting a non-toplevel module, #2776 - Fix inconsistency with handling of global symbols, #2774
- Tag name instead of tag target name is added to class names, #2772
- Separated output shortcut
--html
for HTML output,--out
may now be reused by plugins (e.g. typedoc-plugin-markdown) for the default output, #2769
v0.27.0-beta.0
See #2763 for discussion on changes
v0.26.11
Features
- If
hostedBaseUrl
is set to the root page on a website, TypeDoc will now includeWebSite
structured data, #2760.
Bug Fixes
v0.26.10
v0.26.9
Features
- Added
headings
option to control optional headings, #2729. - Updated Chinese translations, #2739.
- Added a folder icon to page navigation elements which are not links, #2741.
Bug Fixes
externalSymbolLinkMappings
now uses the TypeScript reported link target if available, #2725.- TypeDoc will no longer omit the modules page if a project contains only modules/documents, #2730.
- Fixed missing breadcrumbs on project page, #2728.
- TypeDoc will no longer render an empty readme page if no readme was found.
Thanks!
v0.26.8
Features
- Updated Chinese translations, #2706.
- Exported constants no longer render the type and default value if they are the same, #2717.
- The HTML output now wraps tag blocks with
<div>
tags and includes the tag name in a class name, #2723.
Bug Fixes
- Correctly handle external link resolver link text when referencing an external symbol, #2700.
- Big integer literals are now supported as default values, #2721.
- Corrected handling of
@link
tags present in comments at the start of source files. - The index will now display when a module only contains documents, #2722.
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.
Thanks!
v0.26.7
Features
- Support TypeScript 5.6, #2699.
- Added
customJs
option to include a script tag in generated HTML output, #2650. - Added
markdownLinkExternal
option to treathttp[s]://
links in markdown documents and comments as external to be opened in a new tab, #2679. - Added
navigation.excludeReferences
option to prevent re-exports from appearing in the left hand navigation, #2685. - Added support for the
@abstract
tag, #2692.
Bug Fixes
- Fixed an issue where links in packages mode would be resolved incorrectly, #2680.
@link
tags to symbols which are not included in the documentation will produce invalid link warnings again, #2681.- Fixed handling of
@param
tags on comments attached to function callback parameters, #2683. - The
alphabetical
andalphabetical-ignoring-documents
sort options now uselocaleCompare
to sort, #2684. - Fixed incorrect placement of parameter default values in some signatures with a
this
parameter, #2698.
Thanks!
v0.26.6
Features
- Use of the
@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. - Added new
navigation.compactFolders
option to prevent TypeDoc from compacting folders, similar to the VSCode option. #2667.
Bug Fixes
- The
suppressCommentWarningsInDeclarationFiles
option now correctly ignores warnings in.d.cts
and.d.mts
files, #2647. - Restored re-exports in the page navigation menu, #2671.
- JSON serialized projects will no longer contain reflection IDs for other projects created in the same run. Gerrit0/typedoc-plugin-zod#6.
- In packages mode the reflection ID counter will no longer be reset when converting projects. This previously could result in links to files not working as expected.