Skip to content
nene edited this page Mar 25, 2013 · 96 revisions

5.0.0 beta - New custom tags system (February 25th, 2013)

4.7.1 - Fix Guides/Videos/Examples pages in IE 10 (March 25th, 2013)

  • Fix IE 10 not opening page when guide/video/example icon clicked.

4.7.0 - Make JSDuck runnable outside of Rubygems ecosystem (March 22nd, 2013)

  • Remove needless require 'rubygems' statements from source.
  • Use ExecJS to allow other JavaScript runtimes besides therubyracer (e.g. nodejs).
  • Automatically read config from jsduck.json file, if present in current dir.
  • Add "Open in new window" button to basic (non-touch) examples page.
  • Add {DATE} and {JSDUCK} placeholders to --footer.
  • Add --message option for displaying prominent warning message in docs.
  • Add --debug option (equivalent of --template=template --template-links).

4.6.2 - Improve {@img} and HTML auto-correction (February 25th, 2013)

  • Add width and height attributes to expanded {@img} tags.
  • Report bad {@img} links in guides.
  • Handle excessive close tags in HTML auto-correction.
  • Remove min-width constraints from Docs app.
  • Improve class name auto-detection (previously only certain classnames got detected).
  • Fix crash when auto-detecting anonymous function.
  • Fix method docs of builtin Date class.
  • Fix corner case when handling indented code.

4.6.1 - Bugfixes and ECMAScript 5 docs (January 17th, 2013)

  • Allow Markdown files to be used with --welcome option.
  • Avoid flickering of the search results dropdown when search fails.
  • Ignore hidden members when counting of new members in classes overview page.
  • Include ECMAScript 5 methods to the docs created with --builtin-classes option.

4.6.0 - Auto-closing of unclosed HTML tags. (January 9th, 2013)

  • Automatically close unclosed HTML tags and print warnings.
  • New option --ignore-html=TAG to allow custom tags to remain unclosed.
  • Remove restriction of only WebKit browsers when using --touch-examples-ui option.
  • Show title text on loading screen (instead of hard-coded "Sencha Docs").
  • Fix @return info going missing when no return type specified.
  • Fix image paths in nested guides.
  • Escape HTML in bogus type definitions.
  • Improve parsing of string in default values and type definitions.
  • Improve wording of 404 page.
  • Improve checking for circular dependencies.

4.5.1 - Highlighting of new classes in categories view. (December 7th, 2012)

  • Render stars behind new classes in categories view.
  • Fix documentation after @throws getting duplicated.

4.5.0 - Improved @class and @override. (December 6th, 2012)

  • Print warnings for unsupported @tags.
  • Allow use of @class before object literal to document all the literal members as members of the class.
  • Much improved handling of @override tag.
  • Auto-detection of event name when this.fireEvent("foo", ...) syntax used.
  • --ext-namespaces now also effects detection of Ext.extend, Ext.override and Ext.emptyFn.
  • Allow wildcard * in --external option to ignore a whole namespace.
  • Ignore all builtin JS error classes in type definitions.
  • Avoid waiting for fonts.google.com to load before the rest of the docs app.
  • Improve loading speed of class docs.
  • Allow negative numbers in type definitions.
  • Fix dependency from therubyracer gem (the newest version fails to compile).

4.4.1 - Caching improvements and style fixes. (November 20th, 2012)

  • Improve caching of JSDuck resources.
  • Various small style fixes.

4.4.0 - Separation of JSDuck comments server to a separate project. (November 12th, 2012)

4.3.2 - Switch to JS-based solution for mobile browser detection. (October 26th, 2012)

  • Prevent caching problems by using a client-side solution for browser detection.
  • Check for circular dependencies and print error message instead of crashing.
  • Add --comments-url and --comments-domain options for easier integration with comments server.

4.3.1 - Fix failure of doing tags/ and targets/ queries to comments server. (October 24th, 2012)

4.3.0 - Rewrite of comments system frontend (October 24th, 2012)

  • New tagging system for comments.
  • Users without avatars now get auto-generated identicons.
  • Ability to define custom paths for guides.
  • Allow @links to private members.
  • Allow @cfg with subproperties inside class-level doc-comment.
  • Sort mixins/requires/uses lists in export.
  • Constructors are now always public, unless explicitly marked with @private
  • Skip the "this enum is for documentation only" warning for normal enums.

