# 0.9.5 - July 22nd, 2016

- `yard doc` will now generate `.yardoc/processing` and `.yardoc/complete` files
  to allow other tools to properly detect when YARD is in the middle of parsing
  source files, and when it has completed writing the database.
- Added support for on-demand generation of LibraryVersion objects using the
  `:disk` source type. LibraryVersion objects pointing to a .yardoc database
  directory will now auto-generate if there is a `source_path` attached.
- Added warning for macros attached to non-method objects.
- Fixed a few more parsing errors.

# 0.9.4 - July 21st, 2016

- Minor Ruby file parsing and CSS bug fixes.

# 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 (`<!--\n @metadata here... \n-->`). 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 `<pre>`'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).
