Releases: ledgerwerk/archledger
Releases · ledgerwerk/archledger
Release list
v0.3.2
Full Changelog: v0.3.1...v0.3.2
[v0.3.2] - 2026-07-11
Added
- Added record export and record apply commands for versioned complete-document replacement with automatic rollback
- Added typed metadata field specifications with per-record-type validation for common metadata shapes
- Added SpecMason integration with ID mapping files for behavior specification traceability
Changed
- Changed architecture documentation to reflect the isolated architecture ledger scope, removing SDD and BDD references
- Changed check command to skip completeness warnings for archived records while preserving structural validation
- Changed record type registry with per-type metadata field specs for all architecture record kinds
Removed
- Removed legacy BDD metadata files and replaced with SpecMason-managed behavior specifications
v0.3.1
Full Changelog: v0.3.0...v0.3.1
[v0.3.1] - 2026-06-17
Added
- Added context query command with full-text search across architecture records
Changed
- Integrated ledgercore as shared foundation for identity, storage, and config resolution
- Replaced date-based record tracking with document version and metadata versioning
- Converted project documentation from reStructuredText to MyST Markdown
Removed
- BREAKING: Removed BDD and SDD modules and all related CLI commands, schemas, tests, and documentation
v0.3.0
0.3.0 — 2026-06-09
SDD contract and profile upgrade, BDD/Gherkin metadata and tooling (import, export, validate, sync), scope metadata and monorepo support, combo trace, ID format drift repair, and release-hardening fixes.
Added
- SDD contract and profile upgrade (task-0026) — SDD profile with enforceable traceability policy (
require_acceptance_criteria,require_implementation_refs,require_test_refs), effective config policy merging,sdd check/check-pr/statusCLI commands, profile gate, link-target-status warning, expanded JSON schemas (sdd.v1,sdd-status.v1,sdd-pr.v1), andinit --profile sdd. - SDD review fixes (task-0027) — hardened inline acceptance-criteria handling, normalized source/test reference checks, real PR gate for
check-pr,--include-drafts/--include-superseded/--all-statusesflags,sdd_options_from_configmerging config+CLI overrides, AC ergonomics (--requirement/--validation-command/--validation-expected), andSddContextrefactored module. - BDD/Gherkin metadata and tooling (task-0028) — BDD front-matter model (
BddAutomation/BddExample),normalize_bdd_metadata, SDD-BDD checks (shape, GWT, automation, feature-ref, AC-link), minimal Gherkin parser,bdd import/exportCLI, config flags (require_bdd_gwt_for_behavior_records,require_bdd_automation_for_accepted_records), JSON schemas (bdd-import.v1,bdd-export.v1), and docs/skill updates. Phases 0-5. - SDD/BDD review fixes (task-0029) — P0 Gherkin parser fixes (removed
matched_scenario, fixedUnsupportedGherkinError, fixed step bucket sharing), P1 profile UX (bddis not a standalone profile, config preservation on enable/disable), P2 docs/stale-reference cleanup. - SDD/BDD integration review fixes (task-0032) — safe/atomic/multi-rule batch export with path sanitization, JSON error envelopes for
bdd validate/sync/exportmisuse, normalized export payloads, Option A linked/automated semantics,behavior_linkedcoverage dimension, GWT forquality_scenario,sdd coverage --by-record,sdd-check.v2schema, and newbdd-sync/sdd-init/sdd-explainschemas. - BDD/spec workflow alignment (task-0033) — SpecWeave-owned
specs/behavior/featuresconvention, separatesource_refs(feature files) fromtest_refs(pytest), deprecated path warnings across import/export/validate/sync,bdd linktest_refs support, SDD BDD test-ref and path-convention rules. - Scope metadata and monorepo support (task-0034) —
RecordScopedataclass withkind/name/applies_to/excludes/lifecycle, scope normalization and context matching,applies_tolink rel,--scope/--scope-kind/--addonCLI filters,scope list/show/affectedsubcommands, relaxed source-ref existence for archived records. - Combo trace (task-0037) —
archledger trace --format combo-jsonemittingcombi.trace.v1bundles with source/test refs, BDD IDs, AC IDs, and Taskledger provenance; SDD external reference checks for Taskledger ID shapes and linked BDD automation; three-tool boundary documentation. - P0-P2 release hardening (task-0038) — shared BDD mutation validation helpers, safe
bdd set/linkpre-validation, tightened Gherkin parser, cached feature-file parsing in sync, structured sync findings, extractedsdd_support.py/sdd_indexes.pymodules,sdd-check.v2schema aliasing, markdown coverage formatting, JSON envelopes for early SDD validation errors, dedicateddocs/sdd.rstanddocs/bdd-gherkin.rstguide pages.
Changed
- Config version v7 → v8 — profile layout (
[profiles]/[profiles.arc42]/[profiles.sdd]) introduced viaarchledger profile migrate(task-0028). - SDD linked-automation policy — linked imports accepted by default; warns in
--strict; errors only whenrequire_bdd_automation_for_accepted_recordsis enabled (task-0032, task-0038). - BDD export payload — normalized to
{schema, exported[], feature_files[], warnings[]}for both single and batch (task-0032, task-0038). sdd checkpayload — migrated toarchledger.sdd-check.v2withdefault_profile/enabled_profiles/sdd_enabled(task-0032).
Fixed
- Test failures from markdown default source format change (task-0024).
- Archive tombstones rejected by check/build; added
archive_tombstoneto valid record types (task-0030). - ID format drift:
doctor --repairnow refuses when ID format mismatches config;renumbersupports--from-prefix/--from-width/--from-id-segment-modefor explicit migration; stale generated tombstone collision detection and quarantine (task-0035). - Hidden config init guard:
initchecks botharchledger.tomland.archledger.toml; renumber infers old segment mode from drift (task-0036). - Profile enable/disable preserves existing profile settings instead of overwriting (task-0029).
scan_git_revisionskips.archledger/buildstate files, fixing spurious unlinked changes in PR checks (task-0027).assert result.stderrtest failures migrated toresult.outputfor combined-stream CliRunner (task-0028).
Internal
- Code smell review: removed unused
repository_checksmodule, unreachable model code, fixedCallabletyping, added missing test annotations, aligned release docs with mypy scope (task-0025).
Full Changelog: v0.2.0...v0.3.0
v0.2.0
Full Changelog: v0.1.0...v0.2.0
0.2.0 — 2026-05-30
Configurable ID formats, content-segmented ledger IDs, archledger renumber command, comprehensive init CLI options, Markdown as the default source format, and a major internal refactoring across 5 phases.
Added
- Configurable ledger ID format —
archledger.toml[ids]table withid_prefixandid_widthsettings (config v6);archledger init --id-prefix/--id-widthoptions set the format at project creation (task-0019). - Content-segmented ledger IDs —
segment_mode,default_segment, andsegment_mapin config v7 enable arc42-chapter-prefixed record IDs (e.g.al_introduction_0001);init --id-segment-modeandrenumber --id-segment-modeoptions (task-0020). archledger renumbercommand — dry-run by default,--applyto rewrite record IDs and update cross-references; supports prefix/width changes and segment-mode transitions with collision detection and two-phase renames (task-0019, task-0020).- Comprehensive
initCLI options —--diagrams/--no-diagrams,--diagram-renderer,--diagram-default-type,--build-default-output,--build-default-output-dir,--arc42-*,--tracking/--no-tracking,--tracking-*,--project-uuid, and--id-prefix/--id-width/--id-segment-mode(task-0018, task-0019, task-0020). - Interface records — accepted architecture records documenting the CLI JSON stdout contract and front-matter record file contract (task-0021).
Changed
- Markdown as default source format —
archledger initnow creates Markdown projects by default instead of AsciiDoc (task-0023). - Config version v6 → v7 —
[ids]table added in v6, content-segment fields added in v7; migration floor raised to v7 (task-0019, task-0020). - ID-config-aware internals — repository, validation, counter recomputation, and renumber modules are fully parameterized on configured ID prefix, width, and segment mode (task-0019, task-0020).
- Architecture docs remediation — updated building-block, runtime, glossary, and quality-scenario records; corrected source-tracking policy to exclude
_version.py; regenerated ARCHITECTURE.md (task-0021). - Skill default —
skill.installednow defaults tofalsein generatedarchledger.toml(task-0018). - Internal refactoring (5 phases) — deduplicated helpers (
known_source_extensions,is_relative_to,SourceFormatSpec,_validate_uuid) centralized in model/storage; CLI boilerplate reduced with payload helpers,_run_simple_command, andInitOptionsdataclass; config schema consolidated withconfig/schema.pydata-drivenFieldSpec/TableSpec; diagram/template handling unified with shared_materialize_blocksandDiagramSyntaxregistry; repository split into facade +record_store.py+repository_checks.py+ledger_sequence.py+doctor.py+archive.py(task-0022).
Fixed
archledger initcrash whenenabledkwarg was passed to the tracking table parser (task-0023).- README PyPI URL and unsupported kroki renderer claim corrected (task-0021).
- Build/output path guidance in docs aligned with current config-driven behavior (task-0021).
v0.1.0
Full Changelog: https://github.com/holgern/archledger/commits/v0.1.0