Skip to content

v0.2.0

Choose a tag to compare

@holgern holgern released this 30 May 10:27

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 formatarchledger.toml [ids] table with id_prefix and id_width settings (config v6); archledger init --id-prefix/--id-width options set the format at project creation (task-0019).
  • Content-segmented ledger IDssegment_mode, default_segment, and segment_map in config v7 enable arc42-chapter-prefixed record IDs (e.g. al_introduction_0001); init --id-segment-mode and renumber --id-segment-mode options (task-0020).
  • archledger renumber command — dry-run by default, --apply to 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 init CLI 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 formatarchledger init now 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 defaultskill.installed now defaults to false in generated archledger.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, and InitOptions dataclass; config schema consolidated with config/schema.py data-driven FieldSpec/TableSpec; diagram/template handling unified with shared _materialize_blocks and DiagramSyntax registry; repository split into facade + record_store.py + repository_checks.py + ledger_sequence.py + doctor.py + archive.py (task-0022).

Fixed

  • archledger init crash when enabled kwarg 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).