Skip to content

v6.0.0

Choose a tag to compare

@github-actions github-actions released this 10 Jul 23:20
d56c0dd

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 optionSelected as 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