- xlsx.njs use dense mode by default
- CSV Streaming output for nodejs
- XLSX/XLSB error on password protected documents
- record hoppers switch on record number rather than name
- browser demo save file in global (fixes#573 h/t @WildDusk)
- flesh out XLSB record expectations (fixes#624 h/t @pgeeh)
- `dense` mode (fixes#34 h/t @schleumer)
- XLSB read V H VH + write V H VH
- XLSX read V H VH + write V H VH
- XLML read V H VH + write V H VH
- XLS read V H VH
- fixes#123 h/t @rla-dev @Mior
- fixes#464 h/t @enobufs @thowk
- fixes#498 h/t @digity
- fixes#503 h/t @digity
- chartsheets are now stored as sheets with "!type" set to "chart"
- fixed Strict XML Workbook Relationships
- stubbed support for dialog and macro sheets
- removed legacy XLS `!range` field
- `aoa_to_sheet` function (fixes#314 h/t @fonzy2013 @rvdwijngaard)
- `writeFileAsync` function (fixes#396 h/t @barbalex)
- `sheet_to_json` tests + docs + blankrows (fixes#602 h/t @EEaglehouse)
- write number format scan now includes every index >= 50
- propagate SSF IE8 fixes (fixes#171 h/t @sheetjsdev)
- update shim for extendscript (see #603 h/t @firas3d)
- more flow type definitions
- added more function argc counts and cleaned up error rendering
- disabled XLS error on MTRSettings (fixes#466 h/t @dskrvk)
- handle more unexpected XML empty tags (fixes#510 h/t @rahulsindc)
- throw error if SheetNames is not unique (fixes#231 h/t @zippy1981)
- BIFF 2-12 formula parsing
- more content type coverage
- unified `.f` form: A1-style string
- `.F` field for array formulae
- formula output groups array formulae
- bin script -A --arrays output JS row objects
- whitespace robustness in inline string xml
- UTF-8 parsing in rich text runs (fixes#505 h/t @fuchsc)
- bold/italic/underline accept null val attr (h/t @qqilihq)
- sst trimming (fixes#176 h/t @shakhal @oising)