v6.0.0
6.0.0 (2026-07-10)
Bug Fixes
- address gaps in keyboard functionality and docs AB#1550261 (b111f0b)
- address PR 1474 reviewer feedback (a356d1a)
- adopt dirty-value-flag model for isInitialState AB#1541873 (2074645)
- ci: link correct design token css files for unit test (afa1b6c)
- clip range corners for border radius on range start cell (303b551)
- combobox,menu: finalize sub-pr-5 framework-test gaps AB#1560490 (cadf7fd)
- combobox: address Copilot review findings (e141364)
- combobox: clear menu.optionSelected to prevent stale write-back (35f83e3)
- combobox: clearing value now properly resets both html5 inputs AB#1592423 (4c59590)
- combobox: correct input reference for menu filtering logic (bed41da)
- combobox: enhance input synchronization and keyboard handling for clearer interactions (7b616df)
- combobox: ensure focus moves to clear button only when a value is selected and update validity checks in tests (b55661d)
- combobox: fix aria-activedescendant + SPA-preselect races (986d200)
- combobox: harden Shift+Tab exit path AB#1592239 (2f5be68)
- combobox: improve Shift+Tab exit behavior and visibility checks AB#1592239 (40aaa44)
- combobox: improve validation logic for dropdown interactions and persistInput behavior (a9d03ae)
- combobox: prefer combobox.value over input.value on mount when they diverge (297c519)
- combobox: register custom menu and menu option in grouped storybook examples (a16a50a)
- combobox: restore trigger caret to end-of-text on reopen AB#1560490 (f876902)
- combobox: revert to pre-5.9 architecture AB#1560490 (852924f)
- combobox: set focus on clear button after user selection (e15dd32)
- combobox: shift+tab exits in one keypress AB#1592239 (16b676d)
- combobox: simplify menu value invalidation logic during input updates (1e3803f)
- combobox: update persistInput behavior to sync input values and improve validation checks (2eb5343)
- correct lastHoveredDate behavior when navigating months via button. (97e2891)
- counter: fix counter dropdown to close on focusout (666c9a2)
- counter: prevent Chromium dropdown auto-close (bbb1976)
- counter: remove unsupported aria tag AB#1516613 (88f107e)
- datepicker: calendarFocusDate now works when value and valueend are preset (427ef1d)
- datepicker: correct the height of the calendar months (3bf324e)
- datepicker: enforce grid width (f87f817)
- datepicker: enforce not activating disabled cells (f94a934)
- datepicker: enhance scrolling behavior for active cell in mobile view (5b0d572)
- datepicker: improve focus handling on grid to prevent activeCell ring flash (629dfbf)
- datepicker: localize cell's aria string (8dad62a)
- datepicker: not to directly convert value to Date to avoid date shifting from timezone diff (e407410)
- datepicker: prevent calendar update on cell click when in range modetest: fix broken tests AB#1553712 (f5e1aa1)
- datepicker: prevent toggle of bib when clicking on trigger a second time (fd1835e)
- datepicker: properly disable out-of-range cells (57a67cc)
- docs: clarify active-option tracking behavior in auro-menu documentation (7e0f990)
- docs: clarify behavior of disabled component in form submissions (cc075ea)
- docs: enhance VoiceOver behavior documentation for menu interactions and selection workflow (e93524a)
- docs: reorganize nested menu and custom behavior sections in documentation (79ca34e)
- docs: update keyEvents documentation to clarify key handling in auro-menu (f1c2f46)
- docs: update keyEvents documentation to clarify menu interaction methods (d95b0cc)
- dropdown: add aria-haspopup="listbox" to (73e3eee)
- dropdown: improve focus handling on dropdown close events (cc8bd0f)
- dropdown: prevent bib re-closing when opening with focusable slot content (9b03be7)
- dropdown: return focus back to trigger when dropdown is closed (dc7b361)
- dropdown: update aria-haspopup behavior based on trigger focusability (cf5dfba)
- enhance fullscreen toggle functionality in datepicker rendering AB#1553712 (f52f774)
- form: address PR review follow-ups (f4b7ea6)
- form: tighten field state tracking (eb4bd81), closes #1474
- input,form-validation: unblock datepicker range validity AB#1560490 (0a6d3de)
- input: hide number input spinners in Firefox AB#1588304 (7396c42)
- input: null maskInstance after destroy to prevent dangling reference (090c24f)
- input: prevent imask cursor throw on credit-card format change AB#1560490 (d185740)
- input: remove dead code, add date edge-case tests, preserve explicit format on locale change (b16b8cb)
- input: remove i18n helptext on date input (ad4a91c)
- input: remove whitespace and leading/trailing special character on format (1debbd6)
- input: resolve multi-level displayValue slot content (3c1c421)
- input: simplify error handling in selection range setting (c5df235)
- input: update deprecation message format and clean up eslint rules (3bda296)
- input: validate partial date properly on input (f2fdc17)
- menu: add defensive handling for undefined formattedValue in multiselect mode (1aa50cc)
- menu: add event notification for prevented deselection of menu options AB#1560488 (4f92f3f)
- menu: adjust keydown handling to improve accessibility and prevent focus trapping (18ee795)
- menu: clear active option state on reset() (0f78ce9)
- menu: clear optionSelected before dispatching selectValueFailure AB#1560488 (57bc695)
- menu: correct attribute casing for noCheckmark property in menu option (f36fb7f)
- menu: correct nested submenu selection docs and add click-path test (62dec25)
- menu: disable attribute mapping for read-only optionActive property (9d3b949)
- menu: enhance matchWord handling with safe DOM manipulation (c60cc72)
- menu: enhance selection handling for null, undefined, and empty values (210f866)
- menu: enhance value normalization to handle non-string types and malformed JSON gracefully (19554bb)
- menu: ensure correct attribute reflection by stringifying array values (187d124)
- menu: ensure handleNestedMenus runs for nested menus to set accessibility attributes (a082fa5)
- menu: ensure items are initialized before value matching to prevent false selectValueFailure events (e92610e)
- menu: ensure nested menus reinitialize to refresh attributes on content changes (4f20238)
- menu: fire option custom event once during multiSelect value reconciliation (1f91157)
- menu: improve change detection by comparing selected options as sets (42c3831)
- menu: improve noCheckmark propagation to ensure consistent behavior across nested menus and options (faaa6c6)
- menu: improve safe DOM manipulation for highlighted content to prevent XSS (a5cef38)
- menu: mark
optionSelectedas a JS-only property (attribute: false) (87f8b95) - menu: mark selection state as readonly metadata (e1180a1)
- menu: preserve author-set size/shape on menuoption during propagation (b215c96)
- menu: prevent desynchronization of selection state in handleClick method (e524e48)
- menu: reconcile multiSelect value with selectable options (be6bc82)
- menu: reject disabled and static options when selecting by value (6036b76)
- menu: remove auroMenu-deselectPrevented event references from documentation and implementation AB#1560488 (3ac8679)
- menu: revert to pre-5.9 distributed state architecture AB#1560485 (9be1e1d)
- menu: simplify error handling in initExamples function (e2de1c3)
- menu: streamline selection change notifications to prevent duplicate events (f61ab0b)
- menu: update documentation for optionActive property by removing attribute reference (e66580e)
- menu: update event detail expectations to include only source AB#1560481 (78b0921)
- menu: update initExamples function to handle pending examples correctly (44de03f)
- migrate _initialValues across runtime field renames (be90304)
- omit disabled controls from form state, validation, and submit payload AB#1541873 (40e6f63)
- preserve captured null initial values across initializeState re-runs (72c5fb0)
- prevent programmatic refresh on user-typed value changes and update story tests for arrow key navigation (d69f4b5)
- refine label slot forwarding and docs (b8f9082)
- select: announce the toggled option on multiSelect change (612281e)
- select: avoid intermediate active option on type-ahead open (c5748c3)
- select: clarify behavior of value and optionSelected properties in documentation (0ffce0d)
- select: clarify behavior of value and optionSelected properties in documentation (f826eaa)
- select: clear typeahead buffer on programmatic value change and reset() (ccd3a38)
- select: ensure menu updates correctly on option clicks (4d0cd54)
- select: fall back to latest key when typeahead buffer dead-ends (60803d9)
- select: guard menu.options access for empty menus AB#1560488 (d26e558)
- select: guard native change in multiSelect mode (1a672c8)
- select: ignore Ctrl/Meta/Alt-chorded keys in typeahead and Space branches (4f13db2)
- select: improve regression guard comment for menu event listeners (bdcc0d3)
- select: observe label slot for runtime accessible-name updates (2f52885)
- select: open bib + move focus on Home/End when collapsed (8f7efa3)
- select: prefer prefix match over repeat-char cycle in type-ahead (a014c99)
- select: preserve multiSelect picks on valueless option click (fe79b29)
- select: prevent double activation on End/Home open (28a57a8)
- select: prevent external mutation of multiselect state by cloning optionSelected array AB#1560488 (e0d2e18)
- select: re-stamp aria-setsize/posinset on (5dd7814)
- select: refresh trigger label when menu reports a value match failure AB#1560488 (274528f)
- select: revert hidden native select on autofill divergence in multiSelect (c4debf6)
- select: revert to pre-5.9 distributed state architecture AB#1560488 (c9d1cf0)
- select: rewire label observer on reconnect (a5588b0)
- select: route setMenuValue through menu.selectByValue AB#1560488 (382e4d9)
- select: route typeahead announcement to bib root on mobile (962954c)
- select: silence duplicate "selected" announce on bib open (ffa6bda)
- select: skip hidden/static options in Home/End and open-fallback (a6ffcdd)
- select: standardize customColor attribute to customcolor in menu options (1ab5d99)
- select: update documentation to clarify behavior with active options (0a79811)
- select: update Home/End key behavior to open bib and activate options when collapsed (b288957)
- select: update parameter type for getEnabledOptions to include null and undefined (b8b5d20)
- test: set concurrency to 1 to avoid cross-file state collisions (042b046)
- type-ahead: preserve Space toggle when menu has no enabled options (5cbae26)
- type-ahead: skip hidden and static options (e1a5f07)
Features
- add locale support on datepicker and input AB#1428414 (9c515c8)
- combobox: expose dropdownSize part and wire customBibWidth AB#1278416 (2850657)
- datepicker performance and accessibility improvements AB#1553712 (253134b)
- datepicker: add optional label overrides via slot (5902b35)
- enable full keyboard navigation of the datepicker AB#1553712 (119a17e)
- fully develop referenceDate functionality and UI AB#1553712 (02e90bb)
- menu: add event attribute support and examples; enhance documentation for static and no match options (339984d)
- menu: add serializeMultiSelectValue function to handle multi-select value serialization (d1c70ea)
- menu: declare menuoption[persistent] as a supported property (0eb4520)
- select: implement type-ahead functionality for select AB#1567365 (9de1195)
Performance Improvements
- addressing review feedback (80d999d)
- combobox: simplify bibNeedsSync condition and streamline value synchronization (a8f11cc)
- enhance type-ahead functionality by clearing buffer on Escape and blur events (37542da)
- ensure listeners are attached to elements that gain a name attribute after initial render (7c9c491)
- input: align input value object getters with datepicker patterns (ae8489c)
- select: scope label observer to the slotted node (ee105cf)
- select: skip updateDisplayedValue on valueless click with no prior selection (f7f50d9)
- update documentation and tests for runtime DOM mutations and initial value management (dd55e11)
Reverts
- Revert "fix(menu): correct attribute casing for noCheckmark property in menu option" (b1b5075)
BREAKING CHANGES
- Disabled required fields no longer block submission.
Any workflow that relied on disabled+required fields to gate submit
must use a different constraint mechanism. - combobox: removes the FormKit 5.9 MenuService / Lit Context
combobox architecture. Consumers that depended on 5.9-era event
payloads (event.detail.options, .stringValue, .label on
auroMenu-selectedOption) or on the 5.9 empty-input 'show all' filter
behavior must update to the pre-5.9 contract.
Restores pre-5.9 menu event binding, filter behavior, and value-sync
patterns; closes a value-cascade pump and the trigger/inputInBib value
asymmetry that drove credit-card validity and helpText regressions.
- auroMenu-selectedOption / selectValueFailure / selectValueReset
bound directly; state read from this.menu rather than event.detail
to match the reverted menu's {source}-only payload. - updateFilter() returns an empty availableOptions list on empty input.
Static options show on empty input; nomatch options only show when
filterValue is present and never under noFilter. - One-shot _pendingMenuValueSync flag breaks the suggestion +
persistInput + noFilter cascade between handleInputValueChange and
the menu listener that pinned the main thread on the dynamic-menu
Swap demo. - _programmaticFilterRefresh one-shot refreshes availableOptions after
a programmatic value swap without auto-opening the no-match bib. - Symmetric inputInBib value sync. updateTriggerTextDisplay and the
updated() value-branch ELSE write both inputs (only when each input's
current value differs from the next, so _syncingDisplayValue isn't
spuriously flipped during typing) and the bib branch of
handleInputValueChange mirrors the trigger-branch bail. Removes the
prior listener-filter and explicit reset-clear compensations. - maskInstance.updateValue() after each programmatic write settles,
fixing imask 'value changed outside of mask' and handleBlur's
credit-card stale-revert path. - Menu nested-init guards against detached parentElement; combobox and
select css-parts apiExamples wrap menuoptions in auro-menu so the
pre-5.9 this.menu lookup resolves.
Adds regression tests for: the cascade, programmatic-swap filter
refresh, no-auto-open suppression, displayValue slot leak,
credit-card validate re-run on selection, and the empty-input filter
revert.
- select: - Removes auro-select's coupling to the 5.9 MenuService API
- Drops the auroMenu-deselectPrevented event from auro-menu
Consumers using select.menu.menuService or listening for auroMenu-deselectPrevented will need to update.
- menu: Removes the @lit/context + MenuService centralized
architecture introduced in 5.9. Consumers using menu.menuService,
allowDeselect, selectAllMatchingOptions, or the key attribute on
menuoptions will need to update.
Remove the @lit/context + MenuService centralized architecture and
restore the pre-5.9 distributed state model where auro-menu owns all
state and manipulates options directly.
Source changes:
- Delete auro-menu.context.js (MenuService + MenuContext)
- Restore handleKeyDown, handleMouseSelect, handleOptionHover,
navigateOptions, updateActiveOption, makeSelection, handleSelectState,
handleDeselectState, toggleOption, initItems, updateItemsState - Restore auro-menuoption to simple event emitter (no ContextConsumer)
- Add compatibility shims: options, index, selectedOptions,
selectedOption, currentLabel, selectByValue
Bug fixes found during revert:
- Fix navigateOptions('up') off-by-one when _index is -1
- Fix double notifySelectionChange on programmatic value set
- Fix aria-busy not applied when menu has no options
- Restore handleKeyDown (accidentally omitted from initial revert)
- date props now takes only ISO formatted date string