Releases: TradeMe/spec-check
Releases · TradeMe/spec-check
v0.2.0-alpha.1
Added
- Implemented Issue #42: improved reference resolution and flexible file classification (typed / unmanaged / external / excluded), added
.specignoresupport, and CLI flags for strict validation and external URL checking (#44)
Docs
- Investigation and solution notes for Issue #42 added to
technical-notes/issue-42-investigation.md(#43)
Changed
- Reference resolution flow updated to support the new classification system and fallbacks for unmanaged files; added tests and integration scenarios for mixed typed/unmanaged content (#44)
v0.1.4
Added
- New builtin DSL types:
SpecificationModuleandPrinciplesModulefor validating project specs (#39) - DSL validation step added to CI workflow (#39)
Fixed
- Fixed
reference_resolver.pyusing non-existenttarget_moduleattribute instead oftarget_type(#39) - Fixed missing "addresses" keyword detection in reference relationship inference (#39)
- Fixed missing
MarkdownDocumentimport in DSL validator (#39) - Added support for
location="metadata"in identifier extraction (#39)
Changed
v0.1.3
v0.1.2
v0.1.1
Fixed
- Release workflow now automatically publishes to PyPI in the same workflow
- Added
pull-requests: writepermission to enable PR commenting - Eliminated manual intervention requirement for PyPI publishing
- Fixed AttributeError in DSL validator where
section_def.levelwas incorrectly used instead ofsection_def.heading_level(#25)
Changed
- Merged release creation and PyPI publishing into single workflow for reliability
- Improved PR comments to show publishing status
v0.1.0
Added
- PyPI publishing configuration with automated workflows
- Comprehensive PyPI metadata (keywords, classifiers, project URLs)
- GitHub Actions workflow for automated PyPI publishing using trusted publishing (OIDC)
- TestPyPI publishing support for testing releases
- PUBLISHING.md with detailed publishing guide
- CHANGELOG.md following Keep a Changelog format
- Version check workflow to prevent unauthorized version changes
- Automated TestPyPI publishing for PRs
- Pre-release publishing support
- File allowlist linter (
spec-check lint)- Validates all files match gitignore-style patterns
- Respects
.gitignoreby default - Supports complex patterns including character classes
- Markdown link validator (
spec-check check-links)- Validates internal links and anchors
- Checks external URLs for accessibility
- Supports private URL patterns
- Concurrent external URL checking
- Spec coverage validator (
spec-check check-coverage)- Extracts requirements from spec files
- Validates test coverage using pytest markers
- Reports coverage percentage and uncovered requirements
- Structure validator (
spec-check check-structure)- Enforces consistent spec-to-test structure alignment
- Supports flexible naming conventions
- Allows unit tests without corresponding specs
- Unique spec ID validator (
spec-check check-unique-specs)- Validates spec IDs are unique across files
- Validates requirement IDs are unique within specs
- Markdown schema validator (
spec-check check-schema)- Validates markdown files against configurable schemas
- Supports EARS requirement validation
- Configurable metadata and heading requirements
- Configuration via
pyproject.toml - CLI with comprehensive help text
- Support for Python 3.10, 3.11, 3.12, 3.13
Changed
- Development status updated to Alpha
- Added flit as dev dependency for building distributions