Releases: reqstool/reqstool-client
Releases · reqstool/reqstool-client
Release list
0.12.2
0.12.1
0.12.0
✨ Features
- feat(mcp): support SSE and Streamable HTTP transports by @jimisola in #382
- feat!: reference git locations by ref (branch, tag, or commit) instead of branch by @jimisola in #396
- feat(locations): interpolate environment variables in YAML input by @jimisola in #397
- feat(locations): add NpmLocation for npm-compatible registry support by @jimisola in #372
- feat(svcs): add post-build verification phase for deferred e2e test results by @jimisola in #398
- feat(mvrs): add MVR supersession, latest dated MVR per SVC determines verdict by @jimisola in #399
- feat(status): redesign status command; add validate and export sqlite by @jimisola in #400
- feat(openspec): bootstrap OpenSpec spec layer and derive reqstool SSOT by @jimisola in #407
🐛 Fixes
- fix(enrich): improve formatting of multiline Description/Rationale fields by @jimisola in #384
- fix(testdata): handle Gradle parameterized tests and fix worst-status-wins by @jimisola in #405
- fix(mcp): correctly flag skipped/missing automated tests as unmet by @jimisola in #411
- fix(schema): support
ANNOTATION_TYPEin annotations and storage constraints by @jimisola in #419 - fix(tmpdir): replace hardcoded location suffix with a location-based identifier by @jimisola in #381
🔄 Refactoring
- refactor(status): simplify implementation header rendering and pin section order by @jimisola in #380
- refactor(locations): replace
env_tokenwith direct-valuetokenfield by @jimisola in #404 - feat: consolidate requirement verdict computation across status and MCP by @jimisola in #414
🧪 Testing
- test(regression): add cross-ecosystem integration tests against reqstool-regression monorepo by @jimisola in #391
🔧 CI / DevOps
- fix(ci): add explicit least-privilege permissions to all workflows by @jimisola in #402
- fix(ci): reference correct shared workflow for docs build by @jimisola in #401
📦 Dependencies
- Updated GitHub Actions,
beautifulsoup4,pygit2, andpackagingdependencies.
Full Changelog: 0.11.0...0.12.0
0.11.0
✨ Features
- feat(model): add configuration, platform, framework implementation types by @jimisola in #371
- feat: add reqstool enrich CLI command and enrich_document MCP tool for OpenSpec document enrichment by @jimisola in #374
- feat(status): display implementation types vertically with N/A last by @jimisola in #379
🐛 Fixes
📦 Dependencies
- fix(pypi): update dependency pydantic to v2.13.4 by @renovate[bot] in #369
- fix(pypi): update dependency requests to v2.34.2 by @renovate[bot] in #378
Full Changelog: 0.10.0...0.11.0
0.10.0
🚀 reqstool-client 0.10.0
✨ Features
🐛 Fixes
- fix(ci): poll PyPI JSON API for availability check by @jimisola in #348
- fix: make git import path field optional, defaulting to repo root by @jimisola in #356
- fix: guard env_token None check in git, maven, and pypi locations by @jimisola in #357
- fix(lsp): source documentSymbol data from project state by @jimisola in #363
- fix(lsp): resolve common.schema.json $refs in diagnostics validator by @jimisola in #364
- fix(lsp): give documentSymbol selection_range the column span of
id:by @jimisola in #367 - fix(mcp): remove script dir from sys.path to prevent subpackage shadowing by @jimisola in #368
🔧 CI / DevOps
📦 Dependencies
- fix(pypi): update dependency pydantic to v2.13.3 by @renovate[bot] in #351
- fix(pypi): update dependency packaging to v26.2 by @renovate[bot] in #358
Full Changelog: 0.9.0...0.10.0
0.9.0
✨ Features
🐛 Fixes
- fix(ci): poll PyPI JSON API for availability check by @jimisola in #348
- fix: make git import path field optional, defaulting to repo root by @jimisola in #356
- fix: guard env_token None check in git, maven, and pypi locations by @jimisola in #357
- fix(lsp): source documentSymbol data from project state by @jimisola in #363
- fix(lsp): resolve common.schema.json $refs in diagnostics validator by @jimisola in #364
- fix(lsp): give documentSymbol selection_range the column span of
id:by @jimisola in #367 - fix(mcp): remove script dir from sys.path to prevent subpackage shadowing by @jimisola in #368
📦 Dependencies
- fix(pypi): update dependency pydantic to v2.13.3 by @renovate[bot] in #351
- fix(pypi): update dependency packaging to v26.2 by @renovate[bot] in #358
Full Changelog: 0.9.0...0.10.0
0.8.0
✨ Features
- feat: migrate data models from dataclasses to Pydantic v2 by @jimisola in #306
- feat: add format json to status command by @jimisola in #308
- feat: add JSON Schema for export and status command output by @jimisola in #320
- feat: add SQLite storage as single source of truth by @jimisola in #321
- feat: remove variant as behavioral gate, recursive implementations, scoped two-phase traversal by @jimisola in #328
- feat: add LSP server for editor integration (pygls) by @jimisola in #323
- feat(test): add unit tests for CLI entry point (command.py) by @jimisola in #331
- perf: replace linear dict scans with O(1) lookups and cache Lark parser by @jimisola in #302
🐛 Fixes
- fix: correct exit call and TOCTOU race condition by @jimisola in #301
- fix: replace sys.exit() in location classes with proper exception hierarchy by @jimisola in #329
- fix: replace mutable singleton TempDirectoryUtil with TempDirectoryManager by @jimisola in #330
- fix(ci): update release tag check to support PEP 440 pre-release versions by @jimisola in #340
♻️ Refactoring
- refactor: extract shared lifecycle parsing and version parsing utilities by @jimisola in #303
- refactor: rename SIGNIFANCETYPES and clean up type annotations by @jimisola in #304
- refactor: extract shared parse_filters() utility to eliminate duplicated filter parsing by @jimisola in #332
- refactor: replace repetitive CLI parser setup with config-driven location registry by @jimisola in #333
- refactor(status): replace colorama/tabulate with Rich by @jimisola in #335
🔧 CI / DevOps
- ci: add build-docs workflow by @jimisola in #322
- fix: fix check_release workflow to actually validate releases by @jimisola in #305
- chore(github-actions): update pypa/gh-action-pypi-publish action to v1.14.0 by @renovate[bot] in #339
📦 Dependencies
0.7.0
What's Changed
Features
- Added
reportcommand with--format asciidoc|markdownsupport for generating reports in multiple output formats.
Fixes
- Updated dependency
reqstool-python-decoratorsto v0.1.0.
Documentation
- Streamlined README and aligned documentation with Antora docs.
- Corrected Python version information.
CI
- CI now waits for PyPI package propagation before building Docker images to avoid transient build failures.
Full Changelog
0.6.0...0.7.0
0.6.0
What's Changed
Breaking Changes
-
Python 3.10, 3.11 and 3.12 are no longer supported.
Minimum required version is now Python 3.13. -
The CLI has been simplified and some commands have been replaced:
generate-jsonhas been deprecated, replaced byexport
Features
- Added support for loading artifacts locally using
--mavenand--pypi. - Added new
exportcommand with filtering via--req-idsand--svc-ids. - Added support for exporting datasets to Markdown format.
- Improved report layout by splitting test columns into individual sub-columns.
Fixes
- Fixed multiple issues in service filtering, cascade exclusions, and dataset processing.
- Improved robustness of archive extraction and requirements parsing.
- Fixed several Python compatibility issues (dataclasses, enum comparisons, identity checks).
- Dependency cleanup and code quality improvements.
- Improved semantic validator stability.
Build
- GitHub Actions are now SHA-pinned to improve supply-chain security.
- Added semantic PR title validation workflow.
CI
- CI workflows restricted to pushes on the
mainbranch. - Added and refined Renovate automation workflows.
New Contributors
Full Changelog
v0.5.12...0.6.0
v0.5.12
What's Changed
- chore(deps): update dependency pytest-cov to v6.1.1 by @renovate[bot] in #181
- chore(deps): update dependency maven-artifact to v0.3.5 by @renovate[bot] in #185
- chore(deps): update dependency pygit2 to v1.18.0 by @renovate[bot] in #186
- chore(deps): update dependency jsonpickle to v4.1.1 by @renovate[bot] in #187
- chore(deps): update dependency distlib to v0.4.0 by @renovate[bot] in #196
- chore(deps): update dependency pygit2 to v1.18.2 by @renovate[bot] in #194
- chore(deps): update dependency requests to v2.32.5 by @renovate[bot] in #191
- chore(deps): update python docker tag to v3.13.7 by @renovate[bot] in #182
- chore(deps): update dependency beautifulsoup4 to v4.13.5 by @renovate[bot] in #183
- chore(deps): update actions/checkout action to v5 by @renovate[bot] in #199
- chore(deps): update actions/setup-node action to v5 by @renovate[bot] in #201
- chore(deps): update dependency jsonschema to v4.25.1 by @renovate[bot] in #189
- chore(deps): update dependency ruamel.yaml to v0.18.15 by @renovate[bot] in #188
- chore(deps): update dependency lark to v1.3.0 by @renovate[bot] in #198
- chore(deps): update dependency reqstool-python-decorators to v0.0.8 by @renovate[bot] in #195
- chore(deps): update actions/download-artifact action to v5 by @renovate[bot] in #200
- chore(deps): update dependency packaging to v25 by @renovate[bot] in #184
- chore(deps): update actions/setup-python action to v6 by @renovate[bot] in #202
- chore(deps): update actions/upload-pages-artifact action to v4 by @renovate[bot] in #203
- chore(deps): update actions/setup-node action to v6 by @renovate[bot] in #207
- chore(deps): update dependency lark to v1.3.1 by @renovate[bot] in #213
- chore(deps): update actions/upload-artifact action to v6 by @renovate[bot] in #216
- chore(deps): update actions/checkout action to v6 by @renovate[bot] in #214
- chore(deps): update actions/download-artifact action to v7 by @renovate[bot] in #215
- chore(deps): update dependency node to v24 by @renovate[bot] in #217
- chore(deps): update dependency pygit2 to v1.19.1 by @renovate[bot] in #210
- chore(deps): update dependency packaging to v26 by @renovate[bot] in #219
- chore(deps): update dependency beautifulsoup4 to v4.14.3 by @renovate[bot] in #204
- chore(deps): update dependency requests-file to v3 by @renovate[bot] in #208
- chore(deps): update dependency jsonschema to v4.26.0 by @renovate[bot] in #218
- chore(deps): update dependency ruamel.yaml to v0.19.1 by @renovate[bot] in #209
- chore(deps): update dependency referencing to v0.37.0 by @renovate[bot] in #206
- chore(deps): update dependency reqstool-python-decorators to v0.0.9 by @renovate[bot] in #220
Full Changelog: v0.5.11...v0.6.0
What's Changed
- chore(deps): update dependency pytest-cov to v6.1.1 by @renovate[bot] in #181
- chore(deps): update dependency maven-artifact to v0.3.5 by @renovate[bot] in #185
- chore(deps): update dependency pygit2 to v1.18.0 by @renovate[bot] in #186
- chore(deps): update dependency jsonpickle to v4.1.1 by @renovate[bot] in #187
- chore(deps): update dependency distlib to v0.4.0 by @renovate[bot] in #196
- chore(deps): update dependency pygit2 to v1.18.2 by @renovate[bot] in #194
- chore(deps): update dependency requests to v2.32.5 by @renovate[bot] in #191
- chore(deps): update python docker tag to v3.13.7 by @renovate[bot] in #182
- chore(deps): update dependency beautifulsoup4 to v4.13.5 by @renovate[bot] in #183
- chore(deps): update actions/checkout action to v5 by @renovate[bot] in #199
- chore(deps): update actions/setup-node action to v5 by @renovate[bot] in #201
- chore(deps): update dependency jsonschema to v4.25.1 by @renovate[bot] in #189
- chore(deps): update dependency ruamel.yaml to v0.18.15 by @renovate[bot] in #188
- chore(deps): update dependency lark to v1.3.0 by @renovate[bot] in #198
- chore(deps): update dependency reqstool-python-decorators to v0.0.8 by @renovate[bot] in #195
- chore(deps): update actions/download-artifact action to v5 by @renovate[bot] in #200
- chore(deps): update dependency packaging to v25 by @renovate[bot] in #184
- chore(deps): update actions/setup-python action to v6 by @renovate[bot] in #202
- chore(deps): update actions/upload-pages-artifact action to v4 by @renovate[bot] in #203
- chore(deps): update actions/setup-node action to v6 by @renovate[bot] in #207
- chore(deps): update dependency lark to v1.3.1 by @renovate[bot] in #213
- chore(deps): update actions/upload-artifact action to v6 by @renovate[bot] in #216
- chore(deps): update actions/checkout action to v6 by @renovate[bot] in #214
- chore(deps): update actions/download-artifact action to v7 by @renovate[bot] in #215
- chore(deps): update dependency node to v24 by @renovate[bot] in #217
- chore(deps): update dependency pygit2 to v1.19.1 by @renovate[bot] in #210
- chore(deps): update dependency packaging to v26 by @renovate[bot] in #219
- chore(deps): update dependency beautifulsoup4 to v4.14.3 by @renovate[bot] in #204
- chore(deps): update dependency requests-file to v3 by @renovate[bot] in #208
- chore(deps): update dependency jsonschema to v4.26.0 by @renovate[bot] in #218
- chore(deps): update dependency ruamel.yaml to v0.19.1 by @renovate[bot] in #209
- chore(deps): update dependency referencing to v0.37.0 by @renovate[bot] in #206
- chore(deps): update dependency reqstool-python-decorators to v0.0.9 by @renovate[bot] in #220
Full Changelog: v0.5.11...v0.5.12