Skip to main content
2026-09-14

Added

  • Added pages. Extensions.definePage defines a full page of your app, default-exported from src/app/pages/<slug>/page.tsx. Pages are listed under Apps in the workspace sidebar and served at /{workspaceSlug}/apps/{appSlug}/<slug>.
  • Added record tabs. Extensions.defineExtension({type: "record-tab", ...}) renders a React component as a tab on the record pages of the objects you choose.
  • Added navigation. Destinations builds a place inside Attio to point the user at: one of your app’s pages, a record (optionally on a given tab) or your app’s settings page. navigate takes the user there and AttioLink renders a link to it.
  • Added Chart, with Chart.Bar, Chart.Line, Chart.Pie, Chart.Metric, Chart.Funnel and Chart.Loading.
  • Added the layout components Card, Grid, Stack and EmptyState.
2026-09-10

Fixed

  • Fixed Badge and StatusBadge stretching to the full width of their container when placed directly inside a Section.
  • Fixed Badge rendering as plain text inside dialogs. It now renders as a badge anywhere StatusBadge does.

Changed

  • The default app template no longer includes Biome. Newly created apps lint with ESLint (eslint.config.js, replacing eslint.attio.config.js) and format with Prettier.
2026-09-08

Changed

  • Production builds (attio build and attio version create) now minify dependency code from node_modules and build it with process.env.NODE_ENV set to "production", so dev-only branches in dependencies are dropped. This shrinks the uploaded bundle. Your own application code is left unminified, and attio dev is unchanged.
2026-09-03

Added

  • Added ConfigSchema.record(...) for config that holds any number of keys under a single value schema, like a TypeScript Record<string, TValue>.
2026-08-24

Added

  • Added linting that flags components imported from attio/client inside Settings.defineWorkspacePage callbacks, where components returned by Settings.useForm must be used instead.

Fixed

  • Fixed a type error when binding CollectionInput to an optional array (ConfigSchema.array(...).optional()).
  • Fixed dev server and bundling issues on Windows operating system
2026-08-11
The App SDK is stable. attio and create-attio were previously published as dated 0.0.1-experimental.<date> builds. From 1.0.0 they follow semantic versioning, and are always released together at the same version.

What stable means

  • Everything exported from attio, attio/client and attio/server will not change incompatibly within the 1.x line unless marked as experimental or deprecated. Breaking changes require a new major version.
  • Additive changes ship as minor versions and fixes ship as patches, so ^1.0.0 picks up both.
  • Individual APIs that are still taking shape are marked as experimental in their documentation and carry an Experimental_ prefix. They are excluded from the guarantee above and can change or be removed in a minor release. Apps submitted for review must not use them.

What you can build

If you have not built on Attio before, start with creating an app.