Skip to main content




  • fix: CSS module doesn't include the root class, by @gpbl in #1548


  • new: custom HeadRow component, by @gpbl in #1534
  • changed: add HeadRow component, by @KonradLinkowski in #1533
  • fixed: selected day outlines in chrome, by @gpbl in #1536
  • fixed: dropdown focus-visible style, by @gpbl in #1535
  • fix: use aria-label for days buttons, by @gpbl in #1537


  • fix: use parsed fromDate/toDate in useInput by @hypergeometric in #1524
  • changed: add names to fields and buttons, by @gpbl in #1530
  • changed: focus vs focus-visible styles, by @gpbl in #1531


  • fix: onDayClick called twice in selection mode, by @gpbl in #1520
  • changed: accept undefined for the modifier props, by @gpbl in #1521


  • fix: do not focus disabled or hidden days, by @gpbl in #1519


  • fix: prevent focus from moving beyond toDate and fromDate, by @kimamula in #1468
  • fix: page keys not working when using setMonth, by @kimamula in #1510
  • fix: add onSelect to the DayPickerContextValue, by @gpbl in #1515
  • fix: rdp class not added to root element when using className prop, by @gpbl in #1517


  • new: add prefix to auto generated ids, by @mihkeleidast in #1493
  • new: addedToRange to the exported utilities, by @stopr29 in #1495
  • new: revert to use disabled attribute instead of aria-disabled (reverts, by @gpbl in #1451)See ongoing discussion in #1468
  • new(css): use pure selector for CSS variables, by @andyschulzz in #1481, #1499
  • fix: @reach/auto-id warnings, by removing the dependency, by @gpbl in #1484
  • fix: home/end buttons behavior with startOfWeek, by @apdrsn in #1492
  • package: upgraded dependencies, by @gpbl in #1497


  • fixed: missing dropdown_year CSS class in YearsDropdown, by @pwolfert in #1466
  • fixed: Maximum update depth exceeded when select the range date, by @gpbl in #1470


  • fixed: exclude internal modifiers from the styles props (modifiersStyles should be used instead), by @gpbl in e1449eaa
  • fixed: better typings for the props returned by useInput, by @gpbl in 3ea6728b

In the rare cases you are using an invalid key to the styles prop, you may get type errors when upgrading to this release. Just remove the invalid lines from the value of styles, as they weren't working anyway. See issue #1464.


  • changed: use aria-disabled instead of disabled attribute in buttons (#1451)
  • fixed: focus navigation breaks with disabled days (#1451)


  • changed: add src directory to the package for better source maps


  • fix: toMonth prop to include the full month (#1429)
  • changed: better date-fns import should improve tree-shaking (#1436)
  • changed: removed browser entry in package.json (#1436)


  • new: added weekStartsOn prop (#1422)
  • new: split the Caption components into CaptionDropdowns and CaptionNavigation components. This change should make easier to customize the caption. (#1426)


  • changed: added React 18 to the peer dependencies


This version introduces breaking changes and it is mostly incompatible with v7. See the redesigned website for more details.

Notable changes

  • native TypeScript support
  • selection modes: single, multiple, range
  • added date-fns library as peer dependecy
  • replaced DayPickerInput component with useInput hook
  • improved ARIA support

See also: ➡️ Upgrading from v7.

Older changelog

See /v7/ for the changelog of versions before 8.