Releases: standardese/standardese
0.5.2
0.5.1
0.5.0
Added:
--comment.free_file_comments
flag so that comments that cannot be
associated to any entity are automatically considered to be referring to the
entire file even if there's no\file
command. (The default is still the old
behaviour. Such comments are ignored with a warning.)- Added command line option
--group-uncommented
to add uncommented members to
the group of the preceding member, e.g., here both operators are put in the
same groupArithmetic
without having to explicitly mention the group for
the second line.struct S { /// \group Arithmetic S& operator+=(const S&); S& operator-=(const S&); }
- new flag
--input.hide_undocumented
to completely hide undocumented members
from class summary without having to explicitly put\exclude
everywhere. - Added an example project using MathJax on GitHub Pages.
- Added option
--comment.command_pattern
to change or extend the commands
recognized by Standardese. Usename=pattern
to replace the pattern for
name
andname|=pattern
to extend the default pattern. E.g.,lets the parser recognize the string--comment.command_pattern 'returns|=RETURNS:'
RETURNS:
at the beginning and the
string\returns
as introducing aReturn values:
section.
If the command takes parameters, they have to be caught in capturing groups, e.g.,allows us to write--command.command_pattern 'group=//== ([^\n]*)() ==//'
to introduce a member group instead of//== Group Heading ==//
\group name Group Heading
. Note
that a group has two parameters. The second parameter is the optional
heading which we ignore here by letting it capture the empty string.
Changed:
-
Require a C++17 compiler to build standardese
-
Sections do not treat entries of the form
\section key - text
specially
anymore. This created a substantial amount of complexity during parsing and
also only did not have full Markdown support in thekey
section. Instead,
one should just use a proper Markdown list instead. -
Moved
section_type
fromstandardese::markup
to thestandardese::comment
namespace wherecommand_type
andinline_type
are already. -
renamed CHANGELOG to CHANGELOG.rst so it renders better on GitHub
Removed:
-
Removed command line parameters related to templates, since templates are not
implemented. -
Removed command line parameter
output.section_name_
since it was not
implemented. -
Removed
command_type::verbatim
.\verbatim
is still supported but not
treated as acommand
internally anymore (which is never really was anyway.) -
Removed
command_type::invalid
,inline_type::invalid
,
section_type::invalid
since these are never created anymore. -
Removed
standardese::markup::doc_section::type()
since it is not used anymore. -
Removed helper functions
standardese::comment::is_section
,
standardese::comment::make_section
,standardese::comment::is_command
,
standardese::comment::make_command
,standardese::comment::is_inline
,
standardese::comment::make_inline
. These functions are not needed anymore
since the related enums are now separate and do not form part of a increasing
sequence anymore. (There was very little code where this was actually
helpful.) -
Various
set_
commands onstandardese::comment::config
since config is now
immutable.
Fixed:
-
Added a missing mutex lock in the comment parser.
-
make install
now installs the standardese binary -
Do not mention templating in README or command line help since it is not implemented.
-
Check all return values from calls into cmark (by always going through an
exception-throwing wrapper.) -
Simplified CommonMark extensions by not using any temporary nodes.
-
Build as shared library and link against a shared boost library unless told
not to. -
Catch headers for testing are now taken from a submodule. Before we had
problems frequently, e.g., in CI, when downloading these headers failed.
0.4.1
Changed:
- releases on GitHub are now created semi-automatically with rever
Fixed:
- catch header URL when downloading catch during test build
- docker build; the docker build had stopped working a few months ago, since Ubuntu 19.04 had reached its end of life.
- assertion error with unnamed namespaces
Version 0.4.0
This is the first (hopefully) stable release in a while. Lots of things have changed since large parts have been rewritten.
To build from source, check the README. Otherwise, you might want to try the docker images as outlined in the README or use standardese from conda-forge.
Version 0.4.0 (Third Release Candidate)
Changes since 0.4.0-rc1
- Fix include guard processing
- Back to upstream cppast since things have been fixed there
- Automatic builds on Docker Hub
Version 0.4.0 (Second Release Candidate)
Changes since 0.4.0-rc0
- fixed version number in CMakeLists.txt
- fixed cppast reference by pulling project from a private fork
Version 0.4.0 (First Release Candidate)
After a long time with no release, we try to get started again here.
Changes since 0.3-4:
- We're still figuring this out for the 0.4.0 release, feel free to weigh in at #125.
- There are certainly breaking changes.
- We're moving to semantic versioning with this release.
Though this is called a release candidate it might not be very stable yet. The plan is to get 0.4.0 out quickly and then have a number of 0.4.x followups quickly to address obvious issues. If you need stability, you might want to rely on 0.3-4 for the time being, but we're looking forward to your feedback here :)
Version 0.3-4
Documentation
- Hide member group output section by prefixing the group name with
-
- Hide name lookup character in entity link
Library
- Now links to external entities in advanced code block
- Only links the main part of type name (i.e. in
const T*const &
, only link will be theT
) - Even more bugfixes
Tool
- New option
output.require_comment_for_full_synopsis
, controls whether full synopsis will be shown for classes/enums without documentation (disabled by default)
Version 0.3-3
Documentation
- Optional arguments for
exclude
to specify what to exclude (return type, target) - Advanced code block does not generate links to parameters now
Library
- Bugfixes in various functions
Build system
- Now correctly installs cmark subdirectory