Skip to content

v0.6.0

Choose a tag to compare

@manatunga manatunga released this 26 Sep 07:32
· 7 commits to main since this release

v0.6.0 — Command Registry Refactor

This release is an internal architecture refactor with no new
user-facing commands or flags. All existing commands work exactly
as before, with one deliberate exception noted below.

Changed

  • Replaced the hardcoded if/elif command dispatch in __main__.py
    and the manually-repeated subparser setup in cli.py with a
    class-based command registry (commands/). Each command now
    defines its own arguments and execution logic in one place,
    conforming to a shared Command interface.
  • This lays the groundwork for the upcoming v0.7.0+ commands
    (add, remove, update, doctor, etc.) without further
    churn to the dispatch layer.

Fixed

  • repopy init now correctly returns a non-zero exit code when
    initialization fails. Previously, a failed init (without
    --link) would still exit with code 0, incorrectly reporting
    success to scripts or CI pipelines checking the exit status.

Notes

  • No flags, defaults, or command behavior changed otherwise.
  • Full test suite (unit + registry integrity) and mypy/ruff checks
    pass clean.

Full Changelog: v0.5.0...v0.6.0