Skip to content

Releases: chenweixin123/workbooklens

WorkbookLens v2.4.0

Choose a tag to compare

@chenweixin123 chenweixin123 released this 26 Aug 17:25
34c1215

WorkbookLens 2.4.0 adds evidence-constrained semi-automatic repair for complex Excel workbooks while preserving fail-closed behavior when business intent is ambiguous.

Highlights

  • Upgrades Patch Plan and Workbook Profile handling to schema v3 while retaining compatibility with older v2 plans and v1/v2 profiles.
  • Adds conservative normalization for uniquely parseable currency, thousands-separated numbers, percentages, valid date text, and trailing whitespace, with format-preserving atomic patches.
  • Adds relative-formula recovery with independent evidence, dependency checks, and isolated recalculation validation. Microsoft Excel is preferred locally and LibreOffice is used as a fallback when available.
  • Adds Profile-gated semantic repair for explicitly authorized, uniquely parsed business values. Ambiguous values remain review candidates instead of being guessed.
  • Adds bilingual CLI and local-interface summaries for lossless normalization, verified formulas, semantic review, and layout review, plus Select all/Clear all controls that do not silently authorize higher-risk groups.
  • Preserves the final workbook through direct OOXML patching; spreadsheet applications are used only on temporary validation copies, with rollback when postconditions fail.

Validation

  • Tagged release-candidate workflow: run 32992944534, including Linux tests, wheel/sdist validation, Windows portable and installer builds, upgrade tests from v2.3.0, smoke tests, and final SHA-256 assembly.
  • The tagged Linux gate passed 1,198 tests with 1 skipped and 84.43% coverage. PR CI also passed on Linux, Windows, and macOS with Python 3.11 through 3.14, together with CodeQL and dependency review.
  • In the 112-item blind audit: 82 direct hits, 6 partial hits, 24 misses, and 1 confirmed false positive.
  • With an explicit Profile and semantic authorization, 24 items were completely repaired, improving the baseline by 23; Excel formula errors decreased from 20 to 4.
  • Without a Profile, the default mode deliberately remains conservative (20 to 15 formula errors) and does not guess Chinese business-number semantics.

Security Notes

Workbook processing remains local. Formula patches are not reported as verified when no supported local recalculation provider is available. The Windows binaries are currently unsigned and this release does not include build provenance or an attestation, so Windows SmartScreen may display a warning. Verify downloads with SHA256SUMS or the included sidecar checksum files. Only process and convert workbooks from trusted sources because local spreadsheet applications may evaluate workbook-defined behavior.

WorkbookLens v2.3.0

Choose a tag to compare

@chenweixin123 chenweixin123 released this 23 Aug 02:14
6f4ce00

WorkbookLens 2.3.0 introduces a native Windows desktop experience, consistent Chinese and English operation, and more reliable local legacy Excel conversion and upgrades.

Highlights

  • Adds a native Windows desktop interface powered by WebView2, so normal launches stay inside a WorkbookLens application window instead of opening the default browser or displaying a console window.
  • Adds a Chinese and English language selector. Navigation, forms, results, and recoverable user-facing errors follow the selected language.
  • Strengthens local conversion of trusted legacy .xls workbooks to .xlsx, including safer Excel executable discovery, clean PowerShell error decoding, bounded timeouts, converter fallback, and owned-process cleanup without terminating existing user Excel processes.
  • Updates both portable ZIP and Windows installer builds with improved startup and cleanup validation, in-place upgrade handling, refreshed shortcuts, Installed apps registration, and uninstall support.
  • Keeps workbook processing local on the user's computer; uploading files to an external service is not required.
  • Validated by 636 automated tests with 80.35% coverage and successful GitHub release-candidate workflow run 32611847440.

Security Notes

The Windows binaries are currently unsigned and this release does not include build provenance or an attestation. Windows SmartScreen may display a warning. Verify downloads with SHA256SUMS or the included sidecar checksum files. Only convert .xls files from trusted sources because local spreadsheet applications may process workbook-defined behavior.

WorkbookLens v2.2.1

Choose a tag to compare

@chenweixin123 chenweixin123 released this 22 Aug 12:24
057a046

WorkbookLens 2.2.1 improves the local Windows experience and fixes legitimate local uploads that could previously be rejected.

Highlights

  • Adds a Windows installer with a WorkbookLens Start Menu entry, optional desktop shortcut, Installed apps registration, and an Uninstall WorkbookLens shortcut.
  • Adds local conversion of trusted legacy .xls workbooks to .xlsx when Microsoft Excel or LibreOffice is available.
  • Accepts legitimate loopback and Origin: null form submissions while continuing to reject external cross-origin requests.
  • Hardens Excel process ownership and timeout handling so existing user Excel processes are protected.
  • Hardens installation ownership, registry, custom-directory, and reparse-point checks.
  • Validated by 565 automated tests and successful GitHub release-candidate workflow run 32570176418.

Security Notes

The Windows binaries are currently unsigned and this release does not include build provenance or an attestation. Windows SmartScreen may display a warning. Verify downloads with SHA256SUMS or the included sidecar checksum files. Only convert .xls files from trusted sources because local spreadsheet applications may process workbook-defined behavior.

WorkbookLens 2.2.0

Choose a tag to compare

