# Upgrading ## From 2.0.0 to 2.1.0 - **Browsers:** Firefox 151 or later (was 147), for container style queries on a custom property; Chrome 125 and Safari 18.4 are unchanged. - **``** publishes its value as `--md-navigation-rail-value`, `collapsed` or `expanded` (M3's two rail values). Content an application puts in a rail reads it with `@container style(--md-navigation-rail-value: collapsed)` instead of copying the rail's conditions from `navigation-rail.css`. - **``** sizes the loading indicator in px, 24 to 240 (M3's responsive range), with the container and the shape in proportion. A width and height of the application's own still work. ## From 1.x to 2.0.0 2.0.0 aligns the library with Material Design 3 Expressive as Google documents it (m3.material.io, checked page by page; the audits are in `docs/audits/m3-alignment/`). Most of the change is inside the components. What reaches an application is below, in the order to do it. ### 1. Breakpoints are M3's window size classes Tailwind's `sm:`, `md:`, `lg:`, `xl:` and `2xl:` no longer compile, and there are no responsive variants in their place: the breakpoints are M3's window size classes — compact below 600px, then medium (600px), expanded (840px), large (1200px) and extra-large (1600px) — and only those. A layout component takes the class as a prop (`hide-below`, `hide-from`, `stack-below`, ``'s `columns` map); the application's own CSS writes the width as a range media query: | Was | Becomes | |---|---| | `sm:` / `max-sm:` (640) | `medium` · `@media (width >= 600px)` / `(width < 600px)` | | `md:` / `max-md:` (768) | `medium` or `expanded` — choose by what the layout means | | `lg:` / `max-lg:` (1024) | `expanded` · `@media (width >= 840px)` / `(width < 840px)` | | `xl:` / `max-xl:` (1280) | `large` · `@media (width >= 1200px)` / `(width < 1200px)` | | `2xl:` (1536) | `extra-large` · `@media (width >= 1600px)` | `