Releases: ZVN-DEV/yable
Releases · ZVN-DEV/yable
v0.4.0 — DX Improvements
What's New
Column Presets
Zero-boilerplate factory functions for the most common column patterns:
selectColumn()— checkbox selection with indeterminate header staterowNumberColumn()— row index displayactionsColumn({ actions })— per-row action buttons with icon/label/hide/disableexpandColumn()— expand/collapse toggle for detail panels and tree data
Cell Layout Primitives
Compose rich cell content without manual CSS:
CellStack— vertical layout (primary text + subtitle)CellRow— horizontal layout with align/justifyCellWithIcon— icon + contentCellText— styled text with variant/size/truncate/bold
Developer Experience
defaultColumnDef— set table-level column defaults (enableSorting, size, etc.)YableProvider— React context for project-wide table configmergeEditChanges()— one-liner to applyonEditCommitchangesuseTablePersistence()— localStorage persistence with debounce, versioning, SSR safety- Editable inference — columns with
editConfigare automatically editable cellStyleprop — inline styles on column definitionscellClassNamefix — was defined in types but never applied to cells
Documentation
- Cell types guide documenting all 9 built-in
cellTypevalues - Floating filters guide
- Column presets guide
- Fixed quickstart sorting contradiction
Bug Fixes
- Column resize handle no longer triggers column reorder drag
cellClassNamenow properly renders on<td>elements
Install
npm install @zvndev/yable-core@0.4.0 @zvndev/yable-react@0.4.0 @zvndev/yable-themes@0.4.0Full Changelog: v0.3.0...v0.4.0
v0.3.0 — Security, Accessibility & Export Sprint
v0.3.0 — Security, Accessibility & Export Sprint
Security
- Prototype pollution guard on
getDeepValue— blocks__proto__,constructor,prototypetraversal - URL allowlist in
CellLink— onlyhttp:,https:,mailto:,tel:protocols allowed - Formula length limit (10,000 chars) prevents DoS via parser
- CSV formula injection mitigation — tab-prefixes values starting with
=,+,-,@
Added
exportToCsv()andexportToJson()— full RFC 4180 CSV compliance, BOM support, custom delimiters, column filtering, value formattersariaLabelprop on React<Table>componentaria-liveregion for sort/filter/page change announcementsaria-selectedon selected rows,aria-expandedon expandable rows- TanStack Table migration guide (
docs/MIGRATION.md)
Changed
- Table constructor is now fully typed — eliminated ~90
anycasts,__commitCoordinatormoved to WeakMap - ESLint
no-explicit-anyescalated fromwarn→error(remaining count: 22, down from 114) - 127 new tests (722 total) covering security, accessibility, export, virtualization, clipboard, and error boundaries
Packages
@zvndev/yable-core@0.3.0@zvndev/yable-react@0.3.0@zvndev/yable-vanilla@0.3.0@zvndev/yable-themes@0.3.0
Install: npm install @zvndev/yable-core@0.3.0 @zvndev/yable-react@0.3.0
v0.2.1
Yable v0.2.1
This release raises the product's trust floor and ships the first serious evaluation tranche.
Highlights
- Trust-surface cleanup across README, TODO, docs, and demo copy
- Real lint, coverage, CI, and package-integrity checks
- Fixed themes package publish/export surface
- Demo deploy path and demo dependency advisories fixed
- Baseline cell range selection with clipboard-aware copy behavior
- Column virtualization, floating filters, and set filter support
- Added focused tests for selection, faceting, virtualization, and print sanitization
Verification
- lint
- test
- typecheck
- build
- size-limit
- production audit (no known high prod vulnerabilities found locally)
Known limitations
- multi-range selection not yet implemented
- Shift+Arrow selection extension not yet implemented
- floating filters currently ship text + set variants only
- column virtualization intentionally falls back with pinned columns or grouped headers