# Upgrading ## From 2.1.0 to 2.1.1 - **`$store.rail.toggle()`** flips what the first rail on the page draws, as its menu button does. With nothing stored, ``'s rail is drawn collapsed from 840 to 1199px whatever `rail.default` says, and `toggle()` collapsed it again, so the first press of an application's shortcut changed nothing; it now expands the rail. Below 840px, where there is no room to expand it in the layout, `toggle()` opens and closes the modal rail (`show()`, `hide()`) instead of changing a choice nothing draws there. A shortcut that pressed the rail's menu button to get this can call `$store.rail.toggle()` again. - **`DesignGuard`** reports a colour utility on a colour the application's own Tailwind theme named (`bg-brand`, `text-sport-run`, `from-brand`, `border-l-zone-4`, `bg-brand/8`) in a class list, with `var(--…)` of the application's own as its replacement, unless the application's CSS declares the class. None of them has compiled since 2.0.0, and they were the leftovers its count never showed. Tailwind's other utilities on the same prefixes are named by their own family now too: `border-collapse`, `border-spacing-*`, `from-10%`, `via-none`, `fill-none`, `stroke-*`, `text-shadow-*`, `text-inherit`, and Tailwind 4.2's `mauve`, `olive`, `mist` and `taupe` palettes. A test that expects no findings may fail on them. ## 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)` | `