Releases
v2.6.1
v2.6.1: COM Crash Fix + Null-Safety Audit
Compare
Sorry, something went wrong.
No results found
What's New in v2.6.1 π‘οΈ COM Crash Fix & Null-Safety Audit
π₯ Critical Fix: Unable to set the Calculation property Crash
The v2.5.9 Silent Mode optimization (excel.Calculation = xlCalculationManual) crashes on certain Excel installations
Fix: Each Silent Mode flag (ScreenUpdating, Calculation, EnableEvents) is now wrapped in individual try/except blocks
If one flag fails, the others still apply and Excel still launches successfully
A warning is logged so users can see which flags their Excel version doesn't support
π‘οΈ Global Null-Safety Audit
xlrd pre-scan path: str(c.value).strip() now uses defensive str(c.value).strip() if c.value is not None else ""
Prevents None cells from becoming the literal string "None" (which could false-match column headers)
All cell-read paths across com_engine.py and engine.py audited and confirmed null-safe
π Audit Results
Module
Path
Status
com_engine.py header scan (L466)
str(v).strip() if v is not None else ""
β
Already safe
com_engine.py currency read (L531)
str(raw).strip().upper() if raw else ""
β
Already safe
com_engine.py date parser
Guards against None via _parse_cell_date()
β
Already safe
engine.py xlrd pre-scan (L396)
Was str(c.value).strip()
π§ Fixed
engine.py openpyxl scan (L435)
str(c).strip() if c is not None else ""
β
Already safe
prescan.py header scan (L131)
str(c).strip() if c is not None else ""
β
Already safe
You canβt perform that action at this time.