Deprecation Policy

Stability guarantees and deprecation timelines for assistant-ui features.

assistant-ui aims to keep its API stable.

Rarely, we need to deprecate a feature we've already shipped, because it is causing performance, usability, or security issues. In such cases, we will communicate the intent to unship as soon as possible by marking the feature as @deprecated and publishing a notice in the documentation.

Deprecations and breaking changes primarily affect new features released. The longer an API has been in the library, the less likely it is to be deprecated. For features that have long existed in the library, we will provide a longer deprecation notice period (as described below).

Below is a list of features considered stable and those considered experimental.

Experimental Features

These features may change in any release.

  • Anything marked as unstable_ or experimental_
  • Anything marked as internal, and the RuntimeCore API (considered internal)

Experimental APIs carry a @deprecated tag that reads Experimental since <date>, which your editor shows as a strikethrough (see Stability). We remove an experimental API only after an earlier release has replaced that tag with a removal notice. Internal APIs may be removed at any time without notice.

Beta Features

A deprecation of these features will undergo a short (<1 month) deprecation notice period.

  • TailwindCSS Plugins (e.g. tw-shimmer)
  • Context API
  • Runtime API
  • Message types
  • Styled UI components
  • Primitive Hooks (e.g. useBranchPickerNext)
  • Attachment APIs
  • shadcn/ui styles

Stable Features

A deprecation of these features will undergo a long (>3 month) deprecation notice period.

The following features are considered stable:

  • Primitives (except for AttachmentPrimitive)