This release includes a complete rewrite of strings, fixing many bugs from previous versions and generally improving the user experience. This release is intended to be the last stop before the strings major version 1.0 is released, and nearly all of the functionality of the major release is included.
###Features
- Complete overhaul, including code cleanup, bug fixes and new functionality **(PDOC-63)**
- Documentation has been split into sections based on type: puppet 3x API functions, puppet 4x API functions, ruby classes, puppet language functions, types, and providers
- New JSON schema organized to reflect the separation of types
- Support for custom functions written in the puppet language
- Support for puppet function overloads via the create_function 4.x API
- YARD bumped to latest version, 0.9.5
- Markdown is now the default format for parsing docstring text **(PDOC-86)**
- Note: this means Markdown text in YARD comments and tags, not a change in the output of strings
- New commandline options: --emit-json and --emit-json-stdout to generate JSON documentation **(PDOC-84)**
- Runtime dependency on Puppet has been removed, allowing strings to function in Puppet Enterprise 3.8 **(PDOC-80)**
- Note that the gem still requires puppet. We recommend that the strings gem be installed with puppet, as suggested in the [README](https://github.com/puppetlabs/puppet-strings/blob/master/README.md#installing-puppet-strings)
- New gemspec requirement on Ruby version 1.9.3, the oldest supported Ruby version
###BugFixes
- Prevents a blizzard of errors when documenting Puppet Core source and some puppet modules **(PDOC-63)**
- As this is a complete rewrite, many known and unknown bugs from the original code were fixed along the way
- Allow strings to be installed in PE 3.8 without overwriting existing puppet and facter installations with newer gems
This release adds JSON output support for strings, fixes a major bug that prevented strings from working with the 4.4.0 release of puppet, and is the last version of strings that will be released as a module.
All related tickets can be found under the [PDOC][PDOC JIRA] JIRA project with the fix version of [0.4.0](https://tickets.puppetlabs.com/issues/?filter=18810).
###Features
- Support for JSON output **(PDOC-23)**
- Strings now has the ability to produce a JSON representation of a given puppet module
All related tickets can be found under the [PDOC][PDOC JIRA] JIRA project with the fix version of [0.3.1](https://tickets.puppetlabs.com/issues/?filter=15530).
All related tickets can be found under the [PDOC][PDOC JIRA] JIRA project with the fix version of [0.2.0](https://tickets.puppetlabs.com/issues/?filter=13760).
- Custom YARD templates for 3.x and 4.x functions **(PDOC-24)**
- Improved HMTL output that is more appropriate for listing several functions on one webpage in addition to being more consistent with the HTML produced for classes and defined types.
- Support for the explicit list of YARD tags we will be supporting initially (@param, @return, @since, @example)
- Our own custom YARD templates which can be easily extended and tweaked
- Addition of RubCop Travis CI job to ensure code quality and consistency **(PDOC-8)**
####Bugfixes
- Puppet namespaces are no longer mangled for nested classes and defined types **(PDOC-25)**
- Strings is now compatible with the renaming of the Puppetx/puppetx namespace to PuppetX/puppet_x **(PDOC-26)**
- Strings will no longer crash when documenting 3x functions with less than two arguments passed into newfunction **(PDOC-27)**