@akhatmirzo/ui

Versions and changelog

Versioning policy, release history and how to upgrade.

The packages follow Semantic Versioning (SemVer) and are released with Changesets. Each package has its own version and its own CHANGELOG.md.

PackageCurrent versionnpm
@akhatmirzo/ui0.4.0npmjs.com/package/@akhatmirzo/ui
@akhatmirzo/tokens0.1.3npmjs.com/package/@akhatmirzo/tokens
@akhatmirzo/core0.3.0npmjs.com/package/@akhatmirzo/core
@akhatmirzo/hooks0.2.0npmjs.com/package/@akhatmirzo/hooks
@akhatmirzo/cli0.1.0npmjs.com/package/@akhatmirzo/cli

What a version number means

A version has three parts: MAJOR.MINOR.PATCH.

PartExampleFrom 1.0 onDuring 0.x
MAJOR1.4.2 → 2.0.0Breaking change—
MINOR0.1.3 → 0.2.0New feature, nothing breaksMay contain breaking changes
PATCH0.1.0 → 0.1.1Bug fixBug fixes and small additions

What 0.x means

The library is in its 0.x phase: the API is mostly settled, but it is still being polished in real projects. During this phase:

  • Patch releases (0.1.0 → 0.1.1) are safe: bug fixes and additions that don't break anything.
  • Minor releases (0.1 → 0.2) may break things: a renamed prop, a new default, a component split in two. Every such change is listed in the changelog.
  • 1.0.0 comes once the API is stable. After that, breaking changes only land in major releases.

How ^0.1.0 behaves

pnpm add writes "^0.1.0" to your package.json. In 0.x, the caret only accepts patch updates: you get 0.1.5, but not 0.2.0. Moving to a minor release that might break things is always your call.

How the packages depend on each other

@akhatmirzo/ui takes core and hooks as regular dependencies and tokens as a peer dependency — you install the tokens yourself and import them in your CSS. Upgrade ui and tokens together: a new component may rely on a new token.

Documentation versions

This site keeps one set of docs per minor version: v0.1, v0.2 and so on. Patch releases update the current set. Switch versions with the picker in the sidebar. Pages of an older version show a banner with a link to the latest one.

Release history

0.4.0

@akhatmirzo/ui 0.4.0 · @akhatmirzo/core 0.3.0 · @akhatmirzo/hooks 0.2.0 · @akhatmirzo/cli 0.1.0 (new)

New components, forms, charts, blocks and a CLI — no existing API changed, upgrading is safe.

0.3.0

@akhatmirzo/ui 0.3.0 · @akhatmirzo/core 0.2.0

Uzbek localization — no existing API changed, upgrading is safe.

0.2.0

@akhatmirzo/ui 0.2.0 · tokens, core, hooks 0.1.3

8 new components — no existing API changed, upgrading is safe.

0.1.0

All packages — first release

The first public release, published on npm under the MIT license.

  • @akhatmirzo/tokens — colors (light and dark), typography, radii, shadows, motion and z-index layers; a Tailwind v4 @theme plus the focus-ring and focus-ring-within utilities.
  • @akhatmirzo/ui — 32 component families built on Radix and Tailwind v4:
    • Basics: Button, IconButton, Kbd, Spinner
    • Forms: Field, Input, Textarea, Select, Combobox, DatePicker, DateRangePicker, Calendar, MaskedInput, PhoneInput, MoneyInput, CardInput, OtpInput, FileUpload
    • Selection: Checkbox, RadioGroup, Switch
    • Display: Badge, Avatar, Card, Skeleton, Divider
    • Overlays: Dialog (+ confirm()), Drawer, Popover, Tooltip, toast(), DropdownMenu, CommandPalette
    • Navigation and data: Tabs, Accordion, DataTable, VirtualList
  • @akhatmirzo/core — Uzbek-aware formatting (money, phones, cards, dates, file sizes), validation (phones, emails, cards, passwords), text (Cyrillic ↔ Latin, search, slugify), storage and an API client.
  • @akhatmirzo/hooks — 12 hooks: useDebounce, useLocalStorage, useHotkeys, usePagination, useAsync and more.

The full history lives in each package's CHANGELOG.md: ui · tokens · core · hooks.

Upgrading

Read the changelog

Go through every entry between your version and the new one. When moving to a new minor release in 0.x, read the Minor Changes section closely — that's where breaking changes are listed.

Upgrade the packages together

Bump every @akhatmirzo/* package you use in one command:

pnpm up "@akhatmirzo/*" --latest

With npm: npm install @akhatmirzo/ui@latest @akhatmirzo/tokens@latest (and the same for the others).

Check

tsc --noEmit points out removed or renamed props. Then open the app and look through the main screens in both light and dark mode.

Stick to one version

Don't end up with two versions of @akhatmirzo/ui in one project (for example, across apps in a monorepo). Check with pnpm why @akhatmirzo/ui.

On this page