NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #3016 most downloaded on npm
A Select control built with and for ReactJS
Last release 1 years ago
11 Jul 2025
Release timing varies
gaps range from 2 weeks to 11 months
Nearly every release is documented
notes for 57 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
12 years old
186 releases · first in 2014
bf0c8615 #6051 Thanks @jnyholm-sc ! - fix: hydration problem caused by isAppleDevice
bf0c8615 #6051 Thanks @jnyholm-sc! - fix: hydration problem caused by isAppleDevicec5706a0d #6013 Thanks @jonahShaf ! - Distribute license file
c5706a0d #6013 Thanks @jonahShaf! - Distribute license fileOne column per quarter.
6d28ed76 #5993 Thanks @onihani ! - Export the FilterOptionOption type
01206c33 #5984 Thanks @Thris3n ! - Add React 19 to peer dependency range
111efad1 #5974 Thanks @j2ghz ! - Fix types compatibility with React 19
781284a9 #5771 Thanks @tu4mo ! - Fix for calling non-cancellable scroll events
dd740ced #5960 Thanks @leonaves ! - No longer send pop-value action when multi-select is empty. This correctly resolves typings with that event, where
884f1c42 #5758 Thanks @Ke1sy ! - 1. Added 'aria-activedescendant' for input and functionality to calculate it;
884f1c42 #5758 Thanks @Ke1sy! - 1. Added 'aria-activedescendant' for input and functionality to calculate it;
884f1c42 #5758 Thanks @Ke1sy! - 1. Added 'aria-activedescendant' for input and functionality to calculate it;
224a8f0d #5666 Thanks @yhy-1 ! - Add aria-disabled to select's control component.
f6315cd5 #5672 Thanks @tu4mo ! - Fix for calling non-cancellable scroll events
`9d1730ba` #5347 Thanks @aszmyd! - Make scroll lock div work on a document context it belongs to
`16414bb5` #5689 Thanks @Rall3n! - Resolve defaultProps deprecation warning for React v18+.
`59513d00` #5626 Thanks @emmatown! - Fix importing react-select in Node ESM
`925cd4a2` #5536 Thanks @Rall3n! - required prop accessibiltiy and functionality improvements
`597143ee` #5559 Thanks @gdiazdelaserna! - Add exports field in package.json
597143ee #5559 Thanks @gdiazdelaserna! - Add exports field in package.json`0773095f` #5457 Thanks @nderkim! - Add classNames API and unstyled prop
`cda16826` #5482 Thanks @nderkim! - Fix unstable theme rerendering menu
`c37e86d8` #4882 Thanks @Rall3n! - Add required prop
`851ed2b8` #5430 Thanks @Rall3n! - Fix focused option if defaultMenuIsOpen is set
`1ad6de4e` #5084 Thanks @kosciolek! - When focusing a dropdown option, the numbers included in the aria live region take filtering into consideration.
1ad6de4e #5084 Thanks @kosciolek! - When focusing a dropdown option, the numbers included in the aria live region take filtering into consideration.`0ca2d5ba` #5431 Thanks @nderkim! - Change class components to functional components
`92398939` #5409 Thanks @lukebennett88! - Move files around to as to be compatible with version 2 of @preconstruct/cli
92398939 #5409 Thanks @lukebennett88! - Move files around to as to be compatible with version 2 of @preconstruct/cli`0dd38029` #5246 Thanks @Rall3n! - Fix re-focus of component in Firefox if being disabled while focused
`ebb0a17a` #5404 Thanks @Methuselah96! - Use ResizeObserver to auto-update menu position if available
ebb0a17a #5404 Thanks @Methuselah96! - Use ResizeObserver to auto-update menu position if available`07656aaa` #5399 Thanks @dependabot! - Update memoize-one
07656aaa #5399 Thanks @dependabot! - Update memoize-one`00238f1a` #5376 Thanks @lukebennett88! - Fix bug with animated multi-value select width being too wide
00238f1a #5376 Thanks @lukebennett88! - Fix bug with animated multi-value select width being too wide`0f6ef093` #5381 Thanks @Methuselah96! - Disable use of ResizeObserver for menu position auto-updating to avoid potential breaking changes.
0f6ef093 #5381 Thanks @Methuselah96! - Disable use of ResizeObserver for menu position auto-updating to avoid potential breaking changes.`598f9ee0` #5256 Thanks @Methuselah96! - Auto-update menu position when using menu portalling
598f9ee0 #5256 Thanks @Methuselah96! - Auto-update menu position when using menu portalling`5d49f70a` #5249 Thanks @Methuselah96! - Export formatOptionLabel types (i.e., FormatOptionLabelMeta and FormatOptionLabelContext).
5d49f70a #5249 Thanks @Methuselah96! - Export formatOptionLabel types (i.e., FormatOptionLabelMeta and FormatOptionLabelContext).`1f140e42` #5177 Thanks @Methuselah96! - Fix view height used for menu positioning to be the scroll parent instead of the window
1f140e42 #5177 Thanks @Methuselah96! - Fix view height used for menu positioning to be the scroll parent instead of the window`03bf7351` #5164 Thanks @Methuselah96! - Bump @emotion/react to ^11.8.1 to avoid useInsertionEffect bug
03bf7351 #5164 Thanks @Methuselah96! - Bump @emotion/react to ^11.8.1 to avoid useInsertionEffect bug`c7d8d4b3` #5133 Thanks @nil4! - Update peerDependencies to include React 18
0aaa9575 #5134 Thanks @rkulinski! - Use defaultPrevented to skip duplicate event handler for clicking select.
87e14431 #5131 Thanks @pcorpet! - Avoid referencing an ID that is not in the DOM
7184d538 #5082 Thanks @Methuselah96! - Fix type inference for Async's loadOptions prop
bd4ee8ae #5057 Thanks @Rall3n! - Prevent transition props from being forwarded to <input> element in DummyInput component
`940a50b1` #4928 Thanks @Methuselah96! - Fix usage with esModuleInterop disabled
`f172d7f9` #4886 Thanks @Akridian! - Hooks for creation of custom Selects are now exported from main entry
`6c7a3d1e` #4785 Thanks @Rall3n! - Add prevInputValue to action meta
6c7a3d1e #4785 Thanks @Rall3n! - Add prevInputValue to action meta
b522ac65 #4860 Thanks @ebonow! - Fix animated MultiValue transitions when being removed and change method used to generate unique keys for Option components. Closes #4844 , closes #4602
417e7217 #4842 Thanks @Methuselah96! - Remove src directory from published package
480ea85b #4846 Thanks @Methuselah96! - Add missing index to MultiValue props type
b8e34472 #4854 Thanks @mikunpham! - Make input container css re-compute whenever input value changes due to a bug from @emotion/react in development env.
8b38d49b #4807 Thanks @hcharley! - Export AsyncCreatableProps from creatable entrypoint
8b38d49b #4807 Thanks @hcharley! - Export AsyncCreatableProps from creatable entrypoint
46eeda1a #4801 Thanks @Methuselah96! - Export more types from main entry point
fdd01e66 #4833 Thanks @ebonow! - Value container display property should be grid when isMulti and has no value so the Placeholder component is positioned correctly with the Input
0937604f #4823 Thanks @mikunpham! - Fix the issue where input contents are moved to the left due to multiple space characters.
ec80b577 #4803 Thanks @Methuselah96! - Import CSSObject from @emotion/react instead of @emotion/serialize
b41f4ceb #4704 Thanks @Rall3n! - Fix findDOMNode deprecation by adding refs to transition components
ef87c3ac #4683 Thanks @JedWatson! - React-Select has been converted from Flow to TypeScript.
Other changes for v5 include usage of forwardRef, new hooks for stateManager, async and creatable components, and more reliable filtering implementation with new options in the creatable variant.
10225290 #4720 - Updated the layout for the singleValue input/placeholder/container so that it works better when used in flex layouts.
53f1972b #4731 Thanks @JedWatson! - MultiValue key now includes a hyphen between the value and the index to prevent edge cases where you could get a duplicate key error
b41f4ceb #4704 Thanks @Rall3n! - Fix findDOMNode deprecation by adding refs to transition components
4b028829 #4634 - The readonly attribute has been removed from the DummyInput to improve accessibility
7fcec537 #4697 - Add the role of combobox and the required ARIA attributes to the Input and DummyInput components to allow JAWS support and a better screen reader experience overall.
ca2c0e5b #4756 Thanks @fdcds! - Add option field to type of CreateOptionActionMeta
9e82aadc #4676 - The following improvements have been made for screen reader users:
638f5455 #4702 Thanks @Methuselah96! - The Option generic is no longer required to extend the OptionBase type
23cea0b5 #4782 Thanks @Methuselah96! - Fix type of loadingMessage prop to allow it to return any ReactNode
b41f4ceb #4704 Thanks @Rall3n! - Fix findDOMNode deprecation by adding refs to transition components
10225290 #4720 - Updated the layout for the singleValue input/placeholder/container so that it works better when used in flex layouts.
53f1972b #4731 Thanks @JedWatson! - MultiValue key now includes a hyphen between the value and the index to prevent edge cases where you could get a duplicate key error
b41f4ceb #4704 Thanks @Rall3n! - Fix findDOMNode deprecation by adding refs to transition components
7fcec537 #4697 - Add the role of combobox and the required ARIA attributes to the Input and DummyInput components to allow JAWS support and a better screen reader experience overall.
9e82aadc #4676 - The following improvements have been made for screen reader users:
638f5455 #4702 Thanks @Methuselah96! - The Option generic is no longer required to extend the OptionBase type
ef87c3ac #4489 Thanks @Methuselah96! - React-Select has been converted from Flow to TypeScript.
ef87c3ac #4489 Thanks @Methuselah96! - React-Select has been converted from Flow to TypeScript.
Other changes for v5 include usage of forwardRef, new hooks for stateManager, async and creatable components, and more reliable filtering implementation with new options in the creatable variant.
#4625 Thanks @ebonow! - Remove dependency on AutoSizeInput
2c915d10 #4577 - Bump @emotion/cache to v11.4.0 which fixes an issue where different versions of Emotion running at the same time causes styles to dis
035294f4 #3360 Thanks @JedWatson! - Now pass the focusedOption to the MenuList Component as a prop
ca3c41bb #4478 Thanks @ebonow! - Check passive events polyfill for the existence of window for SSR
2ffed9c6 #4444 Thanks @Rall3n! - Use accessor props to get value and label in compareOption
2ffed9c6 #4444 Thanks @Rall3n! - Use accessor props to get value and label in compareOption
2baf5a9d #4414 Thanks @ebonow! - Add ariaLiveMessages prop for internationalization and other customisations
7cdb8a6b #4391 Thanks @ebonow! - Pass and sanitize CommonProps passed to Group and Input components
c955415c #4437 Thanks @ebonow! - Set event listeners to be non-passive to remove Chrome console warnings
3ca22b2f #3827 Thanks @emmatown! - Memoize stripDiacritics in createFilter for the input with memoize-one so that stripDiacritics is not called for the same string as many times as there are options every time the input changes
Inspired by https://blog.johnnyreilly.com/2019/04/react-select-with-less-typing-lag.html
dce3863f #4423 Thanks @Methuselah96! - Remove browser alias fields in order to fix SSR apps
ec7c0728 #4443 Thanks @ebonow! - Allow tabIndex prop Type to be number or string
b5f9b0c5 #4342 Thanks @Methuselah96! - Standardized innerProps and className props on customisable components
b5f9b0c5 #4342 Thanks @Methuselah96! - Standardized innerProps and className props on customisable components
19b76342 #3911 Thanks @eugenet8k! - Add removedValues to onChange event meta when the action is clear (when the user clears the value in the Select)
f600d13f #4422 Thanks @Methuselah96! - Fix finding focusable options for groups
a016c878 #4420 Thanks @Methuselah96! - Bump dependency on @babel/runtime in order to fix compatibility issues with Webpack 5
10b5f5a5 #4404 Thanks @Methuselah96! - Remove unnecessary dependency on @emotion/css
44f285b0 #4399 Thanks @Methuselah96! - Fixed building focusable options from groups
645feb3e #4396 Thanks @Methuselah96! - Fixed keys for options within groups
BREAKING CHANGE: The NonceProvider component now requires a cacheKey prop that corresponds to the key for the Emotion cache.
02050675 #4339 Thanks @Methuselah96! - Standardized value passed to onChange
26b6325c #4283 Thanks @majgaard! - Upgrades Emotion dependency to v11.0.0
BREAKING CHANGE: The NonceProvider component now requires a cacheKey prop that corresponds to the key for the Emotion cache.
b2488bb5 #4313 Thanks @Methuselah96! - Removed usages of UNSAFE React methods
c615e93d #4084 Thanks @JedWatson! - Changed the cx and getValue props that are passed to components into instance properties, which means they now pas
c615e93d #4084 Thanks @JedWatson! - Changed the cx and getValue props that are passed to components into instance properties, which means they now pass a referential equality check on subsequent renders.
This is helpful, for example, when you're optimising the performance of rendering custom Option components - see #3055
72f6036f #4306 Thanks @bladey! - Remove duplicate prop createOptionPosition
ee638d46 #4275 Thanks @Methuselah96! - Adds react ^17.0.0 to peer dependencies for React 17 support
a0133f19 #4154 Thanks @brenshanny! - Creatable: Fixed removing MultiValues that have identical values. See issue #4137 for details.
d1e660c6 #4213 Thanks @eythort! - Added a guard to the ScrollCaptor component to check that el exists before calling removeEventListener, fixes intermittent errors
a1e1db25 #4373 Thanks @Methuselah96! - Fixed value passed to onChange when clearing value
2ad29d61 #4136 Thanks @Methuselah96! - Base aria-live message on tabSelectsValue prop
ad890f27 #4326 Thanks @Methuselah96! - Updated react-input-autosize to v3.0.0
b28d9922 #3990 Thanks @nikitaindik! - Fixed onCreateOption is not always called for Creatable
24ba8702 #4289 Thanks @slimklim! - Added innerProps prop to the built-in MenuList component to reduce the need for additional DOM nodes or forking internal code when passing additional props to the DOM element the MenuList component is rendering.
See issue #4265 for an explanation.
If you were relying on this undesired behavior it may be a breaking change. Please upgrade accordingly.
c8447f48 #4034 Thanks @sophiebits! - Improve performance of option filtering when ignoreAccents is enabled (the default)
7af1aafb #4295 Thanks @JedWatson! - Fix menuplacement context
32ad5c04 #3892 Thanks @flexdinesh! - Fix react-select ignoring HTML5 "form" attribute
6af14fbb #3897 Thanks @lorisdev! - Removes the call to onMenuOpen on every input change
If you were relying on this undesired behavior it may be a breaking change. Please upgrade accordingly.
0eb1ef96 Thanks @JedWatson! - Fixes touch issues in IE11
ad608c8f #3928 Thanks @dpordomingo! - Update MenuPlacer context usage in order to the new React Context API
638f5455 #4702 Thanks @Methuselah96! - The Option generic is no longer required to extend the OptionBase type
Updated dependencies [10225290]:
Updated dependencies [53f1972b]:
Updated dependencies [b41f4ceb]:
Updated dependencies [4b028829]:
Updated dependencies [7fcec537]:
Updated dependencies [ca2c0e5b]:
Updated dependencies [9e82aadc]:
Updated dependencies [638f5455]:
Updated dependencies [23cea0b5]:
Updated dependencies [ef87c3ac]:
4cf6c43c #3690 Thanks @JedWatson! - Add isLoading prop support to the AsyncSelect component (see #3690)
isLoading prop support to the AsyncSelect component (see #3690)textarea elementa575a3c4 #3727 Thanks @tonytangau! - Adding an index prop to MultiValue components
index prop to MultiValue componentsraf package and replace with window.requestAnimationFrame because React already depends on requestAnimationFrameloadingMessage and noOptionsMessage properties in Styles flow typeclassnames packagename to onChange meta in Creatable to make it consistent with onChange in standard Selectdf864f2 - Include updated yarn.lock
update dep on react-input-autosize to 2.2.2 (adds UNSAFE prefix to deprecated lifecycles) (resolves #3773)
270cc01 #3719 Thanks @jossmac! - Leverage currentColor for loading indicator dots -- makes styling easier, and more consistent, for consumers
cd8c3090 #3586 Thanks @emmatown! - Add base entrypoint back
#3569 Thanks @vadimka123 - Performance improvement: menu items are built when the menu opens, not in the constructor
#3326 Thanks @stevemao Fix for iOS focus management when clearing the select value
#3532 Thanks @alisonhall! - Change aria-live assertive to polite
Remove base entrypoint to fix rollup dependency resolution issue
- fix erroneous build
[patch][](https://github.com/JedWatson/react-select/commit/):
a016c878 #4420 Thanks @Methuselah96! - Bump dependency on @babel/runtime in order to fix compatibility issues with Webpack 5
0dbf0438 #4387 Thanks @ebonow! - Update example for MultiSelectSort to prevent dragging on multiValueRemove component #4387
Updated dependencies [f600d13f]:
Updated dependencies [b5f9b0c5]:
Updated dependencies [a016c878]:
Updated dependencies [19b76342]:
Updated dependencies [10b5f5a5]:
[major]9ad152b #3574 Thanks @gwyneplaine:
26b6325c #4283 Thanks @majgaard! - Upgrades Emotion dependency to v11.0.0
BREAKING CHANGE: The NonceProvider component now requires a cacheKey prop that corresponds to the key for the Emotion cache.
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →