Skip to content

Releases: jsdoc2md/jsdoc-to-markdown

v9.0.0

01 Sep 14:35
Compare
Choose a tag to compare

The default output has not changed. The minimum required Node version is still v12.17. The goals for this release were bug fixing and simplification. Feel free to comment in the release discussion or post an issue.

Breaking changes since v8.0.3

  • Removed .renderSync(), .getTemplateDataSync() and .getJsdocDataSync(). The jsdoc2md API is now async-only.
  • Previously, passing either option.files or option.source was mandatory. Now, it is either option.files, option.source or option.configure. jsdoc2md/jsdoc-api#27

Non-breaking changes

  • Fixed a bug where it was possible for a handlebars template to be passed into the jsdoc-api template option. #303
  • Support clever-links, monospace-links, {@linkcode} and {@linkplain}. #301
  • Fixed a 'maximum call stack size exceeded' error. The user now gets a warning if the malformed input which formerly caused the error is detected. jsdoc2md/dmd#89
  • Fixed an issue where the dmd internal partials failed to load if a user's directory name contained special glob characters. jsdoc2md/dmd#82
  • Added the --EOL option to control line-endings. Fixes jsdoc2md/dmd#92.
  • Fixed an issue where setting { pedantic: false } confused the underlying jsdoc. jsdoc2md/jsdoc-api#22
  • Can now pass an array of strings to .source. jsdoc2md/jsdoc-api#11
  • Added support for @hideconstructor. jsdoc2md/dmd#94
  • Print a warning when the most common mistake is detected (@module tag required) jsdoc2md/dmd#96
  • Fixed an issue where a @example was excluded in the output if the doclet did not contain a description. jsdoc2md/jsdoc-parse#33

Other improvements

  • Greatly optimised the dependency tree - upgraded all deps to their latest versions (removing deprecation warnings) and factored many old modules out of the project.

Upgrade notes

  • Update your code replacing any use of .renderSync(), .getTemplateDataSync() and .getJsdocDataSync() with their async equivalents.
    • To see an example of API usage, see here.

v8.0.0

28 Nov 15:41
Compare
Choose a tag to compare

Breaking change since 7.1.1

  • Upgraded jsdoc-api which now uses jsdoc version v4.0.0 internally. From v4.0.0 onward, jsdoc requires Node v12. This was a breaking change for jsdoc but not for jsdoc2md as it already requires v12+, however this jsdoc2md release is a major version increment just to be on the safe side.

Minor Updates

v7.1.0

28 Nov 15:44
Compare
Choose a tag to compare
  • Restored support for Node v12

v7.0.0

26 Feb 22:52
Compare
Choose a tag to compare

This is a refresher release - there are no API or functional changes.

Breaking change

  • Dropped support for Node.js versions less than v14.

Minor updates

  • Refreshed dependency tree.

v6.0.0

31 May 10:11
Compare
Choose a tag to compare

Breaking changes since v5.0.0

  • Node versions less than v10 are no longer supported

Other fixes

  • Fixed crash when generating very large documentation sets using renderSync jsdoc2md/jsdoc-api#21
  • All dependencies upgraded

v5.0.0

12 May 18:14
Compare
Choose a tag to compare

Breaking changes since v4.0.1

  • Node versions less than v8 are no longer supported

Other fixes

  • Now works on node v12 (since this issue was fixed)
  • Upgraded jsdoc from v3.5.5 to 3.6.2 (via jsdoc-api)
  • Upgraded dmd dependencies to remove distracting and irrelevant security warnings

v4.0.0

18 Jan 15:53
Compare
Choose a tag to compare

Breaking changes since v3.0.4

  • Removed the --html option due to lack of use.

New features

  • Upgraded underlying jsdoc to v3.5.5, meaning jsdoc2md can now process files containing async or await statements natively, without use of a babel plugin.

Upgrade notes

Upgrade recommended. There are no API changes in v4.0.0, it is backward compatible. Assuming you don't need --html you can upgrade safely.

v3.0.0

10 Feb 11:06
Compare
Choose a tag to compare

Breaking changes since v2.0.1

  • Removed support for node versions less than v4.0.0.

This is an optimisation release. By removing the requirement for polyfill libraries (core-js, babel-polyfill etc), the jsdoc2md dependency tree has shrunk to half its previous size.

There are no functional changes in this particular release.

v1.3.8

23 Oct 09:42
Compare
Choose a tag to compare

Upgraded the dependencies and added the usage stats as described in the v2.0.0 release.

No further releases are planned for jsdoc2md version 1.

v2.0.0

09 Oct 22:22
Compare
Choose a tag to compare

This release is intended to freshen up the codebase and make a few improvements while longer-term goals continue to be developed. The majority of improvements relate to performance, the API and dependency tree cleansing - the data and rendered docs output are largely unchanged. For now.

Breaking since 1.3.6

  • Whole new API.
    • The streaming interface has gone in favour of sync (node >= 0.12.0) and async (Promise) methods.
    • Methods added to get raw jsdoc data.
    • Generated docs are cached internally by default. Meaning, repeat runs against the same input will return the previous output straight from cache.
    • source option added, you can now pass in source code as a string.
  • Command-line tool changes
    • Updated the usage guide
    • options added
      • --namepaths returns all namepaths found in the supplied code
      • --source takes source code in as a string. Useful in scripting.
      • --jsdoc returns the raw, unchanged jsdoc data.
      • --clear clears the cache
      • --no-cache skips the cache
      • --version
    • options changed
      • -c is now the alias for --configure instead of --member-index-format to match the jsdoc -c option.
      • --conf option renamed to --configure to match the jsdoc --configure option.
      • --src option renamed to --files to avoid confusion between --src and --source
    • options removed
      • --sort-by and --group-by removed for now, back in a future version or by popular demand.
  • Data and rendered output changes
    • enum is now interpreted as a kind (like member, class etc.) not doclet property, as before. The isEnum property in the --json (and jsdoc-parse) output has gone.
    • @private and @ignored doclets and are now left in the --json (jsdoc-parse) data, and filtered out at template (dmd) level instead.

Other updates

Dependency tree

Old package and deprecation warnings should now be gone.

Documentation

Fresh tutorials in the wiki, more to come.

Usage stats

I'm curious to know whether i can drop node 0.10 or 0.12 support. Also, i'd like to know which features are used/unused, need improving or better documentation. So, the tool keeps count of the features and node versions used. Only count totals are sent, no data, filenames or source code.

To disable collection of stats, run this command:

$ echo '{ "no-usage-stats": true }' > ~/.jsdoc2md.json

jsdoc-parse changes

  • Streaming interface removed. jsdoc-parse now exports a single, synchronous function to transform the raw jsdoc data.
  • CLI removed.

dmd changes

  • Streaming interface removed. dmd now exports both sync and sync functions generate the markdown output.
  • Memoisation cache added to speed up repeat invocations.
  • CLI removed.