Skip to content

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.