v1.0.0 — first stable release
First stable release — the public API is now covered by semver: breaking changes only in major versions.
excelents is a universal, tree-shakeable, TypeScript-first spreadsheet (xlsx/csv) library with zero runtime dependencies — a ground-up rewrite of ExcelJS on web-standard APIs. It runs the same in Node ≥ 24, browsers, Deno, Bun, and edge runtimes.
Highlights (since 0.3.0)
- ExcelJS migration scanner —
npx @mitresthen/excelents [path] [--json]inventories a codebase's ExcelJS usage and buckets every call site into auto-mappable / needs-restructuring / no-equivalent, each pointing into the new migration guide. Also importable from@mitresthen/excelents/migrate. - Browser tests in CI — the public-API suite now runs in real Chromium (Vitest browser mode) on every commit.
- Benchmarks — reproducible excelents-vs-exceljs benchmark (
pnpm bench); honest results in the README: ~2× faster reads and lower memory everywhere, writes currently slower (on the roadmap). - Docs — rewritten README, CHANGELOG, migration guide.
Notes
- ESM-only, Node ≥ 24 (browsers/Deno/Bun/edge via web-standard APIs).
- Deliberately out of scope vs ExcelJS: cell comments, pivot tables, encryption, page setup/printing, protection — see the README for the full list and roadmap.
Full changelog: v0.3.0...v1.0.0