github mui/mui-x v9.17.0

2 hours ago

We'd like to extend a big thank you to the 20 contributors who made this release possible. Here are some highlights ✨:

  • 🧮 Computed columns in the Data Grid Premium

    computed-columns-demo.mp4
  • 👆 Data Grid column reordering on touch and pen devices

  • ↔️ Right-to-left (RTL) support in the Event Calendar and the Event Timeline

  • 🕒 Fix recurring events, drag and drop, and the time axis of the Scheduler across DST transitions

  • ⚠️ Recurring events and dependencies are now opt-in in the Event Timeline

  • 🌍 The Scheduler formats dates with Intl: dateLocale takes a locale string like "fr-FR"

  • 🐞 Bugfixes

  • 📚 Documentation improvements

Special thanks go out to these community members for their valuable contributions:
@adamowski10, @Anexus5919, @b84330808, @chanellebingham, @costajohnt, @dasjideepak, @mateuseap, @minwookshin, @mustafajw07

The following team members contributed to this release:
@flaviendelangle, @hasdfa, @Janpot, @JCQuintas, @LukasTy, @MBilalShafi, @michelengelen, @noraleonte, @rita-codes, @romgrk, @ZeeshanTamboli

Data Grid

@mui/x-data-grid@9.17.0

@mui/x-data-grid-pro@9.17.0 pro

Same changes as in @mui/x-data-grid@9.17.0, plus:

@mui/x-data-grid-premium@9.17.0 premium

Same changes as in @mui/x-data-grid-pro@9.17.0, plus:

Date and Time Pickers

@mui/x-date-pickers@9.17.0

  • [pickers] Document undocumented props and slots (#24031) @Janpot
  • [pickers] Forward readOnly to the input in PickersTextField (#24042) @LukasTy
  • [pickers] Only scroll the Digital Clock when its active item changes (#23942) @b84330808

@mui/x-date-pickers-pro@9.17.0 pro

Same changes as in @mui/x-date-pickers@9.17.0.

Charts

@mui/x-charts@9.17.0

@mui/x-charts-pro@9.17.0 pro

Same changes as in @mui/x-charts@9.17.0.

@mui/x-charts-premium@9.17.0 premium

Same changes as in @mui/x-charts-pro@9.17.0.

Tree View

@mui/x-tree-view@9.17.0

  • [tree view] Document undocumented props (#24036) @Janpot
  • [tree view] Keep the dragged item mounted when it is virtualized away (#24050) @JCQuintas

@mui/x-tree-view-pro@9.17.0 pro

Same changes as in @mui/x-tree-view@9.17.0.

Scheduler

Breaking changes

  • The headerToolbarLeftElement class of the Event Calendar has been renamed to headerToolbarStart.
    Update your style overrides and class selectors:

     const theme = createTheme({
       components: {
         MuiEventCalendar: {
           styleOverrides: {
    -        headerToolbarLeftElement: { gap: 8 },
    +        headerToolbarStart: { gap: 8 },
           },
         },
       },
     });
  • The unused DEFAULT_PREFERENCES export of the Timeline store has been removed.

  • Recurring events and dependencies are now opt-in in the Event Timeline. Without the feature, each event with an rrule renders once:

    -<EventTimelinePremium events={events} />
    +<EventTimelinePremium events={events} features={{ recurringEvents: recurringEventsFeature }} />
  • The dateLocale prop and createDateLocaleTheme() take a locale string, like Intl.DateTimeFormat, instead of a date-fns locale object:

    -import { fr } from 'date-fns/locale/fr';
    -<EventCalendar dateLocale={fr} />
    +<EventCalendar dateLocale="fr-FR" />
  • The weekStartsOn preference uses ISO weekdays, from 1 (Monday) to 7 (Sunday). Sunday is 7 instead of 0.

  • Without ampm, times follow the hour cycle of the locale instead of a 12-hour clock, and defaultPreferences no longer includes ampm: true.

  • Dates use the Intl.DateTimeFormat formats of the locale, so some labels change slightly (for example "July 3" instead of "July 3rd"), and week numbers follow the locale.

  • Timed events shorter than one day that cross midnight now stay in the time grid by default, and the day grid row no longer shows a visible "All day" label. Use timeGridEvents: 'same-day-only' in viewConfig.day and viewConfig.week to keep the previous behavior.

@mui/x-scheduler@9.0.0-beta.15

@mui/x-scheduler-premium@9.0.0-beta.15 premium

Same changes as in @mui/x-scheduler@9.0.0-beta.15, plus:

  • [scheduler-premium] Draw dependency arrows to events outside the visible range (#23790) @rita-codes
  • [scheduler-premium] Fix the Event Timeline features after the plain-date migration (#24020) @flaviendelangle
  • [scheduler-premium] Make recurring events and dependencies opt-in in the Event Timeline (#24011) @rita-codes
  • [scheduler-premium] Move the dependency UI strings to localeText (#24027) @rita-codes
  • [scheduler-premium] Scroll virtualized timeline rows into view on arrow-key navigation (#23860) @rita-codes

Docs

  • [DataGrid] Document running your own AI Assistant prompt processor (#24037) @hasdfa
  • [docs] Add a shared experiments area and migrate Scheduler experiments (#23979) @flaviendelangle
  • [docs] Enforce top-level type imports in docs and scripts (#24046) @Janpot
  • [docs] Follow the docs direction in the scheduler overview demos (#23968) @rita-codes
  • [docs] Add the Event Timeline dependencies page, unlisted until the feature is public (#24032) @rita-codes

Core

Miscellaneous

  • [chat] Document undocumented props and slots (#24053) @Janpot
  • [chat] Fix ChatBox ignoring features.attachments (#23946) @JCQuintas
  • [chat] Fix React 17 crashes (#24038) @LukasTy
  • [test] Serve flagcdn images from a placeholder in the regression tests (#24055) @Janpot
  • [test] Start the e2e test server from vitest (#24062) @LukasTy
  • [test] Start the regression test server from vitest (#24057) @Janpot
  • [x-internals] Re-export the utilities shared with @base-ui/utils (#23374) @romgrk

Don't miss a new mui-x release

NewReleases is sending notifications on new releases.