# 0.9.3 - July 20th, 2016 - Added support for {YARD::Server::RackAdapter} to be mounted under prefix URIs. - Fixed regression in `yard server -g` that caused static file assets on index page to return 404 errors. - Fixed regression in `yard server -g` index page that disabled scrolling and caused other HTML rendering glitches. # 0.9.2 - July 19th, 2016 - Added `yard config --gem-install-[yri|yard]` commands which auto-configure your `~/.gemrc` file to run yri/yard instead of ri/rdoc on a `gem install`. - Added support for gemspec metadata key `"yard.run"`, which can be either `"yard"` or `"yri"` to run the respective commands on a `gem install`. - Added `yard doc --no-progress` to hide the progress bar. - Fix resolution error for compound proxy namespaces. - YRI will now search across all gem versions (latest first) for the .yardoc database. # 0.9.1 - July 18th, 2016 - Added "Attributes" section to `yard stats`. - Added support for RubyGems 2.x `--document=yri,yard` flags. You can now run YARD documentation generation against installed gems by running: `gem install mygem --document=yard,yri`. - Added `/static/*` routing for library-specific routing. This enables static template files to be served on a per-library basis instead of globally shared across the `yard server`. - Added support for inlining of `{include:*}` syntax. Using this syntax in the middle of a docstring paragraph will no longer create a separate paragraph for the included text. - Added support for resolving `{}` syntax in text templates, specifically for use in `{include:*}` syntax. - Improved object resolution logic in `{Foo::Bar}` syntax and {YARD::Registry.resolve}. New resolution logic should now more accurately support resolving compound paths across namespaces and through the inheritance tree (as Ruby does). - The `frozen_string_literal: true` comment line in Ruby source files will now be excluded from docstrings. - Added a workaround for https://bugs.ruby-lang.org/issues/11485 - Fixed an issue where type using a docstring reference on an `@!attribute` macro would be incorrectly parsed as a type specifier. This change updates the tag parser to disallow newlines between the tag name and opening bracket of the type specification. - Fixed an issue where `--embed-mixins` would improperly embed methods from inherited classes instead of modules. - Fixed various parsing errors and YARD exceptions. - Added a warning for modules or classes being redefined as constants. - Reverted stripping of HTML in {YARD::Docstring#summary}. - Added optimization to remove initial docstring parse on newly created code objects. - {YARD::CodeObjects::Base#format} now passes the :type parameter to templates. - Hide methods with filtered namespaces in Method Listing. # 0.9.0 - July 4th, 2016 Special thanks to Alex Dowad, MSP-Greg, and Alex McLain for their extended contributions to this version. - (Breaking Change): Replaced default template with an updated "frameless" version. This change may affect backward compatibility if custom templates made modifications to `default/fulldoc/html`, specifically the index or navigation lists. - Added support for Ruby 2.1+ decorator style method declaration syntax. YARD now supports: private def foo(x, y) end - Metadata headers in extra files can now be escaped from rendering by enclosing them in HTML comment blocks (``). Ensure that the opening comment tag is alone on the first line of the file to use this functionality. - Improved parsing of various CRuby coding styles. - Fixed issue with binary image assets when using `yard server`. - Fixed deprecation warnings from Rake 10.x. - Tests updated for RSpec 3. # 0.8.7.6 - October 26, 2014 - Support using `@option` tag on keyword arg splat parameter. (#729) - Add `.stats_options` for `YardocTask`. (#800, #801) # 0.8.7.5 - October 26, 2014 - Fix linking of methods in top level namespace in method listing. (#776) - Support using C macros in function declarations. (#810) - YARD will no longer group comment blocks starting on the same column if they are preceded by code. (#798) - Handle anonymous lambda calls in toplevel scope. (#774) - Support I18n in `@overload` tags. (#794) - Support `yard stats` for objects with no file property. (#792) - Support for named arguments in Ruby >= 2.1. (#785) - Exclude README backup files from YARD generation. (#790) - Turned on the lax spacing option in Redcarpet to comply with the Markdown standard. - Escape HTML in YARD server search placeholder template. - Fix issue with `private_class_method` support. (#760, #767) - Enable tables support by default in Redcarpet Markdown provider. (#765) # 0.8.7.4 - March 22, 2014 - Mark C methods as explicit but also remove explicit check in stats. (#727) - Report unresolved parent namespaces as undocumentable errors instead. (#753) - No longer ignore overridden methods from documentation check in stats (#719) - Fix JRuby throwing exception when remove_method called on non-existent method. (#732) - Add basic support for `private_class_method` (#747) - Ensure namespace is always set when parent module is not found. (#753) - Set overflow as auto on table of contents. - Report 100% documented if nothing is undocumented. (#754) - Added support for RubyGems 2.0.0+. (#742) - Allow users to enter their own YARD RakeTask name. (#705) - Fixed a typo that was causing Windows detection to always fail. (#715) - Add debug information when loading a plugin fails. (#711) # 0.8.7.3 - November 1, 2013 - Handle Unicode method/class/file names in server URL encoding (lsegal/rubydoc.info#69). - Style keyword style hashes with same symbol color in code highlighting (#707). - Fix broken JS when visiting docs in file:// scheme (#706). - Add support for new AsciiDoc file extensions (#704). - Fix issues where non-Ruby code blocks would not display in Ruby 2 (#702). - Add support for extra Ruby 2 symbol types in Ripper (#701). - Ensure config directory exists before saving config file (#700). # 0.8.7.2 - September 18, 2013 - Disallow absolute URLs when using frame anchor support. - Support casted functions in CRuby method declarations (#697) # 0.8.7.1 - September 11, 2013 - Fix potential XSS issue with frame anchor support. - Add support for gettext 3.x gem. # 0.8.7 - July 26, 2013 - Added `--hide-api API` option to hide objects with a given `@api` tag (#685). - Added "Returns ...." prefix to summary when a lone @return tag is used. - Fixed issue that caused ref tags to be added to a docstring twice (#678). - Fixed formatting issue in docstring summaries (#686) # 0.8.6.2 - June 27, 2013 - Fixed issue where `yard graph` was not displaying methods # 0.8.6.1 - April 14, 2013 - Fixed broken links in File menu on default HTML template - Added --layout switch to `yard display` to wrap output in layout template. - See {file:docs/WhatsNew.md} for more information on added features. # 0.8.6 - April 13, 2013 - Various fixes and improved Ruby 2.x compatibility support - Added support for `asciidoc` markup type - Added `yard markups` command to list available markup types - Added `yard display` command to display and format an individual object - See {file:docs/WhatsNew.md} for more information on added features. # 0.8.5.2 - February 26, 2013 - Support new keyword argument syntax in method signatures (Ruby 2.x) # 0.8.5.1 - February 25, 2013 - Fix `yard diff` of gem files with RubyGems 2.x # 0.8.5 - February 24, 2013 - Basic support for Ruby 2.0 (fix compat issues in RDoc 4.0, RubyGems 2.0) - Add CSS styling for tables in default HTML template # 0.8.4.1 - February 5, 2013 - Fix regression that broke loading of existing yardoc dbs (#648) # 0.8.4 - February 4, 2013 - Add `-B/--bind` switch to yard server (#593, #608) - Add CodeObjects::Base#title for plugins to customize how object links display (#646) - Disable linking objects filtered out by verifiers (#645) - Allow macro expansion on class methods (#632) - Expand newly attached macro on first DSL method call (#631) - Disable RubyGems plugin in Ruby 2.0 (#627) - Fix line range for class/module node bodies (#626) - Search extended modules for attached DSL macros (#553) # 0.8.3 - October 14, 2012 - Add `--non-transitive-tag` to disable tag transitivity (#571) - Support --db inside .yardopts for graph/server commands (#583, #586) - Fix handling for =begin/=end docstrings (#577, #578) - Parser only sorts file lists when a glob is provided (#572) - Fix formatting in `{include:Object#method}` syntax (#569) - Fix @option tag inside of module functions (#563) - Fix to `--api` and `--no-api` support (#559) - Fix class nesting issues when path starts with "::" (#552) # 0.8.2.1 - June 9, 2012 - Fix a set of regressions in yard server search and dynamic generation # 0.8.2 - June 7, 2012 - Added progress style output in tty terminals - Embedded mixins should ignore methods defined on module (#539) - Fixed permalinks for embedded mixins in `yard server` (#540) - Improve parsing in CRuby code (#543) - Ensure Registry.resolve picks module when parsing mixins (#545) - Fixed regression that caused various commands to not show output (#548) - Respect current visibility when parsing class conditions (#551) # 0.8.1 - May 2, 2012 - Added `--[no-]api` switch to generate docs for API sets (see {file:docs/WhatsNew.md} for details) (#532) - The `yard list` command now uses cache by default (#533) - Fix `yardoc` generating incorrectly named method list file (#528) - Fix HTML output occasionally showing trailing mdash on options list (#522) # 0.8.0 - April 30, 2012 - See {file:docs/WhatsNew.md} for a list of added features - Over 20 bug fixes: - Properly filter hidden setter/getter attributes (#394) - Fix test failures in Linux environments (#397, #472, #473, #512, #513) - Fix attribute inheritance and @private (#432) - Fix attribute parsing (#435) - Allow aliases for attributes (#436) - Fix namespace fetching in `handle_alias()` (#437) - Fix overwritten attributes marked as inherited (#442) - Fix documenting constants defined from C code with `rb_define_const()` (#443) - Do not escape snippets twice (#445) - Ajax method/class search should not fire when a non-printable character is pressed (#446) - Fix yard server crashing when RDoc is not installed (#456) - Fix tags ignored when `(see #foo)` is used (#457) - Fix three "Returns" for two `@overload` tags (#458) - Do not auto-detect DSL methods as method objects if parameter name is not a valid method name (#464) - Fix attaching of macros to Object (#465) - Fix handling of `%w()` source in `[]/[]=` parsed context. (#461, pull in #468) - Don't add default `@return` if `@overload` has `@return`. (#458, pull in #469) - Don't discard tags by (see ...). (#457, pull in #470) - Fix constants listed as inherited when overwritten (#474) - Fix `yardoc --asset` behaving differently on first and subsequent calls. (#477) - `!!!lang` code blocks should set the lang in `
`'s class. (#478, #479)
  - Fix "File List" search tab error. (#502)
  - Fix search bar not redirecting to method page. (#509)
  - Fix server returning exception message bodies as String (#518)

# 0.7.5 - January 31, 2012

- Various minor bug fixes

# 0.7.4 - December 2, 2011

- Redcarpet is now the default Markdown formatting library. GFM now works out-of-box (#404)
- Fix server side searching for elements that are marked private (#420)
- Add 'textile_strict' and 'pre' markup types, reorganize text and none (#416)
- Improve encoding line detection (#415)
- Add support for `rb_define_alias` in CRuby code (#413)
- Fix rendering of some keywords in source view (#410)
- Add support for RDoc 3.10+ (#406, #407)
- Fix typewriter text being processed in code blocks (#403)
- Improve support for has_rdoc in RubyGems 1.8.x (#401)
- See the {file:docs/WhatsNew.md} document for details on added features

# 0.7.3 - October 15, 2011

- Improve support for parsing under Ruby 1.9.2p290 and 1.9.3 (#365, #370)
- Add support for SWIG generated CRuby code (#369)
- Add support for `rb_define_attr` calls in CRuby code (#362)
- Handle file pointers in CRuby code (#358)

# 0.7.2 - June 14, 2011

- Fix `yard --help` not showing proper output
- YARD now expands path to `.yardoc` file in daemon mode for server (#328)
- Fix `@overload` tag linking to wrong method (#330)
- Fix incorrect return type when using `@macro` (#334)
- YARD now requires 'thread' to support RubyGems 1.7+ (#338)
- Fix bug in constant documentation when using `%w()` (#348)
- Fix YARD style URL links when using autolinking markdown (#353)

# 0.7.1 - May 18, 2011

- Fixes a bug in `yard server` not displaying class list properly.

# 0.7.0 - May 17, 2011

- See the {file:docs/WhatsNew.md} document for details on added features
- Make sure that Docstring#line_range is filled when possible (#243)
- Set #verifier in YardocTask (#282)
- Parse BOM in UTF-8 files (#288)
- Fix instance attributes not showing up in method list (#302)
- Fix rendering of %w() literals in constants (#306)
- Ignore keyboard shortcuts when an input is active (#312)
- And more...

# 0.6.8 - April 14, 2011

- Fix regression in RDoc 1.x markup loading
- Fix regression in loading of markup libraries for `yard server`

# 0.6.7 - April 6, 2011

- Fix has_rdoc gem specification issue with new RubyGems plugin API (oops!)

# 0.6.6 - April 6, 2011

- Fix error message when RDoc is not present (#270)
- Add markup type 'none' to perform basic HTML translation (fallback when RDoc is not present)
- Add support for RubyGems 1.7.x (#272)
- Fix rendering of `{url description}` syntax when description contains newline

# 0.6.5 - March 13, 2011

- Support `ripper` gem in Ruby 1.8.7
- Upgrade jQuery to 1.5.1
- Fix handling of alias statements with quoted symbols (#262)
- Add CSS styles (#260)
- Unhandled exception in YARD::Handlers::Ruby::MixinHandler indexing documentation for eventmachine (#248)
- Splice any alias references on method re-definitions into separate methods (#247)
- Fix "yard graph" (#245)
- Don't process ++ typewriter text inside of HTML attributes (#244)
- Prioritize loading of Kramdown before Maruku (#241)
- Skip shebang encoding in docstrings (#238)
- Fix truncation of references in @deprecated (#232)
- Show @api private note when no other tags are present (#231)
- Detect docstrings starting with "##" as `Docstring#hash_flag` (#230)
- Remove trailing whitespace from freeform tags (#229)
- Fix line through for deprecated methods (#225)
- Mistake in Tags.md (#223)
- Improve database storage by being more efficient with filesystem usage (#222)
- Make Registry thread local (#221)
- Support `private_constant` class method for 1.9.3 (#219)
- Do not assume RDoc is installed (#214)

# 0.6.4 - December 21, 2010

- Fix yri tool crashing with new Config class (gh-217)
- Fix support for ::TopLevelConstants (gh-216)
- YARD's test suite is now RSpec2 compatible (gh-215)
- Improved documentation for YARD::Server features (gh-207)
- Fix displaying of collaped method summary lists (gh-204)
- Fix automatic loading of markup providers (gh-206)
- Fix keyboard shortcuts for Chrome (gh-203)
- Disallow `extend self` inside of a class (gh-202)
- Constants now recognized in C extensions (gh-201)

# 0.6.3 - November 21, 2010

- Fixed regression that caused `yardoc --markup` to silently exit

# 0.6.2 - November 15, 2010

- **Plugins no longer automatically load, use `--plugin` to load a plugin**
- Added YARD::Config and ~/.yard/config YAML configuration file
- Added `yard config` command to view/edit YARD configuration file
- Fixes for YARD in 1.8.6 (gh-178)
- Various HTML template adjustments and fixes (gh-198,199,200)
- Improved `yard server -m` multi-project stability (gh-193)
- Fixed handling of `yardoc --no-private` with missing class definitions (gh-197)
- Added support for constants defined in C extensions (gh-177)
- Added support for Structs defined as "Klass = Struct.new(...)" (gh-187)
- Improved parsing support for third-party gems (gh-174,180)
- Improved support for JRuby 1.6.4+. YARD now passes all specs in JRuby (gh-185)
- Improved YARD documentation (gh-172,191,196)

# 0.6.1 - September 06, 2010

- Fixed TOC showing on top of class/method list in no-frames view
- A message now displays when running `yard server` with Rack/Mongrel installed
- Improved performance of JS inline search for large class/method lists
- Improved link titles for relative object links
- Removed `String#camelcase` and `String#underscore` for better Rails compat.
- Fixed support for loading .yardoc files under Windows
- Fixed inheritance tree arrows not displaying in certain environments

# 0.6.0 - August 29, 2010

- Added dynamic local documentation server
- Added @group/@endgroup declarations to organize methods into groups
- Added `yard` executable to serve as main CLI tool with pluggable commands
- Added `--asset` switch to `yardoc` to copy files/dirs to output dir
- Added ability to register/manipulate tags via CLI (`--tag`, etc.)
- Added `yard diff` command
- Added statistics to `yardoc` output (and `yard stats` command)
- Added Javascript generated Table of Contents to file pages
- Updated various APIs
- Removed `yard-graph` executable
- See more changes in the {file:docs/WhatsNew.md what's new document}

# 0.5.8 - June 22, 2010

- Merge fix from 0.6 branch for --no-private visibility checking

# 0.5.7 - June 21, 2010

- Fixed visibility flag parsing in `yardoc`
- Updated Parser Architecture documentation with new SourceParser API
- Improved Registry documentation for new load commands
- Fix loading of .yardoc file as cache (and preserving aliases)
- Fix "lib" directory missing when running YARD on installed gems

# 0.5.6 - June 12, 2010

- Bug fixes for RubyGems plugin, `has_rdoc=false` should now work
- New API for registering custom parsers. See {file:docs/WhatsNew.md}

# 0.5.5 - May 22, 2010

- Various bug fixes

# 0.5.4 - March 22, 2010

- See {file:docs/WhatsNew.md what's new document} for changes

# 0.5.3 - January 11, 2010

- See {file:docs/WhatsNew.md what's new document} for changes

# 0.5.2 - December 16, 2009

- See {file:docs/WhatsNew.md what's new document} for changes

# 0.5.1 - December 15, 2009

- See {file:docs/WhatsNew.md what's new document} for changes

# 0.5.0 - December 13, 2009

- See {file:docs/WhatsNew.md what's new document} for changes

# 0.4.0 - November 15, 2009

- Added new templating engine based on [tadpole](http://github.com/lsegal/tadpole)
- Added YARD queries (`--query` CLI argument to yardoc)
- Greatly expanded YARD documentation
- Added plugin support
- New `@abstract` and `@private` tags
- Changed default rake task to `rake yard`
- Read about changes in {file:docs/WhatsNew.md}

# 0.2.3.5 - August 13, 2009

- Minor bug fixes.

# 0.2.3.4 - August 07, 2009

- Minor bug fixes.

# 0.2.3.3 - July 26, 2009

- Minor bug fixes.

# 0.2.3.2 - July 06, 2009

- Fix Textile hard-break issues
- Add description for @see tag to use as link title in HTML docs.
- Add --title CLI option to specify a title for HTML doc files.
- Add custom.css file that can be overridden with various custom
  styelsheet declarations. To use this, simply add `default/fulldoc/html/custom.css`
  inside your code directory and use the `-t` template directory yardoc CLI
  option to point to that template directory (the dir holding 'default').
- Add support in `yardoc` CLI to specify extra files (formerly --files)
  by appending "- extra files here" after regular source files. Example:

        yardoc --private lib/**/*.rb - FAQ LICENSE

# 0.2.3.1 - June 13, 2009

- Add a RubyGems 1.3.2+ plugin to generate YARD documentation instead of
  RDoc. To take advantage of this plugin, set `has_rdoc = 'yard'` in your
  .gemspec file.

# 0.2.3 - June 07, 2009

- See the {file:docs/WhatsNew.md} file for a list of important new features.

# 0.2.2 - Jun 16, 2008

- This is the largest changset since yard's conception and involves a complete
  overhaul of the parser and API to make it more robust and far easier to
  extend and use for the developer.

# 0.2.1 - February 20, 2008

- See the {file:docs/WhatsNew.md} file for a list of important new features.

# 0.1a - February 24, 2007

- Released 0.1a experimental version for testing. The goal here is
  to get people testing YARD on their code because there are too many possible
  code styles to fit into a sane amount of test cases. It also demonstrates the
  power of YARD and what to expect from the syntax (Yardoc style meta tags).