All Versions
100
Latest Version
Avg Release Cycle
49 days
Latest Release
1109 days ago

Changelog History
Page 10

  • v3.0.2 Changes

    • ๐Ÿ›  Infer rest parameters. Fixes #223
    • ๐Ÿ‘• Avoid filtering comments in lint mode. Fixes #186
    • ๐Ÿ›  Nest both properties and params. Fixes #164
  • v3.0.1 Changes

    • ๐Ÿ›  BUGFIX: Fix default theme resolution #212
  • v3.0.0 Changes

    ๐Ÿ“š The largest change to documentation.js so far.

    โฌ‡๏ธ Dropping streams

    ๐Ÿ“š This a major refactor of the documentation.js interface with a focus on ๐Ÿ“š simplifying the system. Up until this point, documentation.js was built around node.js streams, which are low-level representations of asynchronous series of data. While this abstraction was appropriate for the input and github streams, which are asynchronous, the ๐Ÿ“š majority of documentation.js's internals are simple and synchronous functions for which basic functional composition makes more sense than stream semantics.

    ๐Ÿ“š Documentation 3.0.0 uses simple functional composition for operations like parmameter inference, rather than streams.

    ๐Ÿ‘ Stronger support for ES6, ES7, and Flow

    ๐Ÿ“œ We've switched to Babel as our source code parser, ๐Ÿ‘ which means that we have much broader support of new JavaScript features, including import/export syntax and new features in ES6.

    ๐Ÿ“œ Babel also parses Flow type annotations, and new inference code means that we can infer

    • Parameter names & types
    • Return types

    Without any explicit JSDoc tags. This means that for many simple functions, ๐Ÿ“š we can generate great documentation with less writing.

    ๐Ÿ‘ Stronger module support

    ๐Ÿ“š Documentation.js now has much better inference for membership and names of symbols exported via exports or module.exports.

    ๐Ÿ‘Œ Support for nested symbols

    The parent/child relationship between symbols is now fully hierarchical, and symbols can be nested to any depth. For instance:

    /**
     * A global Parent class.
     */
    var Parent = function () {};
    
    /**
     * A Child class.
     */
    Parent.Child = function () {};
    
    /**
     * A Grandchild class.
     */
    Parent.Child.Grandchild = function () {};
    

    In addition, filtering by access is now applied to the entire hierarchy: if you mark a class as @private, neither it nor its children will be included in the 0๏ธโƒฃ output by default, regardless of the access specifiers of the children.

    mdast-based Markdown output

    We've switched from templating Markdown output with Handlebars.js to generating an abstract syntax tree of desired output and stringifying it with mdast. ๐Ÿ“š This lets documentation.js output complex Markdown without having to worry about escaping and properly formatting certain elements.

    โœ… Test coverage 100%

    ๐Ÿ“š documentation.js returns to 100% test coverage, so every single line โœ… of code is covered by our large library of text fixtures and specific tests.

    ๐Ÿ‘• --lint mode

    ๐Ÿ“š Specifying the --lint flag makes documentation.js check for non-standard types, like String, or missing namespaces. If the encountered files have ๐Ÿ–จ any problems, it pretty-prints helpful debug messages and exits with status 1, and otherwise exits with no output and status 0.

    ๐Ÿ’ฅ Breaking changes

    • The --version flag is now --project-version. --version now outputs documentation.js's version
  • v2.0.1 Changes

    • ๐Ÿ›  Fixes @param tags that refer to properties of unmentioned objects: these will warn instead of crashing. For instance, /** @param {boolean} foo.bar */.
    • ๐Ÿ”ฆ Expose --shallow option in CLI
  • v2.0.0 Changes

    • ๐Ÿ’ฅ Breaking: Removes docset support from documentation.js: this will be supported by a 3rd party tool in the future. This removal means that we no longer have node-sqlite3 as a dependency, and documentation can be installed on systems without a compile toolchain.
    • ๐Ÿ–จ JSDoc parse errors are now printed to stderr.
    • Parameter tags that document sub-parameters, such as @param {Type} options.option, are now nested under their parent parameter.
    • HTML output now includes events.
    • Error messages now include source file name and line number.
    • @typedef names are now inferred correctly.
  • v1.4.0 Changes

    • Output for the @throws tag.
    • Output in HTML for the @properties tag.
  • v1.3.0 Changes

    • Now infers name from class and event tags
    • ๐Ÿ‘Œ Support for documenting C++ code with the polyglot option and --polyglot CLI option
    • ๐Ÿ›  Fixed github linking
    • ๐Ÿ‘Œ Support for JSDoc3-style bracketed optional parameters, like
    /**
     * @param {Type} [param=defaultValue]
     */
    
  • v1.2.0 Changes

    • ๐Ÿ“ฆ Transforms in package.json browserify.transform fields are now applied to source code so that babel, etc can be supported.
    • ๐Ÿ›  Fixes crash caused by requiring JSON files
  • v1.1.0 Changes

    • โž• Add external option that allows the user to whitelist specific external modules to be included in with documentation.
  • v1.0.7 Changes

    • ๐Ÿ›  Fixes sorting order of documentation
    • Switches order of static and instance members in output