Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 12 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,27 @@ All notable changes to this project will be documented in this file.

---

## [Unreleased]
## [0.43.0] - 2026-03-28

### Added

- Spec-Kit v0.4.x adapter alignment: extension catalog detection (`scan_extensions`), preset scanning (`scan_presets`), hook event detection (`scan_hook_events`), and 3-tier version detection (CLI β†’ heuristic β†’ None).
- `ToolCapabilities` model expanded with `extensions`, `extension_commands`, `presets`, `hook_events`, and `detected_version_source` fields for v0.4.x metadata.
- BridgeConfig presets (`preset_speckit_classic`, `preset_speckit_specify`, `preset_speckit_modern`) now map all 7 Spec-Kit slash commands: `/speckit.specify`, `/speckit.plan`, `/speckit.tasks`, `/speckit.implement`, `/speckit.constitution`, `/speckit.clarify`, `/speckit.analyze`.
- 44 new unit/integration tests covering extension catalogs, version detection, preset scanning, hook events, and full `get_capabilities()` flow.
- CI: `scripts/check-docs-commands.py` and `scripts/check-cross-site-links.py` with `hatch run docs-validate`
(command examples vs CLI; modules URLs warn-only when live site lags); workflow runs validation plus
`tests/unit/docs/`.
- Documentation: `docs/reference/documentation-url-contract.md` and navigation links describing how core and modules published URLs relate; OpenSpec spec updates for cross-site linking expectations.
- Documentation: converted 20 module-owned guide and tutorial pages under `docs/` to thin handoff summaries with canonical links to `modules.specfact.io`; added `docs/reference/core-to-modules-handoff-urls.md` mapping core permalinks to modules URLs.

### Changed

- `SpecKitAdapter.get_capabilities()` refactored with helper methods (`_detect_layout`, `_detect_version`, `_extract_extension_fields`) to reduce cyclomatic complexity.
- Logging in `speckit.py` and `speckit_scanner.py` switched from `logging.getLogger` to `get_bridge_logger` per production command path convention.

---

## [0.42.6] - 2026-03-26
Comment thread
djm81 marked this conversation as resolved.

### Fixed
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "hatchling.build"

[project]
name = "specfact-cli"
version = "0.42.6"
version = "0.43.0"
description = "The swiss knife CLI for agile DevOps teams. Keep backlog, specs, tests, and code in sync with validation and contract enforcement for new projects and long-lived codebases."
readme = "README.md"
requires-python = ">=3.11"
Expand Down
4 changes: 2 additions & 2 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
if __name__ == "__main__":
_setup = setup(
name="specfact-cli",
version="0.42.6",
version="0.43.0",
description=(
"The swiss knife CLI for agile DevOps teams. Keep backlog, specs, tests, and code in sync with "
"validation and contract enforcement for new projects and long-lived codebases."
Expand All @@ -23,7 +23,7 @@
"cryptography>=43.0.0",
"cffi>=1.17.1",
"typer>=0.15.0",
"rich>=14.0.0",
"rich>=13.5.2,<13.6.0",
"jinja2>=3.1.0",
"networkx>=3.2",
"gitpython>=3.1.0",
Expand Down
2 changes: 1 addition & 1 deletion src/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@
"""

# Package version: keep in sync with pyproject.toml, setup.py, src/specfact_cli/__init__.py
__version__ = "0.42.6"
__version__ = "0.43.0"
2 changes: 1 addition & 1 deletion src/specfact_cli/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,6 @@ def _bootstrap_bundle_paths() -> None:

_bootstrap_bundle_paths()

__version__ = "0.42.6"
__version__ = "0.43.0"

__all__ = ["__version__"]
Loading