v0.7.2 (2025-09-30)
Bug fixes
- Fix date range filters not converting end dates to end-of-day for datetime fields, causing records on the end date to be excluded
- Fix filter forms using browser submit when the enter key is pressed (#65)
v0.7.1 (2025-09-28)
Bug fixes
- Fix filter-only slots not receiving
options
attribute, causing select filters to show "No options available" - Ensure that field names have special characters stripped before being used in HTML attributes (#62)
- Remove double-processing of select/multi-select options and ensure that falsy values are still processed (#63)
v0.7.0 (2025-09-24)
Features
- Add filter-only slots for filtering on fields without displaying them as columns (#34)
Changes
- Remove "All" option from boolean filters - this is equivalent to clearing the filter
- Use labels when generating options from
Ash.Type.Enum
modules, instead of descriptions (#35)
Bug fixes
- Fix checkbox filters in filter-only slots not applying on first click when URL sync is enabled
- Fix sorting regression where sort-only columns were not sortable via URL parameters
- Fix aggregate field type inference using wrong property name (aggregates now correctly infer as
:number_range
instead of :text
) - Fix
show_filters
option not being respected when rendering table (#56) - Fix search parameter not being stored in the socket after being decoded (#54)
v0.6.1 (2025-09-05)
Features
- Add custom prompt support for multi-select filters
Bug fixes
- Fix filter type inference for relationship attributes
- Fix unified filter options to default to auto-inference when no type is specified
- Fix atoms in Enum modules generating missing labels in filters (#52)
- Fix embedded field sorting using calc expressions (#51)
- Don't empty data when refreshing tables, to prevent flickering (#48)
v0.6.0 (2025-08-26)
Features
- Allow custom filter functions to be defined for a column
- Allow custom sort cycles to be defined for a column
- Allow searching multiple fields in a table at once, with a new
search
config option on tables and columns (#40)
Bug fixes
- Fix URL sync double processing causing duplicate data loads on sort/filter events
- Fix table refresh error when page_size on a table is set to a number (not a map of data) (#45)
- Fix table refresh resetting current sort/search state
- Add warning when table has pagination configured but Ash action lacks pagination support
v0.5.5 (2025-08-14)
Bug fixes
- Fix field validation for embedded fields using underscore notation (e.g.,
profile__first_name
)
v0.5.4 (2025-08-11)
Features
- Support configurable page sizes with dropdown selector
- Use
page_size={25}
for fixed page sizes (existing behaviour), or page_size={[default: 25, options: [10, 25, 50, 100]]}
for user-selectable page sizes
- Support unified filter API with options in single parameter (
filter={[type: :select, options: [...]]}
)- Legacy
filter_options
parameter logs a deprecation warning, and will be removed in v1.0
Chores
- Support string format for filter types (e.g.,
filter="select"
in addition to filter={:select}
)
v0.5.3 (2025-08-07)
Bug fixes
- Fix
query
not preserving filters/sorts when using Ash.Query.filter(Resource, ...)
pattern (#36) - Ensure query tenant context is properly recognized
v0.5.2 (2025-08-06)
Bug fixes
- Log warnings about invalid column config in all environments, at the
info
log level
v0.5.1 (2025-08-03)
Features
- Allow
🔍 Filters
text to be customized via new filters_label
table assign (#26) - Set up the "modern" theme by default (#27)
Bug fixes
- Merge provided
filter_options
with default options for a column, instead of overwriting them - Fix slight input jumping issues across all themes and duplicate select arrows from DaisyUI theme
- Load all records for actions without pagination configured, showing a performance warning message
- Fix crashes when attempting to sort or filter by invalid fields, such as in-memory calculations or non-existent attributes (#32)
Chores
- Replace native select boxes with custom HTML implementation for better customizability
- Add
cinder
to the import_deps
list for custom formatting, on installation - Use the provided
empty_message
and loading_message
when rendering the table (#25)
v0.5.0 (2025-07-26)
Features
- Add
match_mode
option to multi-select and multi-checkboxes filters for array fields
Bug fixes
- Fix compilation issue caused by other libraries redefining the
uuid
shortcode (#17) - Cast all string-like fields to string before using them in queries. (#8)
- Filters for array fields should be
filter_val in field_name
, not field_name in filter_val
, eg. "suspense" in tags
v0.4.0 (2025-06-27)
Features
- Support working with embedded attributes via a new
__
notation - Add action column support - columns can now omit the
field
attribute to create action columns with buttons, links, and other interactive elements - Add
Cinder.Table.Refresh
to refresh table data while maintaining filters, sorting, and pagination state
Bug fixes
- Fix multiselect dropdowns not being visible outside the filter container
- Allow table sorting to override predefined sorts on a provided query
v0.3.0 (2025-06-23)
Features
- Add
row_click
option for Cinder.Table.table
, to make entire rows clickable - Support
scope
and tenant
options to Cinder.Table.table
tenant
can also be passed in as part of the query_opts
option
- Support
timeout
, authorize?
, and max_concurrency
options in query_opts
Bug fixes
- Tweaked layout of filters to avoid overlapping input content
v0.2.1 (2025-06-19)
Features
- Default to
date_range
fields for all datetime-related types
Bug fixes
- Prevent crashing when an error occurs while loading table data - the error will be properly logged instead
- Fix errors when attempting to filter on
NaiveDatetime
attribute
v0.2.0 (2025-06-18)
Features
- Allow a default theme to be specified for all tables, in application config (eg.
config :cinder, default_theme: "dark"
) - Reorder arguments to
UrlSync.handle_params
to be consistent with LiveView's handle_params
- Replace
Cinder.Table.UrlSync.handle_params(socket, params, url)
with Cinder.Table.UrlSync.handle_params(params, uri, socket)
v0.1.1 (2025-06-16)
Bug fixes
- Fix bug where invalid sorts would sometimes raise
(Protocol.UndefinedError) protocol String.Chars not implemented for type Ash.Query (a struct)
- Fix incorrect environment specification for
sourcerer
and igniter
dependencies - these should only ever be installed in dev
and test
- Fix styling of table row borders in
flowbite
theme (light mode)
v0.1.0 (2025-06-15)