npm / react-datepicker
react-datepicker
What changed in react-datepicker 8 to 9, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-28.
1 breaking6 new APIs and options4 behavior and defaults24 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli initreact-datepicker 930 changes
New APIs and options 6
Adds aria-label prop support for DatePicker to improve accessibility.
Adds a prop for custom formatting of multi-select dates.
Adds a prop to control month header placement: top, middle, or bottom.
Adds a prop for custom popper positioning in advanced layouts.
Adds a prop to customize weekday header rendering.
Add the timeZone prop to display and handle dates in any timezone; date-fns-tz is an optional peer dependency.
Behavior and default changes 3
Calling event.preventDefault() in onClickOutside prevents the calendar from closing, useful for custom portal-based dropdowns in the calendar header.
The calendar view navigates when users type partial dates.
Internal sizing uses em units so it can inherit font size from the parent.
Fixes and other changes 21
The calendar no longer breaks due to Safari auto-translate.
Passing date props as strings no longer causes a crash.
TypeScript types for DatePicker props were improved.
The v8 default styles were restored.
An empty :global selector that breaks Lightning CSS was removed.
Clearing a masked input and blurring it now clears the selection.
Base styles were added for month/year select dropdowns.
When strictParsing is false, the native Date fallback is restored.
A warning for the optional date-fns-tz dependency was prevented.
Using withPortal no longer adds an extra wrapper div.
The calendar view updates when selected or startDate props change programmatically.
Allows typing dates before 1800 when minDate permits.
Improves discriminated union type inference for DatePickerProps.
Holiday date strings are parsed as local time to prevent timezone shifts.
Prevents the in-selecting-range highlight from appearing on days outside the current month.
Prevents the month view from jumping when selecting from the second calendar in range mode.
Hiding the popper arrow now properly removes its offset.
Updates preSelection when the input changes in selectsRange mode.
Time input now works with selectsRange, allowing start and end dates to be selected independently.
Time selection now works with selectsRange, allowing start and end dates to be selected independently.
Fixes infinite height growth in the time picker.
react-datepicker 85 changes
Breaking changes 1
The calendar now displays the startDate as the first month.
Behavior and default changes 1
Keyboard accessibility is added for the timepicker.
Fixes and other changes 3
Keyboard focus no longer gets lost during same-month navigation in inline mode.
Standard HTML aria attribute names are supported.
Export support is fixed for webpack versions below 5.94.