File relation roles, UI/UX improvements for Source View and Source Coverage, initial JUnit XML integration
LatestThis release includes the following enhancements.
1) The source file traceability mechanism now supports specifying roles for relations and markers. A role marker can be empty or specified to a value such as Implementation
or Implements
, Test
or Verifies
, etc. [@haxtibal]
2) The Source View screen has undergone a major user interface redesign. Visual highlighting has been improved for traceability to and from entire files, classes (available in Python but not in C), functions, code ranges, and individual lines. Fully detailed but collapsible requirement cells have been added above the relevant functions, ranges, and so on, allowing users to quickly review them without leaving the Source View screen. The Source Coverage screen has also been reworked to match the new look of the Source View screen.
3) A Python source file reader has been extended to support a case when the first docstring is not necessarily the first node of a module [@thseiler]
4) An initial proof of concept for reading JUnit XML files and tracing test results back to test cases has been implemented. If a test case references a requirement, the test result will also be transitively linked to that requirement through the test case. Thanks to @johanenglund for explaining the use case and creating the first proof of concept examples.
5) The command strictdoc server
command has been extended to support the --host
parameter. A user requested this feature to allow changing the server host which enables running the server within the StrictDoc Docker container.
6) Minor fixes to the main document view interface.
7) The long-standing warning from the Uvicorn server has finally been resolved. The warning was harmless and came from Uvicorn's opinionated handling of the reload configuration. The reload feature is used only during StrictDoc development and was never intended for end users, but Uvicorn still issued a warning because some parts of StrictDoc's configuration code weren't fully disabled for end-user environments:
WARNING: Current configuration will not reload as not all conditions are met, please refer to documentation.
Thanks to @MartyLake for pointing it out – it helped us prioritize fixing the issue.
What's Changed
- Bump version to 0.7.0 by @stanislaw in #2098
- tasks_wine: remove the file from the repository by @stanislaw in #2101
- server: expose "host" argument to the CLI, merge server config into project config by @stanislaw in #2102
- Code climate: Confluence HTML import: fix bs4 deprecation warnings by @stanislaw in #2103
- tests: generate JUnit XML test reports for all test groups by @stanislaw in #2109
- docs: add notes about the groups.io mailing list and the Office Hours by @stanislaw in #2111
- Fix: Prevent .copy_to_clipboard-button from receiving hover by @mettta in #2112
- export/html: Fix: Prevent partial cropping of interface buttons by @mettta in #2114
- backend/sdoc_source_code: JUnit XML test report reader by @stanislaw in #2115
- backend/sdoc_source_code: JUnit XML test report reader (multiple results test) by @stanislaw in #2116
- reader_python: first docstring is not necessarly first node of module by @thseiler in #2119
- backend/sdoc_source_code: JUnit XML: recognize Google Test's TEST/TEST_F/TEST_P by @stanislaw in #2120
- Support roles for file relations and markers by @haxtibal in #2104
- UI: Source View screen: UI/UX updates by @stanislaw in #2126
- file_traceability_index: transitively connect test results with requirements through tests by @stanislaw in #2125
- UI: Source View screen: Final adjustments of the page layout by @stanislaw in #2127
- UI: Source View screen: Finalise closing range buttons by @mettta in #2128
- UI: Source View screen: Fix range button text overflow by @mettta in #2131
- backend/sdoc_source_code: marker_parser: allow "_" characters in UID by @stanislaw in #2132
- docs: prepare the release notes by @stanislaw in #2133
- server: improve configuring the --reload option for StrictDoc's development by @stanislaw in #2134
- docs: Machine Identifiers: describe the need to define a grammar by @stanislaw in #2135
- docs: experimental: JUnit XML + expand on the quality in dev plan by @stanislaw in #2136
- export/html: fix two issues related to displaying text nodes in TOC and rendering of LINKs by @stanislaw in #2137
- Code climate: remove dead code related to basic_free_text by @stanislaw in #2138
- Code climate: resolve circular references between SDocDocument and DocumentReference by @stanislaw in #2139
- Code climate: backend/sdoc: document: improve including document typing checks by @stanislaw in #2140
- Code climate: improve assert_cast to tell mypy about the casted type by @stanislaw in #2141
- Code climate: DocumentUIDAnalyzer: fix all mypy issues by @stanislaw in #2142
- Exclude folders from fragment count shown in toggle label by @mettta in #2146
- Update Source Coverage screen with table by @mettta in #2144
- export/html: --included-documents: display or not display consistently by @stanislaw in #2145
- project_statistics: more precise calculation of statistics for REQUIREMENT by @stanislaw in #2149
- Bump version to 0.8.0 by @stanislaw in #2150
Full Changelog: 0.7.0...0.8.0