Language-aware C++ parsing, interface with Doxygen, automatic version/date document meta information
LatestThis release introduces language-aware tracing between requirements and C++ source code.
Currently, only C++ functions can be traced using a marker like @relation(REQ-1, scope=function)
. The ability to add markers to classes has not yet been implemented.
A new export format has been added to generate a Doxygen tagfile for a documentation tree. When the tagfile is registered in the Doxygen configuration, requirements can be referenced using Doxygen keywords. For example: \relation{REQ-1, scope=function}
. Special thanks to @johanenglund for contributing the idea and helping to implement the solution.
The @-macros @GIT_VERSION
, @GIT_BRANCH
, @GIT_COMMIT_DATE
, and @GIT_COMMIT_DATETIME
were introduced to simplify the automatic insertion of document version information and publication dates into published documents.
An edge case for reading source files has been addressed. StrictDoc will now issue a warning if it encounters a binary file instead of a source code file, preventing a crash. [Contributed by @haxtibal]
A user has contributed an example demonstrating how requirements can be generated into an Excel questionnaire for users to fill out, enabling requirements compliance tracking. The example is located at tests/integration/scripting_examples/questionnaires/
. [Contributed by @BenGardiner]
Additionally, a minor HTML2PDF formatting issue has been resolved. Previously, the RST admonitions in StrictDoc's own documentation were not rendered correctly when spanning across two pages.
What's Changed
- Feature: Export Doxygen TAGFILE with a map from requirements to StrictDoc documentation by @stanislaw in #2011
- bugfix: file_traceability_index: relax the assert on a function definition by @stanislaw in #2015
- doxygen: Change compound type and file suffix by @johanenglund in #2016
- marker_parser: Add support for curly braces by @johanenglund in #2017
- backend/sdoc_source_code: recognize C++ class declarations/definitions by @stanislaw in #2018
- backend/sdoc_source_code: C++: disambiguate overloaded constructors by @stanislaw in #2019
- export/html: add .admonition-title as data-no-hanging-selectors for PDF by @stanislaw in #2020
- docs: update release notes, roadmap, document Doxygen tagfile by @stanislaw in #2021
- docs: deploy strictdoc's own docs to Read the Docs by @stanislaw in #2023
- docs: roadmap diagram: update backlog by @stanislaw in #2024
- backend/sdoc_source_code: C++: recognize functions returning references by @stanislaw in #2027
- Bugfix: project_statistics: fix the "Sections without any text" metric by @stanislaw in #2028
- docs: update FAQ by @stanislaw in #2029
- Code climate: tests/integration: reorganize the test folders around features/ by @stanislaw in #2032
- export/html: document meta information: recognize @GIT_VERSION and @GIT_BRANCH markers by @stanislaw in #2035
- Skip binaries in source tree rather than failing by @haxtibal in #2033
- test/integration: add custom script for exporting questionnaires by @BenGardiner in #2034
- export/html: document meta information: recognize @GIT_COMMIT_DATE and @GIT_COMMIT_DATETIME markers by @stanislaw in #2036
New Contributors
- @johanenglund made their first contribution in #2016
Full Changelog: 0.3.0...0.4.0