Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Changelog

ABCrimson edited this page Mar 2, 2026 · 18 revisions

Changelog

v0.1.9 — Hardening & Performance Audit (2026年03月02日)

Complete 0.1.x hardening series. 419 tests (171 Rust + 248 TypeScript).

Tests (+77 new)

  • Style roundtrip: gradient fills, diagonal borders, DXF styles, cell named styles
  • Formula metadata: array formulas, shared formulas, formulaRef, sharedIndex
  • Feature roundtrip: hyperlinks, comments, data validation, conditional formatting, sheet protection, page setup
  • Edge cases: empty workbooks, malformed XML, boundary values
  • Error handling: corrupted files, invalid inputs, graceful degradation
  • Streaming & benchmarks: 100K row read/write, parallel parsing, buffer scaling
  • Utilities: cell refs, dates, format codes, CSV/HTML/JSON conversion

Performance (Rust Core)

  • push_entity() — zero-allocation XML entity resolution
  • Vec::with_capacity() on all XML parse buffers (11 sites)
  • from_utf8().unwrap_or_default() replaces from_utf8_lossy() (6 sites)
  • entries.remove() in StreamingReader — moves data instead of cloning
  • drain() in collect_preserved() — moves preserved entries
  • #[non_exhaustive] on error enum

TypeScript

  • Module-scoped CELL_REF_RE regex (hoisted from hot loop)
  • isolatedDeclarations: true in tsconfig
  • Shared WASM init via __tests__/setup.ts

Documentation

  • Migration guide: SheetJS
  • Migration guide: ExcelJS
  • Usage examples cookbook
  • Release roadmap

CI

  • GitHub Actions pinned to stable versions
  • Rust toolchain: @stable
  • Node.js engine: >=24.0.0

v0.1.0 — Initial Release (2026年03月02日)

First public release.

Features

  • Full XLSX read/write with Rust WASM core
  • Cell styling — fonts, fills, borders, alignment, number formats via StyleBuilder
  • Data validation — list, number, date, text length, custom formula
  • Conditional formatting — color scales, data bars, icon sets, formula-based rules
  • Frozen panes, hyperlinks, comments, sheet protection, page setup
  • Rich text with RichTextBuilder
  • Named ranges, document properties, workbook views, calc chain
  • Streaming reader/writer for large files
  • Parallel sheet parsing (rayon)
  • Cell reference utilities, date utilities, format utilities
  • Sheet conversion utilities (JSON, CSV, HTML, array-of-arrays)
  • Browser Blob download support
  • 342 tests (170 Rust + 172 TypeScript)

Performance

Operation modern-xlsx SheetJS CE Factor
Read 100K 1,155 ms 4,927 ms 4.3x faster
Write 100K 5,048 ms 5,048 ms 1.0x
sheetToJson 10K 54 ms 103 ms 1.9x faster

Clone this wiki locally

AltStyle によって変換されたページ (->オリジナル) /