Release v3.5.0
Summary
Components 3.5.0 combines the source-compatible stabilization from #169 with the pre-major additions consolidated in #171. It remains backed by PrimeReact 11: rendering consumers must continue to install its peers, and applicable PrimeUI licensing still applies—including when Components is used through a wrapper. The renderer-independent Components 4 architecture is being delivered separately as an explicitly documented and reviewed major release.
The reported DataPage default-filter failure is covered by regression and browser evidence but was not reproducible on the current implementation. clientFiltering remains accepted as a deprecated no-op: filtering is page-local and server totals remain authoritative.
Added
- Published and regression-tested the Components 3 / PrimeReact 11 pass-through compatibility contract (#122)
- Added direct
DatePickerInputidentity, disabled, read-only, and button-bar controls (#154) - Added localizable column-filter labels and custom filter elements (#155)
- Added Cratis-owned filter match modes and source-compatible custom matcher registration (#164)
- Added a substitutable, cross-copy-safe toast dispatch contract (#165)
- Added pre-counted histogram buckets for server-aggregated numeric ranges (#132) (#171)
- Added Arc-compatible tamper-resistant CommandForm field/column markers while retaining legacy
displayNameinteroperability (#112) (#171) - Added an ESLint rule preventing hand-written raw CommandForm marker strings (#112) (#171)
- Added packed-consumer coverage for Arc 20, 21, and current 22.1
Changed
- Expanded the supported Arc peer range through Arc 22 and verified Arc 22.1 explicitly (#166)
- Documented complete-result filtering as a server-side query responsibility (#159)
- Made Components 3 Storybook discovery and Vite configuration clean under the current toolchain (#171)
- Run JavaScript and Storybook gates when workflow or package-build inputs change
Fixed
- Added regression and browser coverage for
DataPagedefault filters without reproducing the reported empty-table failure (#149) - Aligned
DatePickerInputpass-through typing with the live input slot (#150) - Prevented
DatePickerInputvalidation state from leaking to the DOM (#151) - Routed Dropdown identity and accessibility props to the focusable combobox (#152)
- Kept Dropdown trigger and filter placeholders independent (#153)
- Preserved dismiss controls for custom toast bodies and exposed toaster pass-through configuration (#156)
- Derived paginator accessibility labels from the active locale (#157)
- Hid decorative dialog footer icons from accessibility APIs (#158)
- Suppressed query empty states until the first result is available (#160)
- Restored publication for labeled pull requests merged to
main(#172)
Deprecated
- Retained
clientFilteringfor source compatibility while making its page-local behavior explicit (#159)