@chenweixin123 chenweixin123 released this 21 Aug 18:02
7b4cda2

WorkbookLens 2.2.0 expands deterministic, reviewable repair for workbook layout and display defects while preserving fail-closed safety.

Highlights

  • Adds WL016-WL021 for clipped or blocked text, border-edge inconsistencies, inflated used ranges, identifier scientific notation, saved views positioned away from content, and whitespace-only tails.
  • Adds reviewed OOXML repairs for row height, column width, wrapping, borders, saved views, and exact tail cleanup.
  • Keeps every layout-changing patch out of --safe-only and requires explicit selection plus --accept-layout-risk.
  • Hardens the local web UI with Host/Origin/Referer validation, CSRF protection, restrictive headers, and request-size limits before multipart parsing.
  • Preserves formulas, values, data types, number formats, merged ranges, intentional custom-height rows, and protected or unsupported workbook structures through source-bound preconditions and post-repair rescans.

Local and private by default

WorkbookLens runs on the user's computer. The CLI reads local paths directly, and the optional browser UI listens only on 127.0.0.1. Workbook files are not uploaded to a remote WorkbookLens service.

Install the wheel with Python 3.11+:

uv tool install .\workbooklens-2.2.0-py3-none-any.whl
workbooklens --version
workbooklens serve --port 8765

Then open http://127.0.0.1:8765/.

Compatibility

  • Supported repair target: .xlsx
  • .xlsm remains read-only
  • .xls, .xlsb, .ods, and Google Sheets are not supported
  • Patch-plan schema is now version 2; regenerate older plans before applying them

Verification

  • 403 tests passed with 82.16% local coverage
  • CI passed on Ubuntu, Windows, and macOS with Python 3.11-3.14
  • Fresh-wheel installation and demo passed on all three operating systems
  • Ruff, mypy, pip-audit, Twine strict, artifact allowlist, CodeQL, dependency review, and SHA256 verification passed

See CHANGELOG.md for the complete change list.

WorkbookLens 2.1.0

Choose a tag to compare

@chenweixin123 chenweixin123 released this 20 Aug 11:48
3867251

Highlights

WorkbookLens 2.1.0 significantly strengthens conservative Excel repair and reduces false-positive automatic fixes.

  • Protects input cells, explicitly text-formatted cells, merged ranges, subtotal/summary rows, hidden content, protected worksheets, and non-visible worksheets from unsafe automatic repair.
  • Limits numeric-text conversion to explicit measure columns; identifiers such as IDs, SKUs, account numbers, postal codes, and unknown columns remain review-only.
  • Requires stable detail-row and peer-style evidence before formula or style repair.
  • Treats suspicious SUM-boundary findings as review-only instead of automatically changing formulas.
  • Preserves Chartsheets, charts, drawings, relationships, number formats, protection, quote prefixes, and pivot-button semantics.
  • Adds stricter OOXML precondition checks, including validation of hidden-column spans against Excel's A:XFD bounds.

Compatibility

  • JSON schemas and rule IDs are unchanged from 2.0.0.
  • Serialized patch plans continue to be revalidated against a fresh canonical scan before repair.
  • PatchKind.EXTEND_SUM remains serialized for compatibility, but 2.1.0 does not generate it as an automatic repair.

Verification

  • 256 automated tests passed.
  • Test coverage: 84.66%.
  • Ruff, Mypy, Twine strict validation, release-artifact audit, fresh-wheel installation, and the complete demo passed.
  • Five additional complex Excel regression workbooks passed (5/5).
  • Visual verification passed for 35/35 rendered images and 10 before/after comparisons.
  • Release-candidate workflow: https://github.com/chenweixin123/workbooklens/actions/runs/32364003907

Installation

Download the wheel or source distribution attached below. This release is GitHub-only and has not been published to PyPI. The artifacts were produced without provenance attestation.

WorkbookLens 2.0.0

Choose a tag to compare

@chenweixin123 chenweixin123 released this 19 Aug 16:27
734526a

WorkbookLens 2.0.0 expands the project from deterministic workbook scanning and repair into an auditable, CI-ready quality gate for Excel workbooks.

Highlights

  • Source-scoped and aggregate baselines with stable finding identities and --new-only gating.
  • Version 2 YAML suppressions with reasons, optional expiry, and auditable test output.
  • Findings report schema version 2 with total, active, suppressed, known, and new counts.
  • Composite GitHub Action scan/test modes with config, baseline, .xlsx, and .xlsm support.
  • Stronger semantic diffing for value types, canonical styles, and formulas containing string literals.
  • Hardened release artifacts, path validation, and fail-closed repair-plan integrity checks.
  • Cross-platform CI and fresh-wheel checks for Linux, Windows, and macOS.

Compatibility note

Public scan JSON consumers must support schema version 2. Stable finding IDs remain the baseline comparison key, while source_scope prevents a findings report from being reused for another workbook.

Verification

  • Release candidate #2 completed successfully for commit 734526a.
  • Formatting, linting, strict typing, the complete test suite, package build, Twine validation, and artifact-content auditing passed.
  • The attached wheel and source distribution match the included SHA256SUMS.

Supply-chain note

SHA-256 checksums are provided. This release does not include a provenance attestation.

See CHANGELOG.md for the full change list.