4.2.1 - Patch a few fatal bugs (October 1st, 2012)

  • Fix crash when --encoding option is used.
  • Fix crash in comments server undo_delete/ request.
  • Fix crash of the bin/compare script.
  • Inherit parent type of auto-detected configs/properties.

4.2.0 - New comments index page (October 1st, 2012)

  • New comments index page that gets shown to all users.
  • Improved auto-detection of @chainable tag.
  • Avoid creating excessive amounts of sessions in comments backend.
  • Make @inheritdoc work for inheriting from one member type to another.
  • Remove hard-coded scrolling offset from class overview page.

4.1.1 - Code base cleanup (September 14th, 2012)

  • Support nested grouping of guides/videos/examples.
  • Basic mobile-friendly version of docs.
  • Auto-detection of @chainable tag.
  • Hide parameter types in method signatures.
  • Return values of constructors now default to the owner class.
  • Remove 'api' export type (--export=full can be used instead of --export=api).
  • Remove --stats option. The statistics page wasn't of much use.
  • Fix crash in IE8 when loading a class into view.
  • Upgrade embedded Esprima.js to latest version.
  • Large refactoring of how class members are internally stored.
  • Lots of other refactorings to improve JsDuck code base.
  • Rewrite of comments backend (not available for public use for now).

4.1.0 - Bogus release (September 14th, 2012)

4.0.1 - Some much-needed bug fixes (August 21st, 2012)

  • Show tooltip for stars created by @new tags.
  • Detect doc-comments with @param and @return tags as methods.
  • Eliminate warnings caused by having overrides in requires:[] list.

4.0.0 - New JavaScript parser engine using Esprima.js (August 9th, 2012)

  • Esprima.js-based actual JavaScript parser.
  • Support for enumerations using @enum tag.
  • Auto-generation of @since tags using the new --import option.
  • Support for Ext JS 4 overrides.
  • Overhauled command line help system.
  • More uniform logging and warnings with colors.
  • Default value of --title option changed to "Documentation - JSDuck".
  • Improved display of private, abstract and other class attributes.

3.11.2 - Ext JS 3.4.1 compatibility and print page fixes (August 7th, 2012)

  • Add --ext4-events option to force addition of the last parameter in Ext4 events.
  • Add @chainable tag.
  • Several fixes for print page. The styles are now mostly correct and links work.
  • Make Google font loading work nicely when docs page server over HTTPS.
  • Drop use of Bundler.

3.11.1 - Minor bugfixes (July 26th, 2012)

  • Improve fatal error handling.
  • Avoid crash when guide not found.
  • Default value of --title option changed from "Sencha Docs - Ext JS" to "Ext JS - Sencha Docs".

3.11.0 - Much improved SCSS variables/mixins support (June 5th, 2012)

  • An actual proper SCSS lexer.
  • Improved auto-detection of SCSS variables.
  • Support for @throws tag.
  • Allow --ext-namespaces to contain dots in names.
  • Notify when posting comment to inherited member.

3.10.5 - Comments improvements (May 23rd, 2012)

  • Remember recent comments page settings.
  • Hiding comments by current user.
  • Remove comment action types.
  • Improve comments date formatting.
  • Fix regression in API search results sorting.
  • Fix rendering of Google Closure compiler type annotations.

3.10.4 - Comments server improvements (May 16th, 2012)

  • Fix crash of recent comments page when no comments.
  • Implement sorting of recent comments by score.

3.10.3 - Fix JS error on welcome page (May 14th, 2012)

3.10.2 - Fixes for inline examples (May 14th, 2012)

  • Fix default ExtJS path for inline examples.
  • Fix header icon for singleton components.
  • Fix overly large size of Windows executable.

3.10.1 - CodeMirror upgrade and better IE support (May 11th, 2012)

  • Upgraded CodeMirror editor to 2.24 and enable line-wrapping when editing Markdown.
  • Fix regressions with guides in previous version.
  • Fix bug with it being possible to drag class overview page out of view.
  • Fix inline examples in IE7/8.
  • Fix toggling by package/inheritance in IE7/8.
  • Style fixes for IE7/8.

3.10.0 - Inline examples test page (May 4th, 2012)

  • Added --tests option which creates testing page for all inline examples. If you have you own eg-iframe.html file, then see the updated Inline examples section in Advanced usage guide.
  • Added --export=examples option which exports inline examples as JSON.
  • Added --no-source option which disables output of source files and hides related links.
  • Switch from Typekit to Google Web Fonts - heading font is no more restricted to just sencha.com.
  • Allow Docs app to run inside iframe.
  • Fix navigation to hidden members.
  • Various style fixes.

