# Changelog
Shoelace follows [Semantic Versioning](https://semver.org/). Breaking changes in components with the Stable badge will not be accepted until the next major version. As such, all contributions must consider the project's roadmap and take this into consideration. Features that are deemed no longer necessary will be deprecated but not removed.
Components with the Experimental badge should not be used in production. They are made available as release candidates for development and testing purposes. As such, changes to experimental components will not be subject to semantic versioning.
New versions of Shoelace are released as-needed and generally occur when a critical mass of changes have accumulated. At any time, you can see what's coming in the next release by visiting [next.shoelace.style](https://next.shoelace.style).
_During the beta period, these restrictions may be relaxed in the event of a mission-critical bug._ 🐛
## Next
This release removes the `` component. When this component was introduced, support for [`aspect-radio`](https://developer.mozilla.org/en-US/docs/Web/CSS/aspect-ratio)) wasn't great. These days, [the property is supported](https://caniuse.com/mdn-css_properties_aspect-ratio) by all of Shoelace's target browsers, making a dedicated component redundant.
- 🚨 BREAKING: Removed `` (use the well-supported `aspect-ratio` CSS property instead)
- Added an expand/collapse animation to ``
- Added `sl-lazy-change` event to ``
- Fixed a bug in `` that didn't account for the arrow's diagonal size
- Fixed a bug in `` that prevented custom expand/collapse icons from rendering
- Fixed a bug in `` where the `expand-icon` and `collapse-icon` slots were reversed
- Fixed a bug in `` that prevented the keyboard from working after lazy loading [#882](https://github.com/shoelace-style/shoelace/issues/882)
- Upgraded the status of ``, ``, and `` from experimental to stable
## 2.0.0-beta.82
- Added the `sync` and `arrow-placement` attributes to ``
- Changed the `auto-size` attribute of the experimental `` component so it accepts `horizontal`, `vertical`, and `both` instead of a boolean value
- Changed the `flip-fallback-placement` attribute of the experimental `` component to `flip-fallback-placements`
- Changed the `flip-fallback-strategy` in the experimental `` component to accept `best-fit` and `initial` instead of `bestFit` and `initialPlacement`
- Fixed a bug in `` that caused the panel to resize horizontally when the trigger is clipped by the viewport [#860](https://github.com/shoelace-style/shoelace/issues/860)
- Fixed a bug in `` where dynamically changing slotted items wouldn't update the tree properly
- Fixed a bug in `` that caused the panel to stack when clicking on the divider in mobile versions of Chrome [#862](https://github.com/shoelace-style/shoelace/issues/862)
- Fixed a bug in `` that prevented flip fallbacks from working as intended
- Fixed a bug that caused concurrent animations to work incorrectly when the durations were different [#867](https://github.com/shoelace-style/shoelace/issues/867)
- Fixed a bug in `` that caused the trigger and color preview to ignore opacity on first render [#869](https://github.com/shoelace-style/shoelace/issues/869)
- Fixed a bug in `` that prevented the keyboard from working when the component was nested in a shadow root [#871](https://github.com/shoelace-style/shoelace/issues/871)
- Fixed a bug in `` that prevented the keyboard from working when the component was nested in a shadow root [#872](https://github.com/shoelace-style/shoelace/issues/872)
- Fixed a bug in `` that allowed disabled tabs to erroneously receive focus
- Improved single selection in `` so nodes expand and collapse and receive selection when clicking on the label
- Renamed `expanded-icon` and `collapsed-icon` slots to `expand-icon` and `collapse-icon` in the experimental `` and `` components
- Improved RTL support for ``
- Refactored components to extend from `ShoelaceElement` to make `dir` and `lang` reactive properties in all components
## 2.0.0-beta.81
- 🚨 BREAKING: removed the `base` part from `` and removed an unnecessary `
` that made styling more difficult
- Added the `anchor` property to `` to support external anchors
- Added read-only custom properties `--auto-size-available-width` and `--auto-size-available-height` to `` to improve support for overflowing popup content
- Added `label` to `` to improve accessibility for screen readers
- Added the `base__popup` and `base__arrow` parts to `` [#858](https://github.com/shoelace-style/shoelace/issues/858)
- Fixed a bug where auto-size wasn't being applied to `` and ``
- Fixed a bug in `` that caused auto-size to kick in before flip
- Fixed a bug in `` that prevented the `arrow-padding` attribute from working as expected
- Fixed a bug in `` that prevented the popup from appearing with the correct z-index [#854](https://github.com/shoelace-style/shoelace/issues/854)
- Improved accessibility of `` so keyboard nav works better and screen readers announce it properly
- Improved accessibility of `` so screen readers no longer skip over it
- Removed a user agent sniffing notice that appeared in Chrome [#855](https://github.com/shoelace-style/shoelace/issues/855)
- Removed the default hover effect in `` to make selections more obvious
- Updated Floating UI to 1.0.1
- Updated esbuild to 0.15.1
- Updated all other dependencies to latest versions
## 2.0.0-beta.80
This release breaks radio buttons, which is something that needed to happen to solve a longstanding accessibility issue where screen readers announced an incorrect number of radios, e.g. "1 of 1" instead of "1 of 3." Many attempts to solve this without breaking the existing API were made, but none worked across the board. The new implementation upgrades `` to serve as the "form control" while `` and `` serve as options within the form control.
To upgrade to this version, you will need to rework your radio controls by moving `name` up to the radio group. And instead of setting `checked` to select a specific radio, you can set `value` on the radio group and the checked item will update automatically.
- 🚨 BREAKING: improved accessibility of ``, ``, and `` so they announce properly in screen readers
- Added the `name` attribute to `` and removed it from `` and ``
- Added the `value` attribute to `` (use this to control which radio is checked)
- Added the `sl-change` event to `sl-radio-group`
- Added `setCustomValidity()` and `reportValidity()` to ``
- Removed the `checked` attribute from `` and `` (use the radio group's `value` attribute instead)
- Removed the `sl-change` event from `` and `` (listen for it on the radio group instead)
- Removed the `invalid` attribute from `` and ``
- Removed `setCustomValidity()` and `reportValidity()` from `` and `` (now available on the radio group)
- Added the experimental `` component
- Fixed a bug in `` where labels weren't always aligned correctly
- Fixed a bug in `` that caused the tooltip to be positioned incorrectly when switching between LTR/RTL
- Refactored `` to use ``
- Refactored `` to use `` and added the `body` part
- Revert disabled focus behavior in ``, ``, and `` to be consistent with native form controls and menus [#845](https://github.com/shoelace-style/shoelace/issues/845)
## 2.0.0-beta.79
- Added experimental `` and `` components [#823](https://github.com/shoelace-style/shoelace/pull/823)
- Added `--indicator-width` custom property to `` [#837](https://github.com/shoelace-style/shoelace/issues/837)
- Added Swedish translation [#838](https://github.com/shoelace-style/shoelace/pull/838)
- Added support for `step="any"` for `` [#839](https://github.com/shoelace-style/shoelace/issues/839)
- Changed the type of component styles from `CSSResult` to `CSSResultGroup` [#828](https://github.com/shoelace-style/shoelace/issues/828)
- Fixed a bug in `` where using Left and Right would select the wrong color
- Fixed a bug in `` that caused the position to be incorrect on the first show when using `hoist` [#843](https://github.com/shoelace-style/shoelace/issues/843)
- Fixed a bug in `` where the divider was on the wrong side when using `placement="end"`
- Fixed a bug in `` that caused nested tab groups to scroll when using `placement="start|end"` [#815](https://github.com/shoelace-style/shoelace/issues/815)
- Fixed a bug in `` that caused the target to be lost after a slot change [#831](https://github.com/shoelace-style/shoelace/pull/831)
- Fixed a bug in `` that caused the position to be incorrect on the first show when using `hoist`
- Improved accessibility of ``, ``, and `` to announce better in screen readers and by allowing focus on disabled items
- Improved accessibility of `` and `` by allowing focus on disabled items
- Updated Lit to 2.2.8
- Update esbuild to 0.14.50
- Updated Bootstrap Icons to 1.9.1
- Updated Floating UI to 1.0.0
- Updated all other dependencies to latest versions
## 2.0.0-beta.78
- 🚨 BREAKING: Moved the `checked-icon` and `indeterminate-icon` parts from a wrapper `` to the `