App provider

A top level provider for the Design System.

Beta

New and ready to use. We'll provide comms and support for any major changes.

6.0.0

Major Changes

Patch Changes

  • Updated dependencies

5.6.0

Minor Changes

  • 01a6951a834fe, (opens new window) - Adds getScrollbarHarmonisationHtmlAttrs, a pure SSR helper that a product's server can spread onto the server-rendered <html> element to avoid a flash of un-harmonised scrollbars while the client-only useScrollbarHarmonisation effect has not yet run. Gated by the existing platform_dst_scrollbar_harmonisation and platform_dst_scrollbar_harmonisation_transparent feature gates.

5.5.1

Patch Changes

5.5.0

Minor Changes

Patch Changes

  • Updated dependencies

5.4.1

Patch Changes

5.4.0

Minor Changes

  • d82e6f76528ab, (opens new window) - Add direct subpath package exports as part of the linking-platform, search, media, and design-system barrel-removal (de-barrel) migration.

    These packages now expose their individual modules via explicit package.json exports subpaths so that consumers can import directly from the leaf module (e.g. @atlaskit/pkg/thing) instead of the package barrel/index. This adds new public entry points without changing or removing any existing exports, so it is a backwards-compatible additive change.

    No runtime behaviour changes; this is an API-surface (entry-point) addition to support tree-shaking and to unblock removal of the barrel index files.

Patch Changes

  • Updated dependencies

5.3.0

Minor Changes

  • e7798888b0aea, (opens new window) - Add a gated scrollbar harmonisation hook and activator for applications without a root AppProvider. The hook accepts an optional explicit enabled override; when omitted, the shared rollout gate is used.

    Function components can use the hook:

    import { useScrollbarHarmonisation } from '@atlaskit/app-provider/use-scrollbar-harmonisation'; function App() { useScrollbarHarmonisation(); return <Product />; }

    Class-based roots can mount the component adapter:

    import { ScrollbarHarmonisation } from '@atlaskit/app-provider/scrollbar-harmonisation'; function App() { return ( <> <ScrollbarHarmonisation /> <Product /> </> ); }

5.2.1

Patch Changes

  • 7d000f0d5beac, (opens new window) - Add a platform-gated harmonised scrollbar appearance using accessible thumb colors and the current surface. Visibility and width remain browser managed.

5.2.0

Minor Changes

  • 7a3faca61e5be, (opens new window) - Imports from the package root are deprecated and will be removed in a future release. Migrate to dedicated entry-point imports to reduce upgrade friction. Recommended imports:
    • import { AppProvider } from '@atlaskit/app-provider/app-provider'
    • import { ThemeProvider, type ThemeProviderProps } from '@atlaskit/app-provider/theme-provider'
    • import type { Theme } from '@atlaskit/app-provider/theme'
    • import { useColorMode } from '@atlaskit/app-provider/use-color-mode'
    • import { UNSAFE_useColorModeForMigration } from '@atlaskit/app-provider/use-color-mode-for-migration'
    • import { useSetColorMode } from '@atlaskit/app-provider/use-set-color-mode'
    • import { useSetTheme } from '@atlaskit/app-provider/use-set-theme'
    • import { useTheme } from '@atlaskit/app-provider/use-theme'
    • import type { RouterLinkComponent, RouterLinkComponentProps } from '@atlaskit/app-provider/router-link-provider'
    • import { useRouterLink } from '@atlaskit/app-provider/use-router-link'

5.1.1

Patch Changes

  • Updated dependencies

5.1.0

Minor Changes

  • cd097a2111788, (opens new window) - Republish packages depending on @atlaskit/react-compiler-gating so their published dependency reference is updated to the renamed @atlaskit/react-compiler-gating scope.

    The earlier rename of @atlassian/react-compiler-gating to @atlaskit/react-compiler-gating only bumped the renamed package itself, so dependent packages were never republished and their published versions still referenced the old @atlassian/react-compiler-gating name, which is not available in the public npm registry. This minor bump republishes all affected packages with the corrected dependency.

Patch Changes

  • Updated dependencies

5.0.1

Patch Changes

5.0.0

Major Changes

  • f2dc9097319f0, (opens new window) - ### Dropped support for legacy Typescript 4 types. Typescript 5 is now the new minimum.

    Removes the typesVersions property and dist/types-ts4.5 directory from the dist.

    Types are now exclusively via the "types": "dist/types/index.d.ts" property.

    - "typesVersions": { - ">=4.5 <4.9": { - "*": [ - "dist/types-ts4.5/*", - "dist/types-ts4.5/index.d.ts" - ] - } - },

