Repository navigation
Releases: escape-llc/toolcrib
Releases · escape-llc/toolcrib
Release list
v0.16.0
What's Changed
- Fix two real keyboard-accessibility gaps: DatePicker focus ring, Combobox clear button by @escape-llc in #505
- Form: validation error messages slide open/closed instead of slamming (issue #503) by @escape-llc in #506
- e2e: fix flaky webkit bubbled-animationend test in datatable-load-transition by @escape-llc in #508
- Popup: add anchor mode so DatePicker's calendar popup positions against the whole field by @escape-llc in #509
- Bump @clack/prompts from 1.8.0 to 1.8.1 in /cli in the minor-and-patch group by @dependabot[bot] in #496
- Bump @testing-library/dom from 10.4.1 to 10.4.2 in the minor-and-patch group by @dependabot[bot] in #497
- Bump codecov/codecov-action from 7.0.0 to 7.1.0 in the minor-and-patch group by @dependabot[bot] in #498
- Bump zod from 4.6.2 to 4.6.5 in /mcp in the minor-and-patch group by @dependabot[bot] in #495
- FormField/FormError: keep validation text rendered through the collapse by @escape-llc in #511
- Demo: manually dragging the splitter open now uncollapses the event log by @escape-llc in #514
- observer: extend GlobalObserverManager to centralize MutationObserver too by @escape-llc in #516
- DataTable: cross-fade the row set on density changes instead of slamming by @escape-llc in #518
- DataTable: cross-fade the row set on pagination changes too, restoring focus on remount by @escape-llc in #519
- FileUpload.test.tsx: fix flaky 'emits a fresh fileupload:changed' test by @escape-llc in #520
- DatePicker: fix Enter/Space not opening the calendar popup (#501) by @escape-llc in #521
- Bump toolcrib CLI to v0.8.0 by @escape-llc in #523
- Demo: derive event-log collapsed state from Splitter's real split by @escape-llc in #525
- CORE.md: note get_theme_system is reference-only by @escape-llc in #528
- ai-docs/examples: add a generated-file banner by @escape-llc in #530
- Split "Cutting a release" out of AGENTS.md into RELEASING.md by @escape-llc in #532
- WORKFLOW.md: add an "Expected tools" prerequisites section by @escape-llc in #534
- Fix stale .plans path, orphaned CONTRIBUTING.md, version ambiguity by @escape-llc in #537
- DataTable: fix column visibility menu, resize jump, and add auto/fixed column redistribution by @escape-llc in #540
- DataTable: fix auto-page-size overflow at compact density, resize indicator misalignment by @escape-llc in #543
- Bump eslint from 10.10.0 to 10.11.0 in /scripts in the minor-and-patch group by @dependabot[bot] in #546
- Bump vitest from 5.0.0 to 5.0.1 in /mcp in the vitest group by @dependabot[bot] in #547
- Bump vitest from 5.0.0 to 5.0.1 in /cli in the vitest group by @dependabot[bot] in #548
- Bump @vitest/coverage-v8 from 5.0.0 to 5.0.1 in /mcp in the minor-and-patch group by @dependabot[bot] in #549
- Bump @vitest/coverage-v8 from 5.0.0 to 5.0.1 in /cli in the minor-and-patch group by @dependabot[bot] in #550
- Bump the minor-and-patch group with 2 updates by @dependabot[bot] in #552
- DataTable: row-edit mode foundation (edit co-grid, hook, types) -- Part of #545 by @escape-llc in #554
- DataTable: wire editable into the demo, fix real layout bugs it surfaced -- Part of #545 by @escape-llc in #556
- DataTable: fold Edit into rowCommands, glyph Save/Cancel, fix infinite resize loop by @escape-llc in #558
- DataTable: edit co-grid visual/interaction polish by @escape-llc in #560
- e2e: fix csp-nonce Podman timeout, root-cause a webkit round-trip race by @escape-llc in #561
- DataTable: fix edit co-grid focus-ring clipping, vertical shift, dead space by @escape-llc in #562
- DataTable: fix edit co-grid vertical alignment, group Save/Reset/Cancel by @escape-llc in #566
- DataTable/Stepper: fix buttons losing contrast on hover by @escape-llc in #568
- DataTable: co-grid collapse toggle + bulk edit -- Closes #545 by @escape-llc in #571
- demo: add Calendar min-date cutoff, init date pickers to today -- Closes #377 by @escape-llc in #573
- demo: link the two live GitHub Pages consumer-app demos from the Overview tab -- Closes #380 by @escape-llc in #574
- Add treeshaking-review skill -- Part of #577 by @escape-llc in #578
- demo: event log panel -- millisecond timestamps, elide long payloads, expand UI -- Closes #579 by @escape-llc in #580
- theme: move slice editor controls out of *Slice.tsx into one consolidated file -- Closes #577 by @escape-llc in #582
- e2e: wait for a real aria-expanded signal before re-clicking Accordion's faq-1 trigger by @escape-llc in #585
- fix(DataTable): stop the co-grid toggle's Badge from changing the toolbar row's height by @escape-llc in #586
- DataTable: icon-only co-grid toggle with an always-visible count badge by @escape-llc in #590
- DataTable: icon-only density selector, Export CSV, and Columns buttons by @escape-llc in #592
- DataTable: adopt lucide-react for real SVG toolbar icons by @escape-llc in #596
- demo: upgrade Button glyphs to lucide-react, elide labels on real toolbar controls by @escape-llc in #599
- build: bump jsdom pin to 30.1.1, root-causing the 30.1.0 Radix menu failures -- Closes #493, #553 by @escape-llc in #601
- Combobox: per-chip color via chipColor(value) -- Closes #426 by @escape-llc in #602
- Input: leading/trailing sections + password reveal toggle -- Closes #606 by @escape-llc in #615
- fix: standalone Input/Textarea/Checkbox/Switch accept user input -- Closes #614 by @escape-llc in #616
- ci: pin the per-PR Gemini review to gemini-3-flash-preview -- Closes #541 by @escape-llc in #619
- RangeSlider: two-thumb range control (part 1 of #607) by @escape-llc in #618
- Visible model attribution: PR/summary footers +
- fix: CSP nonce for Radix Viewport styles (ScrollArea/Select) and react-aria's injected style -- Closes #625 by @escape-llc in #626
- perf: useToastActions() -- stable toast actions without the live list -- Closes #632 by @escape-llc in #633
- demo: one Encyclopedia page for every component (shadow board, catalog cards, Systems), plus Kits -- Closes #624 by @escape-llc in #627
- fix: DeferredContent reports the initial visibility state (#634) by @escape-llc in #637
- demo: each Encyclopedia demo's source code, generated from App.tsx (#638) by @escape-llc in #640
- feat: DateRangePicker and RangeCalendar (#607) by @escape-llc in #642
- demo: TabStrip page panels no longer draw over the Source section (#643) by @escape-llc in #646
- fix: Block takes no style/className, like every toolcrib component (#647) by @escape-llc in #648
- feat: Alert inline callout (#608) by @escape-llc in #653
- feat: Text primitive + demo sweep (#644) by @escape-llc in #656
- feat: stay-in-theme lint rules -- prefer-toolcrib-component, no-literal-style-values (#649, #650) by @escape-llc in #658
- chore: remove warnIfLegacyStyleProps; type-level style contract (#652) by @escape-llc in #660
- feat: Kbd keyboard key / shortcut hint (#609) by @escape-llc in #662
- feat: NumberField with steppers, clamping and locale formatting (#610) by @escape-llc in https:/...
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 https:...
v0.14.0
What's Changed
- Ship no-computed-prop-before-spread as a vendored ESLint rule by @escape-llc in #159
- Add OpenSSF Scorecard workflow by @escape-llc in #161
- Narrow Token-Permissions findings in codecov.yml/release.yml by @escape-llc in #168
- Pin all remaining workflow Actions to commit SHAs by @escape-llc in #167
- Wire TOOLCRIB_READ_TOKEN into scorecard.yml's repo_token by @escape-llc in #171
- Add explicit deny-by-default permissions to release.yml by @escape-llc in #174
- Document the contributor workflow as WORKFLOW.md by @escape-llc in #178
- Fix @manifest/@barrelExport false-positive prose mentions in src/ by @escape-llc in #181
- Add ScaleLegend to demo/App.tsx for real nextjs-fixture coverage by @escape-llc in #183
- Add actionlint and lychee link-checking to CI by @escape-llc in #189
- doctorCommand: don't abort the whole command on a network failure by @escape-llc in #196
- Widen COMPATIBLE_RANGE and fix natural-language search quality by @escape-llc in #198
- Replace COMPATIBLE_RANGE with a schema fingerprint + parser map by @escape-llc in #202
- Fix stale COMPATIBLE_RANGE references and add two WORKFLOW.md patterns by @escape-llc in #205
- Add prefixed release tags (mcp-vX.Y.Z, cli-vX.Y.Z) by @escape-llc in #207
- Bump toolcrib-mcp to v0.3.0 by @escape-llc in #210
- Back-link session summaries from their PR by @escape-llc in #213
- Add doctor --security: generate and disclose vulnerability advisories by @escape-llc in #227
- Add fast-check property tests (Fuzzing check) -- found and fixed two real color-math bugs by @escape-llc in #230
- Add a size/budget check on llms.txt/llms-full.txt by @escape-llc in #233
- Add theme-parameters-from-brief worked example, replacing the UI walkthrough idea by @escape-llc in #236
- Add OpenSSF Best Practices badge to README by @escape-llc in #238
- Add a dependency-graph engine for the generation pipeline by @escape-llc in #240
- Document scripts/build-engine.js in AGENTS.md by @escape-llc in #242
- Skip heavy e2e/screen-reader steps on Dependabot PRs; add PR grouping by @escape-llc in #244
- Group vitest + @vitest/coverage-v8 in dependabot.yml regardless of bump type by @escape-llc in #246
- Bump eslint from 10.9.1 to 10.10.0 in /scripts by @dependabot[bot] in #215
- Bump react-aria-components from 1.20.0 to 1.21.1 by @dependabot[bot] in #218
- Bump playwright from 1.62.1 to 1.63.0 by @dependabot[bot] in #221
- Bump cli/ and mcp/ to vitest 5 together with @vitest/coverage-v8 by @escape-llc in #248
- Bump @internationalized/date from 3.12.3 to 3.12.4 by @dependabot[bot] in #222
- Bump github/codeql-action/upload-sarif from 3.37.9 to 4.37.9 by @dependabot[bot] in #223
- Bump @playwright/test from 1.62.1 to 1.63.0 by @dependabot[bot] in #224
- Revert playwright/@playwright/test to 1.62.1 -- 1.63.0 breaks e2e by @escape-llc in #256
- Skip codecov.yml's run job entirely on Dependabot PRs by @escape-llc in #250
- Skip nextjs-fixture and windows-integration jobs entirely on Dependabot PRs by @escape-llc in #254
- Add no-missing-use-client ESLint rule, a real, named, repeatable CI check by @escape-llc in #258
- Fix Rating's radiogroup losing its accessible name whenever name is passed by @escape-llc in #264
- Announce Listbox's async loading/results state via a live region by @escape-llc in #265
- Extend accessibility.spec.ts to scan Combobox's listbox and the Theme Designer drawer by @escape-llc in #267
- README feature-list update, plus a clearer docsInSync drift-check message by @escape-llc in #269
- Close real test-coverage gaps: injectGlobalStyle, Carousel keyboard nav, Slice fallback branches by @escape-llc in #273
- Systematic unit-test axe checks; fix a real defaultValue-controlled-prop freeze bug by @escape-llc in #276
- Add a best-effort, non-gating Gemini second-model PR review by @escape-llc in #278
- Add a Recommended Complementary Packages section to CORE.md by @escape-llc in #280
- Update aria-compliance-review SKILL.md's stale Theme Designer claim by @escape-llc in #281
- Bump toolcrib to v0.14.0 by @escape-llc in #282
- Feed Gemini its prior PR review history so it stops repeating itself by @escape-llc in #283
Full Changelog: v0.13.0...v0.14.0
v0.13.0
What's Changed
- Bump codecov/codecov-action from 5 to 7 by @dependabot[bot] in #99
- Bump actions/upload-artifact from 6 to 7 by @dependabot[bot] in #100
- Bump actions/checkout from 5 to 7 by @dependabot[bot] in #101
- Bump actions/setup-node from 6 to 7 by @dependabot[bot] in #102
- Bump @types/node from 26.2.0 to 26.4.0 by @dependabot[bot] in #103
- Bump @testing-library/react from 16.3.2 to 16.3.3 by @dependabot[bot] in #105
- Bump zod from 4.4.3 to 4.5.4 by @dependabot[bot] in #106
- Bump vite from 8.2.1 to 8.2.2 by @dependabot[bot] in #107
- Complete 'use client' coverage: 79 files, not 51 by @escape-llc in #134
- Add real Next.js App Router CI check; fix computeServerThemeCSS RSC break by @escape-llc in #136
- Bump @types/node from 26.4.0 to 26.4.1 by @dependabot[bot] in #131
- Bump @vitest/coverage-v8 from 4.1.10 to 4.1.11 by @dependabot[bot] in #122
- Bump vitest from 4.1.10 to 4.1.11 by @dependabot[bot] in #118
- Track toolcrib-mcp npm downloads in usage-report.js by @escape-llc in #139
- Bump @vitejs/plugin-react from 6.0.5 to 6.1.1 by @dependabot[bot] in #121
- Bump @testing-library/user-event from 14.6.3 to 14.6.6 by @dependabot[bot] in #120
- Automate the real Windows init/apply integration test by @escape-llc in #141
- Add real NVDA screen-reader automation to CI by @escape-llc in #144
- Correct stale aria-modal comments in the NVDA screen-reader pipeline by @escape-llc in #145
- Fix three self-inflicted anti-pattern violations, add a CI gate by @escape-llc in #146
- Adversarially stress-test the Z_INDEX scale with real nested/simultaneous overlays by @escape-llc in #147
- Make z-index stacking a real guarantee; move theme-token checks into ESLint by @escape-llc in #148
- Close two real event-bus drift gaps found by audit by @escape-llc in #149
- Ship a lint rule to consumers: eslint-rules/, a new vendored category by @escape-llc in #150
- fix(mcp): auto-recover from a stale in-memory cache after a live vendored-install upgrade by @escape-llc in #152
- Bump cli to 0.5.0 and toolcrib-mcp to 0.2.0 by @escape-llc in #155
- Release toolcrib 0.13.0 by @escape-llc in #156
New Contributors
- @dependabot[bot] made their first contribution in #99
- @escape-llc made their first contribution in #134
Full Changelog: v0.12.0...v0.13.0