NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
the default CSS variables for all Scalar packages
Last release 2 days ago
12 Oct 2026
Ships fairly regularly
a new release about every 3 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
3 years old
186 releases · first in 2023
One column per quarter.
### Patch Changes - #10505: Apply formatting and lint compatibility changes for Biome 2.5.15. - #10529: Align import and export ordering with the Biom
### Minor Changes - #10493: Floating surfaces now paint their own background, border, and shadow instead of using an absolutely positioned backdrop la
#backdrop slot on ScalarDropdown, ScalarPopover, ScalarListbox, and ScalarCombobox is removed; style the floating element with class instead. ScalarFloatingBackdrop, --scalar-lifted-brightness, and the brightness-lifted utility are deprecated in favor of bg-b-1 dark:bg-b-1.5. ScalarFloatingBackdrop itself now uses the same surface styles, so it no longer clips its slot or draws a real border. A new inset-shadow-border utility draws the hairline border so it can stack with shadow-* without taking up layout space; Tailwind's default inset-shadow-* sizes are reset, matching the other theme namespaces.Deprecated schema rows no longer fade their contents to 75% opacity, which had dropped their muted text to 3.0:1. The diagonal stripes, the strikethro…
#10375: Raise muted text, code-string blue and the deprecated schema row to the 4.5:1 text contrast minimum across the shipped themes
An accessibility audit turned up text that is legible in the default theme but not in several of the presets, which pair the default greys and blues with an off-white page background. Nine presets and four integration themes get a hue-preserving nudge:
--scalar-color-2 now clears 4.5:1 on both the page background and the grey card background in every preset. That covers alternate, bluePlanet, mars and saturn, which paired the default grey with an off-white page, and custom-theme-starter, deepSpace, elysiajs, fastify, kepler and purple, which copied the default grey and were left behind when the default moved.--scalar-color-blue, which colours code strings, now clears 4.5:1 on the grey example background in alternate, bluePlanet, deepSpace, elysiajs, fastify, kepler and moon, and in the Docusaurus, NestJS, Next.js and SvelteKit themes.--scalar-color-blue now clears 4.5:1 in purple and saturn, and in the Hono and Docusaurus dark themes.laserwave.--scalar-focus-color sits further from the accent so a keyboard focus ring clears 3:1 on --scalar-background-3 as well, which some presets use for the selected sidebar item.laserwave still misses in light mode, where it reuses its dark accents unchanged; bringing it up is a redesign of the preset rather than a nudge.
#10375: fix: raise text and focus ring contrast flagged by an accessibility audit
The default light blue is a touch deeper so code strings and read-only labels meet 4.5:1, the required label darkens in light mode, keyboard focus rings now draw from a new --scalar-focus-color token that meets 3:1 against hovered and selected surfaces, and the schema union pipe, Default, Example and Pattern labels use the regular muted text colour.
Give QUERY a dedicated color tuned to each theme preset in light and dark mode and place it after GET in the method picker. Server chunk extraction al
#10173: Support the OpenAPI 3.2 QUERY request method in workspace operations, navigation, server chunks, and request examples.
Give QUERY a dedicated color tuned to each theme preset in light and dark mode and place it after GET in the method picker. Server chunk extraction also recognizes uppercase method keys while retaining their authored case. QUERY is modeled in the 3.2 schemas only.
#10074: feat(api-reference): the tree schema layout
The tree layout replaces the bordered card per nesting level and the "Show Child Attributes" pill with the visual grammar of a tree: a continuous rail per depth that hangs from the parent property's text column, and a discrete disclosure control in each expandable property's own gutter. The control is a real button whose accessible name is the property name alone and whose child count rides aria-describedby; property descriptions stay visible instead of being swallowed into a button label. Types render as token runs — array of Planet instead of array Planet[], with a $ref link as the type itself — collapsed objects show a preview of what they hold, short enums render inline in the type position or wrap as chips instead of a row per value, and a $ref cycle says recursive in its own signature line instead of offering a toggle that descends forever. Rails fade with depth, capped so the deepest ones never wash out into the page. In a narrow container — the same max-width: 900px query the sections already use — the indent tightens and the controls shrink, so a deep tree still fits and the outermost control clears the page edge instead of being clipped by it. Collapsed subtrees that were opened once stay reachable with find-in-page via hidden="until-found" where the engine supports it, against a budget shared by every tree in the reference, with Safari falling back to unmounting exactly as before.
Printing temporarily expands the whole tree and restores the reader's expansion state afterwards.
### Patch Changes - #10026: Fix autofilled input text rendering hollow and near-illegible in dark mode. The reset clipped WebKit's autofill background
-webkit-text-fill-color, so the glyph interiors showed that clipped background instead of the theme colour.### Patch Changes - #9941: Republish every package through npm trusted publishing. No functional changes.
Firefox rounds the 0.5px --scalar-border-width down to zero device pixels on non-retina displays, which makes shadow-border outlines invisible. The bo
#9737: fix: render hairline borders in Firefox on standard-DPI screens
Firefox rounds the 0.5px --scalar-border-width down to zero device pixels on non-retina displays, which makes shadow-border outlines invisible. The border width now falls back to 1px in Firefox below retina density, matching what other engines effectively render.
#9782: Fix the tooltip rendering with a dark background in light mode. The light-mode tooltip tokens were hard-coded to a dark fill with light text, so the tooltip stayed black regardless of the active color mode. They now derive from --scalar-background-1 and --scalar-color-1, so the tooltip follows the theme in both modes.
The tooltip surface is also polished to match the rest of the system: a standard hairline border and base shadow in both color modes (replacing the dark-mode-only inset border), a large radius, regular font weight, and tighter vertical padding. Horizontal and vertical padding are now separate variables so the placement offset applies to the correct axis.
### Patch Changes - #9719: docs: update the Scalar platform overview block in the README
The radius tokens used to be independent, so setting --scalar-radius: 0 still left rounded corners behind on anything using --scalar-radius-lg, --scal
#9687: feat(themes): derive the border radius scale from --scalar-radius
The radius tokens used to be independent, so setting --scalar-radius: 0 still left rounded corners
behind on anything using --scalar-radius-lg, --scalar-radius-xl or rounded-full. They now all
derive from --scalar-radius, which means overriding that single variable rescales every corner in the
interface, and 0 squares it off completely.
Two new tokens fill out the scale, --scalar-radius-2xl (12px) and --scalar-radius-3xl (16px), along
with --scalar-radius-full for pills and circles. The matching rounded-2xl and rounded-3xl Tailwind
utilities now emit CSS; previously they were silently dropped.
Every default value is unchanged, so nothing shifts unless you were relying on the old behaviour. If
your theme sets --scalar-radius on its own and expects the larger radii to stay put, set those tokens
explicitly. Override --scalar-radius on :root: a custom property substitutes var() at the element
where it is declared, so setting the base further down the tree moves it without moving anything derived
from it.
#9687: feat(themes): cap container corners with --scalar-radius-max
A large --scalar-radius used to curve tall containers hard enough that they swallowed their own
content: dropdown panels clipped their last rows, and code blocks rendered as stadiums.
Every radius token except --scalar-radius-full now clamps to a new --scalar-radius-max, which
defaults to 20px. A new --scalar-radius-md gives the base radius the same cap, and is what
rounded, rounded-md and form controls now use. Pills and circles are deliberately exempt, so
avatars, spinners and toggles stay round.
The reset no longer sets a border-radius on :focus-visible. It was reshaping the focused element
rather than its outline, which meant a large theme radius turned bare focus containers into pills the
moment they were focused. Outlines already follow an element's own corners, so focus rings now match
whatever shape the element actually has.
Defaults are unchanged: every default token sits at or below the cap, so nothing moves unless you were already setting a very large radius.
### Patch Changes - #9710: Republish so the updated README (with the Scalar platform overview) reaches npm. Also renames the README generator metadata
readme to scalarReadme: npm treats a readme field as the readme text itself, so affected packages were published with a literal [object Object] readme on the registry instead of README.md.Update the shared theme reset so text inputs align to the logical start by default for RTL documents.
#9597: Add API Reference UI localization configuration with built-in English, Russian, Spanish, French, German, Simplified Chinese and Arabic translations, including automatic RTL direction for Arabic locales.
Update the shared theme reset so text inputs align to the logical start by default for RTL documents.
Add a mergeObjects deep-merge helper to @scalar/helpers, used by the localization layer to merge translation overrides onto the built-in locale.
### Patch Changes - #9565: Apply the themed placeholder color and font to textarea placeholders so they match input placeholders
@scalar/themes now bundles the scalar-design-system skill (design tokens, theming, a @scalar/components reference, and a Paper design-tool bridge) und
#9415: Ship the Scalar design-system agent skill with the package.
@scalar/themes now bundles the scalar-design-system skill (design tokens, theming, a @scalar/components reference, and a Paper design-tool bridge) under skills/. Agents do not auto-discover skills inside node_modules, so link or copy node_modules/@scalar/themes/skills/scalar-design-system into your project's .claude/skills to use it.
### Patch Changes - #9268: fix button text color variables to use pure white instead of semi-transparent white in dark themes.
Adds a new highlighted custom Tailwind variant (matching [data-highlighted]) to @scalar/themes and uses it in ScalarDropdownButton to restore the hove
#9211: fix(components): add highlighted Tailwind variant for Radix menu item highlight state
Adds a new highlighted custom Tailwind variant (matching [data-highlighted]) to @scalar/themes and uses it in ScalarDropdownButton to restore the hover and keyboard-navigation highlight in the workspace and team picker dropdowns.
### Patch Changes - #8769: feat(themes): add Tailwind v3 transform reset
### Patch Changes - #8694: feat: add padding utilities to scalar themes - #8634: feat: add saving ui component
### Patch Changes - #8466: chore: new build pipeline
### Minor Changes - #8322: chore: bump required node version to >=22 (LTS)
### Patch Changes - #8315: feat(theme): standardize tailwind line height behavior
### Patch Changes - #8290: chore: update deps
### Minor Changes - #7959: feat(agent): add agent scalar to localhost
### Patch Changes - #7520 `4ac6227` Thanks @hwkr! - feat(themes): apply sidebar variables at the top level
### Patch Changes - #7458 `35af6bf` Thanks @marcalexiei! - fix: remove @scalar/types unused dependency
35af6bf Thanks @marcalexiei! - fix: remove @scalar/types unused dependencyUpdated dependencies [`eb022f2`, `6ec8c29`, `eba18d0`]:
### Patch Changes - Updated dependencies [f3e17d8] - @scalar/types@0.3.2
13dcd89: feat(themes): add text align to global reset
### Patch Changes - Updated dependencies [008a0f3] - @scalar/types@0.3.0
0b3c6fa: feat(api-reference): localhost development toolbar
### Patch Changes - Updated dependencies [005fba9] - @scalar/types@0.2.16
8f2a2f2: Bump some dependencies to latest
### Patch Changes - Updated dependencies [abe3842] - @scalar/types@0.2.15
2b22eab: feat(themes): convert default color 1 to grey scale
### Patch Changes - Updated dependencies [50032be] - @scalar/types@0.2.13
6c24be9: feat(components): update scalar hotkey design
952f471: fix(themes): don't style in reset only in markdown
fb62e1b: feat: adds global base style for anchor tag
8a67f4f: fix(api-reference): classic layout improvements
661c7e9: feat(themes): updates dark/light mode accent on default theme
3fdc2f2: feat(api-reference): unify inconsistent font styles across scalar client and ref, and improve consistency"
### Patch Changes - @scalar/types@0.2.5
4bbbb32: feat(components): add sidebar sections
ca18c0b: feat(api-reference): update and modernize sidebar design
### Patch Changes - Updated dependencies [221e35f] - @scalar/types@0.2.3
ba84a3c: fix(themes): add alert color
85877aa: fix: handle none theme
cad6277: feat(themes)!: migrate to tailwind v4
### Patch Changes - Updated dependencies [4440949] - @scalar/types@0.2.1
### Patch Changes - Updated dependencies [be8a6ec] - @scalar/types@0.1.16
90b773e: feat: updates heading variables
8c7bad8: chore: move build tooling to esbuild
e8457cb: Unify themes across scalar. Cleanup interface and remove CJS build.
### Patch Changes - Updated dependencies [62c4ce3] - @scalar/types@0.1.12
### Patch Changes - Updated dependencies [eb4854d] - @scalar/types@0.1.11
### Patch Changes - @scalar/types@0.1.10
### Patch Changes - Updated dependencies [17e7d02] - @scalar/types@0.1.9
feaa314: feat(themes): add laserwave theme
### Patch Changes - Updated dependencies [9def02e] - Updated dependencies [3745d77] - @scalar/types@0.1.7
8720ae7: fix(themes): update font size 1 to be 21px
Your coding agent can read these notes before it upgrades. Set up the MCP server →