3.9.1 - Switch to final Ext JS 4.1 (April 25th, 2012)

  • Built using latest sencha SDK tools 2 beta3.

3.9.0 - Switch front-end to Ext JS 4.1 (April 17th, 2012)

  • Bunch of fixes to make it run on Ext JS 4.1.
  • Fix regression with guide page styles.
  • Fix regression with CodeMirror editor styles.

3.8.4 - Bug fixes (April 9th, 2012)

  • Fix regression in CodeMirror editor styles.
  • Fix avatar images in comments.
  • Better handling of fatal parse errors.

3.8.3 - Bug fixes (April 5th, 2012)

  • Fix login from comments block.
  • Friendlier error messsages.
  • Further steps to adopting Ext JS 4.1.

3.8.2 - Bug fixes (March 29th, 2012)

  • Various IE fixes.
  • Fix history navigation in Firefox.
  • Fixes to comments system.
  • Only load TypeKit fonts when on sencha.com site.
  • CSS refactorings.
  • Initial steps in adopting Ext JS 4.1.

3.8.1 - Fixed version info (March 15th, 2012)

3.8.0 - Ruby 1.9 finally supported (March 15th, 2012)

  • Full support for Google Closure Compiler Type Expressions.
  • Improved encodings support and new --encoding option.
  • New {@video} tag for easy inclusion of videos.
  • Improved search. It now includes guides, videos and examples. New icons for aliases and alternate class names. Highlighting of matching parts of words in search results.
  • Improved comments system. Deleting is now accompanied with undo. Fixed commenting of static members. Allow links in comments. Paging of recent comments page works again. Show notification when subscribing to e-mail updates.
  • Duplicate overflow menu as context menu for all tabs.
  • Completely remove deprecated --no-warnings option.
  • Fix infinite loop when exporting JSON.
  • Sort constructors first again in member hover-menus.

3.7.0 - Improved inline examples (February 29th, 2012)

  • Inline examples now load faster as the code editor isn't started right away.
  • Support @inheritdoc on classes, and short syntax for local members: @inheritdoc #method.
  • --examples-base-url now also effects example icons.
  • Inline examples no more work out-of-the-box. One has to manually create extjs-build/ dir inside JSDuck output dir.
  • Reduced download size for JSDuck.

3.6.1 - Fix guide icons in @aside tag (February 21st, 2012)

3.6.0 - @hide and @ignore no more equivalent to @private (February 20th, 2012)

  • @hide now only hides parent class members.
  • @ignore completely ignores member of whole class.
  • pri, pro, dep, ... labels in search results.
  • Icons for CSS mixins and variables.
  • Better icon management for guides.
  • Fix crash when @cfg default value is null.

3.5.0 - Lots of work around toggling @deprecated and @removed (February 15th, 2012)

  • Support for @removed tag.
  • Support for @aside tag (this should be considered experimental for now).
  • Custom tags can now position themselves above or below other content.
  • Custom tags can now access guides/examples/videos/... through @assets.
  • Videos and examples JSON can now define "name" field which is used for better URL-s.
  • Videos JSON structure unified with other configs. ("description" instead of "desc", "title" instead of "text", but the old field names will keep on working still).
  • Mixins list separated to "Mixins" and "Inherited mixins".
  • Warnings when mixins, requires, or uses classes are missing.
  • @deprecated and @removed members hidden by default, but can be toggled through "show" menu.
  • Member menus adjust to viewport height, making better use of available space.
  • Member menus fully alphabetically sorted (static members no more at the end).
  • Required config options listed before optional ones on page.
  • "CSS Vars" and "CSS Mixins" menus on toolbar.
  • "Subclasses" and "Mixed into" moved from toolbar to sidebar.
  • New --examples-base-url option to define where examples are located.
  • Allow absolute URL-s for examples.
  • Lots of various fixes.

3.4.1 - Fix @deprecated tag in class context. (January 30th, 2012)

3.4.0 - Toggling of private classes and members. (January 30th, 2012)

  • Private members (those documented with @private, @hide, @ignore) now also included to docs.
  • New menu to toggle public/protected/private members and also inherited members and accessors.
  • Table of Contents for each guide.
  • Few minor fixes.

