Changelog
Release history and updates for Simple Table.
2.2.1
Jan 13, 2026
- 🐛 Fix Fixed bug when re-ordering columns that could cause incorrect column positions or rendering issues.
2.2.0
Jan 13, 2026
- 💥 Breaking Removed rowIdAccessor prop - Simple Table no longer requires you to specify a unique identifier accessor. This simplifies configuration and reduces boilerplate. →
- 💥 Breaking Removed rowId parameter from onRowGroupExpand callback - Use row.id (or any property from your row object) instead of the internal rowId path string. →
2.1.7
Jan 7, 2026
- 🐛 Fix Fixed alignment when row grouping and siblings have children but one or more siblings does not have children - the collapse/expand icon won't show but the text in the rows will still align correctly
2.1.6
Jan 6, 2026
- 🐛 Fix Keyboard navigation bug fix
2.1.5
Jan 6, 2026
- 🚀 New Added hideHeader prop to hide the entire table header row while maintaining all table functionality →
2.1.4
Jan 4, 2026
2.1.3
Jan 4, 2026
- 🐛 Fix Fixed enum cell editing bugs that prevented proper value selection and updates
- 🐛 Fix Fixed datepicker cell editing bugs that caused incorrect date handling and display issues
2.1.0
Jan 4, 2026
- 🚀 New Added expandAll() method to expand all rows at all depths in hierarchical data →
- 🚀 New Added collapseAll() method to collapse all rows at all depths →
- 🚀 New Added expandDepth(depth) method to expand all rows at a specific depth level (0-indexed) →
- 🚀 New Added collapseDepth(depth) method to collapse all rows at a specific depth level →
- 🚀 New Added toggleDepth(depth) method to toggle expansion state for a specific depth level →
- 🚀 New Added setExpandedDepths(depths) method to set which depths are expanded, replacing current state - perfect for restoring saved expansion state →
- 🚀 New Added getExpandedDepths() method to retrieve currently expanded depths as a Set - useful for saving expansion state →
- 🚀 New Added getGroupingProperty(depth) method to get the grouping property name for a specific depth index →
- 🚀 New Added getGroupingDepth(property) method to get the depth index for a specific grouping property name →
2.0.9
Jan 3, 2026
- ⚡ Improved Enhanced screen reader support with improved announcements for table interactions, cell selection, and data updates
- ⚡ Improved Improved keyboard navigation - Tab and Shift+Tab now properly apply and remove filters, sorting, and other table actions
- ⚡ Improved Added comprehensive ARIA attributes throughout the table for better accessibility compliance and assistive technology support
2.0.8
Dec 26, 2025
- 🚀 New Added components prop to HeaderRendererProps containing sortIcon, filterIcon, collapseIcon, and labelContent - allowing custom positioning of header elements →
2.0.6
Dec 22, 2025
- 🚀 New Added autoExpandColumns prop to scale all column widths proportionally to fill the container - perfect for responsive tables that adapt to their container size →
2.0.4
Dec 21, 2025
- 🚀 New Added maxHeight prop to enable adaptive height with virtualization - table shrinks to fit content when there are few rows →
2.0.3
Dec 16, 2025
2.0.2
Dec 15, 2025
- 🐛 Fix Bug fixes with strong border around row groups.
1.9.8
Dec 12, 2025
- 🐛 Fix Row index now accounts for pagination
1.9.7
Dec 11, 2025
- ⚡ Improved Enhanced CellRendererProps with rowPath property to access the path through nested data structures →
- ⚡ Improved Updated CellRendererProps.formattedValue to support string[], number[], and boolean types for more flexible formatting →
- 🚀 New Added 'hovered' CSS class to cells, enabling custom hover state styling via CSS →
1.9.5
Dec 9, 2025
- 🐛 Fix Fixed bug with nested data that had the same ID as the parent row
1.9.4
Dec 8, 2025
- 🚀 New Added canExpandRowGroup callback prop to conditionally control which row groups can be expanded →
- 🚀 New Added getAllRows() method to TableRefType for retrieving all flattened rows including nested/grouped data →
- 🚀 New Added getHeaders() method to TableRefType for retrieving the table's current header/column definitions →
- 🚀 New Default skeleton loading state now appears automatically for dynamic row groups when no custom loadingStateRenderer is defined →
- 🚀 New Accessor type now supports nested array paths (e.g., 'albums[0].title' or 'awards[0]') for accessing array data →
- 🚀 New initialSortColumn now supports nested array paths (e.g., initialSortColumn='awards[0]') →
- ⚡ Improved ValueFormatter return type extended to support string[] and number[] for array formatting →
- ⚡ Improved ComparatorProps enhanced with valueA, valueB, and formattedValue properties for more flexible sorting logic →
- 🐛 Fix CSV export with pagination now exports all data instead of only the current page →
1.9.3
Dec 4, 2025
- 🐛 Fix Horizontal scrollbar showing up when it shouldn't
- 🐛 Fix Filter input on click on mobile sometimes closes the filter dropdown
- 🐛 Fix Height undefined should not use virtualization
1.9.2
Dec 3, 2025
- 🚀 New Added copyHeadersToClipboard prop to include column headers when copying selected cells to clipboard →
- 🚀 New Added includeHeadersInCSVExport prop to control whether headers are included in CSV exports (defaults to true) →
- 🚀 New Added tableEmptyStateRenderer prop to customize the display when the table has no rows (e.g., after filtering or with no data) →
1.9.0
Dec 1, 2025
- 🚀 New Added setLoading, setError, and setEmpty helper functions to OnRowGroupExpandProps for managing row-level states during async data fetching →
- 🚀 New Added rowIndexPath to OnRowGroupExpandProps - provides array path to navigate nested data structure (e.g., [0, 'teams', 1] for rows[0].teams[1]) →
- 🚀 New Added groupingKeys array to OnRowGroupExpandProps - provides all grouping keys from the hierarchy for better context awareness →
- 🚀 New Added loadingStateRenderer, errorStateRenderer, and emptyStateRenderer props for customizing state displays during dynamic loading →
- ⚡ Improved Enhanced dynamic row loading example with comprehensive three-level hierarchy (Departments → Teams → Employees) showcasing state management →
- ⚡ Improved Improved OnRowGroupExpandProps documentation with detailed examples of rowIndexPath usage for direct nested data updates →
1.8.9
Nov 29, 2025
- 🚀 New Added onRowGroupExpand callback prop for handling row expand/collapse events with detailed context →
- 🚀 New OnRowGroupExpandProps interface provides row, depth, groupingKey, and isExpanded for flexible data loading →
- ⚡ Improved Enhanced row grouping documentation with lazy-loading patterns and best practices →
1.8.8
Nov 28, 2025
- 🐛 Fix excludeFromRender does not affect copied values anymore.
1.8.6
Nov 25, 2025
- 🚀 New Added initialSortColumn and initialSortDirection props to set default sorting on table load →
- 🚀 New Added collapseDefault attribute to start collapsible/expandable columns in collapsed state →
- 🚀 New Added excludeFromRender to hide columns from table while keeping them in CSV exports (perfect for ID columns) →
- 🚀 New Added excludeFromCsv to hide columns from CSV exports while showing in table (perfect for action buttons) →
- 🚀 New Enhanced CellRendererProps with value and formattedValue props for easier custom rendering →
- ⚡ Improved useFormattedValueForClipboard and useFormattedValueForCSV now default to true when valueFormatter exists (reduces boilerplate) →
- ⚡ Improved Added distinct CSS variables for sub-column hover (--st-sub-cell-hover-background-color), dragging sub-headers (--st-dragging-sub-header-background-color), and selected sub-cells (--st-selected-sub-cell-background-color, --st-selected-sub-cell-color) →
1.8.5
Nov 24, 2025
- ⚡ Improved Improved virtual scrolling performance with improved memory usage and faster rendering of large datasets.
1.8.4
Nov 24, 2025
- 🚀 New Added comparator attribute to HeaderObject for custom sorting based on row-level metadata or complex logic →
- 🚀 New Added valueGetter attribute to extract values from nested objects or compute values dynamically for sorting →
- 🚀 New Added useFormattedValueForClipboard attribute to control whether cells copy formatted values (with symbols, formatting) or raw data →
- 🚀 New Added useFormattedValueForCSV attribute to use formatted values in CSV exports instead of raw data →
- 🚀 New Added exportValueGetter attribute to provide completely custom values for CSV export, different from both raw and formatted display values →
- 🚀 New Exported new TypeScript types: Comparator, ValueGetter, ExportValueGetter with full IntelliSense support
- ⚡ Improved Enhanced HR and Sales examples to showcase new clipboard and CSV formatting capabilities →
1.8.2
Nov 23, 2025
- ⚡ Improved Improved chart width calculations for better responsive behavior →
- ⚡ Improved Optimized virtualization engine for faster rendering and smoother scrolling
1.8.1
Nov 22, 2025
- 🚀 New Added lineAreaChart and barChart column types for inline data visualization →
- 🚀 New Smart copy/paste for chart columns: arrays format as comma-separated values (e.g., '10, 15, 12, 18, 25') →
- 🚀 New Chart cells can be pasted with comma-separated values that automatically parse to number arrays →
- ⚡ Improved Enhanced Infrastructure example with live-updating CPU history chart visualization →
1.7.9
Nov 22, 2025
1.7.6
Nov 19, 2025
- 🐛 Fix Fixed nested data accessors (e.g., accessor: 'latest.rank') to work correctly
1.7.5
Nov 19, 2025
- 🚀 New Added isLoading prop to display skeleton loaders while data is being fetched →
- 🚀 New New CSS variable --st-loading-skeleton-bg-color for customizing skeleton appearance →
- 🚀 New New st-loading-skeleton CSS class for advanced styling customization →
- ⚡ Improved Enhanced pagination demo to showcase loading states during page transitions →
1.7.0
Nov 13, 2025
- 🚀 New Added server-side pagination support with new props: onPageChange, serverSidePagination, and totalRowCount →
- 🚀 New Enable cell selection using keyboard shortcuts (Shift + Arrow keys, Ctrl/Cmd + A, etc.) →
- ⚡ Improved Improved cell selection while scrolling for a smoother experience →
- ⚡ Improved Pagination now shows overflow visible when no height is specified, eliminating unnecessary scrolling →
1.6.7
Nov 9, 2025
- ⚡ Improved Reduced bundle size for improved loading performance
1.6.6
Nov 9, 2025
1.6.1
Oct 27, 2025
- ⚡ Improved Enhanced footer pagination controls for better usability and performance →
1.5.0
Oct 19, 2025
1.4.7
Oct 18, 2025
View full release notes and download packages: