Sheetwrite 0.5.1 adds typed keyboard shortcuts and clear feedback for built-in commands. It makes column sums about twice as fast as in 0.5.0 and redesigns the docs. All seven packages release as 0.5.1. Read the upgrade checklist for the shortcut and export API changes.
Highlights
- Custom shortcuts. Use typed key combinations with platform-aware labels in context menus and toolbars.
- Command feedback. Built-in buttons show busy states and visible errors.
- Faster column sums. About twice as fast as 0.5.0. Literal values use a direct read path; calculated values keep the formula-aware path.
- Redesigned docs. A task-focused home, grouped navigation, and clearer API pages make guides and examples easier to find.
Changes
Typed shortcuts
⌘⇧K
CtrlShiftK
Mod+Shift+K
Binding rules and API changes
The same binding can use an object:
Modaccepts Command or Control.CtrlandMetamean those specific keys.ContextMenuItem.shortcutaccepts a bound action name, such as"copy", or a key combination. Replace free-text hints with one of these forms.- Use
config.keyboard.bindingsto change or disable an action's keys. - With Grid focus, a context-menu item's key combination runs its
onClickhandler. Combinations withMod,Ctrl, orMetaalso work in the inline editor. - Conflicts throw
SheetwriteErrorwith codeshortcut-conflict. Malformed combinations throwinvalid-shortcut.
Action feedback
- Ready
Start the command.
- Running
Busy state. Repeated starts are ignored.
- FailedExport failed
A visible error explains the failure.
Built-in toolbar, context-menu, and find buttons show these states. Blocked clipboard access shows a recovery message.
Export completion and error handling
GridActions.exportXlsx() returns a promise that never rejects. Await it to
wait for the command to finish, including after a failure. Built-in export
failures show an alert and emit export-error, with format "csv" or "xlsx".
Direct Grid.exportXlsx() calls still reject on failure.
Fixes
- Column sums are about twice as fast as in 0.5.0: literal values are read directly, and unused count and minimum/maximum work is skipped. In paired runs against 0.4.0, sums are faster at 1,000, 10,000, 500,000 and 1,000,000 rows and 22.7% slower at 100,000 rows. Sorting also avoids unnecessary read overhead. Calculated values keep the formula-aware path.
- Fix docs search and not-found pages.
- Wait for npm validation before release publishing continues.
Documentation
- Docs pages use an open reading layout. Tables scroll inside a frame and keep short values on one line. Links are underlined.
- A version tag next to the logo opens the latest release notes, and a Releases section in the sidebar lists every version with its date.
- The Grid methods in the configuration guide are grouped by area and link to the API reference.
- Each benchmark on the performance page shows its result first. Full tables are in a closed "All measurements" section.
- API pages show checked examples and related links.
Upgrade checklist
-
Update every package together
Install 0.5.1 for each
@sheetwrite/*package that you use. Packages from different versions are not supported together.corewasmformulasxlsxreactvuesvelte -
Replace free-text shortcut hints
Use a bound action name or a typed key combination. The Grid now runs the item when the user presses the keys, and a conflict throws
shortcut-conflict.Before
shortcut: "⌘⇧O"After
shortcut: "Mod+Shift+O"orshortcut: "copy" -
Await the action, but do not catch it
The action returns a promise that resolves when the command finishes, also after a failure. Failures show an alert and emit
export-error. Directgrid.exportXlsx()calls still reject. -
Handle CSV and XLSX failures
The event
formatis now"csv"or"xlsx". -
Complete the 0.5.0 steps first
Read the 0.5.0 upgrade checklist. It covers
initSheetwrite(), the serverrestoreBlockoperation, and the breakingCellStore.setBlockchange.