Repository navigation
v0.15.0
What's Changed
- Bump toolcrib CLI to v0.6.0 by @escape-llc in #284
- Widen owasp-review's scope to cover the whole repo, not just shipped source by @escape-llc in #286
- Document ThemeEditor's file-import path as a verified-safe prototype-pollution precondition by @escape-llc in #287
- Implement toolcrib init --with-tests by @escape-llc in #291
- toolcrib-mcp: add get_test_source, list_test_source, get_test_dependencies_patch by @escape-llc in #292
- Wire mcp/'s test suite into ci.yml -- it had zero CI coverage by @escape-llc in #294
- Document applying labels to issues/PRs as a standing WORKFLOW.md step by @escape-llc in #296
- Remove stale 'best-effort, non-blocking' framing from Gemini review comment text by @escape-llc in #301
- Bump toolcrib CLI to v0.7.0 and toolcrib-mcp to v0.4.0 by @escape-llc in #302
- Reorder cli/mcp release checklists: npm publish last, after PR merge and CI green by @escape-llc in #304
- Copy llms.txt/llms-full.txt into the built demo site's root on deploy by @escape-llc in #305
- DataTable: sortable now wraps a real , not just aria-sort by @escape-llc in #306
- DataTable: fix sort-button click target and screen-reader arrow noise by @escape-llc in #307
- Extend accessibility.spec.ts to scan DatePicker, Select, nested Modal, and Accordion by @escape-llc in #308
- Add useInteractionAnalytics: runtime interaction analytics helper by @escape-llc in #310
- Document no-backward-compat-shims policy; revert onAny's compat shim by @escape-llc in #313
- DataTable: add a built-in empty/no-data state by @escape-llc in #319
- DataTable: extract internal state into per-concern custom hooks by @escape-llc in #323
- DataTable: implement WAI-ARIA grid keyboard navigation by @escape-llc in #325
- DataTable: add drag-to-resize column support by @escape-llc in #327
- Splitter: prefer PointerEvent, guard against duplicate release commit by @escape-llc in #330
- DataTable: click-to-select, single-select mode, row commands, real demo data lifecycle by @escape-llc in #333
- DataTable: add a global/quick-filter search box by @escape-llc in #335
- DataTable: add multi-column sort (Shift+click) by @escape-llc in #342
- WORKFLOW.md: add a literal per-issue checklist to guard against long-session step drift by @escape-llc in #344
- DataTable: density selector UI + fix itemHeight/density disconnect by @escape-llc in #346
- SESSION_SUMMARIES.md: add a PR Review section for Gemini accuracy feedback by @escape-llc in #349
- DataTable: derive compact/spacious density from a multiplier, tighten compact by @escape-llc in #351
- Toast: replace layout-reflow stacking with a computed translateY transform by @escape-llc in #355
- DataTable: merge bulk-action bar into the toolbar row, add renderToolbarExtra by @escape-llc in #362
- Fix Toast's transform transition being silently killed by .ai-focus-ring by @escape-llc in #359
- Demo: add a Continuous Scroll toggle to the DataTable tab by @escape-llc in #367
- Toast: fix bottom/right-anchored toast rendering near the top, clipped by @escape-llc in #382
- DataTable: redesign selection visual feedback (left indicator + inset border) by @escape-llc in #384
- Toast: stack in FIFO order, not priority order by @escape-llc in #386
- DataTable: add pageSize="auto" to fill available space exactly by @escape-llc in #390
- DataTable: add quickFilterFields to scope which columns quick-filter searches by @escape-llc in #389
- DataTable: give row-command buttons real hover/active affordance by @escape-llc in #388
- DataTable: add onEndReached for server-side infinite-load in continuous scroll by @escape-llc in #395
- DataTable: rename pageSize to defaultPageSize by @escape-llc in #397
- DataTable: crossfade the emptyState placeholder in, instead of an instant swap by @escape-llc in #398
- ThemeEditor: add live harmony palette swatches by @escape-llc in #401
- Rebalance color usage toward accent/quaternary by @escape-llc in #404
- Theme-style scrollbars via ambient scrollbar-color/scrollbar-width by @escape-llc in #406
- Modal/Popup: give exit a real animation Presence can wait for by @escape-llc in #409
- De-flake two e2e tests racing a fixed sleep against a real transition by @escape-llc in #414
- CI: split e2e into a chromium/webkit matrix, cache browser binaries by @escape-llc in #415
- CI: move screen-reader to run at release-tag push, not every push/PR by @escape-llc in #416
- Fix hover/selection transitions killed by .ai-btn/.ai-focus-ring collision by @escape-llc in #412
- AlertDialog: give exit a real animation Presence can wait for by @escape-llc in #410
- De-flake toast-stacking.spec.ts's secondary frame-sampling assertion by @escape-llc in #418
- Popup: return focus to the real trigger on close, not by @escape-llc in #422
- DataTable: make "Auto" a live, selectable page-size dropdown option by @escape-llc in #420
- e2e: bump overlay-scan test's timeout to match the other heavy axe-scan tests by @escape-llc in #424
- Combobox: give chip remove buttons a contrast-guaranteed focus ring by @escape-llc in #427
- Input: add clearable prop with a built-in trailing clear glyph by @escape-llc in #430
- Add weekly scheduled Gemini codebase audit (gemini-audit.yml) by @escape-llc in #432
- AGENTS.md: document the actionlint CI check for workflow YAML by @escape-llc in #434
- DataTable: add csvExport for one-click CSV download of the sorted dataset by @escape-llc in #439
- DataTable: add columnVisibility for a live column show/hide toggle by @escape-llc in #443
- DataTable: add Column.pinned to freeze a column at the grid's left/right edge by @escape-llc in #444
- Bump github/codeql-action/upload-sarif from 4.37.9 to 4.38.0 in the minor-and-patch group by @dependabot[bot] in #442
- Bump the minor-and-patch group with 8 updates by @dependabot[bot] in #440
- Bump typescript-eslint from 8.69.0 to 8.70.0 in /scripts in the minor-and-patch group by @dependabot[bot] in #438
- Bump zod from 4.5.4 to 4.6.2 in /mcp in the minor-and-patch group by @dependabot[bot] in #437
- Bump @clack/prompts from 1.7.0 to 1.8.0 in /cli in the minor-and-patch group by @dependabot[bot] in #436
- e2e: exclude iframes from the whole-tab axe scan, fixing a real CI hang by @escape-llc in #448
- Fix 4 findings from the weekly Gemini audit (issue #435) by @escape-llc in #447
- Upgrade vitest + @vitest/coverage-v8 to 5.0.x by @escape-llc in #446
- Demo: show the deployed commit hash in the header by @escape-llc in #451
- Gemini workflows: fail the job on a genuine API/infra error by @escape-llc in #453
- Splitter: reserve the resize handle's own width instead of stealing it from one panel by @escape-llc in #457
- DataTable: connect all right-hand toolbar controls into one merged UIGroup by @escape-llc in #459
- Demo: fix event-log collapse still clipping -- measured Toolbar, not Card.Header by @escape-llc in #463
- Choice separator for radio-strip controls + UIGroup composition for remaining form controls by @escape-llc in #466
- ToggleGroup: make the interior choice separator actually visible by @escape-llc in #469
- Fix nondeterministic manifest/docs generation (listSourceFiles unsorted directory order) by @escape-llc in #476
- DataTable: fix Auto page size scrollbar and a related ToggleGroup infinite-render-loop crash by @escape-llc in #474
- ToggleGroup: fix choice separator being unreadable against a selected background by @escape-llc in #473
- ToggleGroup: fix inconsistent choice separator width and misalignment by @escape-llc in #481
- DataTable: animate the empty-state to real-row-set transition by @escape-llc in #480
- ToggleGroup: fix choice-separator perceived thickness mismatch by @escape-llc in #484
- DataTable: add First/Last page buttons to the pagination footer by @escape-llc in #486
- CLI: fix extractZip() temp-file race that corrupts concurrent merge/init --with-tests runs by @escape-llc in #489
- Release v0.15.0 by @escape-llc in #490
- Deliberately move this repo's own toolchain onto React 19; pin jsdom by @escape-llc in #494
- --with-tests: fix missing peer deps and stop vendoring repo-internal meta-tests by @escape-llc in #492
Full Changelog: v0.14.0...v0.15.0