3.3.1 - Minor fixes and tweaks. (January 19th, 2012)

  • Perform source files writing in parallel (a tiny speedup).
  • Fix too eager member name auto-detection.
  • Fix grayed-out names of private classes in tree panel.
  • Tweaks for comment URL-s.
  • Add Chrome Frame tags.

3.3.0 - Various fixes. (January 4th, 2012)

  • New warning for duplicate member names.
  • Info about overridden members in parent class.
  • Redirect alternate classnames to canonical ones.
  • Detect doc-comment before Ext.emptyFn as method.
  • Allow configs to begin with uppercase letter.
  • Preserve the order of members not belonging to classes.
  • Fix crash when string "function" after doc-comment.
  • Fix crash when documenting anonymous function.
  • Fix hiding of parent members by @private in subclass.

3.2.1 - Config file, auto-linking, extra warnings. (December 7th, 2011)

  • Better automatic linking of class and member names.
  • Search now correctly works for alternateClassNames and aliases.
  • New --config option for loading JSDuck options from JSON file.
  • Support for loading list of input files from JSB file.
  • Support for @readonly, @abstract and @preventable tags.
  • New warning types: link_private, link_ambiguous, link_auto, no_doc.
  • Explicit links to static members using {@link #static-foo}.
  • Improved meta-tags system.
  • Several builtin tags are now implemented as meta-tags: @static, @protected, @deprecated, @template. This means that in the JSON output these tags can be now found in meta section.
  • Bunch of bug fixes etc.

3.2.0 - Bogus gem release. (December 6th, 2011)

3.1.0 - Granular warnings and code cleanup. (November 16th, 2011)

  • Granular on/off switching of warnings.
  • New --export option which replaces --json and --stdout. The --stdout functionality is achieved by --output=-.
  • New @inheritdoc tag which replaces @alias. The new role of alias is to define class aliases like @alias widget.grid; for backwards compatibility it still works for inheriting docs.
  • New @uses and @requires tags to complement the auto-detection of uses: and requires: inside Ext.define.
  • Private members now hide public members of parent class.
  • Larger buttons above inline examples for switching between code editor and preview.
  • Members of current class now visually distinct.
  • Allow use of user-defined meta-tags in members.
  • Warning when class name matches alternate class name.
  • Better class tree expansion when multiple root namespaces.
  • Fix auto-detecting default cfg value if it's expression.
  • Fix toolbar and button backrounds for Opera.
  • TypeKit font loaded asynchronously to allow better offline experience.
  • CSS fixes for IE and Opera.
  • Exclude unneccessary files from JSDuck output.
  • Experimental --stats option for generating some statistics.
  • Lots of internal code cleanup.

3.0.1 - Downgrade required RubyGems (October 22nd, 2011)

  • Require RubyGems >= 1.3.5 instead of 1.3.7.

3.0 - Final touches (October 21st, 2011)

  • Autogeneration of categories page.
  • New --eg-iframe option to allow custom inline examples.
  • Allow multiple --head-html and --body-html options to be used.
  • Better handling of --local-storage-db option.
  • Better regex tokenization in lexer.

3.0.pre3 - Introducing custom tags (October 17th, 2011)

  • Completely redesigned system for defining custom tags.
  • New --images option to replace the manual copying of images.
  • Support for {@img}tag in guides.
  • Listing of requires and uses classes on sidebar.
  • Listing all source files of a class.
  • Listing all types of aliases in class header.
  • Support for @evented tag, for documenting evented @accessors.
  • Detecting of xtype: property inside Ext.define().
  • Allow any text as a default value, for example @param {Object} [scope=this] didn't work before.
  • No more throw warnings when Mixed type is used.
  • Classes containing classes treated as packages in class tree.
  • Guides/videos/examples trees expanded by default.
  • New @example preview syntax to start inline example in preview mode.
  • Categories file no more needs an extra surrounding {"categories": ... } object.
  • Unified formatting of warnings and other log messages.
  • Improved handling of windows filenames.
  • Lots of bug fixes, as always...

3.0.pre2 - Builtin JS classes and @accessor tag (September 20th, 2011)

  • Documentation for built-in JavaScript classes like Object, Array and String. Activated with --builtin-classes option.
  • Support for @accessor tag for use inside config: {} section to auto-generate docs for getters-setters.
  • Support for @template tag for marking up template methods.
  • Showing author and docauthor information, plus experimental --meta-tags option for supporting several more.
  • Experimental --ext-namespace option
  • The --json export no more creates source dir, only one dir with .json files describing the classes.
  • Show ptype and ftype in addition to xtype in class header.
  • Show short version of --help by default and long only if --help=full.
  • Tabs drop-down menu with close-all-tabs button always visible.
  • Fix handling of static members. Statics are now also searchable.
  • Fixes for handling of paths under Windows.
  • Several other minor fixes.

3.0.pre - Completely new theme with tabs (September 8th, 2011)

  • Tabs are back
  • Separate front page
  • Guides in separate section
  • New Videos section
  • New Examples section
  • Inline examples
  • Syntax for documenting object properties.
  • Syntax for documenting default values.
  • New Syntax for optional parameters.
  • Syntax for required configs.
  • Print view and support for Google AJAX crawling.
  • No more --show-private-classes option, private classes now always shown.
  • Lots and lots of other fixes...

2.0.pre4 - Fixes for the previous pre-release (July 15th, 2011)

  • Paging of search results.
  • Support opening classes in tree in new tabs in IE and Firefox.
  • Include upgraded version of prettifier, fixing formatting in IE.
  • New --head-html and --body-html command line options.
  • New --local-storage-db command line option.
  • Avoid creating case-insensitively same source file names, preventing duplicate file conflicts in Windows.
  • Include missing ExtJS image files.
  • Don't exclude static members from singleton classes, simply print warning about using @static in singleton class.

2.0.pre3 - Bogus release, skipped (July 15th, 2011)

2.0.pre2 - Fixes for the previous pre-release (July 6th, 2011)

  • New --stdout command line option.
  • Fix opening links in new tabs.
  • Few other small bugfixes and enhancements.

2.0.pre - Completely overhauled Ext4-themed version (June 30th, 2011)

  • A lot of changes since 0.6 releases.

0.6.1 - Bug fixes (July 7th, 2011)

  • Fix scrolling to class members in Chrome 12.
  • Make JSDuck work with Ruby 1.8.6.
  • Upgrade the embedded ExtJS to 3.4.0.

0.6 - JsDuck is now used for creating the official ExtJS4 documentation (April 27th, 2011)

  • Automatic linking of class names found in comments. Instead of writing {@link Ext.Panel} one can simply write Ext.Panel and link will be automatically created.
  • In generated docs, method return types and parameter types are also automatically linked to classes if such class is included to docs.
  • Support for {@img} tag for including images to documentation. The markup created by {@link} and {@img} tags can now be customized using the --img and --link command line options to supply HTML templates.
  • Links to source code are no more simply links to line numbers. Instead the source code files will contain ID-s like MyClass-cfg-style.
  • New tags: @docauthor, @alternateClassName, @mixins. The latter two Ext4 class properties are both detected from code and can also be defined (or overriden) in doc-comments.
  • Global methods are now placed to separate "global" class. Creation of this can be turned off using --ignore-global.
  • Much improved search feature. Search results are now ordered so that best matches are at the top. No more is there a select-box to match at beginning/middle/end - we automatically search first by exact match, then beginning and finally by middle. Additionally the search no more lists a lot of duplicates - only the class that defines a method is listed, ignoring all the classes that inherit it.
  • Support for doc-comments in SASS .scss files: For now, it's possible to document SASS variables and mixins.
  • Several bug fixes.

0.5 - Search and export (March 29th, 2011)

  • Search from the actually generated docs (not through sencha.com)
  • JSON export with --json switch.
  • Listing of mixed into classes.
  • Option to control or disable parallel processing.
  • Accepting directories as input (those are scanned for .js files)
  • Many bug fixes.

0.4 - Ext4 support (February 28th, 2011)

  • Support for Ext.define() syntax from ExtJS 4.
  • Showing @xtype and @author information on generated pages.
  • Showing filename and line number in warnings.
  • Fix for event showing the same doc as method with same name.

0.3 - Performance improvements (February 11th, 2011)

  • Significant peed improvements - most importantly utilizing multiple CPU-s (if available) to speed things up. On my 4-core box JsDuck is now even faster than ext-doc.
  • Printing of performance info in verbose mode
  • Support for comma-first coding style
  • Few other fixes to JavaScript parsing

0.2 - most features of ext-doc supported (January 10th, 2011)

  • Links from documentation to source code
  • Syntax highlighting of code examples
  • Tree of parent classes
  • List of subclasses

0.1 - initial version (December 27th, 2010)

Clone this wiki locally