Changelog
v2.0.0 (2026-03-30)
Section titled “v2.0.0 (2026-03-30)”What’s changed
Section titled “What’s changed”New features
Section titled “New features”- Pivot table support: pivot tables are now written to XLSX output, enabling full round-trip of pivot tables including layout, fields, cache definitions, cache records, conditional formats, filters, and extension data.
- Theme and colour support: colours are now fully supported as structured objects with multiple colour models (sRGB, theme, preset) and transforms, rather than plain hex strings. Theme fonts are also supported.
- Text rotation: cell alignment now includes
textRotationin the XLSX output.
Bug fixes
Section titled “Bug fixes”- Fixed a crash when normalising table column formulas that contained unknown or unsupported functions.
- Fixed row style assignment not being applied correctly.
- Fixed
showGridLines: falsenot being persisted on sheet views.
Breaking changes
Section titled “Breaking changes”This release tracks @jsfkit/types v2.0.0,
which introduced breaking changes to the colour model (colours are now objects rather than
"#rrggbb" strings) and moved showGridLines into WorksheetView. Update your JSF data
accordingly.
Dependency updates
Section titled “Dependency updates”Routine updates to ESLint, its plugins, and Vitest.
v1.3.3 (2026-03-10)
Section titled “v1.3.3 (2026-03-10)”- Added: JSF → Excel → JSF roundtripping tests for all eligible fixtures
- Fix: Additive default properties in XML generation
- Fix: threadedComments2 URI for hyperlinks in comments
- Fix: veryHidden sheet state preserved
v1.3.2 (2026-03-04)
Section titled “v1.3.2 (2026-03-04)”- Fix:
workbook>bookViews>workbookViewdefault of no activeTab property does not result in aworkbookView[activeTab="0"]element - Fix column width discrepancy due to no
baseColWidth="10"value for JSF workbooks without defaults - Added: CLI tool exposing toXlsx, usage:
jsf2xlsx input.json -o output.xlsx
v1.3.1 (2026-03-02)
Section titled “v1.3.1 (2026-03-02)”- Row styles included in OOXML
- Default colWidth converted from PixelValue to character col width
- Default (CellStyle = normal) font chosen from 0th style[] in JSF
v1.3.0 (2026-02-18)
Section titled “v1.3.0 (2026-02-18)”- Update dependencies
- Drop
assertdependency in favor of lightweightasserthelper - Add support for data tables
v1.2.0 (2026-02-09)
Section titled “v1.2.0 (2026-02-09)”- Output cell comments and notes
- Update dependencies
v1.1.0 (2026-01-16)
Section titled “v1.1.0 (2026-01-16)”- Export workbook and worksheet views
- Fix incorrect worksheet dimension ref
- Use
package.jsonfiles prop instead of.npmignore - Add default cell format when JSF has no styles
- Test converted files open in Excel successfully
- Remove unused code
- Move JSZip to dev dependencies
- Fix export compatibility issues
- Switch to using npm for package management
- Fix
charEscaperegex to only escape chars < 32 - Convert JSF col widths from pixels to points
- Update dependencies
v1.0.1 (2025-11-27)
Section titled “v1.0.1 (2025-11-27)”- Fix
.npmignoreissues
v1.0.0 (2025-11-26)
Section titled “v1.0.0 (2025-11-26)”- Initial release after the switch from CSF to JSF