# Changelog

> What's new in the Lia SDK and these docs. From the Lia developer docs: https://docs.lialabs.org/changelog

The SDK at `https://api.lialabs.org/sdk/lia-apps-v1.js` is always the newest version: Lia serves it so fixes reach every app. Check `Lia.version`, or `Lia.isVersionAtLeast()`, before using something added later. The Lia app on a person's phone may be older than the SDK; a call it doesn't know fails with `unknown_method`.

## Docs: 1 November 2026

The first Lia developer docs: getting started, concepts, guides, the full SDK and server reference, and search.

## SDK 1.6

- **Public tables.** Your server lists tables waiting for players (`POST /lobby/tables`) and seats each one through Lia (`/sit`); players find them with `Lia.lobby.tables()` or in Lia's own lobby, and can `Lia.lobby.report()` a player. See [Public tables](/concepts/lobby).

## Packages: 1 November 2026

The SDK as npm packages: [`@lia-labs/sdk`](/packages/sdk), typed and tree-shakeable, with bindings for [React](/packages/react), [Preact](/packages/preact), [Vue](/packages/vue), [Svelte](/packages/svelte), [Solid](/packages/solid) and [Angular](/packages/angular), [web components](/packages/elements), the low level [bridge](/packages/bridge), and [`mockLia()`](/packages/local-development) for building outside Lia. The script tag is unchanged.

## SDK 1.5

- **Idempotency keys.** `Lia.pay`, `Lia.inviteFriend`, `Lia.submitScore` and cloud storage's writes take an optional `{ idempotencyKey }`: the same key again doesn't do it twice and answers as the first call did. See [Idempotency keys](/reference/sdk-payments-and-ads#idempotency-keys).
- **The server API** takes an `Idempotency-Key` header on every `POST`. Retries answer as the first request did, with `Idempotent-Replayed: true`. A reward's `key` can now be up to 128 characters, and the header stands in for it when there's none. See [Retrying](/reference/server-api#retrying).

## SDK 1.4

- **Sound.** `Lia.soundOn` says whether the person wants your app's sounds (they mute it from Lia's ⋯ menu), and the `"soundChanged"` event says when it changes.

## SDK 1.3

- **Invites.** `Lia.inviteFriend()` opens Lia's friend picker; friends get a card in their Lia chat that opens your app with your startParam. `Lia.inviteLink()` is a link anyone can open.

## SDK 1.2

- **Notifications.** `Lia.requestNotifications()`, `Lia.notificationsAllowed` and the `"notificationsChanged"` event; your server sends them with `POST /notifications`, each opening your app with a startParam (`Lia.startParam`, and the `"startParam"` event while open).

## SDK 1.1

What Telegram's Mini Apps have that fits Lia:

- Lia's theme as `Lia.theme` and CSS variables, the viewport and safe areas.
- Fullscreen, the sheet and its swipes, `Lia.expand()`, closing confirmation.
- The bottom buttons, and the header's back and settings buttons.
- Popups, alerts and confirms; Lia's toasts.
- Every full screen ad format, paced by Lia.
- The QR scanner, the clipboard, links in Lia's in-app browser or outside it, and Lia's own screens.
- Cloud, device and secure storage; Face ID and Touch ID; the motion sensors.
- `Lia.language` and `Lia.rtl` for your own translations.

## SDK 1.0

The first SDK: players signed in with `Lia.init()`, sessions for your server, Lia's pay sheet with `Lia.pay()`, rewarded videos, leaderboards, haptics, `Lia.confirm()` and sharing. The server API with charges, refunds, rewards from a funded pool, and ad checks.