Patch Changes

  • Updated dependencies

4.3.3

Patch Changes

  • Updated dependencies

4.3.2

Patch Changes

4.3.1

Patch Changes

4.3.0

Minor Changes

4.2.3

Patch Changes

  • Updated dependencies

4.2.2

Patch Changes

  • Updated dependencies

4.2.1

Patch Changes

4.2.0

Minor Changes

4.1.0

Minor Changes

  • 233c7dede572a, (opens new window) - Fixes a bug with AppProvider where under certain conditions, can cause an infinite loop switching between light/dark modes.

    This was happening because of this check: const isRootThemeProvider = isInsideAppProvider && !isInsideThemeProvider;

    When an AppProvider has UNSAFE_isThemingDisabled, it avoids mounting it's root ThemeProvider. However, any subsequently nested ThemeProviders would become the root theme provider of AppProvider, which uninintentionally enables global theming functionality.

    The fix is to allow ThemeProvider to detect when a wrapping AppProvider has theming disabled, which allows it to accurately determine if it is the root theme provider before enabling global theming.

4.0.0

Major Changes

  • 2abd451d54eb2, (opens new window) - Removes atlassian-legacy-light/dark color themes from the tokens package. These themes are unused and non-functional in terms of color contrast. As a result some primitive components may recieve modern fallback color values in some scenarios, however these are inline with the latest token themes.

Patch Changes

  • Updated dependencies

3.3.3

Patch Changes

  • e40fc5834a899, (opens new window) - Further iteration of subtree theming implementation behind feature gate. Removing unnecessary subtree theming container div for top-level theme providers.

3.3.2

Patch Changes

  • Updated dependencies

3.3.1

Patch Changes

3.3.0

Minor Changes

  • a45bf2e086e1d, (opens new window) - We are testing AppProvider subtree theming capabilities behind a feature flag. This is still in development but working under minimal conditions. If this change is successful it will be available in a later release.

3.2.10

Patch Changes

  • Updated dependencies

3.2.9

Patch Changes

  • Updated dependencies

3.2.8

Patch Changes

3.2.7

Patch Changes

  • Updated dependencies

3.2.6

Patch Changes

  • Updated dependencies

3.2.5

Patch Changes

  • Updated dependencies

3.2.4

Patch Changes

  • Updated dependencies

3.2.3

Patch Changes

  • Updated dependencies

3.2.2

Patch Changes

3.2.1

Patch Changes

3.2.0

Minor Changes

3.1.0

Minor Changes

  • 33a9e5805e0c7, (opens new window) - Adds fallback logic for requesting the colorMode from the useColorMode() hook. Also fixes useTheme() so that colorMode isn't returned when its fallback logic is used

3.0.0

Major Changes

Patch Changes

  • Updated dependencies

2.3.0

Minor Changes

2.2.1

Patch Changes

  • Updated dependencies

2.2.0

Minor Changes

2.1.0

Minor Changes

Patch Changes

  • Updated dependencies

2.0.0

Major Changes

Patch Changes

  • Updated dependencies

1.8.1

Patch Changes

  • Updated dependencies

1.8.0

Minor Changes

Patch Changes

  • Updated dependencies

1.7.0

Minor Changes

1.6.1

Patch Changes

1.6.0

Minor Changes

1.5.0

Minor Changes

Patch Changes

  • Updated dependencies

1.4.3

Patch Changes

1.4.2

Patch Changes

1.4.1

Patch Changes

  • Updated dependencies

1.4.0

Minor Changes

  • #127511, (opens new window) db30e29344013, (opens new window) - Widening range of react and react-dom peer dependencies from ^16.8.0 || ^17.0.0 || ~18.2.0 to the wider range of ``^16.8.0 || ^17.0.0 || ^18.0.0` (where applicable).

    This change has been done to enable usage of react@18.3 as well as to have a consistent peer dependency range for react and react-dom for /platform packages.

Patch Changes

  • Updated dependencies

1.3.3

Patch Changes

1.3.2

Patch Changes

1.3.1

Patch Changes

1.3.0

Minor Changes

1.2.0

Minor Changes

1.1.0

Minor Changes

1.0.1

Patch Changes

1.0.0

Major Changes

0.4.0

Minor Changes

Patch Changes

0.3.1

Patch Changes

0.3.0

Minor Changes

0.2.0

Minor Changes

0.1.0

Minor Changes

0.0.1

  • Scaffold AppProvider component.
Was this page helpful?
We use this feedback to improve our documentation.
© 2026 AtlassianTrademark, (opens new window)Privacy, (opens new window)License