The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
- Add support for Swift 5.6, specifically, async signatures.
- Darwin executable is now a fat binary running natively on M1 as well as intel
- Releases now include executables built in and for official Swift docker containers for Ubuntu.
- Now includes completion scripts for Fish shell in `Scripts/completions/drstring.fish`.
- Simplified packaging for macOS. Now it no longer distribute a dynamic libarary. The executable is packaged
on the root level of the package.
Built for Swift 5.5
- `drstring check` now reports each problem it finds with a file path, line, and column, as apposed to before,
where all problems for a specific signature are grouped together. Each type of problem has a custom column
position to best indicate which part of the docstring it relates to.
- `drstring extract`'s output for existing docstrings gained a new field `relativeLineNumber` for each
### Bug fixes
- In grouped parameter style, spacing between the dash `-` and the parameter was not checked before. From this
release on, any spacing except a single space is deemed problematic. (#225)
- If documentation for throws and returns starts on the second line, previously this was considered
problematic. But it's pretty common to start on the next line. This bug has been fixed. (#213)
- Introduce a new subcommand: `extract`. It outputs existing docsting, and the signature associated
with it, in JSON format.
- A boolean option `empty-patterns` that allows empty path patterns to exist in include/exclude list.
- CLI auto-complete scripts for Bash and Zsh.
- Parameter entries mistakenly start with `- Parameters` is now parsed as entries, whereas before they were
treated as multi-parameter headers, and their descriptions get dropped as a consequence.
- When a config file is invalid TOML, and its location is inferred, DrString now properly reports this.
Previously it just complains as if there isn't any configuration (missing input).
- Updated dependencies which brings some fixes for bugs that lead to crash in edge cases.
- Fixed a bug where paths caused by exclusion pattern is seen as "explicitly" excluded.
- The `version` subcommand is replaced by a flag on the main command. So `drstring --version` instead of
- Supports Swift 5.2 syntax, which also means the project requires 5.2 to build.
- For boolean options, instead of specifying negative value with `false` following the flag on the command line, a new corresponding negative flag should be used. For example, previously, not ignoring docstring section for `throws` can be specified by `--ignore-throws false`. Now it should be `--no-ignore-throws`.
The help texts for all boolean commands have been updated to reflect this.
- Similar to boolean options, now there's negative flags to override repeatable values on the command line.
Example: `--no-needs-separation` will negate any `needs-separation` values.
- Patterns used as part of inclusion/exclusion list may not match any files in the file system. This is now detected and reported as a problem.
- The count of issues is now accurate no matter how many issues were found.
- Ability to generate placeholder documentation for parameters, returns, throws as needed. The option is `add-placeholder` and works in conjunction with `ignore-throws` and `ignore-returns`.
- `start-line` and `end-line` are options that, together, specifies a range of lines for the `format` subcommand to consider. Any docstring for functions covered in this range will be formatted, and those outside of this range won't be.
- If a path to config file is not specified, in addition to looking at `./.drstring.toml`, DrString will look for a `.drstring.toml` from either the current working directory or directory of a included path for checking/formatting from command line. It'll keep looking in the parent directory until a `.drstring.toml` is found or root directory is encountered.
- Fixed bug #149, in which continued line with no prefix whitespace and content were incorrectly included in consideration for vertical alignment.
- Fixed bug #148, in which superfluously excluded files in config file is reported to have been excluded from command line arguments.