Skip to content

Versioning and release

Packages

PackagenpmDescription
@kyma-ai/reactnpm install @kyma-ai/reactEmbeddable React components and hooks
@kyma-ai/clientnpm install @kyma-ai/clientFramework-agnostic TypeScript client (peer dep of react)

Both packages are MIT-compatible (Apache-2.0) and published with "access": "public" on the @kyma-ai npm org.

Changesets release flow

The monorepo uses Changesets to track unreleased changes and automate version bumps.

Adding a changeset for a PR:

bash
pnpm changeset add
# Follow the interactive prompts to select packages and bump type.

This creates a file in .changeset/ that describes the change. Commit it with your PR. Multiple changesets can accumulate before a release.

The release CI pipeline (release.yml) runs on every push to main:

  1. pnpm install --frozen-lockfile
  2. pnpm build:packages — builds @kyma-ai/client and @kyma-ai/react
  3. pnpm test:packages — runs both test suites
  4. changesets/action@v1 — either:
    • Opens / updates a "Release @kyma-ai packages" version-bump PR if changesets are present (bumps package.json versions, updates CHANGELOG.md files), or
    • Publishes to npm (pnpm changeset publish) if that PR is merged.

No manual npm publish is needed. Merging the version-bump PR triggers the publish step automatically on the next push.

Semver policy

Change typeBumpExamples
New optional prop (backward-compatible)minorAdding onSearchChange to KymaDiscover
New hookminorAdding useKymaCapabilities
Bug fix, internal refactorpatchFixing proactive JWT refresh, fixing store isolation
Required prop added, prop removed, prop renamedmajorRemoving toolbar from KymaGraph
Peer dependency major bumpmajorRequiring React 19

As a general rule: if existing call sites continue to compile and behave correctly without any changes, it is a minor or patch. If existing call sites break or need updates, it is a major.

Building packages locally

bash
# From the repo root
pnpm build:packages
# equivalent to:
pnpm --filter @kyma-ai/client build
pnpm --filter @kyma-ai/react build

Running package tests

bash
pnpm test:packages
# equivalent to:
pnpm --filter @kyma-ai/client test
pnpm --filter @kyma-ai/react test

Storybook

bash
pnpm --filter @kyma-ai/react storybook        # dev server at :6006
pnpm --filter @kyma-ai/react build-storybook  # static output to packages/react/storybook-static

An open-source project · MIT licensed.