Skip to content

v0.7.0

Choose a tag to compare

@harumiWeb harumiWeb released this 19 Mar 10:56
· 61 commits to main since this release
ee3d44f

v0.7.0 Release Notes

This release publishes the workbook editing work completed under issue #99,
including the new exstruct.edit API surface, the editing CLI, compatibility
follow-ups, and maintainer-facing documentation needed to keep the layering
clear for future changes.

Next steps

Currently, the CLI startup is slow due to issues with the initial implementation,
so we plan to release an update in the near future to improve its performance.

Highlights

  • Added a first-class workbook editing API under exstruct.edit, including:
    • public patch_workbook() / make_workbook() entrypoints
    • public request/result models
    • shared patch-op schema discovery helpers
  • Added public editing CLI commands under exstruct:
    • patch
    • make
    • ops
    • validate
  • Clarified the editing architecture split so exstruct.edit is the canonical
    core and MCP remains the host-managed integration / compatibility layer.
  • Updated public docs to explain canonical usage across Python, CLI, and MCP,
    including the recommended dry_run -> inspect -> apply workflow and the
    backend="auto" caveat for same-engine comparisons.
  • Added maintainer-facing documentation coverage for editing architecture,
    specs, ADR alignment, and agent workflow expectations used during the issue
    #99 closeout.
  • Fixed release-significant review follow-ups, including:
    • top-level sheet fallback while preserving op.sheet precedence
    • legacy monkeypatch compatibility across compatibility shims
    • rename-reservation cleanup on openpyxl failure paths
    • dry-run / backend / CLI failure wording drift in docs

Notes

  • The legacy extraction CLI invocation (exstruct INPUT.xlsx ...) is unchanged.
  • MCP tool names and payload shapes remain compatible in v0.7.0.
  • Patch backend policy remains auto / com / openpyxl; this release does
    not change backend selection semantics.