Releases

1.0.0-rc.3 Pre-release, can be tested in production

  • Maintenance release; no changes to the components themselves

  • Updates the @kesko/css peer dependency to 1.0.0-rc.5

  • Release date 28.10.2026

1.0.0-rc.2 Pre-release, can be tested in production

  • Pagination page buttons now have a translated accessible name, “Sivu 3” instead of a bare “3”. The new pagination.page translation key sets it through KeskoProvider, and pageLabel still overrides it per instance. See the localization guide

  • Pagination items now sit slightly further apart so that the component works better on colored backgrounds.

  • Component accessibility guidelines now explain why the accessible name must contain the visible label for voice control

  • Release date 23.10.2026

1.0.0-rc.1 Pre-release, can be tested in production

  • First release candidate of @kesko/components. Button, Divider, Pagination, Spinner, Stack and VisuallyHidden can now be tested in production

  • New usage guidelines show how to set up the components in React, Next.js, plain HTML and Vue, and how to style them

  • Components now speak Finnish, Swedish, Norwegian and English. They follow the language of the page, with Finnish as the fallback. See the localization guide

  • Adds KeskoProvider, an optional wrapper for your app. Give it your router and links in components change pages without a full reload

  • Adds a browser accessibility test suite. Every component is now tested in a real browser for keyboard use, focus, color contrast, reduced motion and Windows high-contrast mode, following the A11Y checklist. The suite runs on every pull request

  • Every component page now has its own accessibility guidelines

  • Button is rebuilt to match Figma. Pick a style variant with variant (primary, secondary, neutral, success, error) and the visual appeareance with appearance (filled, outline, plain, text)

  • Button in a loading state now tells screen readers what is happening. Set the text with the new loadingLabel prop

  • Pagination gets sizes, icon-only previous and next controls, more examples, and full color customization that also works in dark mode

  • Stack gets justify for spreading items, and rows now wrap by default on small screens

  • Spinner uses the brand’s primary color by default and respects reduced motion and high-contrast settings

  • All examples work in dark mode

  • Breaking change: Button variant no longer accepts default, plain, text or inverted, and the transparent and iconOnly props are gone. Use appearance for the plain and text looks, variant="neutral" on dark surfaces, and square for icon-only buttons

  • Breaking change: Button custom properties are simplified. The -active and -ring- properties are gone; the -hover properties now cover both hover and pressed states

  • Breaking change: Pagination renames prevLabel → previousLabel, hidePrev → hidePrevious and itemLabel → pageLabel

  • Breaking change: Stack wrap is replaced by nowrap, since rows wrap by default

  • Breaking change: Spinner no longer inherits the text color. Set --k-spinner-color: currentColor to get the old look

  • Requires @kesko/css 1.0.0-rc.4

  • For updated documentation, view the components docs

  • Release date 22.10.2026

1.0.0-alpha.15 Draft, not ready for production use

  • Updates the @kesko/css peer dependency to 1.0.0-rc.3

  • Release date 15.10.2026

1.0.0-alpha.14 Draft, not ready for production use

  • Maintenance release; no consumer-facing changes

  • Also available on the CDN, which is now ready for production use

  • Release date 7.10.2026

1.0.0-alpha.13 Draft, not ready for production use

  • Components use the renamed tokens from @kesko/tokens 1.0.0-rc.1, so they need @kesko/css 1.0.0-rc.1

  • Button follows the new brand colors: secondary uses the brand’s secondary theme color, buttons are fully rounded, and disabled buttons use the new disabled colors

  • Adds a @kesko/components/icon/icon.css export

  • Fixes the @kesko/css peer dependency, which every earlier release published as an unresolvable workspace:* range so npm install @kesko/components failed with an unsupported protocol error. It is now ^1.0.0-rc.1

  • For updated documentation, view the components docs

  • Release date 5.10.2026

1.0.0-alpha.12 Draft, not ready for production use

  • Adds a new Pagination component, built from Buttons with chevron icons. It supports sibling and boundary page counts, custom labels, and either an onChange handler or href links

  • @kesko/iconography is now a regular dependency, so installing @kesko/components is enough for the icons it uses

  • For updated documentation, view the components docs

  • Release date 22.9.2026

1.0.0-alpha.11 Draft, not ready for production use

  • Bumps @kesko/iconography to 2.0.0, so the redesigned icons now appear in the usage examples and the playground

  • No component API, styling, or accessibility changes

  • For updated documentation, view the components docs

  • Release date 20.8.2026

1.0.0-alpha.10 Draft, not ready for production use

  • Maintenance release; republished to pick up @kesko/tokens 1.0.0-beta.13. No consumer-facing changes

  • Release date 2.6.2026

1.0.0-alpha.9 Draft, not ready for production use

  • Button updated to use the renamed --k-color-bg-disabled token from the latest @kesko/tokens

  • For updated documentation, view the components docs

  • Release date 20.5.2026

1.0.0-alpha.8 Draft, not ready for production use

  • Each component now imports its own stylesheet, so React consumers no longer need a separate import "@kesko/components/{name}/{name}.css" alongside the component

  • Adds the missing subpath exports for Divider, Stack, and VisuallyHidden (plus the matching *.css paths) in package.json

  • Button updated to use the renamed --k-color-text-on-inverted token from the latest @kesko/tokens

  • Adds a new React compatibility test suite covering React 17, 18, 19 and Next.js 16

  • For updated documentation, view the components docs

  • Release date 8.5.2026

1.0.0-alpha.7 Draft, not ready for production use

1.0.0-alpha.6 Draft, not ready for production use

  • Updates dev dependencies to their latest version

  • Release date 28.4.2026

1.0.0-alpha.5 Draft, not ready for production use

  • Components have been converted to thin React wrappers around lightweight Custom Elements (such as <k-spinner>, <k-stack>, <k-divider>, <k-visually-hidden>), so React and HTML usage share the same DOM and styling

  • Drops the react-aria-components peer dependency

  • Adds a new Divider component

  • Button gains a new iconOnly prop, switches from aria-busy to a class-based loading state, blocks Enter-key activation on aria-disabled links, and exports its full ButtonProps type

  • Spinner re-implemented as a single-element component, with a new color customization example

  • Visually Hidden now supports rendering as a Custom Element

  • Adds an icon usage example pairing @kesko/components with @kesko/iconography

  • For updated documentation, view the components docs

  • Release date 27.4.2026

1.0.0-alpha.4 Draft, not ready for production use

  • The package now ships a working React component library with Button, Spinner, Stack, and VisuallyHidden drafts

    • Every component ships paired .tsx and .html usage examples. The HTML versions are styled via @kesko/css, so non-React consumers can match the same visual output using the shared .k-* classes

    • Button gets refined color calculations, better support for custom styles, and an overall visual polish

    • Spinner animation refined for smoother timing

    • Adds a full playground with SSR support, live theme switching, and CodeMirror-based usage examples

    • Adds component visual regression tests using Playwright, runnable inside Docker for consistent snapshot output across environments

    • Adds a component listing page and per-component docs pages with manifest-driven headers, descriptions, and resizable live examples

    • Build now minifies output and prints size reports; component CSS is collected per-component so consumers only pay for what they import

    • For updated documentation, view the components docs

    • Release date 21.4.2026

    1.0.0-alpha.2 Draft, not ready for production use

    • This release refactors accent colors (accent, secondary, disabled) under color.accent group and brand colors under color.brand group for a cleaner token hierarchy

    • Release date 14.4.2026

    1.0.0-alpha.1 Draft, not ready for production use

    • First alpha release of @kesko/components package

    • Release date 13.4.2026