Changelog
This page documents the changes in each version of Lism CSS.
lism-css v1.1.0 (2026.10.29)
Changed the default of --fw--bold to 700 (#671)
- Changed the default value of
--fw--boldfrom600to700, the same as CSSbold. Headings (h1–h6),b/strong,dt,th, and-fw:boldare now bolder. - To keep the previous weight, override
--fw--boldwith600on:rootin your CSS. If you use@lism-css/plugin, you can also setfw: { bold: '600' }undertokensinlism.config.js. thnow also uses--fw--boldfor its bold weight. It previously used the browser’s defaultbold, so overriding--fw--bolddid not affectth.
Renamed the has--gutter spacing variable to --gutter-px (#669)
- The horizontal padding of
has--gutteris now set with--gutter-px. Override it on:rootto change it site-wide, or on a specific element to change it for that element and anyhas--gutterinside it. --gutter--baseand--gutterare now deprecated. They remain for compatibility throughout 1.x, so overriding--gutter--baseon:rootand overriding or referencing--gutteron elements keep working. They are planned for removal in v2, so we recommend switching to--gutter-px.
Other
hovnow accepts space-separated values in string form, the same asset/util(e.g.hov="-c -bxsh"). Comma-separated values still work (#666).- Added
min-width: 0to the children ofl--switchColumns. This fixes children overflowing their parent and columns becoming uneven when they contain content that cannot wrap, such as long URLs (#667).
lism-css v1.0.1 (2026.10.02)
- Fixed Property Classes that set a variable (such as
-c:brandand-p:20) being overridden byu--cboxor custom classes that set the same variable in the no-@layerbuilds (main_no_layer.css/full_no_layer.css). The variable declarations now also carry!important.
@lism-css/ui v0.40.1 (2026.10.02)
- Increased the horizontal
paddingofBadgefrom0.5emto0.625em.
lism-css v1.0.0 (2026.10.01)
The first stable release. There are no functional changes since v0.31.0.
- Among paths that point directly to files under
lism-css/lib/,lism-css/react/, orlism-css/astro/, onlylism-css/lib/getLismPropsis part of the public API. Everything else is internal and may change even in a minor version update (getLismProps()).
@lism-css/ui v0.40.0 (2026.10.01)
- Changed the dependency on
lism-cssfrom a pinned version to^1.0.0. Updating onlylism-cssno longer installs a second copy oflism-cssunder@lism-css/ui.
lism-css v0.31.0 (2026.09.30)
This release contains breaking changes.
- Breaking: Removed the
lism-componentlayer, which had only been declared for backward compatibility. CSS written in@layer lism-componentnow has a different priority, so move it tolism-blockorlism-custom(#645).- If you use
@lism-css/uibelow v0.26.0, update it to v0.26.0 or later. - For components added with
lism-cli ui addbefore v0.26.0, change@layer lism-componenttolism-blockin their_style.css.
- If you use
- Breaking: Removed the deprecated component aliases
SideMain/FluidCols/SwitchColsand theDummycomponent fromlism-css/reactandlism-css/astro. Migrate toWithSide/AutoColumns/SwitchColumnsandDummyTextfrom@lism-css/ui, respectively (#646). - Breaking: Removed
_propConfig, which overrode the Lism Props conversion settings per prop, fromgetLismPropsand component props. To change the conversion settings, usepropsinlism.config.jsinstead (#225).
@lism-css/ui v0.31.0 (2026.09.30)
- Fixed
lism-basestyles taking priority overb--*styles when component CSS is output beforelism-css/main.css(for example, aButtonrendered as anaelement kept its underline and link color). Each component’s CSS andstyle.cssnow declare the order oflism-baseandlism-blockat the top (#644). - Fixed the Astro
Tabs/Accordion/Modalnot working on pages reached throughClientRouternavigation. They are now initialized onastro:page-loadas well as on load, and events are not registered twice on the same element (#640).
lism-css v0.30.0 (2026.09.22)
- Fixed the published
.d.tsfiles importingconfigvia a relative path, which caused prop types to fall back toanyin consuming projects (#494, #639). - Fixed
Box/Layer/BoxLink/Decorator/Spacer/Dividerin Astro processing properties passed viaexPropsas Lism Props. As in the other components and the React version,exPropsnow skip Lism Props processing and are output as plain attributes (#636). - Excluded internal files such as tests and stories from the published package. The standalone
lism-css/base/set.cssoutput has been removed (it is still included inbase.css/main.css) (#637).
@lism-css/plugin v0.5.1 (2026.09.22)
- Added support for Astro 7 and Vite 8 (Rolldown).
peerDependenciesnow allowastro: ^6 || ^7andvite: ^6 || ^7 || ^8(#630). - CSS Purge now warns about possible missing styles when it detects
client:onlyislands, or the Lism runtime in client JS without any Lism classes in HTML (a likely CSR setup). Classes generated from props at runtime cannot be detected, so keep them withsafelistor disable purge (#634).
@lism-css/ui v0.30.0 (2026.09.22)
This release contains breaking changes.
Tabs (#87, #642)
- Breaking:
Tabs.Tabnow always renders abuttonand no longer acceptsasto change the tag. - The React
Tabsnow supports manual composition withTabs.List/Tabs.Tab/Tabs.PanelwithoutTabs.Item. - In the React
Tabs, when the selectedTabs.Tabis removed from the DOM, selection (and focus) now moves to the first remaining tab.
lism-css v0.29.1 (2026.09.13)
Iconno longer convertsweightto a stroke width. You can use components such asCheckIconfrom@lism-css/icons@0.3.0. For SVG strings or native elements, set the stroke width withstrokeWidth(orstroke-widthin Astro).
lism-css v0.29.0 (2026.09.13)
This release contains breaking changes.
Icon and the icons package (#616, #618, #619)
- Breaking: Removed named
Iconpresets and SVG data from core. Import the components you need from@lism-css/icons/reactor@lism-css/icons/astroand pass them asicon={Check}. Iconsupportsweight(light 1 / regular 1.5 / bold 2) andstrokeWidth. Stroke icons in@lism-css/iconsuse a 24-unit grid and default to a stroke width of 1.5; set their color withc. Useweight="bold"for previously bold caret and arrow icons. Removeddot.- All icons are now original designs published as
@lism-css/iconsfrom the separate lism-css/icons repository. See the@lism-css/iconspage for the full list.
Other
sz/min-sz/max-sznow support breakpoints (bp: 1). As with thewfamily, use-{prop}_{bp}classes to switch values per screen width.-max-sz:full/-max-sz:bleedcannot be used as breakpoint values. Single-value output changes from an inlinestyledeclaration to the-szclass plus--szvariable pair (token values andfull/bleedformax-szare still output as classes) (#613).- Breaking: Changed the
lhtokens toxs: 1.125/s: 1.25/m: 1.5/l: 1.75/xl: 2(previously1.25/1.5/1.75/2/2.25), a 0.25 scale centered onm: 1.5(#614). - Breaking: Renamed the
text-transformclasses from-tt:upper/-tt:lowerto-tt:uppercase/-tt:lowercase. Thett="upper"/tt="lower"props remain as aliases and resolve to the new classes (#615).
@lism-css/plugin v0.5.0 (2026.09.13)
This release contains breaking changes.
- Moved
lism-cssfromdependenciestopeerDependencies(*) so CSS is generated from thelism-cssinstalled in your project. The plugin no longer bundles its own copy oflism-css, so installlism-cssalongside it (#609).
@lism-css/ui v0.29.0 (2026.09.13)
- Bundled SVG data for default Alert and Callout icons and the Modal and Popover close icons. Default icons require no additional imports.
- Changed the border color (
--bdc) of the defaultfillButtonfromvar(--bgc)totransparent, so changing only the background (e.g.hov="-bgc") no longer leaves a border in the original color. Set--bdc: var(--bgc)if you want a visible border on hover (see thehov="reverse"example).
lism-css v0.28.2 (2026.09.10)
- Changed the top margin of headings directly inside
l--flowfromcalc(var(--flow) * 2 + 0.5em)tocalc(var(--flow) * 1.5 + 0.5em)and limited it toh1–h4(h5/h6now use the regular--flow). Also fixed a leftover0.5emmargin on the first heading and on headings right afteris--skipFlow(#608). - The top margin is now applied via the
--mbsvariable. To cancel it on a specific element, set--mbs: 0pxinstead of--flow. - Added the
dots-verticalandmenu-2icon presets.
@lism-css/plugin v0.4.5 (2026.09.10)
- Updated to follow
lism-cssv0.28.2. No code changes.
lism-css v0.28.1 (2026.09.08)
- Fixed the
COLOR1:COLOR2:PERCENTcolor syntax so the percentage applies to the second color. - Changed the default values of
--brand/--accenttohsl(212, 88%, 50%)/hsl(347, 65%, 57%), and--neutraltohsl(220, 2%, 75%).
lism-css v0.28.0 (2026.09.05)
This release contains breaking changes.
- Added the
--s45spacing token and removed--s80. Replaces="80"withs="70"or an arbitrary value. - Removed
u--divide/u--enclosefrom the core and theutilpreset type. To keep using them, add the CSS in the Opt-in section of the Utility Class page (#603). - Made the
ltstokens fromxstoxlrelative to--lts--baseand changed the base value fromnormalto0em. Override it with a length on:root. - Added
-hov:-transformfor hover transformations (#605). - Changed the
p/pp/pppopacity tokens to0.8/0.6/0.4.
@lism-css/plugin v0.4.4 (2026.09.05)
- Updated the
lism-cssdependency to v0.28.0. No code changes.
@lism-css/ui v0.28.0 (2026.09.05)
This release contains breaking changes. Requires lism-css v0.28.0 or later.
- Renamed CSS variables for child elements in UI components and examples (
--_item-p→--item-p, etc.). Changed--_gapto--popup-gap, and--_panel-h/--_content-gtrto--_panelH/--_contentGtr(#607). - The old variable names no longer work. Update copied CSS, sources, and custom variable declarations and references together. Prop names are unchanged.
- Stopped bundling
lism-cssand made it an external dependency. Token changes inlism.confignow apply without rebuilding the UI package (#604). - Changed the default Accordion button
gapfrom--s10to--s15.
lism-css v0.27.0 (2026.09.04)
This release contains breaking changes.
- Changed
lhto a prop that setsline-heightas a unitless ratio. Replace existinglh="s"values used for line spacing withhl="s";lh="1"is unchanged (#583). - Fixed
--s-unit/--hl-unitat0.5rem/0.125rem, removing their link to--fz--base. See Tokens for tying spacing to the font size (#581). - Changed the
bdrsscale and added50;20through40are smaller than before (#579). - Limited the default
has--transitiontarget fromallto colors, shadows, transforms, and related visual properties. Also supports direct values such ashasTransition="color, opacity"(#584). - Made Property Classes
!importantand doubled Utility Class selectors in theno_layerbuild (#585). - Updated
u--trim/u--trimAllto support bothhlandlh(#583). - Added
xltohlandxstolts. - Changed
bxshto two-layer shadows and adjusted shadow colors (#591). Also added a+1pxcorrection toset--bdrsInner(#579). - Fixed
-bdbeing overridden by higher-layerborderdeclarations and horizontal overflow from a longpreinCenter(#589, #597). - Changed the default mix ratio of
-hov:-bgcfrom 25% to 20%.
@lism-css/ui v0.27.0 (2026.09.04)
Requires lism-css v0.27.0 or later.
- Added Tooltip and Popover (#588).
- Avatar now shows the first character of
namewhensrcis omitted (#587). - Modal now closes when an in-page link inside it is clicked normally (#596).
lism-css v0.26.0 (2026.08.16)
- Added the
lism-blocklayer immediately afterlism-base; thelism-componentdeclaration remains for compatibility (#546, #559). - Reorganized custom classes into
b--(Block Class) andc--(Custom Class), and removed thep--/z--conventions (#546). - Updated dependencies for security fixes.
@lism-css/ui v0.26.0 (2026.08.16)
This release contains breaking changes. Requires lism-css v0.26.0 or later.
- Renamed component classes from
c--{name}tob--{name}. Move override CSS fromlism-componenttolism-blockorlism-custom(#559). - Moved some base styles from Props to CSS. Badge now has pill corners, and Avatar’s default size is managed in CSS with
--w: 2em(#559). - Made
variant="line"the standard Tabs style and changed the defaultvarianttodefault(#559). - Removed the default
l--flex/l--stackfrom Button, Accordion.Root, Details, and NavMenu. Passlayout="flex"or another layout when needed (#559). - Removed
flow="s"from Details.Content. To retain the previous spacing, set.b--details_content { --flow--base: var(--flow--s) }(#559). - Added Tabs keyboard navigation and React support for
?lism-tab=. Switched panels fromaria-hiddentohiddenand fixed out-of-rangedefaultIndex(#559). - Improved Modal accessibility, fixed unintended closing during dragging and state restoration after closing, and limited
setEventtodialogelements (#563). - Removed Chat from the package. Copy the example CSS together with its
@layer lism-blockwrapper (#564).
lism-css v0.25.0 (2026.08.06)
- Added a
varsgroup solism.configcan override--L/--C/--fz-mol/--hl-unit/--s-unit. Moved--shadowtocolor.shadow(#530). - Made all 18 directional spacing props class-based in
main.css, adding about 1.5KB gzipped (#531). - Added keycolor foreground, background, and border classes to
main.css. Added all color tokens tofull.css. Also added-bgc:current(#533). - Fixed
set--plainlosing to defaultinputstyles (#537). - Removed unnecessary vendor prefixes.
@lism-css/plugin v0.4.2 (2026.08.06)
- Updated
full.csscolor class generation to use bothcolorandpalette(#533). - Added
loadDefaultConfig()to read default settings before merging (#539).
@lism-css/ui v0.25.0 (2026.08.06)
- Updated to
lism-cssv0.25.0. No component changes.
Before v0.25.0
For releases prior to v0.25.0, only the key changes are listed below.
- v0.24.1 (2026.08.04): Fixed a conflict affecting border Property Classes in
full.cssand missing form reset styles (#513, #516). ExportedlismConfigAliasfrom@lism-css/plugin/vite(#521) - v0.24.0 (2026.07.06): Added config-derived type completion and
lism.config.tssupport (#505, #461). Removed defaultbackground-color/paddingfrompre(#477). Added CSS Purge support for Astro SSR (#495). Overhauled AI skills and addedlism-css-refactor(#459) - v0.23.0 (2026.06.19): Split the build and framework-integration layer into
@lism-css/plugin(#439). Unified tokens into a value-bearing flat map (#434). Added thexsbreakpoint andfull.css/full_no_layer.css(#428, #423, #425) - v0.22.2 (2026.06.03): Unified
Alert/Calloutpresets and addedtip. Fixed theAlertlayout withlayout="withSide" - v0.22.1 (2026.05.30–06.02): Treated a bare
:astrueand fixed packaging issues. AddedisOpentoAccordion.Itemand fixed Modal scrollbar layout shift (#413) - v0.22.0 (2026.05.28): Changed
AutoColumnsdefault fromauto-fittoauto-fill(#408). Renamedu--cellstou--enclose(#412) and--gutter-sizeto--gutter/--gutter--base(#409). Removed form-control border radius and changed padding to em units - v0.21.0 (2026.05.26): Renamed
set--var:xxxtoset--xxxand updated thesetprop (#404). AddedcontentSizeandset--bleed, and reorganizedWrapper(#405) - v0.20.0 (2026.05.20): Renamed directional Property Classes (
px-s→ps,bd-x-s→bd-s, etc.) (#378). Revised standard breakpoint support (#394). Changed the default hover background tocolor-mix(#381) - v0.18.0 (2026.05.17): Redesigned
--sz--*tokens as px-based values in 80px increments (#364). Expanded spacing tokens and introducedset--var:s, which ties--s-unitto the element’s font size (#377) - v0.17.0 (2026.05.09): Removed
-max-sz:containerand introduced-max-sz:bleedfor full-bleed layouts (#360). Removed--REMand unified--fz--baseto1rem. Removed link decoration styles from theatag. Added deep path import support to@lism-css/ui(@lism-css/ui/react/{Name}, etc.) (#354) - v0.16.x (2026.04.21–04.29): Reorganized utility classes (
u--trimChildren→u--trimAll,u--collapseGrid→u--cells, addedu--divide) (#323, #324). Renamed opacity tokens to semantic names (-o:p/-o:pp/-o:ppp) (#316). Renamed Layout Primitives (l--sideMain→l--withSide,l--fluidCols→l--autoColumns,l--switchCols→l--switchColumns) (#319) - v0.15.0 (2026.04.21): Restructured the CSS layer order, separating out the
lism-traitlayer (#304). Introduced thevar:prefix forset--classes (set--hov→set--var:hov, etc.). Reorganized-hov:classes into the-hov:-{prop}format (#300). Shifted the shadow token scale by one step (#311) - v0.14.0 (2026.04.17): Removed the
lismClass/variantprops in favor ofclassName. Renamed Property Classes such asysz→bsz. Removedis--verticalin favor of-wm:vertical-rl - v0.13.x (2026.04.14–04.15): Unified the concept naming —
Module→Primitive,State→Trait. Renamedis--linkBox→is--boxLinkandu--expandedLink→is--coverLink. Added theutilprop - v0.12.0 (2026.04.10): Added the
TileGridlayout. Changed gap shorthands tocg/rg. Removed individualsetXxxxprops in favor ofset/unset - v0.11.0 (2026.04.05): Redesigned the shadow system and reduced
bdrs/bxshtokens - v0.10.x (2026.04.03–04.05): Removed
<HTML.xxx>in favor of semantic wrapper components (Text/Inline/Group/Heading/Link/List, etc.). Added support for spacing-token negative margins (e.g.,mt="-10"). Renamed@layers to thelism-xxxformat - v0.9.x (2026.03.17–03.31): Migrated React components to TypeScript. Changed class naming to use
--separators (set-xxx→set--xxx,u-xxx→u--xxx). Published the initial releases of@lism-css/ui/@lism-css/mcp - v0.8.x: Switched to managing line-height via half-leading. Reorganized layout modules (
WithSide→SideMain, extractedFluidCols, addedSwitchCols). Removed the dynamic modules (accordion / modal / tabs) and migrated them to@lism-css/ui. Renamed many tokens (e.g.,--c--main→--brand,--c--line→--divider)