Skip to content

Releases: standardese/standardese

0.5.2

29 Apr 13:36
0b23537
Compare
Choose a tag to compare

Added:

  • Adding the c++2a and c++20 compilation flags

Changed:

  • Update of the cppast submodule (cppast commit: 032d48d)

Fixed:

  • Distinction between c++1z and c++17 compilation flags

0.5.1

15 Apr 13:19
22561bf
Compare
Choose a tag to compare

Fixed:

  • Added missing libraries in docker image.
  • A compile error on some clang versions on Windows.

0.5.0

17 Mar 13:36
e7a7fb8
Compare
Choose a tag to compare

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 group Arithmetic 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. Use name=pattern to replace the pattern for
    name and name|=pattern to extend the default pattern. E.g.,
    --comment.command_pattern 'returns|=RETURNS:'
    
    lets the parser recognize the string RETURNS: at the beginning and the
    string \returns as introducing a Return values: section.
    If the command takes parameters, they have to be caught in capturing groups, e.g.,
    --command.command_pattern 'group=//== ([^\n]*)() ==//'
    
    allows us to write
    //== Group Heading ==//
    
    to introduce a member group instead of \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 the key section. Instead,
    one should just use a proper Markdown list instead.

  • Moved section_type from standardese::markup to the standardese::comment
    namespace where command_type and inline_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 a command 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 on standardese::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

01 Nov 01:20
93c122b
Compare
Choose a tag to compare

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

25 Jan 15:55
dc1e327
Compare
Choose a tag to compare

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)

24 Jan 21:25
be3974e
Compare
Choose a tag to compare
Pre-release

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)

17 Oct 13:40
9486f51
Compare
Choose a tag to compare

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)

04 Oct 20:41
1994b55
Compare
Choose a tag to compare
Pre-release

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

04 Jan 15:33
Compare
Choose a tag to compare
Version 0.3-4 Pre-release
Pre-release

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 the T)
  • 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

02 Jan 21:19
Compare
Choose a tag to compare
Version 0.3-3 Pre-release
Pre-release

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