v2.5.8: COM Engine Speed Optimizations
What's New in v2.5.8 π
This release brings massive Performance Optimizations for Windows users and fixes a critical bug where .xls files were being unintentionally deleted after processing.
β‘ Performance: COM Single-Boot Architecture
Previously, processing legacy .xls files on Windows booted the entire Microsoft Excel COM engine twice (once to convert the file, once to process the data).
We have completely refactored the pipeline to use a Single-Boot Architecture:
process_ledger_comnow opens legacy.xlsfiles natively, processes all the data in memory, and natively runsSaveAs(.xlsx)in one seamless operation.openpyxl's API read-only pre-scan now falls back to nativexlrdextraction to bypass the conversion entirely.- Result: Processing legacy
.xlsfiles on Windows is now significantly faster.
π Bug Fixes
- CRITICAL: Fixed an aggressive cleanup script that was running
os.remove()on.xlsfiles immediately after the COM engine successfully finished processing them, resulting in the file seemingly "doing nothing." Processed.xlsfiles are now correctly mapped to{original_name}.xlsxalongside the source file.
βοΈ Technical Details
- Added
xlrdfallback support inside theengine.pyAPI pre-scanner. com_engine.pyexplicitly handlesFileFormat=51SaveAs operations natively.- Dispatcher correctly bypasses
xls_converter.pywhen running onsys.platform == "win32".