jsdoc/jsdoc (jsdoc)
### [`v4.0.4`](https://redirect.github.com/jsdoc/jsdoc/releases/tag/4.0.4): JSDoc 4.0.4
[Compare Source](https://redirect.github.com/jsdoc/jsdoc/compare/4.0.3...4.0.4)
Fixes a compatibility issue with Node.js 23.
### [`v4.0.3`](https://redirect.github.com/jsdoc/jsdoc/compare/4.0.2...4.0.3)
[Compare Source](https://redirect.github.com/jsdoc/jsdoc/compare/4.0.2...4.0.3)
### [`v4.0.2`](https://redirect.github.com/jsdoc/jsdoc/compare/4.0.1...4.0.2)
[Compare Source](https://redirect.github.com/jsdoc/jsdoc/compare/4.0.1...4.0.2)
### [`v4.0.1`](https://redirect.github.com/jsdoc/jsdoc/compare/084218523a7d69fec14a852ce680f374f526af28...4.0.1)
[Compare Source](https://redirect.github.com/jsdoc/jsdoc/compare/084218523a7d69fec14a852ce680f374f526af28...4.0.1)
### [`v4.0.0`](https://redirect.github.com/jsdoc/jsdoc/blob/HEAD/CHANGES.md#400-November-2022)
[Compare Source](https://redirect.github.com/jsdoc/jsdoc/compare/3.6.11...084218523a7d69fec14a852ce680f374f526af28)
- JSDoc releases now use [semantic versioning](https://semver.org/). If JSDoc makes
backwards-incompatible changes in the future, the major version will be incremented.
- JSDoc no longer uses the [`taffydb`](https://taffydb.com/) package. If your JSDoc template or
plugin uses the `taffydb` package, see the
[instructions for replacing `taffydb` with `@jsdoc/salty`](https://redirect.github.com/jsdoc/jsdoc/tree/main/packages/jsdoc-salty#use-salty-in-a-jsdoc-template).
- JSDoc now supports Node.js 12.0.0 and later.
### [`v3.6.11`](https://redirect.github.com/jsdoc/jsdoc/blob/HEAD/CHANGES.md#3611-July-2022)
[Compare Source](https://redirect.github.com/jsdoc/jsdoc/compare/3.6.10...3.6.11)
Updates dependency versions to make JSDoc compatible with Node.js 12.0.0 and later.
### [`v3.6.10`](https://redirect.github.com/jsdoc/jsdoc/blob/HEAD/CHANGES.md#3610-January-2022)
[Compare Source](https://redirect.github.com/jsdoc/jsdoc/compare/3.6.9...3.6.10)
Fixes an issue in JSDoc 3.6.9 that prevented JSDoc from being installed in some continuous
integration (CI) environments.
### [`v3.6.9`](https://redirect.github.com/jsdoc/jsdoc/blob/HEAD/CHANGES.md#369-January-2022)
[Compare Source](https://redirect.github.com/jsdoc/jsdoc/compare/3.6.8...3.6.9)
Fixes an issue in JSDoc 3.6.8 that prevented `npm install jsdoc` from working.
### [`v3.6.8`](https://redirect.github.com/jsdoc/jsdoc/blob/HEAD/CHANGES.md#368-January-2022)
[Compare Source](https://redirect.github.com/jsdoc/jsdoc/compare/3.6.7...3.6.8)
Updates dependencies.
### [`v3.6.7`](https://redirect.github.com/jsdoc/jsdoc/blob/HEAD/CHANGES.md#367-May-2021)
[Compare Source](https://redirect.github.com/jsdoc/jsdoc/compare/3.6.6...3.6.7)
Updates dependencies.
### [`v3.6.6`](https://redirect.github.com/jsdoc/jsdoc/blob/HEAD/CHANGES.md#366-September-2020)
[Compare Source](https://redirect.github.com/jsdoc/jsdoc/compare/3.6.5...3.6.6)
Fixes an issue that could cause members of an interface to be tracked incorrectly if the interface
was both defined as an ES2015 class and assigned to a variable. For example:
```js
/** @interface */
foo.Bar = class {
constructor() {
/** This member was missing from the generated docs. */
this.baz = null;
}
};
```
### [`v3.6.5`](https://redirect.github.com/jsdoc/jsdoc/blob/HEAD/CHANGES.md#365-July-2020)
[Compare Source](https://redirect.github.com/jsdoc/jsdoc/compare/3.6.4...3.6.5)
Prevents circular references in doclets when two function parameters use the same type expression,
and the `--debug` flag is present.
### [`v3.6.4`](https://redirect.github.com/jsdoc/jsdoc/blob/HEAD/CHANGES.md#364-April-2020)
[Compare Source](https://redirect.github.com/jsdoc/jsdoc/compare/3.6.3...3.6.4)
Updates dependencies.
### [`v3.6.3`](https://redirect.github.com/jsdoc/jsdoc/blob/HEAD/CHANGES.md#363-July-2019)
[Compare Source](https://redirect.github.com/jsdoc/jsdoc/compare/3.6.2...3.6.3)
Updates dependencies.
### [`v3.6.2`](https://redirect.github.com/jsdoc/jsdoc/blob/HEAD/CHANGES.md#362-May-2019)
[Compare Source](https://redirect.github.com/jsdoc/jsdoc/compare/3.6.1...3.6.2)
Fixes an issue that prevented ES 2015 classes from appearing in generated docs. (\[[#1644](https://redirect.github.com/jsdoc/jsdoc/issues/1644)]\[1644])
### [`v3.6.1`](https://redirect.github.com/jsdoc/jsdoc/blob/HEAD/CHANGES.md#3611-July-2022)
[Compare Source](https://redirect.github.com/jsdoc/jsdoc/compare/3.6.0...3.6.1)
Updates dependency versions to make JSDoc compatible with Node.js 12.0.0 and later.
### [`v3.6.0`](https://redirect.github.com/jsdoc/jsdoc/blob/HEAD/CHANGES.md#360-May-2019)
[Compare Source](https://redirect.github.com/jsdoc/jsdoc/compare/3.5.5...3.6.0)
##### Major changes
- JSDoc is now compatible with Node.js 12, and it requires Node.js 8.15.0 or later.
- JSDoc now recognizes all documented Closure Compiler tags. (\[[#605](https://redirect.github.com/jsdoc/jsdoc/issues/605)]\[605])
##### Enhancements
- You can now use the `templates.useShortNamesInLinks` configuration setting to show the short name
of each symbol in link text (for example, `baz`), rather than the full longname (for example,
`foo.bar.baz`). (\[[#738](https://redirect.github.com/jsdoc/jsdoc/issues/738)]\[738])
- When you enable the Markdown plugin, you can now specify a function that performs syntax
highlighting in code blocks. (\[[#1412](https://redirect.github.com/jsdoc/jsdoc/issues/1412)]\[1412])
- The default template now places namespaces near the top of the TOC. (\[[#1410](https://redirect.github.com/jsdoc/jsdoc/issues/1410)]\[1410])
##### Bug fixes
- When you add a JSDoc comment to an ES2015 constructor, JSDoc now preserves all of the JSDoc tags,
not only the description and parameters. (\[[#1129](https://redirect.github.com/jsdoc/jsdoc/issues/1129)]\[1129])
- The `@exports` tag now works correctly when it is combined with the `@enum` tag. (\[[#970](https://redirect.github.com/jsdoc/jsdoc/issues/970)]\[970])
- When you enable the Markdown plugin, and you use a code fence with the language set to `plain`,
JSDoc no longer pretty-prints the code block in the generated documentation. (\[[#1361](https://redirect.github.com/jsdoc/jsdoc/issues/1361)]\[1361])
### [`v3.5.5`](https://redirect.github.com/jsdoc/jsdoc/blob/HEAD/CHANGES.md#355-September-2017)
[Compare Source](https://redirect.github.com/jsdoc/jsdoc/compare/3.5.4...3.5.5)
Fixes a compatibility issue with Node.js 8.5.0. ([#1438](https://redirect.github.com/jsdoc/jsdoc/issues/1438))
### [`v3.5.4`](https://redirect.github.com/jsdoc/jsdoc/blob/HEAD/CHANGES.md#354-August-2017)
[Compare Source](https://redirect.github.com/jsdoc/jsdoc/compare/3.5.3...3.5.4)
- When a class uses the `@hideconstructor` tag, the default template no longer displays the names of
parameters that the constructor accepts. ([#1397](https://redirect.github.com/jsdoc/jsdoc/issues/1397))
- When an arrow function expression returns a class, the class's methods and properties are now
named correctly. ([#1409](https://redirect.github.com/jsdoc/jsdoc/issues/1409))
- JSDoc no longer crashes when an anonymous class is passed as a function parameter. ([#1416](https://redirect.github.com/jsdoc/jsdoc/issues/1416))
- JSDoc now allows `import` and `export` declarations anywhere where a statement is allowed. ([#1411](https://redirect.github.com/jsdoc/jsdoc/issues/1411))
- JSDoc now allows `return` statements outside of functions. ([#1411](https://redirect.github.com/jsdoc/jsdoc/issues/1411))
- JSDoc now allows `super()` calls outside of a method definition. ([#1411](https://redirect.github.com/jsdoc/jsdoc/issues/1411))
- JSDoc no longer exits before the `STDOUT` pipe has been flushed. ([#1408](https://redirect.github.com/jsdoc/jsdoc/issues/1408))
### [`v3.5.3`](https://redirect.github.com/jsdoc/jsdoc/blob/HEAD/CHANGES.md#353-July-2017)
[Compare Source](https://redirect.github.com/jsdoc/jsdoc/compare/3.5.2...3.5.3)
- Non-JSDoc comments (comments that do not begin with `/**`) are now ignored. ([#1398](https://redirect.github.com/jsdoc/jsdoc/issues/1398))
- JSDoc no longer crashes when it parses a class property with no value assigned to it. ([#1400](https://redirect.github.com/jsdoc/jsdoc/issues/1400))
- When there are JSDoc comments at the end of a source file that has a `'use strict';` directive,
the comments are no longer ignored. ([#1396](https://redirect.github.com/jsdoc/jsdoc/issues/1396))
- Namepaths that contain an `@` sign (for example, `module:@prefix/my-module~myCallback`) are now
parsed correctly. ([#1302](https://redirect.github.com/jsdoc/jsdoc/issues/1302))
- The default template now displays interfaces that belong to a namespace. ([#1406](https://redirect.github.com/jsdoc/jsdoc/issues/1406))
- When an ES2015 class inside a module uses an `@alias` tag, the class's constructor now gets the
correct longname. ([#1395](https://redirect.github.com/jsdoc/jsdoc/issues/1395))
- When there are no input files to process, JSDoc no longer prints help text to the console. ([#1404](https://redirect.github.com/jsdoc/jsdoc/issues/1404))
### [`v3.5.2`](https://redirect.github.com/jsdoc/jsdoc/blob/HEAD/CHANGES.md#352-July-2017)
[Compare Source](https://redirect.github.com/jsdoc/jsdoc/compare/3.5.1...3.5.2)
- The default template now hides parameters and properties for class constructors that are hidden
with the `@hideconstructor` tag. ([#1397](https://redirect.github.com/jsdoc/jsdoc/issues/1397))
- JSDoc now uses an improved algorithm for locating plugins and template resources. ([#1394](https://redirect.github.com/jsdoc/jsdoc/issues/1394))
- When the `@alias` tag identifies an instance member (for example, `@alias Foo#bar`), the alias is
now applied correctly. ([#1385](https://redirect.github.com/jsdoc/jsdoc/issues/1385))
- When the `@alias` tag is applied to a class that is within a module and is aliased to the module
name, the class's instance members are now documented correctly. ([#1134](https://redirect.github.com/jsdoc/jsdoc/issues/1134))
- Fixed a crash when a `@param` tag uses the wrong delimiter to close the type expression (for
example, `@param {Object)`). ([#1221](https://redirect.github.com/jsdoc/jsdoc/issues/1221))
- The Markdown plugin now converts Markdown-formatted text in the `@summary` tag. ([#1149](https://redirect.github.com/jsdoc/jsdoc/issues/1149))
### [`v3.5.1`](https://redirect.github.com/jsdoc/jsdoc/blob/HEAD/CHANGES.md#351-July-2017)
[Compare Source](https://redirect.github.com/jsdoc/jsdoc/compare/3.5.0...3.5.1)
- Fixed an issue that prevented JSDoc from working on versions of Node.js prior to 5.10.0. ([#1393](https://redirect.github.com/jsdoc/jsdoc/issues/1393))
- If the JSDoc configuration file does not have a file extension, JSDoc now assumes that the file
is in JSON format. ([#1391](https://redirect.github.com/jsdoc/jsdoc/issues/1391))
### [`v3.5.0`](https://redirect.github.com/jsdoc/jsdoc/blob/HEAD/CHANGES.md#350-July-2017)
[Compare Source](https://redirect.github.com/jsdoc/jsdoc/compare/3.4.3...3.5.0)
##### Major changes
- JSDoc now uses the [Babylon](https://redirect.github.com/babel/babylon) JavaScript parser, which means that
JSDoc can parse any JavaScript or JSX file that is supported by the [Babel](https://babeljs.io/)
compiler. For example, JSDoc can now parse JavaScript files that include all of the following
language features:
+ [Decorators](https://redirect.github.com/tc39/proposal-decorators)
+ [Public and private class fields](https://redirect.github.com/tc39/proposal-class-fields)
+ [Asynchronous iterators](https://redirect.github.com/tc39/proposal-async-iteration)
+ [Dynamic `import()`](https://redirect.github.com/tc39/proposal-dynamic-import)
+ [Optional chaining](https://redirect.github.com/tc39/proposal-optional-chaining)
- You can now use a JavaScript file to configure JSDoc. The JavaScript file must be a CommonJS
module that exports a single configuration object. See the
[documentation](https://jsdoc.app/about-configuring-jsdoc.html) for details and examples.
- Fixed multiple issues with documenting ES2015 classes and modules. See "Bug fixes" for details.
- JSDoc now requires Node.js 4.2.0 or later.
##### New tags
**Note**: Third-party templates may not support these new tags.
- You can now use the new [`@async` tag](https://jsdoc.app/tags-async.html) to indicate that a
function is asynchronous (that is, that it was declared with the syntax `async function foo() {}`).
In general, you do not need to use this tag, because JSDoc autodetects asynchronous functions.
([#1188](https://redirect.github.com/jsdoc/jsdoc/issues/1188))
- You can now use the new [`@generator` tag](https://jsdoc.app/tags-generator.html) to indicate
that a function is a generator function. In general, you do not need to use this tag, because JSDoc
autodetects generator functions. ([#1158](https://redirect.github.com/jsdoc/jsdoc/issues/1158))
- You can now use the new [`@hideconstructor` tag](https://jsdoc.app/tags-hideconstructor.html) to
tell JSDoc to hide a class's constructor from the documentation. ([#952](https://redirect.github.com/jsdoc/jsdoc/issues/952))
- You can now use the new [`@package` tag](https://jsdoc.app/tags-package.html) to indicate that a
symbol is package-private. ([#962](https://redirect.github.com/jsdoc/jsdoc/issues/962))
- You can now use the new [`@yields` tag](https://jsdoc.app/tags-yields.html) to document the
value that is yielded by a generator function. ([#1388](https://redirect.github.com/jsdoc/jsdoc/issues/1388))
##### Enhancements
- JSDoc can now parse files that contain asynchronous functions (that is, functions declared as
`async function foo() {}`), and JSDoc autodetects when a function is asynchronous. ([#1188](https://redirect.github.com/jsdoc/jsdoc/issues/1188))
- JSDoc now autodetects generator functions. ([#1158](https://redirect.github.com/jsdoc/jsdoc/issues/1158))
- When JSDoc cannot parse a type expression, it now logs the line number on which the type
expression was found. ([#1057](https://redirect.github.com/jsdoc/jsdoc/issues/1057))
- When JSDoc fires `jsdocCommentFound` and `symbolFound` events, the event now includes a `columnno`
property indicating the column number on which the comment or symbol was found. ([#1362](https://redirect.github.com/jsdoc/jsdoc/issues/1362))
- You can now use the new `sourceType` configuration option to control how JavaScript files are
parsed. The default value is `module`. Set the value to `script` to suppress implied strict mode;
this setting will also prevent you from using ES2015 modules. ([#1210](https://redirect.github.com/jsdoc/jsdoc/issues/1210))
- You can now use the new `recurseDepth` configuration option to control how many levels deep JSDoc
will recursively search for files. The default value is 10. ([#1340](https://redirect.github.com/jsdoc/jsdoc/issues/1340))
##### Bug fixes
- JSDoc now correctly documents the constructors and instance properties of ES2015 classes. ([#1182](https://redirect.github.com/jsdoc/jsdoc/issues/1182))
- JSDoc now correctly documents the constructor of an ES2015 class exported from an ES2015 module.
([#1272](https://redirect.github.com/jsdoc/jsdoc/issues/1272))
- JSDoc now uses the correct scope for exported symbols, and their children, in ES2015 modules.
([#1293](https://redirect.github.com/jsdoc/jsdoc/issues/1293))
- When JSDoc is run in a directory that has a `plugins/` or `templates/` directory, JSDoc can now
discover plugins and templates in other directories. ([#1081](https://redirect.github.com/jsdoc/jsdoc/issues/1081), [#1308](https://redirect.github.com/jsdoc/jsdoc/issues/1308))
- JSDoc no longer crashes when it reads a UTF-8 JSON file with a leading BOM. ([#1256](https://redirect.github.com/jsdoc/jsdoc/issues/1256), [#1297](https://redirect.github.com/jsdoc/jsdoc/issues/1297))
- When a function is assigned to a variable, JSDoc now autodetects the function's default and
repeatable parameters. ([#1054](https://redirect.github.com/jsdoc/jsdoc/issues/1054))
- JSDoc no longer crashes when the `@author` tag does not have a value. ([#1289](https://redirect.github.com/jsdoc/jsdoc/issues/1289))
- JSDoc now always calls `process.exit()` when exiting. ([#1287](https://redirect.github.com/jsdoc/jsdoc/issues/1287))
##### Default template
- The default template now identifies asynchronous and generator functions. ([#1158](https://redirect.github.com/jsdoc/jsdoc/issues/1158), [#1188](https://redirect.github.com/jsdoc/jsdoc/issues/1188))
- The default template now displays appropriate documentation for namespaces that are also
functions. ([#955](https://redirect.github.com/jsdoc/jsdoc/issues/955))
- Images that are wider than the text area are now displayed correctly. ([#1359](https://redirect.github.com/jsdoc/jsdoc/issues/1359))
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR contains the following updates:
^3.4.0
->^4.0.0
Release Notes
jsdoc/jsdoc (jsdoc)
### [`v4.0.4`](https://redirect.github.com/jsdoc/jsdoc/releases/tag/4.0.4): JSDoc 4.0.4 [Compare Source](https://redirect.github.com/jsdoc/jsdoc/compare/4.0.3...4.0.4) Fixes a compatibility issue with Node.js 23. ### [`v4.0.3`](https://redirect.github.com/jsdoc/jsdoc/compare/4.0.2...4.0.3) [Compare Source](https://redirect.github.com/jsdoc/jsdoc/compare/4.0.2...4.0.3) ### [`v4.0.2`](https://redirect.github.com/jsdoc/jsdoc/compare/4.0.1...4.0.2) [Compare Source](https://redirect.github.com/jsdoc/jsdoc/compare/4.0.1...4.0.2) ### [`v4.0.1`](https://redirect.github.com/jsdoc/jsdoc/compare/084218523a7d69fec14a852ce680f374f526af28...4.0.1) [Compare Source](https://redirect.github.com/jsdoc/jsdoc/compare/084218523a7d69fec14a852ce680f374f526af28...4.0.1) ### [`v4.0.0`](https://redirect.github.com/jsdoc/jsdoc/blob/HEAD/CHANGES.md#400-November-2022) [Compare Source](https://redirect.github.com/jsdoc/jsdoc/compare/3.6.11...084218523a7d69fec14a852ce680f374f526af28) - JSDoc releases now use [semantic versioning](https://semver.org/). If JSDoc makes backwards-incompatible changes in the future, the major version will be incremented. - JSDoc no longer uses the [`taffydb`](https://taffydb.com/) package. If your JSDoc template or plugin uses the `taffydb` package, see the [instructions for replacing `taffydb` with `@jsdoc/salty`](https://redirect.github.com/jsdoc/jsdoc/tree/main/packages/jsdoc-salty#use-salty-in-a-jsdoc-template). - JSDoc now supports Node.js 12.0.0 and later. ### [`v3.6.11`](https://redirect.github.com/jsdoc/jsdoc/blob/HEAD/CHANGES.md#3611-July-2022) [Compare Source](https://redirect.github.com/jsdoc/jsdoc/compare/3.6.10...3.6.11) Updates dependency versions to make JSDoc compatible with Node.js 12.0.0 and later. ### [`v3.6.10`](https://redirect.github.com/jsdoc/jsdoc/blob/HEAD/CHANGES.md#3610-January-2022) [Compare Source](https://redirect.github.com/jsdoc/jsdoc/compare/3.6.9...3.6.10) Fixes an issue in JSDoc 3.6.9 that prevented JSDoc from being installed in some continuous integration (CI) environments. ### [`v3.6.9`](https://redirect.github.com/jsdoc/jsdoc/blob/HEAD/CHANGES.md#369-January-2022) [Compare Source](https://redirect.github.com/jsdoc/jsdoc/compare/3.6.8...3.6.9) Fixes an issue in JSDoc 3.6.8 that prevented `npm install jsdoc` from working. ### [`v3.6.8`](https://redirect.github.com/jsdoc/jsdoc/blob/HEAD/CHANGES.md#368-January-2022) [Compare Source](https://redirect.github.com/jsdoc/jsdoc/compare/3.6.7...3.6.8) Updates dependencies. ### [`v3.6.7`](https://redirect.github.com/jsdoc/jsdoc/blob/HEAD/CHANGES.md#367-May-2021) [Compare Source](https://redirect.github.com/jsdoc/jsdoc/compare/3.6.6...3.6.7) Updates dependencies. ### [`v3.6.6`](https://redirect.github.com/jsdoc/jsdoc/blob/HEAD/CHANGES.md#366-September-2020) [Compare Source](https://redirect.github.com/jsdoc/jsdoc/compare/3.6.5...3.6.6) Fixes an issue that could cause members of an interface to be tracked incorrectly if the interface was both defined as an ES2015 class and assigned to a variable. For example: ```js /** @interface */ foo.Bar = class { constructor() { /** This member was missing from the generated docs. */ this.baz = null; } }; ``` ### [`v3.6.5`](https://redirect.github.com/jsdoc/jsdoc/blob/HEAD/CHANGES.md#365-July-2020) [Compare Source](https://redirect.github.com/jsdoc/jsdoc/compare/3.6.4...3.6.5) Prevents circular references in doclets when two function parameters use the same type expression, and the `--debug` flag is present. ### [`v3.6.4`](https://redirect.github.com/jsdoc/jsdoc/blob/HEAD/CHANGES.md#364-April-2020) [Compare Source](https://redirect.github.com/jsdoc/jsdoc/compare/3.6.3...3.6.4) Updates dependencies. ### [`v3.6.3`](https://redirect.github.com/jsdoc/jsdoc/blob/HEAD/CHANGES.md#363-July-2019) [Compare Source](https://redirect.github.com/jsdoc/jsdoc/compare/3.6.2...3.6.3) Updates dependencies. ### [`v3.6.2`](https://redirect.github.com/jsdoc/jsdoc/blob/HEAD/CHANGES.md#362-May-2019) [Compare Source](https://redirect.github.com/jsdoc/jsdoc/compare/3.6.1...3.6.2) Fixes an issue that prevented ES 2015 classes from appearing in generated docs. (\[[#1644](https://redirect.github.com/jsdoc/jsdoc/issues/1644)]\[1644]) ### [`v3.6.1`](https://redirect.github.com/jsdoc/jsdoc/blob/HEAD/CHANGES.md#3611-July-2022) [Compare Source](https://redirect.github.com/jsdoc/jsdoc/compare/3.6.0...3.6.1) Updates dependency versions to make JSDoc compatible with Node.js 12.0.0 and later. ### [`v3.6.0`](https://redirect.github.com/jsdoc/jsdoc/blob/HEAD/CHANGES.md#360-May-2019) [Compare Source](https://redirect.github.com/jsdoc/jsdoc/compare/3.5.5...3.6.0) ##### Major changes - JSDoc is now compatible with Node.js 12, and it requires Node.js 8.15.0 or later. - JSDoc now recognizes all documented Closure Compiler tags. (\[[#605](https://redirect.github.com/jsdoc/jsdoc/issues/605)]\[605]) ##### Enhancements - You can now use the `templates.useShortNamesInLinks` configuration setting to show the short name of each symbol in link text (for example, `baz`), rather than the full longname (for example, `foo.bar.baz`). (\[[#738](https://redirect.github.com/jsdoc/jsdoc/issues/738)]\[738]) - When you enable the Markdown plugin, you can now specify a function that performs syntax highlighting in code blocks. (\[[#1412](https://redirect.github.com/jsdoc/jsdoc/issues/1412)]\[1412]) - The default template now places namespaces near the top of the TOC. (\[[#1410](https://redirect.github.com/jsdoc/jsdoc/issues/1410)]\[1410]) ##### Bug fixes - When you add a JSDoc comment to an ES2015 constructor, JSDoc now preserves all of the JSDoc tags, not only the description and parameters. (\[[#1129](https://redirect.github.com/jsdoc/jsdoc/issues/1129)]\[1129]) - The `@exports` tag now works correctly when it is combined with the `@enum` tag. (\[[#970](https://redirect.github.com/jsdoc/jsdoc/issues/970)]\[970]) - When you enable the Markdown plugin, and you use a code fence with the language set to `plain`, JSDoc no longer pretty-prints the code block in the generated documentation. (\[[#1361](https://redirect.github.com/jsdoc/jsdoc/issues/1361)]\[1361]) ### [`v3.5.5`](https://redirect.github.com/jsdoc/jsdoc/blob/HEAD/CHANGES.md#355-September-2017) [Compare Source](https://redirect.github.com/jsdoc/jsdoc/compare/3.5.4...3.5.5) Fixes a compatibility issue with Node.js 8.5.0. ([#1438](https://redirect.github.com/jsdoc/jsdoc/issues/1438)) ### [`v3.5.4`](https://redirect.github.com/jsdoc/jsdoc/blob/HEAD/CHANGES.md#354-August-2017) [Compare Source](https://redirect.github.com/jsdoc/jsdoc/compare/3.5.3...3.5.4) - When a class uses the `@hideconstructor` tag, the default template no longer displays the names of parameters that the constructor accepts. ([#1397](https://redirect.github.com/jsdoc/jsdoc/issues/1397)) - When an arrow function expression returns a class, the class's methods and properties are now named correctly. ([#1409](https://redirect.github.com/jsdoc/jsdoc/issues/1409)) - JSDoc no longer crashes when an anonymous class is passed as a function parameter. ([#1416](https://redirect.github.com/jsdoc/jsdoc/issues/1416)) - JSDoc now allows `import` and `export` declarations anywhere where a statement is allowed. ([#1411](https://redirect.github.com/jsdoc/jsdoc/issues/1411)) - JSDoc now allows `return` statements outside of functions. ([#1411](https://redirect.github.com/jsdoc/jsdoc/issues/1411)) - JSDoc now allows `super()` calls outside of a method definition. ([#1411](https://redirect.github.com/jsdoc/jsdoc/issues/1411)) - JSDoc no longer exits before the `STDOUT` pipe has been flushed. ([#1408](https://redirect.github.com/jsdoc/jsdoc/issues/1408)) ### [`v3.5.3`](https://redirect.github.com/jsdoc/jsdoc/blob/HEAD/CHANGES.md#353-July-2017) [Compare Source](https://redirect.github.com/jsdoc/jsdoc/compare/3.5.2...3.5.3) - Non-JSDoc comments (comments that do not begin with `/**`) are now ignored. ([#1398](https://redirect.github.com/jsdoc/jsdoc/issues/1398)) - JSDoc no longer crashes when it parses a class property with no value assigned to it. ([#1400](https://redirect.github.com/jsdoc/jsdoc/issues/1400)) - When there are JSDoc comments at the end of a source file that has a `'use strict';` directive, the comments are no longer ignored. ([#1396](https://redirect.github.com/jsdoc/jsdoc/issues/1396)) - Namepaths that contain an `@` sign (for example, `module:@prefix/my-module~myCallback`) are now parsed correctly. ([#1302](https://redirect.github.com/jsdoc/jsdoc/issues/1302)) - The default template now displays interfaces that belong to a namespace. ([#1406](https://redirect.github.com/jsdoc/jsdoc/issues/1406)) - When an ES2015 class inside a module uses an `@alias` tag, the class's constructor now gets the correct longname. ([#1395](https://redirect.github.com/jsdoc/jsdoc/issues/1395)) - When there are no input files to process, JSDoc no longer prints help text to the console. ([#1404](https://redirect.github.com/jsdoc/jsdoc/issues/1404)) ### [`v3.5.2`](https://redirect.github.com/jsdoc/jsdoc/blob/HEAD/CHANGES.md#352-July-2017) [Compare Source](https://redirect.github.com/jsdoc/jsdoc/compare/3.5.1...3.5.2) - The default template now hides parameters and properties for class constructors that are hidden with the `@hideconstructor` tag. ([#1397](https://redirect.github.com/jsdoc/jsdoc/issues/1397)) - JSDoc now uses an improved algorithm for locating plugins and template resources. ([#1394](https://redirect.github.com/jsdoc/jsdoc/issues/1394)) - When the `@alias` tag identifies an instance member (for example, `@alias Foo#bar`), the alias is now applied correctly. ([#1385](https://redirect.github.com/jsdoc/jsdoc/issues/1385)) - When the `@alias` tag is applied to a class that is within a module and is aliased to the module name, the class's instance members are now documented correctly. ([#1134](https://redirect.github.com/jsdoc/jsdoc/issues/1134)) - Fixed a crash when a `@param` tag uses the wrong delimiter to close the type expression (for example, `@param {Object)`). ([#1221](https://redirect.github.com/jsdoc/jsdoc/issues/1221)) - The Markdown plugin now converts Markdown-formatted text in the `@summary` tag. ([#1149](https://redirect.github.com/jsdoc/jsdoc/issues/1149)) ### [`v3.5.1`](https://redirect.github.com/jsdoc/jsdoc/blob/HEAD/CHANGES.md#351-July-2017) [Compare Source](https://redirect.github.com/jsdoc/jsdoc/compare/3.5.0...3.5.1) - Fixed an issue that prevented JSDoc from working on versions of Node.js prior to 5.10.0. ([#1393](https://redirect.github.com/jsdoc/jsdoc/issues/1393)) - If the JSDoc configuration file does not have a file extension, JSDoc now assumes that the file is in JSON format. ([#1391](https://redirect.github.com/jsdoc/jsdoc/issues/1391)) ### [`v3.5.0`](https://redirect.github.com/jsdoc/jsdoc/blob/HEAD/CHANGES.md#350-July-2017) [Compare Source](https://redirect.github.com/jsdoc/jsdoc/compare/3.4.3...3.5.0) ##### Major changes - JSDoc now uses the [Babylon](https://redirect.github.com/babel/babylon) JavaScript parser, which means that JSDoc can parse any JavaScript or JSX file that is supported by the [Babel](https://babeljs.io/) compiler. For example, JSDoc can now parse JavaScript files that include all of the following language features: + [Decorators](https://redirect.github.com/tc39/proposal-decorators) + [Public and private class fields](https://redirect.github.com/tc39/proposal-class-fields) + [Asynchronous iterators](https://redirect.github.com/tc39/proposal-async-iteration) + [Dynamic `import()`](https://redirect.github.com/tc39/proposal-dynamic-import) + [Optional chaining](https://redirect.github.com/tc39/proposal-optional-chaining) - You can now use a JavaScript file to configure JSDoc. The JavaScript file must be a CommonJS module that exports a single configuration object. See the [documentation](https://jsdoc.app/about-configuring-jsdoc.html) for details and examples. - Fixed multiple issues with documenting ES2015 classes and modules. See "Bug fixes" for details. - JSDoc now requires Node.js 4.2.0 or later. ##### New tags **Note**: Third-party templates may not support these new tags. - You can now use the new [`@async` tag](https://jsdoc.app/tags-async.html) to indicate that a function is asynchronous (that is, that it was declared with the syntax `async function foo() {}`). In general, you do not need to use this tag, because JSDoc autodetects asynchronous functions. ([#1188](https://redirect.github.com/jsdoc/jsdoc/issues/1188)) - You can now use the new [`@generator` tag](https://jsdoc.app/tags-generator.html) to indicate that a function is a generator function. In general, you do not need to use this tag, because JSDoc autodetects generator functions. ([#1158](https://redirect.github.com/jsdoc/jsdoc/issues/1158)) - You can now use the new [`@hideconstructor` tag](https://jsdoc.app/tags-hideconstructor.html) to tell JSDoc to hide a class's constructor from the documentation. ([#952](https://redirect.github.com/jsdoc/jsdoc/issues/952)) - You can now use the new [`@package` tag](https://jsdoc.app/tags-package.html) to indicate that a symbol is package-private. ([#962](https://redirect.github.com/jsdoc/jsdoc/issues/962)) - You can now use the new [`@yields` tag](https://jsdoc.app/tags-yields.html) to document the value that is yielded by a generator function. ([#1388](https://redirect.github.com/jsdoc/jsdoc/issues/1388)) ##### Enhancements - JSDoc can now parse files that contain asynchronous functions (that is, functions declared as `async function foo() {}`), and JSDoc autodetects when a function is asynchronous. ([#1188](https://redirect.github.com/jsdoc/jsdoc/issues/1188)) - JSDoc now autodetects generator functions. ([#1158](https://redirect.github.com/jsdoc/jsdoc/issues/1158)) - When JSDoc cannot parse a type expression, it now logs the line number on which the type expression was found. ([#1057](https://redirect.github.com/jsdoc/jsdoc/issues/1057)) - When JSDoc fires `jsdocCommentFound` and `symbolFound` events, the event now includes a `columnno` property indicating the column number on which the comment or symbol was found. ([#1362](https://redirect.github.com/jsdoc/jsdoc/issues/1362)) - You can now use the new `sourceType` configuration option to control how JavaScript files are parsed. The default value is `module`. Set the value to `script` to suppress implied strict mode; this setting will also prevent you from using ES2015 modules. ([#1210](https://redirect.github.com/jsdoc/jsdoc/issues/1210)) - You can now use the new `recurseDepth` configuration option to control how many levels deep JSDoc will recursively search for files. The default value is 10. ([#1340](https://redirect.github.com/jsdoc/jsdoc/issues/1340)) ##### Bug fixes - JSDoc now correctly documents the constructors and instance properties of ES2015 classes. ([#1182](https://redirect.github.com/jsdoc/jsdoc/issues/1182)) - JSDoc now correctly documents the constructor of an ES2015 class exported from an ES2015 module. ([#1272](https://redirect.github.com/jsdoc/jsdoc/issues/1272)) - JSDoc now uses the correct scope for exported symbols, and their children, in ES2015 modules. ([#1293](https://redirect.github.com/jsdoc/jsdoc/issues/1293)) - When JSDoc is run in a directory that has a `plugins/` or `templates/` directory, JSDoc can now discover plugins and templates in other directories. ([#1081](https://redirect.github.com/jsdoc/jsdoc/issues/1081), [#1308](https://redirect.github.com/jsdoc/jsdoc/issues/1308)) - JSDoc no longer crashes when it reads a UTF-8 JSON file with a leading BOM. ([#1256](https://redirect.github.com/jsdoc/jsdoc/issues/1256), [#1297](https://redirect.github.com/jsdoc/jsdoc/issues/1297)) - When a function is assigned to a variable, JSDoc now autodetects the function's default and repeatable parameters. ([#1054](https://redirect.github.com/jsdoc/jsdoc/issues/1054)) - JSDoc no longer crashes when the `@author` tag does not have a value. ([#1289](https://redirect.github.com/jsdoc/jsdoc/issues/1289)) - JSDoc now always calls `process.exit()` when exiting. ([#1287](https://redirect.github.com/jsdoc/jsdoc/issues/1287)) ##### Default template - The default template now identifies asynchronous and generator functions. ([#1158](https://redirect.github.com/jsdoc/jsdoc/issues/1158), [#1188](https://redirect.github.com/jsdoc/jsdoc/issues/1188)) - The default template now displays appropriate documentation for namespaces that are also functions. ([#955](https://redirect.github.com/jsdoc/jsdoc/issues/955)) - Images that are wider than the text area are now displayed correctly. ([#1359](https://redirect.github.com/jsdoc/jsdoc/issues/1359))Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.