Skip to content

Language-specific parsers for Python and C. Tracing requirements to functions and classes.

Compare
Choose a tag to compare
@stanislaw stanislaw released this 03 Nov 16:37
· 103 commits to main since this release
5ac32b9

This backward-compatible release introduces several new features for tracing requirements to source files:

  • StrictDoc now integrates with Tree-sitter, enabling it to parse multiple programming languages. Using AST information, it achieves more precise tracing of requirements to source code.

  • Language-specific parsers for Python and C have been added, allowing functions (in C and Python) or classes (in Python) to be linked to requirements.

  • Both forward linking of requirements to source files and backward linking of source files to requirements are supported. These features can be used independently or together within the same project.

With this release, we are also transitioning to a more semantic versioning-oriented release scheme. From now on, the MAJOR.MINOR.PATCH version components will be maintained according to the recommendations of the semantic versioning specification.

What's Changed

  • Bump version to 0.0.60 by @stanislaw in #1962
  • Feature: Parsing source code functions into requirements graph by @stanislaw in #1956
  • backend/sdoc_source_code: calculate coverage for forward range and function markers by @stanislaw in #1964
  • file_traceability_index: deduplicate requirement links based on functions by @stanislaw in #1965
  • backend/sdoc_source_code: adjust the marker parser to the new @relation syntax by @stanislaw in #1966
  • backend/sdoc_source_code: make the default parser recognize @relation by @stanislaw in #1967
  • backend/sdoc_source_code: support "Class.function" syntax for forward links to Python code by @stanislaw in #1968
  • backend/sdoc_source_code: support scope=class by @stanislaw in #1969
  • html2pdf: update to the newer Chrome web driver API by @stanislaw in #1971
  • backend/sdoc_source_code: enable scope=file marker for Python by @stanislaw in #1970

Full Changelog: 0.0.60...0.1.0